1package datafactory
2
3// Copyright (c) Microsoft Corporation. All rights reserved.
4// Licensed under the MIT License. See License.txt in the project root for license information.
5//
6// Code generated by Microsoft (R) AutoRest Code Generator.
7// Changes may cause incorrect behavior and will be lost if the code is regenerated.
8
9import (
10	"context"
11	"encoding/json"
12	"github.com/Azure/go-autorest/autorest"
13	"github.com/Azure/go-autorest/autorest/azure"
14	"github.com/Azure/go-autorest/autorest/date"
15	"github.com/Azure/go-autorest/autorest/to"
16	"github.com/Azure/go-autorest/tracing"
17	"github.com/gofrs/uuid"
18	"net/http"
19)
20
21// The package's fully qualified name.
22const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory"
23
24// BasicActivity a pipeline activity.
25type BasicActivity interface {
26	AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool)
27	AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool)
28	AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool)
29	AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool)
30	AsGetMetadataActivity() (*GetMetadataActivity, bool)
31	AsWebActivity() (*WebActivity, bool)
32	AsLookupActivity() (*LookupActivity, bool)
33	AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool)
34	AsCustomActivity() (*CustomActivity, bool)
35	AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool)
36	AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool)
37	AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool)
38	AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool)
39	AsHDInsightPigActivity() (*HDInsightPigActivity, bool)
40	AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool)
41	AsCopyActivity() (*CopyActivity, bool)
42	AsExecutionActivity() (*ExecutionActivity, bool)
43	AsBasicExecutionActivity() (BasicExecutionActivity, bool)
44	AsFilterActivity() (*FilterActivity, bool)
45	AsUntilActivity() (*UntilActivity, bool)
46	AsWaitActivity() (*WaitActivity, bool)
47	AsForEachActivity() (*ForEachActivity, bool)
48	AsIfConditionActivity() (*IfConditionActivity, bool)
49	AsExecutePipelineActivity() (*ExecutePipelineActivity, bool)
50	AsControlActivity() (*ControlActivity, bool)
51	AsBasicControlActivity() (BasicControlActivity, bool)
52	AsActivity() (*Activity, bool)
53}
54
55// Activity a pipeline activity.
56type Activity struct {
57	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58	AdditionalProperties map[string]interface{} `json:""`
59	// Name - Activity name.
60	Name *string `json:"name,omitempty"`
61	// Description - Activity description.
62	Description *string `json:"description,omitempty"`
63	// DependsOn - Activity depends on condition.
64	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
65	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
66	Type TypeBasicActivity `json:"type,omitempty"`
67}
68
69func unmarshalBasicActivity(body []byte) (BasicActivity, error) {
70	var m map[string]interface{}
71	err := json.Unmarshal(body, &m)
72	if err != nil {
73		return nil, err
74	}
75
76	switch m["type"] {
77	case string(TypeDatabricksNotebook):
78		var dna DatabricksNotebookActivity
79		err := json.Unmarshal(body, &dna)
80		return dna, err
81	case string(TypeDataLakeAnalyticsUSQL):
82		var dlaua DataLakeAnalyticsUSQLActivity
83		err := json.Unmarshal(body, &dlaua)
84		return dlaua, err
85	case string(TypeAzureMLUpdateResource):
86		var amura AzureMLUpdateResourceActivity
87		err := json.Unmarshal(body, &amura)
88		return amura, err
89	case string(TypeAzureMLBatchExecution):
90		var ambea AzureMLBatchExecutionActivity
91		err := json.Unmarshal(body, &ambea)
92		return ambea, err
93	case string(TypeGetMetadata):
94		var gma GetMetadataActivity
95		err := json.Unmarshal(body, &gma)
96		return gma, err
97	case string(TypeWebActivity):
98		var wa WebActivity
99		err := json.Unmarshal(body, &wa)
100		return wa, err
101	case string(TypeLookup):
102		var la LookupActivity
103		err := json.Unmarshal(body, &la)
104		return la, err
105	case string(TypeSQLServerStoredProcedure):
106		var ssspa SQLServerStoredProcedureActivity
107		err := json.Unmarshal(body, &ssspa)
108		return ssspa, err
109	case string(TypeCustom):
110		var ca CustomActivity
111		err := json.Unmarshal(body, &ca)
112		return ca, err
113	case string(TypeExecuteSSISPackage):
114		var espa ExecuteSSISPackageActivity
115		err := json.Unmarshal(body, &espa)
116		return espa, err
117	case string(TypeHDInsightSpark):
118		var hisa HDInsightSparkActivity
119		err := json.Unmarshal(body, &hisa)
120		return hisa, err
121	case string(TypeHDInsightStreaming):
122		var hisa HDInsightStreamingActivity
123		err := json.Unmarshal(body, &hisa)
124		return hisa, err
125	case string(TypeHDInsightMapReduce):
126		var himra HDInsightMapReduceActivity
127		err := json.Unmarshal(body, &himra)
128		return himra, err
129	case string(TypeHDInsightPig):
130		var hipa HDInsightPigActivity
131		err := json.Unmarshal(body, &hipa)
132		return hipa, err
133	case string(TypeHDInsightHive):
134		var hiha HDInsightHiveActivity
135		err := json.Unmarshal(body, &hiha)
136		return hiha, err
137	case string(TypeCopy):
138		var ca CopyActivity
139		err := json.Unmarshal(body, &ca)
140		return ca, err
141	case string(TypeExecution):
142		var ea ExecutionActivity
143		err := json.Unmarshal(body, &ea)
144		return ea, err
145	case string(TypeFilter):
146		var fa FilterActivity
147		err := json.Unmarshal(body, &fa)
148		return fa, err
149	case string(TypeUntil):
150		var ua UntilActivity
151		err := json.Unmarshal(body, &ua)
152		return ua, err
153	case string(TypeWait):
154		var wa WaitActivity
155		err := json.Unmarshal(body, &wa)
156		return wa, err
157	case string(TypeForEach):
158		var fea ForEachActivity
159		err := json.Unmarshal(body, &fea)
160		return fea, err
161	case string(TypeIfCondition):
162		var ica IfConditionActivity
163		err := json.Unmarshal(body, &ica)
164		return ica, err
165	case string(TypeExecutePipeline):
166		var epa ExecutePipelineActivity
167		err := json.Unmarshal(body, &epa)
168		return epa, err
169	case string(TypeContainer):
170		var ca ControlActivity
171		err := json.Unmarshal(body, &ca)
172		return ca, err
173	default:
174		var a Activity
175		err := json.Unmarshal(body, &a)
176		return a, err
177	}
178}
179func unmarshalBasicActivityArray(body []byte) ([]BasicActivity, error) {
180	var rawMessages []*json.RawMessage
181	err := json.Unmarshal(body, &rawMessages)
182	if err != nil {
183		return nil, err
184	}
185
186	aArray := make([]BasicActivity, len(rawMessages))
187
188	for index, rawMessage := range rawMessages {
189		a, err := unmarshalBasicActivity(*rawMessage)
190		if err != nil {
191			return nil, err
192		}
193		aArray[index] = a
194	}
195	return aArray, nil
196}
197
198// MarshalJSON is the custom marshaler for Activity.
199func (a Activity) MarshalJSON() ([]byte, error) {
200	a.Type = TypeActivity
201	objectMap := make(map[string]interface{})
202	if a.Name != nil {
203		objectMap["name"] = a.Name
204	}
205	if a.Description != nil {
206		objectMap["description"] = a.Description
207	}
208	if a.DependsOn != nil {
209		objectMap["dependsOn"] = a.DependsOn
210	}
211	if a.Type != "" {
212		objectMap["type"] = a.Type
213	}
214	for k, v := range a.AdditionalProperties {
215		objectMap[k] = v
216	}
217	return json.Marshal(objectMap)
218}
219
220// AsDatabricksNotebookActivity is the BasicActivity implementation for Activity.
221func (a Activity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
222	return nil, false
223}
224
225// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for Activity.
226func (a Activity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
227	return nil, false
228}
229
230// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for Activity.
231func (a Activity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
232	return nil, false
233}
234
235// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for Activity.
236func (a Activity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
237	return nil, false
238}
239
240// AsGetMetadataActivity is the BasicActivity implementation for Activity.
241func (a Activity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
242	return nil, false
243}
244
245// AsWebActivity is the BasicActivity implementation for Activity.
246func (a Activity) AsWebActivity() (*WebActivity, bool) {
247	return nil, false
248}
249
250// AsLookupActivity is the BasicActivity implementation for Activity.
251func (a Activity) AsLookupActivity() (*LookupActivity, bool) {
252	return nil, false
253}
254
255// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for Activity.
256func (a Activity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
257	return nil, false
258}
259
260// AsCustomActivity is the BasicActivity implementation for Activity.
261func (a Activity) AsCustomActivity() (*CustomActivity, bool) {
262	return nil, false
263}
264
265// AsExecuteSSISPackageActivity is the BasicActivity implementation for Activity.
266func (a Activity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
267	return nil, false
268}
269
270// AsHDInsightSparkActivity is the BasicActivity implementation for Activity.
271func (a Activity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
272	return nil, false
273}
274
275// AsHDInsightStreamingActivity is the BasicActivity implementation for Activity.
276func (a Activity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
277	return nil, false
278}
279
280// AsHDInsightMapReduceActivity is the BasicActivity implementation for Activity.
281func (a Activity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
282	return nil, false
283}
284
285// AsHDInsightPigActivity is the BasicActivity implementation for Activity.
286func (a Activity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
287	return nil, false
288}
289
290// AsHDInsightHiveActivity is the BasicActivity implementation for Activity.
291func (a Activity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
292	return nil, false
293}
294
295// AsCopyActivity is the BasicActivity implementation for Activity.
296func (a Activity) AsCopyActivity() (*CopyActivity, bool) {
297	return nil, false
298}
299
300// AsExecutionActivity is the BasicActivity implementation for Activity.
301func (a Activity) AsExecutionActivity() (*ExecutionActivity, bool) {
302	return nil, false
303}
304
305// AsBasicExecutionActivity is the BasicActivity implementation for Activity.
306func (a Activity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
307	return nil, false
308}
309
310// AsFilterActivity is the BasicActivity implementation for Activity.
311func (a Activity) AsFilterActivity() (*FilterActivity, bool) {
312	return nil, false
313}
314
315// AsUntilActivity is the BasicActivity implementation for Activity.
316func (a Activity) AsUntilActivity() (*UntilActivity, bool) {
317	return nil, false
318}
319
320// AsWaitActivity is the BasicActivity implementation for Activity.
321func (a Activity) AsWaitActivity() (*WaitActivity, bool) {
322	return nil, false
323}
324
325// AsForEachActivity is the BasicActivity implementation for Activity.
326func (a Activity) AsForEachActivity() (*ForEachActivity, bool) {
327	return nil, false
328}
329
330// AsIfConditionActivity is the BasicActivity implementation for Activity.
331func (a Activity) AsIfConditionActivity() (*IfConditionActivity, bool) {
332	return nil, false
333}
334
335// AsExecutePipelineActivity is the BasicActivity implementation for Activity.
336func (a Activity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
337	return nil, false
338}
339
340// AsControlActivity is the BasicActivity implementation for Activity.
341func (a Activity) AsControlActivity() (*ControlActivity, bool) {
342	return nil, false
343}
344
345// AsBasicControlActivity is the BasicActivity implementation for Activity.
346func (a Activity) AsBasicControlActivity() (BasicControlActivity, bool) {
347	return nil, false
348}
349
350// AsActivity is the BasicActivity implementation for Activity.
351func (a Activity) AsActivity() (*Activity, bool) {
352	return &a, true
353}
354
355// AsBasicActivity is the BasicActivity implementation for Activity.
356func (a Activity) AsBasicActivity() (BasicActivity, bool) {
357	return &a, true
358}
359
360// UnmarshalJSON is the custom unmarshaler for Activity struct.
361func (a *Activity) UnmarshalJSON(body []byte) error {
362	var m map[string]*json.RawMessage
363	err := json.Unmarshal(body, &m)
364	if err != nil {
365		return err
366	}
367	for k, v := range m {
368		switch k {
369		default:
370			if v != nil {
371				var additionalProperties interface{}
372				err = json.Unmarshal(*v, &additionalProperties)
373				if err != nil {
374					return err
375				}
376				if a.AdditionalProperties == nil {
377					a.AdditionalProperties = make(map[string]interface{})
378				}
379				a.AdditionalProperties[k] = additionalProperties
380			}
381		case "name":
382			if v != nil {
383				var name string
384				err = json.Unmarshal(*v, &name)
385				if err != nil {
386					return err
387				}
388				a.Name = &name
389			}
390		case "description":
391			if v != nil {
392				var description string
393				err = json.Unmarshal(*v, &description)
394				if err != nil {
395					return err
396				}
397				a.Description = &description
398			}
399		case "dependsOn":
400			if v != nil {
401				var dependsOn []ActivityDependency
402				err = json.Unmarshal(*v, &dependsOn)
403				if err != nil {
404					return err
405				}
406				a.DependsOn = &dependsOn
407			}
408		case "type":
409			if v != nil {
410				var typeVar TypeBasicActivity
411				err = json.Unmarshal(*v, &typeVar)
412				if err != nil {
413					return err
414				}
415				a.Type = typeVar
416			}
417		}
418	}
419
420	return nil
421}
422
423// ActivityDependency activity dependency information.
424type ActivityDependency struct {
425	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
426	AdditionalProperties map[string]interface{} `json:""`
427	// Activity - Activity name.
428	Activity *string `json:"activity,omitempty"`
429	// DependencyConditions - Match-Condition for the dependency.
430	DependencyConditions *[]DependencyCondition `json:"dependencyConditions,omitempty"`
431}
432
433// MarshalJSON is the custom marshaler for ActivityDependency.
434func (ad ActivityDependency) MarshalJSON() ([]byte, error) {
435	objectMap := make(map[string]interface{})
436	if ad.Activity != nil {
437		objectMap["activity"] = ad.Activity
438	}
439	if ad.DependencyConditions != nil {
440		objectMap["dependencyConditions"] = ad.DependencyConditions
441	}
442	for k, v := range ad.AdditionalProperties {
443		objectMap[k] = v
444	}
445	return json.Marshal(objectMap)
446}
447
448// UnmarshalJSON is the custom unmarshaler for ActivityDependency struct.
449func (ad *ActivityDependency) UnmarshalJSON(body []byte) error {
450	var m map[string]*json.RawMessage
451	err := json.Unmarshal(body, &m)
452	if err != nil {
453		return err
454	}
455	for k, v := range m {
456		switch k {
457		default:
458			if v != nil {
459				var additionalProperties interface{}
460				err = json.Unmarshal(*v, &additionalProperties)
461				if err != nil {
462					return err
463				}
464				if ad.AdditionalProperties == nil {
465					ad.AdditionalProperties = make(map[string]interface{})
466				}
467				ad.AdditionalProperties[k] = additionalProperties
468			}
469		case "activity":
470			if v != nil {
471				var activity string
472				err = json.Unmarshal(*v, &activity)
473				if err != nil {
474					return err
475				}
476				ad.Activity = &activity
477			}
478		case "dependencyConditions":
479			if v != nil {
480				var dependencyConditions []DependencyCondition
481				err = json.Unmarshal(*v, &dependencyConditions)
482				if err != nil {
483					return err
484				}
485				ad.DependencyConditions = &dependencyConditions
486			}
487		}
488	}
489
490	return nil
491}
492
493// ActivityPolicy execution policy for an activity.
494type ActivityPolicy struct {
495	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
496	AdditionalProperties map[string]interface{} `json:""`
497	// Timeout - Specifies the timeout for the activity to run. The default timeout is 7 days. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
498	Timeout interface{} `json:"timeout,omitempty"`
499	// Retry - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
500	Retry interface{} `json:"retry,omitempty"`
501	// RetryIntervalInSeconds - Interval between each retry attempt (in seconds). The default is 30 sec.
502	RetryIntervalInSeconds *int32 `json:"retryIntervalInSeconds,omitempty"`
503	// SecureOutput - When set to true, Output from activity is considered as secure and will not be logged to monitoring.
504	SecureOutput *bool `json:"secureOutput,omitempty"`
505}
506
507// MarshalJSON is the custom marshaler for ActivityPolicy.
508func (ap ActivityPolicy) MarshalJSON() ([]byte, error) {
509	objectMap := make(map[string]interface{})
510	if ap.Timeout != nil {
511		objectMap["timeout"] = ap.Timeout
512	}
513	if ap.Retry != nil {
514		objectMap["retry"] = ap.Retry
515	}
516	if ap.RetryIntervalInSeconds != nil {
517		objectMap["retryIntervalInSeconds"] = ap.RetryIntervalInSeconds
518	}
519	if ap.SecureOutput != nil {
520		objectMap["secureOutput"] = ap.SecureOutput
521	}
522	for k, v := range ap.AdditionalProperties {
523		objectMap[k] = v
524	}
525	return json.Marshal(objectMap)
526}
527
528// UnmarshalJSON is the custom unmarshaler for ActivityPolicy struct.
529func (ap *ActivityPolicy) UnmarshalJSON(body []byte) error {
530	var m map[string]*json.RawMessage
531	err := json.Unmarshal(body, &m)
532	if err != nil {
533		return err
534	}
535	for k, v := range m {
536		switch k {
537		default:
538			if v != nil {
539				var additionalProperties interface{}
540				err = json.Unmarshal(*v, &additionalProperties)
541				if err != nil {
542					return err
543				}
544				if ap.AdditionalProperties == nil {
545					ap.AdditionalProperties = make(map[string]interface{})
546				}
547				ap.AdditionalProperties[k] = additionalProperties
548			}
549		case "timeout":
550			if v != nil {
551				var timeout interface{}
552				err = json.Unmarshal(*v, &timeout)
553				if err != nil {
554					return err
555				}
556				ap.Timeout = timeout
557			}
558		case "retry":
559			if v != nil {
560				var retry interface{}
561				err = json.Unmarshal(*v, &retry)
562				if err != nil {
563					return err
564				}
565				ap.Retry = retry
566			}
567		case "retryIntervalInSeconds":
568			if v != nil {
569				var retryIntervalInSeconds int32
570				err = json.Unmarshal(*v, &retryIntervalInSeconds)
571				if err != nil {
572					return err
573				}
574				ap.RetryIntervalInSeconds = &retryIntervalInSeconds
575			}
576		case "secureOutput":
577			if v != nil {
578				var secureOutput bool
579				err = json.Unmarshal(*v, &secureOutput)
580				if err != nil {
581					return err
582				}
583				ap.SecureOutput = &secureOutput
584			}
585		}
586	}
587
588	return nil
589}
590
591// ActivityRun information about an activity run in a pipeline.
592type ActivityRun struct {
593	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
594	AdditionalProperties map[string]interface{} `json:""`
595	// PipelineName - READ-ONLY; The name of the pipeline.
596	PipelineName *string `json:"pipelineName,omitempty"`
597	// PipelineRunID - READ-ONLY; The id of the pipeline run.
598	PipelineRunID *string `json:"pipelineRunId,omitempty"`
599	// ActivityName - READ-ONLY; The name of the activity.
600	ActivityName *string `json:"activityName,omitempty"`
601	// ActivityType - READ-ONLY; The type of the activity.
602	ActivityType *string `json:"activityType,omitempty"`
603	// ActivityRunID - READ-ONLY; The id of the activity run.
604	ActivityRunID *string `json:"activityRunId,omitempty"`
605	// LinkedServiceName - READ-ONLY; The name of the compute linked service.
606	LinkedServiceName *string `json:"linkedServiceName,omitempty"`
607	// Status - READ-ONLY; The status of the activity run.
608	Status *string `json:"status,omitempty"`
609	// ActivityRunStart - READ-ONLY; The start time of the activity run in 'ISO 8601' format.
610	ActivityRunStart *date.Time `json:"activityRunStart,omitempty"`
611	// ActivityRunEnd - READ-ONLY; The end time of the activity run in 'ISO 8601' format.
612	ActivityRunEnd *date.Time `json:"activityRunEnd,omitempty"`
613	// DurationInMs - READ-ONLY; The duration of the activity run.
614	DurationInMs *int32 `json:"durationInMs,omitempty"`
615	// Input - READ-ONLY; The input for the activity.
616	Input interface{} `json:"input,omitempty"`
617	// Output - READ-ONLY; The output for the activity.
618	Output interface{} `json:"output,omitempty"`
619	// Error - READ-ONLY; The error if any from the activity run.
620	Error interface{} `json:"error,omitempty"`
621}
622
623// MarshalJSON is the custom marshaler for ActivityRun.
624func (ar ActivityRun) MarshalJSON() ([]byte, error) {
625	objectMap := make(map[string]interface{})
626	for k, v := range ar.AdditionalProperties {
627		objectMap[k] = v
628	}
629	return json.Marshal(objectMap)
630}
631
632// UnmarshalJSON is the custom unmarshaler for ActivityRun struct.
633func (ar *ActivityRun) UnmarshalJSON(body []byte) error {
634	var m map[string]*json.RawMessage
635	err := json.Unmarshal(body, &m)
636	if err != nil {
637		return err
638	}
639	for k, v := range m {
640		switch k {
641		default:
642			if v != nil {
643				var additionalProperties interface{}
644				err = json.Unmarshal(*v, &additionalProperties)
645				if err != nil {
646					return err
647				}
648				if ar.AdditionalProperties == nil {
649					ar.AdditionalProperties = make(map[string]interface{})
650				}
651				ar.AdditionalProperties[k] = additionalProperties
652			}
653		case "pipelineName":
654			if v != nil {
655				var pipelineName string
656				err = json.Unmarshal(*v, &pipelineName)
657				if err != nil {
658					return err
659				}
660				ar.PipelineName = &pipelineName
661			}
662		case "pipelineRunId":
663			if v != nil {
664				var pipelineRunID string
665				err = json.Unmarshal(*v, &pipelineRunID)
666				if err != nil {
667					return err
668				}
669				ar.PipelineRunID = &pipelineRunID
670			}
671		case "activityName":
672			if v != nil {
673				var activityName string
674				err = json.Unmarshal(*v, &activityName)
675				if err != nil {
676					return err
677				}
678				ar.ActivityName = &activityName
679			}
680		case "activityType":
681			if v != nil {
682				var activityType string
683				err = json.Unmarshal(*v, &activityType)
684				if err != nil {
685					return err
686				}
687				ar.ActivityType = &activityType
688			}
689		case "activityRunId":
690			if v != nil {
691				var activityRunID string
692				err = json.Unmarshal(*v, &activityRunID)
693				if err != nil {
694					return err
695				}
696				ar.ActivityRunID = &activityRunID
697			}
698		case "linkedServiceName":
699			if v != nil {
700				var linkedServiceName string
701				err = json.Unmarshal(*v, &linkedServiceName)
702				if err != nil {
703					return err
704				}
705				ar.LinkedServiceName = &linkedServiceName
706			}
707		case "status":
708			if v != nil {
709				var status string
710				err = json.Unmarshal(*v, &status)
711				if err != nil {
712					return err
713				}
714				ar.Status = &status
715			}
716		case "activityRunStart":
717			if v != nil {
718				var activityRunStart date.Time
719				err = json.Unmarshal(*v, &activityRunStart)
720				if err != nil {
721					return err
722				}
723				ar.ActivityRunStart = &activityRunStart
724			}
725		case "activityRunEnd":
726			if v != nil {
727				var activityRunEnd date.Time
728				err = json.Unmarshal(*v, &activityRunEnd)
729				if err != nil {
730					return err
731				}
732				ar.ActivityRunEnd = &activityRunEnd
733			}
734		case "durationInMs":
735			if v != nil {
736				var durationInMs int32
737				err = json.Unmarshal(*v, &durationInMs)
738				if err != nil {
739					return err
740				}
741				ar.DurationInMs = &durationInMs
742			}
743		case "input":
744			if v != nil {
745				var input interface{}
746				err = json.Unmarshal(*v, &input)
747				if err != nil {
748					return err
749				}
750				ar.Input = input
751			}
752		case "output":
753			if v != nil {
754				var output interface{}
755				err = json.Unmarshal(*v, &output)
756				if err != nil {
757					return err
758				}
759				ar.Output = output
760			}
761		case "error":
762			if v != nil {
763				var errorVar interface{}
764				err = json.Unmarshal(*v, &errorVar)
765				if err != nil {
766					return err
767				}
768				ar.Error = errorVar
769			}
770		}
771	}
772
773	return nil
774}
775
776// ActivityRunsListResponse a list activity runs.
777type ActivityRunsListResponse struct {
778	autorest.Response `json:"-"`
779	// Value - List of activity runs.
780	Value *[]ActivityRun `json:"value,omitempty"`
781	// NextLink - The link to the next page of results, if any remaining results exist.
782	NextLink *string `json:"nextLink,omitempty"`
783}
784
785// ActivityRunsListResponseIterator provides access to a complete listing of ActivityRun values.
786type ActivityRunsListResponseIterator struct {
787	i    int
788	page ActivityRunsListResponsePage
789}
790
791// NextWithContext advances to the next value.  If there was an error making
792// the request the iterator does not advance and the error is returned.
793func (iter *ActivityRunsListResponseIterator) NextWithContext(ctx context.Context) (err error) {
794	if tracing.IsEnabled() {
795		ctx = tracing.StartSpan(ctx, fqdn+"/ActivityRunsListResponseIterator.NextWithContext")
796		defer func() {
797			sc := -1
798			if iter.Response().Response.Response != nil {
799				sc = iter.Response().Response.Response.StatusCode
800			}
801			tracing.EndSpan(ctx, sc, err)
802		}()
803	}
804	iter.i++
805	if iter.i < len(iter.page.Values()) {
806		return nil
807	}
808	err = iter.page.NextWithContext(ctx)
809	if err != nil {
810		iter.i--
811		return err
812	}
813	iter.i = 0
814	return nil
815}
816
817// Next advances to the next value.  If there was an error making
818// the request the iterator does not advance and the error is returned.
819// Deprecated: Use NextWithContext() instead.
820func (iter *ActivityRunsListResponseIterator) Next() error {
821	return iter.NextWithContext(context.Background())
822}
823
824// NotDone returns true if the enumeration should be started or is not yet complete.
825func (iter ActivityRunsListResponseIterator) NotDone() bool {
826	return iter.page.NotDone() && iter.i < len(iter.page.Values())
827}
828
829// Response returns the raw server response from the last page request.
830func (iter ActivityRunsListResponseIterator) Response() ActivityRunsListResponse {
831	return iter.page.Response()
832}
833
834// Value returns the current value or a zero-initialized value if the
835// iterator has advanced beyond the end of the collection.
836func (iter ActivityRunsListResponseIterator) Value() ActivityRun {
837	if !iter.page.NotDone() {
838		return ActivityRun{}
839	}
840	return iter.page.Values()[iter.i]
841}
842
843// Creates a new instance of the ActivityRunsListResponseIterator type.
844func NewActivityRunsListResponseIterator(page ActivityRunsListResponsePage) ActivityRunsListResponseIterator {
845	return ActivityRunsListResponseIterator{page: page}
846}
847
848// IsEmpty returns true if the ListResult contains no values.
849func (arlr ActivityRunsListResponse) IsEmpty() bool {
850	return arlr.Value == nil || len(*arlr.Value) == 0
851}
852
853// hasNextLink returns true if the NextLink is not empty.
854func (arlr ActivityRunsListResponse) hasNextLink() bool {
855	return arlr.NextLink != nil && len(*arlr.NextLink) != 0
856}
857
858// activityRunsListResponsePreparer prepares a request to retrieve the next set of results.
859// It returns nil if no more results exist.
860func (arlr ActivityRunsListResponse) activityRunsListResponsePreparer(ctx context.Context) (*http.Request, error) {
861	if !arlr.hasNextLink() {
862		return nil, nil
863	}
864	return autorest.Prepare((&http.Request{}).WithContext(ctx),
865		autorest.AsJSON(),
866		autorest.AsGet(),
867		autorest.WithBaseURL(to.String(arlr.NextLink)))
868}
869
870// ActivityRunsListResponsePage contains a page of ActivityRun values.
871type ActivityRunsListResponsePage struct {
872	fn   func(context.Context, ActivityRunsListResponse) (ActivityRunsListResponse, error)
873	arlr ActivityRunsListResponse
874}
875
876// NextWithContext advances to the next page of values.  If there was an error making
877// the request the page does not advance and the error is returned.
878func (page *ActivityRunsListResponsePage) NextWithContext(ctx context.Context) (err error) {
879	if tracing.IsEnabled() {
880		ctx = tracing.StartSpan(ctx, fqdn+"/ActivityRunsListResponsePage.NextWithContext")
881		defer func() {
882			sc := -1
883			if page.Response().Response.Response != nil {
884				sc = page.Response().Response.Response.StatusCode
885			}
886			tracing.EndSpan(ctx, sc, err)
887		}()
888	}
889	for {
890		next, err := page.fn(ctx, page.arlr)
891		if err != nil {
892			return err
893		}
894		page.arlr = next
895		if !next.hasNextLink() || !next.IsEmpty() {
896			break
897		}
898	}
899	return nil
900}
901
902// Next advances to the next page of values.  If there was an error making
903// the request the page does not advance and the error is returned.
904// Deprecated: Use NextWithContext() instead.
905func (page *ActivityRunsListResponsePage) Next() error {
906	return page.NextWithContext(context.Background())
907}
908
909// NotDone returns true if the page enumeration should be started or is not yet complete.
910func (page ActivityRunsListResponsePage) NotDone() bool {
911	return !page.arlr.IsEmpty()
912}
913
914// Response returns the raw server response from the last page request.
915func (page ActivityRunsListResponsePage) Response() ActivityRunsListResponse {
916	return page.arlr
917}
918
919// Values returns the slice of values for the current page or nil if there are no values.
920func (page ActivityRunsListResponsePage) Values() []ActivityRun {
921	if page.arlr.IsEmpty() {
922		return nil
923	}
924	return *page.arlr.Value
925}
926
927// Creates a new instance of the ActivityRunsListResponsePage type.
928func NewActivityRunsListResponsePage(cur ActivityRunsListResponse, getNextPage func(context.Context, ActivityRunsListResponse) (ActivityRunsListResponse, error)) ActivityRunsListResponsePage {
929	return ActivityRunsListResponsePage{
930		fn:   getNextPage,
931		arlr: cur,
932	}
933}
934
935// AmazonMWSLinkedService amazon Marketplace Web Service linked service.
936type AmazonMWSLinkedService struct {
937	// AmazonMWSLinkedServiceTypeProperties - Amazon Marketplace Web Service linked service properties.
938	*AmazonMWSLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
939	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
940	AdditionalProperties map[string]interface{} `json:""`
941	// ConnectVia - The integration runtime reference.
942	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
943	// Description - Linked service description.
944	Description *string `json:"description,omitempty"`
945	// Parameters - Parameters for linked service.
946	Parameters map[string]*ParameterSpecification `json:"parameters"`
947	// Annotations - List of tags that can be used for describing the Dataset.
948	Annotations *[]interface{} `json:"annotations,omitempty"`
949	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
950	Type TypeBasicLinkedService `json:"type,omitempty"`
951}
952
953// MarshalJSON is the custom marshaler for AmazonMWSLinkedService.
954func (amls AmazonMWSLinkedService) MarshalJSON() ([]byte, error) {
955	amls.Type = TypeAmazonMWS
956	objectMap := make(map[string]interface{})
957	if amls.AmazonMWSLinkedServiceTypeProperties != nil {
958		objectMap["typeProperties"] = amls.AmazonMWSLinkedServiceTypeProperties
959	}
960	if amls.ConnectVia != nil {
961		objectMap["connectVia"] = amls.ConnectVia
962	}
963	if amls.Description != nil {
964		objectMap["description"] = amls.Description
965	}
966	if amls.Parameters != nil {
967		objectMap["parameters"] = amls.Parameters
968	}
969	if amls.Annotations != nil {
970		objectMap["annotations"] = amls.Annotations
971	}
972	if amls.Type != "" {
973		objectMap["type"] = amls.Type
974	}
975	for k, v := range amls.AdditionalProperties {
976		objectMap[k] = v
977	}
978	return json.Marshal(objectMap)
979}
980
981// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
982func (amls AmazonMWSLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
983	return nil, false
984}
985
986// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
987func (amls AmazonMWSLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
988	return nil, false
989}
990
991// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
992func (amls AmazonMWSLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
993	return nil, false
994}
995
996// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
997func (amls AmazonMWSLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
998	return nil, false
999}
1000
1001// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1002func (amls AmazonMWSLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
1003	return nil, false
1004}
1005
1006// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1007func (amls AmazonMWSLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
1008	return nil, false
1009}
1010
1011// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1012func (amls AmazonMWSLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
1013	return nil, false
1014}
1015
1016// AsZohoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1017func (amls AmazonMWSLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
1018	return nil, false
1019}
1020
1021// AsXeroLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1022func (amls AmazonMWSLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
1023	return nil, false
1024}
1025
1026// AsSquareLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1027func (amls AmazonMWSLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
1028	return nil, false
1029}
1030
1031// AsSparkLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1032func (amls AmazonMWSLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
1033	return nil, false
1034}
1035
1036// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1037func (amls AmazonMWSLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
1038	return nil, false
1039}
1040
1041// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1042func (amls AmazonMWSLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
1043	return nil, false
1044}
1045
1046// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1047func (amls AmazonMWSLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
1048	return nil, false
1049}
1050
1051// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1052func (amls AmazonMWSLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
1053	return nil, false
1054}
1055
1056// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1057func (amls AmazonMWSLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
1058	return nil, false
1059}
1060
1061// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1062func (amls AmazonMWSLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
1063	return nil, false
1064}
1065
1066// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1067func (amls AmazonMWSLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
1068	return nil, false
1069}
1070
1071// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1072func (amls AmazonMWSLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
1073	return nil, false
1074}
1075
1076// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1077func (amls AmazonMWSLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
1078	return nil, false
1079}
1080
1081// AsJiraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1082func (amls AmazonMWSLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
1083	return nil, false
1084}
1085
1086// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1087func (amls AmazonMWSLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
1088	return nil, false
1089}
1090
1091// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1092func (amls AmazonMWSLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
1093	return nil, false
1094}
1095
1096// AsHiveLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1097func (amls AmazonMWSLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
1098	return nil, false
1099}
1100
1101// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1102func (amls AmazonMWSLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
1103	return nil, false
1104}
1105
1106// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1107func (amls AmazonMWSLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
1108	return nil, false
1109}
1110
1111// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1112func (amls AmazonMWSLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
1113	return nil, false
1114}
1115
1116// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1117func (amls AmazonMWSLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
1118	return nil, false
1119}
1120
1121// AsDrillLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1122func (amls AmazonMWSLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
1123	return nil, false
1124}
1125
1126// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1127func (amls AmazonMWSLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
1128	return nil, false
1129}
1130
1131// AsConcurLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1132func (amls AmazonMWSLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
1133	return nil, false
1134}
1135
1136// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1137func (amls AmazonMWSLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
1138	return nil, false
1139}
1140
1141// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1142func (amls AmazonMWSLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
1143	return &amls, true
1144}
1145
1146// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1147func (amls AmazonMWSLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
1148	return nil, false
1149}
1150
1151// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1152func (amls AmazonMWSLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
1153	return nil, false
1154}
1155
1156// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1157func (amls AmazonMWSLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
1158	return nil, false
1159}
1160
1161// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1162func (amls AmazonMWSLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
1163	return nil, false
1164}
1165
1166// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1167func (amls AmazonMWSLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
1168	return nil, false
1169}
1170
1171// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1172func (amls AmazonMWSLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
1173	return nil, false
1174}
1175
1176// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1177func (amls AmazonMWSLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
1178	return nil, false
1179}
1180
1181// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1182func (amls AmazonMWSLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
1183	return nil, false
1184}
1185
1186// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1187func (amls AmazonMWSLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
1188	return nil, false
1189}
1190
1191// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1192func (amls AmazonMWSLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
1193	return nil, false
1194}
1195
1196// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1197func (amls AmazonMWSLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
1198	return nil, false
1199}
1200
1201// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1202func (amls AmazonMWSLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
1203	return nil, false
1204}
1205
1206// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1207func (amls AmazonMWSLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
1208	return nil, false
1209}
1210
1211// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1212func (amls AmazonMWSLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
1213	return nil, false
1214}
1215
1216// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1217func (amls AmazonMWSLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
1218	return nil, false
1219}
1220
1221// AsWebLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1222func (amls AmazonMWSLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
1223	return nil, false
1224}
1225
1226// AsODataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1227func (amls AmazonMWSLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
1228	return nil, false
1229}
1230
1231// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1232func (amls AmazonMWSLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
1233	return nil, false
1234}
1235
1236// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1237func (amls AmazonMWSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
1238	return nil, false
1239}
1240
1241// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1242func (amls AmazonMWSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
1243	return nil, false
1244}
1245
1246// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1247func (amls AmazonMWSLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
1248	return nil, false
1249}
1250
1251// AsDb2LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1252func (amls AmazonMWSLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
1253	return nil, false
1254}
1255
1256// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1257func (amls AmazonMWSLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
1258	return nil, false
1259}
1260
1261// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1262func (amls AmazonMWSLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
1263	return nil, false
1264}
1265
1266// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1267func (amls AmazonMWSLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
1268	return nil, false
1269}
1270
1271// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1272func (amls AmazonMWSLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
1273	return nil, false
1274}
1275
1276// AsOracleLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1277func (amls AmazonMWSLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
1278	return nil, false
1279}
1280
1281// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1282func (amls AmazonMWSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
1283	return nil, false
1284}
1285
1286// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1287func (amls AmazonMWSLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
1288	return nil, false
1289}
1290
1291// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1292func (amls AmazonMWSLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
1293	return nil, false
1294}
1295
1296// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1297func (amls AmazonMWSLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
1298	return nil, false
1299}
1300
1301// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1302func (amls AmazonMWSLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
1303	return nil, false
1304}
1305
1306// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1307func (amls AmazonMWSLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
1308	return nil, false
1309}
1310
1311// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1312func (amls AmazonMWSLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
1313	return nil, false
1314}
1315
1316// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1317func (amls AmazonMWSLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
1318	return nil, false
1319}
1320
1321// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1322func (amls AmazonMWSLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
1323	return nil, false
1324}
1325
1326// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1327func (amls AmazonMWSLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
1328	return nil, false
1329}
1330
1331// AsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1332func (amls AmazonMWSLinkedService) AsLinkedService() (*LinkedService, bool) {
1333	return nil, false
1334}
1335
1336// AsBasicLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1337func (amls AmazonMWSLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
1338	return &amls, true
1339}
1340
1341// UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedService struct.
1342func (amls *AmazonMWSLinkedService) UnmarshalJSON(body []byte) error {
1343	var m map[string]*json.RawMessage
1344	err := json.Unmarshal(body, &m)
1345	if err != nil {
1346		return err
1347	}
1348	for k, v := range m {
1349		switch k {
1350		case "typeProperties":
1351			if v != nil {
1352				var amazonMWSLinkedServiceTypeProperties AmazonMWSLinkedServiceTypeProperties
1353				err = json.Unmarshal(*v, &amazonMWSLinkedServiceTypeProperties)
1354				if err != nil {
1355					return err
1356				}
1357				amls.AmazonMWSLinkedServiceTypeProperties = &amazonMWSLinkedServiceTypeProperties
1358			}
1359		default:
1360			if v != nil {
1361				var additionalProperties interface{}
1362				err = json.Unmarshal(*v, &additionalProperties)
1363				if err != nil {
1364					return err
1365				}
1366				if amls.AdditionalProperties == nil {
1367					amls.AdditionalProperties = make(map[string]interface{})
1368				}
1369				amls.AdditionalProperties[k] = additionalProperties
1370			}
1371		case "connectVia":
1372			if v != nil {
1373				var connectVia IntegrationRuntimeReference
1374				err = json.Unmarshal(*v, &connectVia)
1375				if err != nil {
1376					return err
1377				}
1378				amls.ConnectVia = &connectVia
1379			}
1380		case "description":
1381			if v != nil {
1382				var description string
1383				err = json.Unmarshal(*v, &description)
1384				if err != nil {
1385					return err
1386				}
1387				amls.Description = &description
1388			}
1389		case "parameters":
1390			if v != nil {
1391				var parameters map[string]*ParameterSpecification
1392				err = json.Unmarshal(*v, &parameters)
1393				if err != nil {
1394					return err
1395				}
1396				amls.Parameters = parameters
1397			}
1398		case "annotations":
1399			if v != nil {
1400				var annotations []interface{}
1401				err = json.Unmarshal(*v, &annotations)
1402				if err != nil {
1403					return err
1404				}
1405				amls.Annotations = &annotations
1406			}
1407		case "type":
1408			if v != nil {
1409				var typeVar TypeBasicLinkedService
1410				err = json.Unmarshal(*v, &typeVar)
1411				if err != nil {
1412					return err
1413				}
1414				amls.Type = typeVar
1415			}
1416		}
1417	}
1418
1419	return nil
1420}
1421
1422// AmazonMWSLinkedServiceTypeProperties amazon Marketplace Web Service linked service properties.
1423type AmazonMWSLinkedServiceTypeProperties struct {
1424	// Endpoint - The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com)
1425	Endpoint interface{} `json:"endpoint,omitempty"`
1426	// MarketplaceID - The Amazon Marketplace ID you want to retrieve data from. To retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e. A2EUQ1WTGCTBG2)
1427	MarketplaceID interface{} `json:"marketplaceID,omitempty"`
1428	// SellerID - The Amazon seller ID.
1429	SellerID interface{} `json:"sellerID,omitempty"`
1430	// MwsAuthToken - The Amazon MWS authentication token.
1431	MwsAuthToken BasicSecretBase `json:"mwsAuthToken,omitempty"`
1432	// AccessKeyID - The access key id used to access data.
1433	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
1434	// SecretKey - The secret key used to access data.
1435	SecretKey BasicSecretBase `json:"secretKey,omitempty"`
1436	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
1437	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
1438	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
1439	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
1440	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
1441	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
1442	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
1443	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
1444}
1445
1446// UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedServiceTypeProperties struct.
1447func (amlstp *AmazonMWSLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
1448	var m map[string]*json.RawMessage
1449	err := json.Unmarshal(body, &m)
1450	if err != nil {
1451		return err
1452	}
1453	for k, v := range m {
1454		switch k {
1455		case "endpoint":
1456			if v != nil {
1457				var endpoint interface{}
1458				err = json.Unmarshal(*v, &endpoint)
1459				if err != nil {
1460					return err
1461				}
1462				amlstp.Endpoint = endpoint
1463			}
1464		case "marketplaceID":
1465			if v != nil {
1466				var marketplaceID interface{}
1467				err = json.Unmarshal(*v, &marketplaceID)
1468				if err != nil {
1469					return err
1470				}
1471				amlstp.MarketplaceID = marketplaceID
1472			}
1473		case "sellerID":
1474			if v != nil {
1475				var sellerID interface{}
1476				err = json.Unmarshal(*v, &sellerID)
1477				if err != nil {
1478					return err
1479				}
1480				amlstp.SellerID = sellerID
1481			}
1482		case "mwsAuthToken":
1483			if v != nil {
1484				mwsAuthToken, err := unmarshalBasicSecretBase(*v)
1485				if err != nil {
1486					return err
1487				}
1488				amlstp.MwsAuthToken = mwsAuthToken
1489			}
1490		case "accessKeyId":
1491			if v != nil {
1492				var accessKeyID interface{}
1493				err = json.Unmarshal(*v, &accessKeyID)
1494				if err != nil {
1495					return err
1496				}
1497				amlstp.AccessKeyID = accessKeyID
1498			}
1499		case "secretKey":
1500			if v != nil {
1501				secretKey, err := unmarshalBasicSecretBase(*v)
1502				if err != nil {
1503					return err
1504				}
1505				amlstp.SecretKey = secretKey
1506			}
1507		case "useEncryptedEndpoints":
1508			if v != nil {
1509				var useEncryptedEndpoints interface{}
1510				err = json.Unmarshal(*v, &useEncryptedEndpoints)
1511				if err != nil {
1512					return err
1513				}
1514				amlstp.UseEncryptedEndpoints = useEncryptedEndpoints
1515			}
1516		case "useHostVerification":
1517			if v != nil {
1518				var useHostVerification interface{}
1519				err = json.Unmarshal(*v, &useHostVerification)
1520				if err != nil {
1521					return err
1522				}
1523				amlstp.UseHostVerification = useHostVerification
1524			}
1525		case "usePeerVerification":
1526			if v != nil {
1527				var usePeerVerification interface{}
1528				err = json.Unmarshal(*v, &usePeerVerification)
1529				if err != nil {
1530					return err
1531				}
1532				amlstp.UsePeerVerification = usePeerVerification
1533			}
1534		case "encryptedCredential":
1535			if v != nil {
1536				var encryptedCredential interface{}
1537				err = json.Unmarshal(*v, &encryptedCredential)
1538				if err != nil {
1539					return err
1540				}
1541				amlstp.EncryptedCredential = encryptedCredential
1542			}
1543		}
1544	}
1545
1546	return nil
1547}
1548
1549// AmazonMWSObjectDataset amazon Marketplace Web Service dataset.
1550type AmazonMWSObjectDataset struct {
1551	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
1552	AdditionalProperties map[string]interface{} `json:""`
1553	// Description - Dataset description.
1554	Description *string `json:"description,omitempty"`
1555	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
1556	Structure interface{} `json:"structure,omitempty"`
1557	// LinkedServiceName - Linked service reference.
1558	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
1559	// Parameters - Parameters for dataset.
1560	Parameters map[string]*ParameterSpecification `json:"parameters"`
1561	// Annotations - List of tags that can be used for describing the Dataset.
1562	Annotations *[]interface{} `json:"annotations,omitempty"`
1563	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
1564	Type TypeBasicDataset `json:"type,omitempty"`
1565}
1566
1567// MarshalJSON is the custom marshaler for AmazonMWSObjectDataset.
1568func (amod AmazonMWSObjectDataset) MarshalJSON() ([]byte, error) {
1569	amod.Type = TypeAmazonMWSObject
1570	objectMap := make(map[string]interface{})
1571	if amod.Description != nil {
1572		objectMap["description"] = amod.Description
1573	}
1574	if amod.Structure != nil {
1575		objectMap["structure"] = amod.Structure
1576	}
1577	if amod.LinkedServiceName != nil {
1578		objectMap["linkedServiceName"] = amod.LinkedServiceName
1579	}
1580	if amod.Parameters != nil {
1581		objectMap["parameters"] = amod.Parameters
1582	}
1583	if amod.Annotations != nil {
1584		objectMap["annotations"] = amod.Annotations
1585	}
1586	if amod.Type != "" {
1587		objectMap["type"] = amod.Type
1588	}
1589	for k, v := range amod.AdditionalProperties {
1590		objectMap[k] = v
1591	}
1592	return json.Marshal(objectMap)
1593}
1594
1595// AsResponsysObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1596func (amod AmazonMWSObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
1597	return nil, false
1598}
1599
1600// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1601func (amod AmazonMWSObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
1602	return nil, false
1603}
1604
1605// AsVerticaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1606func (amod AmazonMWSObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
1607	return nil, false
1608}
1609
1610// AsNetezzaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1611func (amod AmazonMWSObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
1612	return nil, false
1613}
1614
1615// AsZohoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1616func (amod AmazonMWSObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
1617	return nil, false
1618}
1619
1620// AsXeroObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1621func (amod AmazonMWSObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
1622	return nil, false
1623}
1624
1625// AsSquareObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1626func (amod AmazonMWSObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
1627	return nil, false
1628}
1629
1630// AsSparkObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1631func (amod AmazonMWSObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
1632	return nil, false
1633}
1634
1635// AsShopifyObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1636func (amod AmazonMWSObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
1637	return nil, false
1638}
1639
1640// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1641func (amod AmazonMWSObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
1642	return nil, false
1643}
1644
1645// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1646func (amod AmazonMWSObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
1647	return nil, false
1648}
1649
1650// AsPrestoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1651func (amod AmazonMWSObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
1652	return nil, false
1653}
1654
1655// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1656func (amod AmazonMWSObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
1657	return nil, false
1658}
1659
1660// AsPaypalObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1661func (amod AmazonMWSObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
1662	return nil, false
1663}
1664
1665// AsMarketoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1666func (amod AmazonMWSObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
1667	return nil, false
1668}
1669
1670// AsMariaDBTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1671func (amod AmazonMWSObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
1672	return nil, false
1673}
1674
1675// AsMagentoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1676func (amod AmazonMWSObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
1677	return nil, false
1678}
1679
1680// AsJiraObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1681func (amod AmazonMWSObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
1682	return nil, false
1683}
1684
1685// AsImpalaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1686func (amod AmazonMWSObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
1687	return nil, false
1688}
1689
1690// AsHubspotObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1691func (amod AmazonMWSObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
1692	return nil, false
1693}
1694
1695// AsHiveObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1696func (amod AmazonMWSObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
1697	return nil, false
1698}
1699
1700// AsHBaseObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1701func (amod AmazonMWSObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
1702	return nil, false
1703}
1704
1705// AsGreenplumTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1706func (amod AmazonMWSObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
1707	return nil, false
1708}
1709
1710// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1711func (amod AmazonMWSObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
1712	return nil, false
1713}
1714
1715// AsEloquaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1716func (amod AmazonMWSObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
1717	return nil, false
1718}
1719
1720// AsDrillTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1721func (amod AmazonMWSObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
1722	return nil, false
1723}
1724
1725// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1726func (amod AmazonMWSObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
1727	return nil, false
1728}
1729
1730// AsConcurObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1731func (amod AmazonMWSObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
1732	return nil, false
1733}
1734
1735// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1736func (amod AmazonMWSObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
1737	return nil, false
1738}
1739
1740// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1741func (amod AmazonMWSObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
1742	return &amod, true
1743}
1744
1745// AsHTTPDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1746func (amod AmazonMWSObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
1747	return nil, false
1748}
1749
1750// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1751func (amod AmazonMWSObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
1752	return nil, false
1753}
1754
1755// AsWebTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1756func (amod AmazonMWSObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
1757	return nil, false
1758}
1759
1760// AsSQLServerTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1761func (amod AmazonMWSObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
1762	return nil, false
1763}
1764
1765// AsSapEccResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1766func (amod AmazonMWSObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
1767	return nil, false
1768}
1769
1770// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1771func (amod AmazonMWSObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
1772	return nil, false
1773}
1774
1775// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1776func (amod AmazonMWSObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
1777	return nil, false
1778}
1779
1780// AsRelationalTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1781func (amod AmazonMWSObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
1782	return nil, false
1783}
1784
1785// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1786func (amod AmazonMWSObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
1787	return nil, false
1788}
1789
1790// AsOracleTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1791func (amod AmazonMWSObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
1792	return nil, false
1793}
1794
1795// AsODataResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1796func (amod AmazonMWSObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
1797	return nil, false
1798}
1799
1800// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1801func (amod AmazonMWSObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
1802	return nil, false
1803}
1804
1805// AsFileShareDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1806func (amod AmazonMWSObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
1807	return nil, false
1808}
1809
1810// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1811func (amod AmazonMWSObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
1812	return nil, false
1813}
1814
1815// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1816func (amod AmazonMWSObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
1817	return nil, false
1818}
1819
1820// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1821func (amod AmazonMWSObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
1822	return nil, false
1823}
1824
1825// AsCustomDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1826func (amod AmazonMWSObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
1827	return nil, false
1828}
1829
1830// AsCassandraTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1831func (amod AmazonMWSObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
1832	return nil, false
1833}
1834
1835// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1836func (amod AmazonMWSObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
1837	return nil, false
1838}
1839
1840// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1841func (amod AmazonMWSObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
1842	return nil, false
1843}
1844
1845// AsAzureTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1846func (amod AmazonMWSObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
1847	return nil, false
1848}
1849
1850// AsAzureBlobDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1851func (amod AmazonMWSObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
1852	return nil, false
1853}
1854
1855// AsAmazonS3Dataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1856func (amod AmazonMWSObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
1857	return nil, false
1858}
1859
1860// AsDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1861func (amod AmazonMWSObjectDataset) AsDataset() (*Dataset, bool) {
1862	return nil, false
1863}
1864
1865// AsBasicDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1866func (amod AmazonMWSObjectDataset) AsBasicDataset() (BasicDataset, bool) {
1867	return &amod, true
1868}
1869
1870// UnmarshalJSON is the custom unmarshaler for AmazonMWSObjectDataset struct.
1871func (amod *AmazonMWSObjectDataset) UnmarshalJSON(body []byte) error {
1872	var m map[string]*json.RawMessage
1873	err := json.Unmarshal(body, &m)
1874	if err != nil {
1875		return err
1876	}
1877	for k, v := range m {
1878		switch k {
1879		default:
1880			if v != nil {
1881				var additionalProperties interface{}
1882				err = json.Unmarshal(*v, &additionalProperties)
1883				if err != nil {
1884					return err
1885				}
1886				if amod.AdditionalProperties == nil {
1887					amod.AdditionalProperties = make(map[string]interface{})
1888				}
1889				amod.AdditionalProperties[k] = additionalProperties
1890			}
1891		case "description":
1892			if v != nil {
1893				var description string
1894				err = json.Unmarshal(*v, &description)
1895				if err != nil {
1896					return err
1897				}
1898				amod.Description = &description
1899			}
1900		case "structure":
1901			if v != nil {
1902				var structure interface{}
1903				err = json.Unmarshal(*v, &structure)
1904				if err != nil {
1905					return err
1906				}
1907				amod.Structure = structure
1908			}
1909		case "linkedServiceName":
1910			if v != nil {
1911				var linkedServiceName LinkedServiceReference
1912				err = json.Unmarshal(*v, &linkedServiceName)
1913				if err != nil {
1914					return err
1915				}
1916				amod.LinkedServiceName = &linkedServiceName
1917			}
1918		case "parameters":
1919			if v != nil {
1920				var parameters map[string]*ParameterSpecification
1921				err = json.Unmarshal(*v, &parameters)
1922				if err != nil {
1923					return err
1924				}
1925				amod.Parameters = parameters
1926			}
1927		case "annotations":
1928			if v != nil {
1929				var annotations []interface{}
1930				err = json.Unmarshal(*v, &annotations)
1931				if err != nil {
1932					return err
1933				}
1934				amod.Annotations = &annotations
1935			}
1936		case "type":
1937			if v != nil {
1938				var typeVar TypeBasicDataset
1939				err = json.Unmarshal(*v, &typeVar)
1940				if err != nil {
1941					return err
1942				}
1943				amod.Type = typeVar
1944			}
1945		}
1946	}
1947
1948	return nil
1949}
1950
1951// AmazonMWSSource a copy activity Amazon Marketplace Web Service source.
1952type AmazonMWSSource struct {
1953	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
1954	Query interface{} `json:"query,omitempty"`
1955	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
1956	AdditionalProperties map[string]interface{} `json:""`
1957	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
1958	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
1959	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1960	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
1961	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
1962	Type TypeBasicCopySource `json:"type,omitempty"`
1963}
1964
1965// MarshalJSON is the custom marshaler for AmazonMWSSource.
1966func (ams AmazonMWSSource) MarshalJSON() ([]byte, error) {
1967	ams.Type = TypeAmazonMWSSource
1968	objectMap := make(map[string]interface{})
1969	if ams.Query != nil {
1970		objectMap["query"] = ams.Query
1971	}
1972	if ams.SourceRetryCount != nil {
1973		objectMap["sourceRetryCount"] = ams.SourceRetryCount
1974	}
1975	if ams.SourceRetryWait != nil {
1976		objectMap["sourceRetryWait"] = ams.SourceRetryWait
1977	}
1978	if ams.Type != "" {
1979		objectMap["type"] = ams.Type
1980	}
1981	for k, v := range ams.AdditionalProperties {
1982		objectMap[k] = v
1983	}
1984	return json.Marshal(objectMap)
1985}
1986
1987// AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonMWSSource.
1988func (ams AmazonMWSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
1989	return nil, false
1990}
1991
1992// AsResponsysSource is the BasicCopySource implementation for AmazonMWSSource.
1993func (ams AmazonMWSSource) AsResponsysSource() (*ResponsysSource, bool) {
1994	return nil, false
1995}
1996
1997// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonMWSSource.
1998func (ams AmazonMWSSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
1999	return nil, false
2000}
2001
2002// AsVerticaSource is the BasicCopySource implementation for AmazonMWSSource.
2003func (ams AmazonMWSSource) AsVerticaSource() (*VerticaSource, bool) {
2004	return nil, false
2005}
2006
2007// AsNetezzaSource is the BasicCopySource implementation for AmazonMWSSource.
2008func (ams AmazonMWSSource) AsNetezzaSource() (*NetezzaSource, bool) {
2009	return nil, false
2010}
2011
2012// AsZohoSource is the BasicCopySource implementation for AmazonMWSSource.
2013func (ams AmazonMWSSource) AsZohoSource() (*ZohoSource, bool) {
2014	return nil, false
2015}
2016
2017// AsXeroSource is the BasicCopySource implementation for AmazonMWSSource.
2018func (ams AmazonMWSSource) AsXeroSource() (*XeroSource, bool) {
2019	return nil, false
2020}
2021
2022// AsSquareSource is the BasicCopySource implementation for AmazonMWSSource.
2023func (ams AmazonMWSSource) AsSquareSource() (*SquareSource, bool) {
2024	return nil, false
2025}
2026
2027// AsSparkSource is the BasicCopySource implementation for AmazonMWSSource.
2028func (ams AmazonMWSSource) AsSparkSource() (*SparkSource, bool) {
2029	return nil, false
2030}
2031
2032// AsShopifySource is the BasicCopySource implementation for AmazonMWSSource.
2033func (ams AmazonMWSSource) AsShopifySource() (*ShopifySource, bool) {
2034	return nil, false
2035}
2036
2037// AsServiceNowSource is the BasicCopySource implementation for AmazonMWSSource.
2038func (ams AmazonMWSSource) AsServiceNowSource() (*ServiceNowSource, bool) {
2039	return nil, false
2040}
2041
2042// AsQuickBooksSource is the BasicCopySource implementation for AmazonMWSSource.
2043func (ams AmazonMWSSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
2044	return nil, false
2045}
2046
2047// AsPrestoSource is the BasicCopySource implementation for AmazonMWSSource.
2048func (ams AmazonMWSSource) AsPrestoSource() (*PrestoSource, bool) {
2049	return nil, false
2050}
2051
2052// AsPhoenixSource is the BasicCopySource implementation for AmazonMWSSource.
2053func (ams AmazonMWSSource) AsPhoenixSource() (*PhoenixSource, bool) {
2054	return nil, false
2055}
2056
2057// AsPaypalSource is the BasicCopySource implementation for AmazonMWSSource.
2058func (ams AmazonMWSSource) AsPaypalSource() (*PaypalSource, bool) {
2059	return nil, false
2060}
2061
2062// AsMarketoSource is the BasicCopySource implementation for AmazonMWSSource.
2063func (ams AmazonMWSSource) AsMarketoSource() (*MarketoSource, bool) {
2064	return nil, false
2065}
2066
2067// AsMariaDBSource is the BasicCopySource implementation for AmazonMWSSource.
2068func (ams AmazonMWSSource) AsMariaDBSource() (*MariaDBSource, bool) {
2069	return nil, false
2070}
2071
2072// AsMagentoSource is the BasicCopySource implementation for AmazonMWSSource.
2073func (ams AmazonMWSSource) AsMagentoSource() (*MagentoSource, bool) {
2074	return nil, false
2075}
2076
2077// AsJiraSource is the BasicCopySource implementation for AmazonMWSSource.
2078func (ams AmazonMWSSource) AsJiraSource() (*JiraSource, bool) {
2079	return nil, false
2080}
2081
2082// AsImpalaSource is the BasicCopySource implementation for AmazonMWSSource.
2083func (ams AmazonMWSSource) AsImpalaSource() (*ImpalaSource, bool) {
2084	return nil, false
2085}
2086
2087// AsHubspotSource is the BasicCopySource implementation for AmazonMWSSource.
2088func (ams AmazonMWSSource) AsHubspotSource() (*HubspotSource, bool) {
2089	return nil, false
2090}
2091
2092// AsHiveSource is the BasicCopySource implementation for AmazonMWSSource.
2093func (ams AmazonMWSSource) AsHiveSource() (*HiveSource, bool) {
2094	return nil, false
2095}
2096
2097// AsHBaseSource is the BasicCopySource implementation for AmazonMWSSource.
2098func (ams AmazonMWSSource) AsHBaseSource() (*HBaseSource, bool) {
2099	return nil, false
2100}
2101
2102// AsGreenplumSource is the BasicCopySource implementation for AmazonMWSSource.
2103func (ams AmazonMWSSource) AsGreenplumSource() (*GreenplumSource, bool) {
2104	return nil, false
2105}
2106
2107// AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonMWSSource.
2108func (ams AmazonMWSSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
2109	return nil, false
2110}
2111
2112// AsEloquaSource is the BasicCopySource implementation for AmazonMWSSource.
2113func (ams AmazonMWSSource) AsEloquaSource() (*EloquaSource, bool) {
2114	return nil, false
2115}
2116
2117// AsDrillSource is the BasicCopySource implementation for AmazonMWSSource.
2118func (ams AmazonMWSSource) AsDrillSource() (*DrillSource, bool) {
2119	return nil, false
2120}
2121
2122// AsCouchbaseSource is the BasicCopySource implementation for AmazonMWSSource.
2123func (ams AmazonMWSSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
2124	return nil, false
2125}
2126
2127// AsConcurSource is the BasicCopySource implementation for AmazonMWSSource.
2128func (ams AmazonMWSSource) AsConcurSource() (*ConcurSource, bool) {
2129	return nil, false
2130}
2131
2132// AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonMWSSource.
2133func (ams AmazonMWSSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
2134	return nil, false
2135}
2136
2137// AsAmazonMWSSource is the BasicCopySource implementation for AmazonMWSSource.
2138func (ams AmazonMWSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
2139	return &ams, true
2140}
2141
2142// AsHTTPSource is the BasicCopySource implementation for AmazonMWSSource.
2143func (ams AmazonMWSSource) AsHTTPSource() (*HTTPSource, bool) {
2144	return nil, false
2145}
2146
2147// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonMWSSource.
2148func (ams AmazonMWSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
2149	return nil, false
2150}
2151
2152// AsMongoDbSource is the BasicCopySource implementation for AmazonMWSSource.
2153func (ams AmazonMWSSource) AsMongoDbSource() (*MongoDbSource, bool) {
2154	return nil, false
2155}
2156
2157// AsCassandraSource is the BasicCopySource implementation for AmazonMWSSource.
2158func (ams AmazonMWSSource) AsCassandraSource() (*CassandraSource, bool) {
2159	return nil, false
2160}
2161
2162// AsWebSource is the BasicCopySource implementation for AmazonMWSSource.
2163func (ams AmazonMWSSource) AsWebSource() (*WebSource, bool) {
2164	return nil, false
2165}
2166
2167// AsOracleSource is the BasicCopySource implementation for AmazonMWSSource.
2168func (ams AmazonMWSSource) AsOracleSource() (*OracleSource, bool) {
2169	return nil, false
2170}
2171
2172// AsAzureMySQLSource is the BasicCopySource implementation for AmazonMWSSource.
2173func (ams AmazonMWSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
2174	return nil, false
2175}
2176
2177// AsHdfsSource is the BasicCopySource implementation for AmazonMWSSource.
2178func (ams AmazonMWSSource) AsHdfsSource() (*HdfsSource, bool) {
2179	return nil, false
2180}
2181
2182// AsFileSystemSource is the BasicCopySource implementation for AmazonMWSSource.
2183func (ams AmazonMWSSource) AsFileSystemSource() (*FileSystemSource, bool) {
2184	return nil, false
2185}
2186
2187// AsSQLDWSource is the BasicCopySource implementation for AmazonMWSSource.
2188func (ams AmazonMWSSource) AsSQLDWSource() (*SQLDWSource, bool) {
2189	return nil, false
2190}
2191
2192// AsSQLSource is the BasicCopySource implementation for AmazonMWSSource.
2193func (ams AmazonMWSSource) AsSQLSource() (*SQLSource, bool) {
2194	return nil, false
2195}
2196
2197// AsSapEccSource is the BasicCopySource implementation for AmazonMWSSource.
2198func (ams AmazonMWSSource) AsSapEccSource() (*SapEccSource, bool) {
2199	return nil, false
2200}
2201
2202// AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonMWSSource.
2203func (ams AmazonMWSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
2204	return nil, false
2205}
2206
2207// AsSalesforceSource is the BasicCopySource implementation for AmazonMWSSource.
2208func (ams AmazonMWSSource) AsSalesforceSource() (*SalesforceSource, bool) {
2209	return nil, false
2210}
2211
2212// AsRelationalSource is the BasicCopySource implementation for AmazonMWSSource.
2213func (ams AmazonMWSSource) AsRelationalSource() (*RelationalSource, bool) {
2214	return nil, false
2215}
2216
2217// AsDynamicsSource is the BasicCopySource implementation for AmazonMWSSource.
2218func (ams AmazonMWSSource) AsDynamicsSource() (*DynamicsSource, bool) {
2219	return nil, false
2220}
2221
2222// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonMWSSource.
2223func (ams AmazonMWSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
2224	return nil, false
2225}
2226
2227// AsBlobSource is the BasicCopySource implementation for AmazonMWSSource.
2228func (ams AmazonMWSSource) AsBlobSource() (*BlobSource, bool) {
2229	return nil, false
2230}
2231
2232// AsAzureTableSource is the BasicCopySource implementation for AmazonMWSSource.
2233func (ams AmazonMWSSource) AsAzureTableSource() (*AzureTableSource, bool) {
2234	return nil, false
2235}
2236
2237// AsCopySource is the BasicCopySource implementation for AmazonMWSSource.
2238func (ams AmazonMWSSource) AsCopySource() (*CopySource, bool) {
2239	return nil, false
2240}
2241
2242// AsBasicCopySource is the BasicCopySource implementation for AmazonMWSSource.
2243func (ams AmazonMWSSource) AsBasicCopySource() (BasicCopySource, bool) {
2244	return &ams, true
2245}
2246
2247// UnmarshalJSON is the custom unmarshaler for AmazonMWSSource struct.
2248func (ams *AmazonMWSSource) UnmarshalJSON(body []byte) error {
2249	var m map[string]*json.RawMessage
2250	err := json.Unmarshal(body, &m)
2251	if err != nil {
2252		return err
2253	}
2254	for k, v := range m {
2255		switch k {
2256		case "query":
2257			if v != nil {
2258				var query interface{}
2259				err = json.Unmarshal(*v, &query)
2260				if err != nil {
2261					return err
2262				}
2263				ams.Query = query
2264			}
2265		default:
2266			if v != nil {
2267				var additionalProperties interface{}
2268				err = json.Unmarshal(*v, &additionalProperties)
2269				if err != nil {
2270					return err
2271				}
2272				if ams.AdditionalProperties == nil {
2273					ams.AdditionalProperties = make(map[string]interface{})
2274				}
2275				ams.AdditionalProperties[k] = additionalProperties
2276			}
2277		case "sourceRetryCount":
2278			if v != nil {
2279				var sourceRetryCount interface{}
2280				err = json.Unmarshal(*v, &sourceRetryCount)
2281				if err != nil {
2282					return err
2283				}
2284				ams.SourceRetryCount = sourceRetryCount
2285			}
2286		case "sourceRetryWait":
2287			if v != nil {
2288				var sourceRetryWait interface{}
2289				err = json.Unmarshal(*v, &sourceRetryWait)
2290				if err != nil {
2291					return err
2292				}
2293				ams.SourceRetryWait = sourceRetryWait
2294			}
2295		case "type":
2296			if v != nil {
2297				var typeVar TypeBasicCopySource
2298				err = json.Unmarshal(*v, &typeVar)
2299				if err != nil {
2300					return err
2301				}
2302				ams.Type = typeVar
2303			}
2304		}
2305	}
2306
2307	return nil
2308}
2309
2310// AmazonRedshiftLinkedService linked service for Amazon Redshift.
2311type AmazonRedshiftLinkedService struct {
2312	// AmazonRedshiftLinkedServiceTypeProperties - Amazon Redshift linked service properties.
2313	*AmazonRedshiftLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
2314	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2315	AdditionalProperties map[string]interface{} `json:""`
2316	// ConnectVia - The integration runtime reference.
2317	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
2318	// Description - Linked service description.
2319	Description *string `json:"description,omitempty"`
2320	// Parameters - Parameters for linked service.
2321	Parameters map[string]*ParameterSpecification `json:"parameters"`
2322	// Annotations - List of tags that can be used for describing the Dataset.
2323	Annotations *[]interface{} `json:"annotations,omitempty"`
2324	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
2325	Type TypeBasicLinkedService `json:"type,omitempty"`
2326}
2327
2328// MarshalJSON is the custom marshaler for AmazonRedshiftLinkedService.
2329func (arls AmazonRedshiftLinkedService) MarshalJSON() ([]byte, error) {
2330	arls.Type = TypeAmazonRedshift
2331	objectMap := make(map[string]interface{})
2332	if arls.AmazonRedshiftLinkedServiceTypeProperties != nil {
2333		objectMap["typeProperties"] = arls.AmazonRedshiftLinkedServiceTypeProperties
2334	}
2335	if arls.ConnectVia != nil {
2336		objectMap["connectVia"] = arls.ConnectVia
2337	}
2338	if arls.Description != nil {
2339		objectMap["description"] = arls.Description
2340	}
2341	if arls.Parameters != nil {
2342		objectMap["parameters"] = arls.Parameters
2343	}
2344	if arls.Annotations != nil {
2345		objectMap["annotations"] = arls.Annotations
2346	}
2347	if arls.Type != "" {
2348		objectMap["type"] = arls.Type
2349	}
2350	for k, v := range arls.AdditionalProperties {
2351		objectMap[k] = v
2352	}
2353	return json.Marshal(objectMap)
2354}
2355
2356// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2357func (arls AmazonRedshiftLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
2358	return nil, false
2359}
2360
2361// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2362func (arls AmazonRedshiftLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
2363	return nil, false
2364}
2365
2366// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2367func (arls AmazonRedshiftLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
2368	return nil, false
2369}
2370
2371// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2372func (arls AmazonRedshiftLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
2373	return nil, false
2374}
2375
2376// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2377func (arls AmazonRedshiftLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
2378	return nil, false
2379}
2380
2381// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2382func (arls AmazonRedshiftLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
2383	return nil, false
2384}
2385
2386// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2387func (arls AmazonRedshiftLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
2388	return nil, false
2389}
2390
2391// AsZohoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2392func (arls AmazonRedshiftLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
2393	return nil, false
2394}
2395
2396// AsXeroLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2397func (arls AmazonRedshiftLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
2398	return nil, false
2399}
2400
2401// AsSquareLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2402func (arls AmazonRedshiftLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
2403	return nil, false
2404}
2405
2406// AsSparkLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2407func (arls AmazonRedshiftLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
2408	return nil, false
2409}
2410
2411// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2412func (arls AmazonRedshiftLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
2413	return nil, false
2414}
2415
2416// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2417func (arls AmazonRedshiftLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
2418	return nil, false
2419}
2420
2421// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2422func (arls AmazonRedshiftLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
2423	return nil, false
2424}
2425
2426// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2427func (arls AmazonRedshiftLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
2428	return nil, false
2429}
2430
2431// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2432func (arls AmazonRedshiftLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
2433	return nil, false
2434}
2435
2436// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2437func (arls AmazonRedshiftLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
2438	return nil, false
2439}
2440
2441// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2442func (arls AmazonRedshiftLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
2443	return nil, false
2444}
2445
2446// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2447func (arls AmazonRedshiftLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
2448	return nil, false
2449}
2450
2451// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2452func (arls AmazonRedshiftLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
2453	return nil, false
2454}
2455
2456// AsJiraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2457func (arls AmazonRedshiftLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
2458	return nil, false
2459}
2460
2461// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2462func (arls AmazonRedshiftLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
2463	return nil, false
2464}
2465
2466// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2467func (arls AmazonRedshiftLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
2468	return nil, false
2469}
2470
2471// AsHiveLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2472func (arls AmazonRedshiftLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
2473	return nil, false
2474}
2475
2476// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2477func (arls AmazonRedshiftLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
2478	return nil, false
2479}
2480
2481// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2482func (arls AmazonRedshiftLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
2483	return nil, false
2484}
2485
2486// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2487func (arls AmazonRedshiftLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
2488	return nil, false
2489}
2490
2491// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2492func (arls AmazonRedshiftLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
2493	return nil, false
2494}
2495
2496// AsDrillLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2497func (arls AmazonRedshiftLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
2498	return nil, false
2499}
2500
2501// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2502func (arls AmazonRedshiftLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
2503	return nil, false
2504}
2505
2506// AsConcurLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2507func (arls AmazonRedshiftLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
2508	return nil, false
2509}
2510
2511// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2512func (arls AmazonRedshiftLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
2513	return nil, false
2514}
2515
2516// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2517func (arls AmazonRedshiftLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
2518	return nil, false
2519}
2520
2521// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2522func (arls AmazonRedshiftLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
2523	return nil, false
2524}
2525
2526// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2527func (arls AmazonRedshiftLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
2528	return nil, false
2529}
2530
2531// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2532func (arls AmazonRedshiftLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
2533	return nil, false
2534}
2535
2536// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2537func (arls AmazonRedshiftLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
2538	return nil, false
2539}
2540
2541// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2542func (arls AmazonRedshiftLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
2543	return nil, false
2544}
2545
2546// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2547func (arls AmazonRedshiftLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
2548	return nil, false
2549}
2550
2551// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2552func (arls AmazonRedshiftLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
2553	return nil, false
2554}
2555
2556// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2557func (arls AmazonRedshiftLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
2558	return &arls, true
2559}
2560
2561// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2562func (arls AmazonRedshiftLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
2563	return nil, false
2564}
2565
2566// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2567func (arls AmazonRedshiftLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
2568	return nil, false
2569}
2570
2571// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2572func (arls AmazonRedshiftLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
2573	return nil, false
2574}
2575
2576// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2577func (arls AmazonRedshiftLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
2578	return nil, false
2579}
2580
2581// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2582func (arls AmazonRedshiftLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
2583	return nil, false
2584}
2585
2586// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2587func (arls AmazonRedshiftLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
2588	return nil, false
2589}
2590
2591// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2592func (arls AmazonRedshiftLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
2593	return nil, false
2594}
2595
2596// AsWebLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2597func (arls AmazonRedshiftLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
2598	return nil, false
2599}
2600
2601// AsODataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2602func (arls AmazonRedshiftLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
2603	return nil, false
2604}
2605
2606// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2607func (arls AmazonRedshiftLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
2608	return nil, false
2609}
2610
2611// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2612func (arls AmazonRedshiftLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
2613	return nil, false
2614}
2615
2616// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2617func (arls AmazonRedshiftLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
2618	return nil, false
2619}
2620
2621// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2622func (arls AmazonRedshiftLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
2623	return nil, false
2624}
2625
2626// AsDb2LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2627func (arls AmazonRedshiftLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
2628	return nil, false
2629}
2630
2631// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2632func (arls AmazonRedshiftLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
2633	return nil, false
2634}
2635
2636// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2637func (arls AmazonRedshiftLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
2638	return nil, false
2639}
2640
2641// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2642func (arls AmazonRedshiftLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
2643	return nil, false
2644}
2645
2646// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2647func (arls AmazonRedshiftLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
2648	return nil, false
2649}
2650
2651// AsOracleLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2652func (arls AmazonRedshiftLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
2653	return nil, false
2654}
2655
2656// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2657func (arls AmazonRedshiftLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
2658	return nil, false
2659}
2660
2661// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2662func (arls AmazonRedshiftLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
2663	return nil, false
2664}
2665
2666// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2667func (arls AmazonRedshiftLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
2668	return nil, false
2669}
2670
2671// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2672func (arls AmazonRedshiftLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
2673	return nil, false
2674}
2675
2676// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2677func (arls AmazonRedshiftLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
2678	return nil, false
2679}
2680
2681// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2682func (arls AmazonRedshiftLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
2683	return nil, false
2684}
2685
2686// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2687func (arls AmazonRedshiftLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
2688	return nil, false
2689}
2690
2691// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2692func (arls AmazonRedshiftLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
2693	return nil, false
2694}
2695
2696// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2697func (arls AmazonRedshiftLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
2698	return nil, false
2699}
2700
2701// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2702func (arls AmazonRedshiftLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
2703	return nil, false
2704}
2705
2706// AsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2707func (arls AmazonRedshiftLinkedService) AsLinkedService() (*LinkedService, bool) {
2708	return nil, false
2709}
2710
2711// AsBasicLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2712func (arls AmazonRedshiftLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
2713	return &arls, true
2714}
2715
2716// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedService struct.
2717func (arls *AmazonRedshiftLinkedService) UnmarshalJSON(body []byte) error {
2718	var m map[string]*json.RawMessage
2719	err := json.Unmarshal(body, &m)
2720	if err != nil {
2721		return err
2722	}
2723	for k, v := range m {
2724		switch k {
2725		case "typeProperties":
2726			if v != nil {
2727				var amazonRedshiftLinkedServiceTypeProperties AmazonRedshiftLinkedServiceTypeProperties
2728				err = json.Unmarshal(*v, &amazonRedshiftLinkedServiceTypeProperties)
2729				if err != nil {
2730					return err
2731				}
2732				arls.AmazonRedshiftLinkedServiceTypeProperties = &amazonRedshiftLinkedServiceTypeProperties
2733			}
2734		default:
2735			if v != nil {
2736				var additionalProperties interface{}
2737				err = json.Unmarshal(*v, &additionalProperties)
2738				if err != nil {
2739					return err
2740				}
2741				if arls.AdditionalProperties == nil {
2742					arls.AdditionalProperties = make(map[string]interface{})
2743				}
2744				arls.AdditionalProperties[k] = additionalProperties
2745			}
2746		case "connectVia":
2747			if v != nil {
2748				var connectVia IntegrationRuntimeReference
2749				err = json.Unmarshal(*v, &connectVia)
2750				if err != nil {
2751					return err
2752				}
2753				arls.ConnectVia = &connectVia
2754			}
2755		case "description":
2756			if v != nil {
2757				var description string
2758				err = json.Unmarshal(*v, &description)
2759				if err != nil {
2760					return err
2761				}
2762				arls.Description = &description
2763			}
2764		case "parameters":
2765			if v != nil {
2766				var parameters map[string]*ParameterSpecification
2767				err = json.Unmarshal(*v, &parameters)
2768				if err != nil {
2769					return err
2770				}
2771				arls.Parameters = parameters
2772			}
2773		case "annotations":
2774			if v != nil {
2775				var annotations []interface{}
2776				err = json.Unmarshal(*v, &annotations)
2777				if err != nil {
2778					return err
2779				}
2780				arls.Annotations = &annotations
2781			}
2782		case "type":
2783			if v != nil {
2784				var typeVar TypeBasicLinkedService
2785				err = json.Unmarshal(*v, &typeVar)
2786				if err != nil {
2787					return err
2788				}
2789				arls.Type = typeVar
2790			}
2791		}
2792	}
2793
2794	return nil
2795}
2796
2797// AmazonRedshiftLinkedServiceTypeProperties amazon Redshift linked service properties.
2798type AmazonRedshiftLinkedServiceTypeProperties struct {
2799	// Server - The name of the Amazon Redshift server. Type: string (or Expression with resultType string).
2800	Server interface{} `json:"server,omitempty"`
2801	// Username - The username of the Amazon Redshift source. Type: string (or Expression with resultType string).
2802	Username interface{} `json:"username,omitempty"`
2803	// Password - The password of the Amazon Redshift source.
2804	Password BasicSecretBase `json:"password,omitempty"`
2805	// Database - The database name of the Amazon Redshift source. Type: string (or Expression with resultType string).
2806	Database interface{} `json:"database,omitempty"`
2807	// Port - The TCP port number that the Amazon Redshift server uses to listen for client connections. The default value is 5439. Type: integer (or Expression with resultType integer).
2808	Port interface{} `json:"port,omitempty"`
2809	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
2810	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
2811}
2812
2813// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedServiceTypeProperties struct.
2814func (arlstp *AmazonRedshiftLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
2815	var m map[string]*json.RawMessage
2816	err := json.Unmarshal(body, &m)
2817	if err != nil {
2818		return err
2819	}
2820	for k, v := range m {
2821		switch k {
2822		case "server":
2823			if v != nil {
2824				var server interface{}
2825				err = json.Unmarshal(*v, &server)
2826				if err != nil {
2827					return err
2828				}
2829				arlstp.Server = server
2830			}
2831		case "username":
2832			if v != nil {
2833				var username interface{}
2834				err = json.Unmarshal(*v, &username)
2835				if err != nil {
2836					return err
2837				}
2838				arlstp.Username = username
2839			}
2840		case "password":
2841			if v != nil {
2842				password, err := unmarshalBasicSecretBase(*v)
2843				if err != nil {
2844					return err
2845				}
2846				arlstp.Password = password
2847			}
2848		case "database":
2849			if v != nil {
2850				var databaseVar interface{}
2851				err = json.Unmarshal(*v, &databaseVar)
2852				if err != nil {
2853					return err
2854				}
2855				arlstp.Database = databaseVar
2856			}
2857		case "port":
2858			if v != nil {
2859				var port interface{}
2860				err = json.Unmarshal(*v, &port)
2861				if err != nil {
2862					return err
2863				}
2864				arlstp.Port = port
2865			}
2866		case "encryptedCredential":
2867			if v != nil {
2868				var encryptedCredential interface{}
2869				err = json.Unmarshal(*v, &encryptedCredential)
2870				if err != nil {
2871					return err
2872				}
2873				arlstp.EncryptedCredential = encryptedCredential
2874			}
2875		}
2876	}
2877
2878	return nil
2879}
2880
2881// AmazonRedshiftSource a copy activity source for Amazon Redshift Source.
2882type AmazonRedshiftSource struct {
2883	// Query - Database query. Type: string (or Expression with resultType string).
2884	Query interface{} `json:"query,omitempty"`
2885	// RedshiftUnloadSettings - The Amazon S3 settings needed for the interim Amazon S3 when copying from Amazon Redshift with unload. With this, data from Amazon Redshift source will be unloaded into S3 first and then copied into the targeted sink from the interim S3.
2886	RedshiftUnloadSettings *RedshiftUnloadSettings `json:"redshiftUnloadSettings,omitempty"`
2887	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2888	AdditionalProperties map[string]interface{} `json:""`
2889	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
2890	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
2891	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2892	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
2893	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
2894	Type TypeBasicCopySource `json:"type,omitempty"`
2895}
2896
2897// MarshalJSON is the custom marshaler for AmazonRedshiftSource.
2898func (ars AmazonRedshiftSource) MarshalJSON() ([]byte, error) {
2899	ars.Type = TypeAmazonRedshiftSource
2900	objectMap := make(map[string]interface{})
2901	if ars.Query != nil {
2902		objectMap["query"] = ars.Query
2903	}
2904	if ars.RedshiftUnloadSettings != nil {
2905		objectMap["redshiftUnloadSettings"] = ars.RedshiftUnloadSettings
2906	}
2907	if ars.SourceRetryCount != nil {
2908		objectMap["sourceRetryCount"] = ars.SourceRetryCount
2909	}
2910	if ars.SourceRetryWait != nil {
2911		objectMap["sourceRetryWait"] = ars.SourceRetryWait
2912	}
2913	if ars.Type != "" {
2914		objectMap["type"] = ars.Type
2915	}
2916	for k, v := range ars.AdditionalProperties {
2917		objectMap[k] = v
2918	}
2919	return json.Marshal(objectMap)
2920}
2921
2922// AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonRedshiftSource.
2923func (ars AmazonRedshiftSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
2924	return &ars, true
2925}
2926
2927// AsResponsysSource is the BasicCopySource implementation for AmazonRedshiftSource.
2928func (ars AmazonRedshiftSource) AsResponsysSource() (*ResponsysSource, bool) {
2929	return nil, false
2930}
2931
2932// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonRedshiftSource.
2933func (ars AmazonRedshiftSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
2934	return nil, false
2935}
2936
2937// AsVerticaSource is the BasicCopySource implementation for AmazonRedshiftSource.
2938func (ars AmazonRedshiftSource) AsVerticaSource() (*VerticaSource, bool) {
2939	return nil, false
2940}
2941
2942// AsNetezzaSource is the BasicCopySource implementation for AmazonRedshiftSource.
2943func (ars AmazonRedshiftSource) AsNetezzaSource() (*NetezzaSource, bool) {
2944	return nil, false
2945}
2946
2947// AsZohoSource is the BasicCopySource implementation for AmazonRedshiftSource.
2948func (ars AmazonRedshiftSource) AsZohoSource() (*ZohoSource, bool) {
2949	return nil, false
2950}
2951
2952// AsXeroSource is the BasicCopySource implementation for AmazonRedshiftSource.
2953func (ars AmazonRedshiftSource) AsXeroSource() (*XeroSource, bool) {
2954	return nil, false
2955}
2956
2957// AsSquareSource is the BasicCopySource implementation for AmazonRedshiftSource.
2958func (ars AmazonRedshiftSource) AsSquareSource() (*SquareSource, bool) {
2959	return nil, false
2960}
2961
2962// AsSparkSource is the BasicCopySource implementation for AmazonRedshiftSource.
2963func (ars AmazonRedshiftSource) AsSparkSource() (*SparkSource, bool) {
2964	return nil, false
2965}
2966
2967// AsShopifySource is the BasicCopySource implementation for AmazonRedshiftSource.
2968func (ars AmazonRedshiftSource) AsShopifySource() (*ShopifySource, bool) {
2969	return nil, false
2970}
2971
2972// AsServiceNowSource is the BasicCopySource implementation for AmazonRedshiftSource.
2973func (ars AmazonRedshiftSource) AsServiceNowSource() (*ServiceNowSource, bool) {
2974	return nil, false
2975}
2976
2977// AsQuickBooksSource is the BasicCopySource implementation for AmazonRedshiftSource.
2978func (ars AmazonRedshiftSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
2979	return nil, false
2980}
2981
2982// AsPrestoSource is the BasicCopySource implementation for AmazonRedshiftSource.
2983func (ars AmazonRedshiftSource) AsPrestoSource() (*PrestoSource, bool) {
2984	return nil, false
2985}
2986
2987// AsPhoenixSource is the BasicCopySource implementation for AmazonRedshiftSource.
2988func (ars AmazonRedshiftSource) AsPhoenixSource() (*PhoenixSource, bool) {
2989	return nil, false
2990}
2991
2992// AsPaypalSource is the BasicCopySource implementation for AmazonRedshiftSource.
2993func (ars AmazonRedshiftSource) AsPaypalSource() (*PaypalSource, bool) {
2994	return nil, false
2995}
2996
2997// AsMarketoSource is the BasicCopySource implementation for AmazonRedshiftSource.
2998func (ars AmazonRedshiftSource) AsMarketoSource() (*MarketoSource, bool) {
2999	return nil, false
3000}
3001
3002// AsMariaDBSource is the BasicCopySource implementation for AmazonRedshiftSource.
3003func (ars AmazonRedshiftSource) AsMariaDBSource() (*MariaDBSource, bool) {
3004	return nil, false
3005}
3006
3007// AsMagentoSource is the BasicCopySource implementation for AmazonRedshiftSource.
3008func (ars AmazonRedshiftSource) AsMagentoSource() (*MagentoSource, bool) {
3009	return nil, false
3010}
3011
3012// AsJiraSource is the BasicCopySource implementation for AmazonRedshiftSource.
3013func (ars AmazonRedshiftSource) AsJiraSource() (*JiraSource, bool) {
3014	return nil, false
3015}
3016
3017// AsImpalaSource is the BasicCopySource implementation for AmazonRedshiftSource.
3018func (ars AmazonRedshiftSource) AsImpalaSource() (*ImpalaSource, bool) {
3019	return nil, false
3020}
3021
3022// AsHubspotSource is the BasicCopySource implementation for AmazonRedshiftSource.
3023func (ars AmazonRedshiftSource) AsHubspotSource() (*HubspotSource, bool) {
3024	return nil, false
3025}
3026
3027// AsHiveSource is the BasicCopySource implementation for AmazonRedshiftSource.
3028func (ars AmazonRedshiftSource) AsHiveSource() (*HiveSource, bool) {
3029	return nil, false
3030}
3031
3032// AsHBaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
3033func (ars AmazonRedshiftSource) AsHBaseSource() (*HBaseSource, bool) {
3034	return nil, false
3035}
3036
3037// AsGreenplumSource is the BasicCopySource implementation for AmazonRedshiftSource.
3038func (ars AmazonRedshiftSource) AsGreenplumSource() (*GreenplumSource, bool) {
3039	return nil, false
3040}
3041
3042// AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonRedshiftSource.
3043func (ars AmazonRedshiftSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
3044	return nil, false
3045}
3046
3047// AsEloquaSource is the BasicCopySource implementation for AmazonRedshiftSource.
3048func (ars AmazonRedshiftSource) AsEloquaSource() (*EloquaSource, bool) {
3049	return nil, false
3050}
3051
3052// AsDrillSource is the BasicCopySource implementation for AmazonRedshiftSource.
3053func (ars AmazonRedshiftSource) AsDrillSource() (*DrillSource, bool) {
3054	return nil, false
3055}
3056
3057// AsCouchbaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
3058func (ars AmazonRedshiftSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
3059	return nil, false
3060}
3061
3062// AsConcurSource is the BasicCopySource implementation for AmazonRedshiftSource.
3063func (ars AmazonRedshiftSource) AsConcurSource() (*ConcurSource, bool) {
3064	return nil, false
3065}
3066
3067// AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
3068func (ars AmazonRedshiftSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
3069	return nil, false
3070}
3071
3072// AsAmazonMWSSource is the BasicCopySource implementation for AmazonRedshiftSource.
3073func (ars AmazonRedshiftSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
3074	return nil, false
3075}
3076
3077// AsHTTPSource is the BasicCopySource implementation for AmazonRedshiftSource.
3078func (ars AmazonRedshiftSource) AsHTTPSource() (*HTTPSource, bool) {
3079	return nil, false
3080}
3081
3082// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonRedshiftSource.
3083func (ars AmazonRedshiftSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
3084	return nil, false
3085}
3086
3087// AsMongoDbSource is the BasicCopySource implementation for AmazonRedshiftSource.
3088func (ars AmazonRedshiftSource) AsMongoDbSource() (*MongoDbSource, bool) {
3089	return nil, false
3090}
3091
3092// AsCassandraSource is the BasicCopySource implementation for AmazonRedshiftSource.
3093func (ars AmazonRedshiftSource) AsCassandraSource() (*CassandraSource, bool) {
3094	return nil, false
3095}
3096
3097// AsWebSource is the BasicCopySource implementation for AmazonRedshiftSource.
3098func (ars AmazonRedshiftSource) AsWebSource() (*WebSource, bool) {
3099	return nil, false
3100}
3101
3102// AsOracleSource is the BasicCopySource implementation for AmazonRedshiftSource.
3103func (ars AmazonRedshiftSource) AsOracleSource() (*OracleSource, bool) {
3104	return nil, false
3105}
3106
3107// AsAzureMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
3108func (ars AmazonRedshiftSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
3109	return nil, false
3110}
3111
3112// AsHdfsSource is the BasicCopySource implementation for AmazonRedshiftSource.
3113func (ars AmazonRedshiftSource) AsHdfsSource() (*HdfsSource, bool) {
3114	return nil, false
3115}
3116
3117// AsFileSystemSource is the BasicCopySource implementation for AmazonRedshiftSource.
3118func (ars AmazonRedshiftSource) AsFileSystemSource() (*FileSystemSource, bool) {
3119	return nil, false
3120}
3121
3122// AsSQLDWSource is the BasicCopySource implementation for AmazonRedshiftSource.
3123func (ars AmazonRedshiftSource) AsSQLDWSource() (*SQLDWSource, bool) {
3124	return nil, false
3125}
3126
3127// AsSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
3128func (ars AmazonRedshiftSource) AsSQLSource() (*SQLSource, bool) {
3129	return nil, false
3130}
3131
3132// AsSapEccSource is the BasicCopySource implementation for AmazonRedshiftSource.
3133func (ars AmazonRedshiftSource) AsSapEccSource() (*SapEccSource, bool) {
3134	return nil, false
3135}
3136
3137// AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonRedshiftSource.
3138func (ars AmazonRedshiftSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
3139	return nil, false
3140}
3141
3142// AsSalesforceSource is the BasicCopySource implementation for AmazonRedshiftSource.
3143func (ars AmazonRedshiftSource) AsSalesforceSource() (*SalesforceSource, bool) {
3144	return nil, false
3145}
3146
3147// AsRelationalSource is the BasicCopySource implementation for AmazonRedshiftSource.
3148func (ars AmazonRedshiftSource) AsRelationalSource() (*RelationalSource, bool) {
3149	return nil, false
3150}
3151
3152// AsDynamicsSource is the BasicCopySource implementation for AmazonRedshiftSource.
3153func (ars AmazonRedshiftSource) AsDynamicsSource() (*DynamicsSource, bool) {
3154	return nil, false
3155}
3156
3157// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonRedshiftSource.
3158func (ars AmazonRedshiftSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
3159	return nil, false
3160}
3161
3162// AsBlobSource is the BasicCopySource implementation for AmazonRedshiftSource.
3163func (ars AmazonRedshiftSource) AsBlobSource() (*BlobSource, bool) {
3164	return nil, false
3165}
3166
3167// AsAzureTableSource is the BasicCopySource implementation for AmazonRedshiftSource.
3168func (ars AmazonRedshiftSource) AsAzureTableSource() (*AzureTableSource, bool) {
3169	return nil, false
3170}
3171
3172// AsCopySource is the BasicCopySource implementation for AmazonRedshiftSource.
3173func (ars AmazonRedshiftSource) AsCopySource() (*CopySource, bool) {
3174	return nil, false
3175}
3176
3177// AsBasicCopySource is the BasicCopySource implementation for AmazonRedshiftSource.
3178func (ars AmazonRedshiftSource) AsBasicCopySource() (BasicCopySource, bool) {
3179	return &ars, true
3180}
3181
3182// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftSource struct.
3183func (ars *AmazonRedshiftSource) UnmarshalJSON(body []byte) error {
3184	var m map[string]*json.RawMessage
3185	err := json.Unmarshal(body, &m)
3186	if err != nil {
3187		return err
3188	}
3189	for k, v := range m {
3190		switch k {
3191		case "query":
3192			if v != nil {
3193				var query interface{}
3194				err = json.Unmarshal(*v, &query)
3195				if err != nil {
3196					return err
3197				}
3198				ars.Query = query
3199			}
3200		case "redshiftUnloadSettings":
3201			if v != nil {
3202				var redshiftUnloadSettings RedshiftUnloadSettings
3203				err = json.Unmarshal(*v, &redshiftUnloadSettings)
3204				if err != nil {
3205					return err
3206				}
3207				ars.RedshiftUnloadSettings = &redshiftUnloadSettings
3208			}
3209		default:
3210			if v != nil {
3211				var additionalProperties interface{}
3212				err = json.Unmarshal(*v, &additionalProperties)
3213				if err != nil {
3214					return err
3215				}
3216				if ars.AdditionalProperties == nil {
3217					ars.AdditionalProperties = make(map[string]interface{})
3218				}
3219				ars.AdditionalProperties[k] = additionalProperties
3220			}
3221		case "sourceRetryCount":
3222			if v != nil {
3223				var sourceRetryCount interface{}
3224				err = json.Unmarshal(*v, &sourceRetryCount)
3225				if err != nil {
3226					return err
3227				}
3228				ars.SourceRetryCount = sourceRetryCount
3229			}
3230		case "sourceRetryWait":
3231			if v != nil {
3232				var sourceRetryWait interface{}
3233				err = json.Unmarshal(*v, &sourceRetryWait)
3234				if err != nil {
3235					return err
3236				}
3237				ars.SourceRetryWait = sourceRetryWait
3238			}
3239		case "type":
3240			if v != nil {
3241				var typeVar TypeBasicCopySource
3242				err = json.Unmarshal(*v, &typeVar)
3243				if err != nil {
3244					return err
3245				}
3246				ars.Type = typeVar
3247			}
3248		}
3249	}
3250
3251	return nil
3252}
3253
3254// AmazonS3Dataset a single Amazon Simple Storage Service (S3) object or a set of S3 objects.
3255type AmazonS3Dataset struct {
3256	// AmazonS3DatasetTypeProperties - Amazon S3 dataset properties.
3257	*AmazonS3DatasetTypeProperties `json:"typeProperties,omitempty"`
3258	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
3259	AdditionalProperties map[string]interface{} `json:""`
3260	// Description - Dataset description.
3261	Description *string `json:"description,omitempty"`
3262	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
3263	Structure interface{} `json:"structure,omitempty"`
3264	// LinkedServiceName - Linked service reference.
3265	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
3266	// Parameters - Parameters for dataset.
3267	Parameters map[string]*ParameterSpecification `json:"parameters"`
3268	// Annotations - List of tags that can be used for describing the Dataset.
3269	Annotations *[]interface{} `json:"annotations,omitempty"`
3270	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
3271	Type TypeBasicDataset `json:"type,omitempty"`
3272}
3273
3274// MarshalJSON is the custom marshaler for AmazonS3Dataset.
3275func (asd AmazonS3Dataset) MarshalJSON() ([]byte, error) {
3276	asd.Type = TypeAmazonS3Object
3277	objectMap := make(map[string]interface{})
3278	if asd.AmazonS3DatasetTypeProperties != nil {
3279		objectMap["typeProperties"] = asd.AmazonS3DatasetTypeProperties
3280	}
3281	if asd.Description != nil {
3282		objectMap["description"] = asd.Description
3283	}
3284	if asd.Structure != nil {
3285		objectMap["structure"] = asd.Structure
3286	}
3287	if asd.LinkedServiceName != nil {
3288		objectMap["linkedServiceName"] = asd.LinkedServiceName
3289	}
3290	if asd.Parameters != nil {
3291		objectMap["parameters"] = asd.Parameters
3292	}
3293	if asd.Annotations != nil {
3294		objectMap["annotations"] = asd.Annotations
3295	}
3296	if asd.Type != "" {
3297		objectMap["type"] = asd.Type
3298	}
3299	for k, v := range asd.AdditionalProperties {
3300		objectMap[k] = v
3301	}
3302	return json.Marshal(objectMap)
3303}
3304
3305// AsResponsysObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3306func (asd AmazonS3Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
3307	return nil, false
3308}
3309
3310// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3311func (asd AmazonS3Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
3312	return nil, false
3313}
3314
3315// AsVerticaTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3316func (asd AmazonS3Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
3317	return nil, false
3318}
3319
3320// AsNetezzaTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3321func (asd AmazonS3Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
3322	return nil, false
3323}
3324
3325// AsZohoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3326func (asd AmazonS3Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
3327	return nil, false
3328}
3329
3330// AsXeroObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3331func (asd AmazonS3Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
3332	return nil, false
3333}
3334
3335// AsSquareObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3336func (asd AmazonS3Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
3337	return nil, false
3338}
3339
3340// AsSparkObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3341func (asd AmazonS3Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
3342	return nil, false
3343}
3344
3345// AsShopifyObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3346func (asd AmazonS3Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
3347	return nil, false
3348}
3349
3350// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3351func (asd AmazonS3Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
3352	return nil, false
3353}
3354
3355// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3356func (asd AmazonS3Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
3357	return nil, false
3358}
3359
3360// AsPrestoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3361func (asd AmazonS3Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
3362	return nil, false
3363}
3364
3365// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3366func (asd AmazonS3Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
3367	return nil, false
3368}
3369
3370// AsPaypalObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3371func (asd AmazonS3Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
3372	return nil, false
3373}
3374
3375// AsMarketoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3376func (asd AmazonS3Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
3377	return nil, false
3378}
3379
3380// AsMariaDBTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3381func (asd AmazonS3Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
3382	return nil, false
3383}
3384
3385// AsMagentoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3386func (asd AmazonS3Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
3387	return nil, false
3388}
3389
3390// AsJiraObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3391func (asd AmazonS3Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
3392	return nil, false
3393}
3394
3395// AsImpalaObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3396func (asd AmazonS3Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
3397	return nil, false
3398}
3399
3400// AsHubspotObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3401func (asd AmazonS3Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
3402	return nil, false
3403}
3404
3405// AsHiveObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3406func (asd AmazonS3Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
3407	return nil, false
3408}
3409
3410// AsHBaseObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3411func (asd AmazonS3Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
3412	return nil, false
3413}
3414
3415// AsGreenplumTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3416func (asd AmazonS3Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
3417	return nil, false
3418}
3419
3420// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3421func (asd AmazonS3Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
3422	return nil, false
3423}
3424
3425// AsEloquaObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3426func (asd AmazonS3Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
3427	return nil, false
3428}
3429
3430// AsDrillTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3431func (asd AmazonS3Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
3432	return nil, false
3433}
3434
3435// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3436func (asd AmazonS3Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
3437	return nil, false
3438}
3439
3440// AsConcurObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3441func (asd AmazonS3Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
3442	return nil, false
3443}
3444
3445// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3446func (asd AmazonS3Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
3447	return nil, false
3448}
3449
3450// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3451func (asd AmazonS3Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
3452	return nil, false
3453}
3454
3455// AsHTTPDataset is the BasicDataset implementation for AmazonS3Dataset.
3456func (asd AmazonS3Dataset) AsHTTPDataset() (*HTTPDataset, bool) {
3457	return nil, false
3458}
3459
3460// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonS3Dataset.
3461func (asd AmazonS3Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
3462	return nil, false
3463}
3464
3465// AsWebTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3466func (asd AmazonS3Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
3467	return nil, false
3468}
3469
3470// AsSQLServerTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3471func (asd AmazonS3Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
3472	return nil, false
3473}
3474
3475// AsSapEccResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
3476func (asd AmazonS3Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
3477	return nil, false
3478}
3479
3480// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
3481func (asd AmazonS3Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
3482	return nil, false
3483}
3484
3485// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3486func (asd AmazonS3Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
3487	return nil, false
3488}
3489
3490// AsRelationalTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3491func (asd AmazonS3Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
3492	return nil, false
3493}
3494
3495// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3496func (asd AmazonS3Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
3497	return nil, false
3498}
3499
3500// AsOracleTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3501func (asd AmazonS3Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
3502	return nil, false
3503}
3504
3505// AsODataResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
3506func (asd AmazonS3Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
3507	return nil, false
3508}
3509
3510// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonS3Dataset.
3511func (asd AmazonS3Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
3512	return nil, false
3513}
3514
3515// AsFileShareDataset is the BasicDataset implementation for AmazonS3Dataset.
3516func (asd AmazonS3Dataset) AsFileShareDataset() (*FileShareDataset, bool) {
3517	return nil, false
3518}
3519
3520// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AmazonS3Dataset.
3521func (asd AmazonS3Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
3522	return nil, false
3523}
3524
3525// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonS3Dataset.
3526func (asd AmazonS3Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
3527	return nil, false
3528}
3529
3530// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonS3Dataset.
3531func (asd AmazonS3Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
3532	return nil, false
3533}
3534
3535// AsCustomDataset is the BasicDataset implementation for AmazonS3Dataset.
3536func (asd AmazonS3Dataset) AsCustomDataset() (*CustomDataset, bool) {
3537	return nil, false
3538}
3539
3540// AsCassandraTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3541func (asd AmazonS3Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
3542	return nil, false
3543}
3544
3545// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3546func (asd AmazonS3Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
3547	return nil, false
3548}
3549
3550// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3551func (asd AmazonS3Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
3552	return nil, false
3553}
3554
3555// AsAzureTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3556func (asd AmazonS3Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
3557	return nil, false
3558}
3559
3560// AsAzureBlobDataset is the BasicDataset implementation for AmazonS3Dataset.
3561func (asd AmazonS3Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
3562	return nil, false
3563}
3564
3565// AsAmazonS3Dataset is the BasicDataset implementation for AmazonS3Dataset.
3566func (asd AmazonS3Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
3567	return &asd, true
3568}
3569
3570// AsDataset is the BasicDataset implementation for AmazonS3Dataset.
3571func (asd AmazonS3Dataset) AsDataset() (*Dataset, bool) {
3572	return nil, false
3573}
3574
3575// AsBasicDataset is the BasicDataset implementation for AmazonS3Dataset.
3576func (asd AmazonS3Dataset) AsBasicDataset() (BasicDataset, bool) {
3577	return &asd, true
3578}
3579
3580// UnmarshalJSON is the custom unmarshaler for AmazonS3Dataset struct.
3581func (asd *AmazonS3Dataset) UnmarshalJSON(body []byte) error {
3582	var m map[string]*json.RawMessage
3583	err := json.Unmarshal(body, &m)
3584	if err != nil {
3585		return err
3586	}
3587	for k, v := range m {
3588		switch k {
3589		case "typeProperties":
3590			if v != nil {
3591				var amazonS3DatasetTypeProperties AmazonS3DatasetTypeProperties
3592				err = json.Unmarshal(*v, &amazonS3DatasetTypeProperties)
3593				if err != nil {
3594					return err
3595				}
3596				asd.AmazonS3DatasetTypeProperties = &amazonS3DatasetTypeProperties
3597			}
3598		default:
3599			if v != nil {
3600				var additionalProperties interface{}
3601				err = json.Unmarshal(*v, &additionalProperties)
3602				if err != nil {
3603					return err
3604				}
3605				if asd.AdditionalProperties == nil {
3606					asd.AdditionalProperties = make(map[string]interface{})
3607				}
3608				asd.AdditionalProperties[k] = additionalProperties
3609			}
3610		case "description":
3611			if v != nil {
3612				var description string
3613				err = json.Unmarshal(*v, &description)
3614				if err != nil {
3615					return err
3616				}
3617				asd.Description = &description
3618			}
3619		case "structure":
3620			if v != nil {
3621				var structure interface{}
3622				err = json.Unmarshal(*v, &structure)
3623				if err != nil {
3624					return err
3625				}
3626				asd.Structure = structure
3627			}
3628		case "linkedServiceName":
3629			if v != nil {
3630				var linkedServiceName LinkedServiceReference
3631				err = json.Unmarshal(*v, &linkedServiceName)
3632				if err != nil {
3633					return err
3634				}
3635				asd.LinkedServiceName = &linkedServiceName
3636			}
3637		case "parameters":
3638			if v != nil {
3639				var parameters map[string]*ParameterSpecification
3640				err = json.Unmarshal(*v, &parameters)
3641				if err != nil {
3642					return err
3643				}
3644				asd.Parameters = parameters
3645			}
3646		case "annotations":
3647			if v != nil {
3648				var annotations []interface{}
3649				err = json.Unmarshal(*v, &annotations)
3650				if err != nil {
3651					return err
3652				}
3653				asd.Annotations = &annotations
3654			}
3655		case "type":
3656			if v != nil {
3657				var typeVar TypeBasicDataset
3658				err = json.Unmarshal(*v, &typeVar)
3659				if err != nil {
3660					return err
3661				}
3662				asd.Type = typeVar
3663			}
3664		}
3665	}
3666
3667	return nil
3668}
3669
3670// AmazonS3DatasetTypeProperties amazon S3 dataset properties.
3671type AmazonS3DatasetTypeProperties struct {
3672	// BucketName - The name of the Amazon S3 bucket. Type: string (or Expression with resultType string).
3673	BucketName interface{} `json:"bucketName,omitempty"`
3674	// Key - The key of the Amazon S3 object. Type: string (or Expression with resultType string).
3675	Key interface{} `json:"key,omitempty"`
3676	// Prefix - The prefix filter for the S3 object name. Type: string (or Expression with resultType string).
3677	Prefix interface{} `json:"prefix,omitempty"`
3678	// Version - The version for the S3 object. Type: string (or Expression with resultType string).
3679	Version interface{} `json:"version,omitempty"`
3680	// Format - The format of files.
3681	Format BasicDatasetStorageFormat `json:"format,omitempty"`
3682	// Compression - The data compression method used for the Amazon S3 object.
3683	Compression BasicDatasetCompression `json:"compression,omitempty"`
3684}
3685
3686// UnmarshalJSON is the custom unmarshaler for AmazonS3DatasetTypeProperties struct.
3687func (asdtp *AmazonS3DatasetTypeProperties) UnmarshalJSON(body []byte) error {
3688	var m map[string]*json.RawMessage
3689	err := json.Unmarshal(body, &m)
3690	if err != nil {
3691		return err
3692	}
3693	for k, v := range m {
3694		switch k {
3695		case "bucketName":
3696			if v != nil {
3697				var bucketName interface{}
3698				err = json.Unmarshal(*v, &bucketName)
3699				if err != nil {
3700					return err
3701				}
3702				asdtp.BucketName = bucketName
3703			}
3704		case "key":
3705			if v != nil {
3706				var key interface{}
3707				err = json.Unmarshal(*v, &key)
3708				if err != nil {
3709					return err
3710				}
3711				asdtp.Key = key
3712			}
3713		case "prefix":
3714			if v != nil {
3715				var prefix interface{}
3716				err = json.Unmarshal(*v, &prefix)
3717				if err != nil {
3718					return err
3719				}
3720				asdtp.Prefix = prefix
3721			}
3722		case "version":
3723			if v != nil {
3724				var version interface{}
3725				err = json.Unmarshal(*v, &version)
3726				if err != nil {
3727					return err
3728				}
3729				asdtp.Version = version
3730			}
3731		case "format":
3732			if v != nil {
3733				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
3734				if err != nil {
3735					return err
3736				}
3737				asdtp.Format = formatVar
3738			}
3739		case "compression":
3740			if v != nil {
3741				compression, err := unmarshalBasicDatasetCompression(*v)
3742				if err != nil {
3743					return err
3744				}
3745				asdtp.Compression = compression
3746			}
3747		}
3748	}
3749
3750	return nil
3751}
3752
3753// AmazonS3LinkedService linked service for Amazon S3.
3754type AmazonS3LinkedService struct {
3755	// AmazonS3LinkedServiceTypeProperties - Amazon S3 linked service properties.
3756	*AmazonS3LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
3757	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
3758	AdditionalProperties map[string]interface{} `json:""`
3759	// ConnectVia - The integration runtime reference.
3760	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
3761	// Description - Linked service description.
3762	Description *string `json:"description,omitempty"`
3763	// Parameters - Parameters for linked service.
3764	Parameters map[string]*ParameterSpecification `json:"parameters"`
3765	// Annotations - List of tags that can be used for describing the Dataset.
3766	Annotations *[]interface{} `json:"annotations,omitempty"`
3767	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
3768	Type TypeBasicLinkedService `json:"type,omitempty"`
3769}
3770
3771// MarshalJSON is the custom marshaler for AmazonS3LinkedService.
3772func (asls AmazonS3LinkedService) MarshalJSON() ([]byte, error) {
3773	asls.Type = TypeAmazonS3
3774	objectMap := make(map[string]interface{})
3775	if asls.AmazonS3LinkedServiceTypeProperties != nil {
3776		objectMap["typeProperties"] = asls.AmazonS3LinkedServiceTypeProperties
3777	}
3778	if asls.ConnectVia != nil {
3779		objectMap["connectVia"] = asls.ConnectVia
3780	}
3781	if asls.Description != nil {
3782		objectMap["description"] = asls.Description
3783	}
3784	if asls.Parameters != nil {
3785		objectMap["parameters"] = asls.Parameters
3786	}
3787	if asls.Annotations != nil {
3788		objectMap["annotations"] = asls.Annotations
3789	}
3790	if asls.Type != "" {
3791		objectMap["type"] = asls.Type
3792	}
3793	for k, v := range asls.AdditionalProperties {
3794		objectMap[k] = v
3795	}
3796	return json.Marshal(objectMap)
3797}
3798
3799// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3800func (asls AmazonS3LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
3801	return nil, false
3802}
3803
3804// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3805func (asls AmazonS3LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
3806	return nil, false
3807}
3808
3809// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3810func (asls AmazonS3LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
3811	return nil, false
3812}
3813
3814// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3815func (asls AmazonS3LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
3816	return nil, false
3817}
3818
3819// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3820func (asls AmazonS3LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
3821	return nil, false
3822}
3823
3824// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3825func (asls AmazonS3LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
3826	return nil, false
3827}
3828
3829// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3830func (asls AmazonS3LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
3831	return nil, false
3832}
3833
3834// AsZohoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3835func (asls AmazonS3LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
3836	return nil, false
3837}
3838
3839// AsXeroLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3840func (asls AmazonS3LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
3841	return nil, false
3842}
3843
3844// AsSquareLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3845func (asls AmazonS3LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
3846	return nil, false
3847}
3848
3849// AsSparkLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3850func (asls AmazonS3LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
3851	return nil, false
3852}
3853
3854// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3855func (asls AmazonS3LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
3856	return nil, false
3857}
3858
3859// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3860func (asls AmazonS3LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
3861	return nil, false
3862}
3863
3864// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3865func (asls AmazonS3LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
3866	return nil, false
3867}
3868
3869// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3870func (asls AmazonS3LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
3871	return nil, false
3872}
3873
3874// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3875func (asls AmazonS3LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
3876	return nil, false
3877}
3878
3879// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3880func (asls AmazonS3LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
3881	return nil, false
3882}
3883
3884// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3885func (asls AmazonS3LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
3886	return nil, false
3887}
3888
3889// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3890func (asls AmazonS3LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
3891	return nil, false
3892}
3893
3894// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3895func (asls AmazonS3LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
3896	return nil, false
3897}
3898
3899// AsJiraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3900func (asls AmazonS3LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
3901	return nil, false
3902}
3903
3904// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3905func (asls AmazonS3LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
3906	return nil, false
3907}
3908
3909// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3910func (asls AmazonS3LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
3911	return nil, false
3912}
3913
3914// AsHiveLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3915func (asls AmazonS3LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
3916	return nil, false
3917}
3918
3919// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3920func (asls AmazonS3LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
3921	return nil, false
3922}
3923
3924// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3925func (asls AmazonS3LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
3926	return nil, false
3927}
3928
3929// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3930func (asls AmazonS3LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
3931	return nil, false
3932}
3933
3934// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3935func (asls AmazonS3LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
3936	return nil, false
3937}
3938
3939// AsDrillLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3940func (asls AmazonS3LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
3941	return nil, false
3942}
3943
3944// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3945func (asls AmazonS3LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
3946	return nil, false
3947}
3948
3949// AsConcurLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3950func (asls AmazonS3LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
3951	return nil, false
3952}
3953
3954// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3955func (asls AmazonS3LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
3956	return nil, false
3957}
3958
3959// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3960func (asls AmazonS3LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
3961	return nil, false
3962}
3963
3964// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3965func (asls AmazonS3LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
3966	return nil, false
3967}
3968
3969// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3970func (asls AmazonS3LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
3971	return nil, false
3972}
3973
3974// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3975func (asls AmazonS3LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
3976	return nil, false
3977}
3978
3979// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3980func (asls AmazonS3LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
3981	return nil, false
3982}
3983
3984// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3985func (asls AmazonS3LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
3986	return nil, false
3987}
3988
3989// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3990func (asls AmazonS3LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
3991	return nil, false
3992}
3993
3994// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3995func (asls AmazonS3LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
3996	return nil, false
3997}
3998
3999// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4000func (asls AmazonS3LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
4001	return nil, false
4002}
4003
4004// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4005func (asls AmazonS3LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
4006	return &asls, true
4007}
4008
4009// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4010func (asls AmazonS3LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
4011	return nil, false
4012}
4013
4014// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4015func (asls AmazonS3LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
4016	return nil, false
4017}
4018
4019// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4020func (asls AmazonS3LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
4021	return nil, false
4022}
4023
4024// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4025func (asls AmazonS3LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
4026	return nil, false
4027}
4028
4029// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4030func (asls AmazonS3LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
4031	return nil, false
4032}
4033
4034// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4035func (asls AmazonS3LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
4036	return nil, false
4037}
4038
4039// AsWebLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4040func (asls AmazonS3LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
4041	return nil, false
4042}
4043
4044// AsODataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4045func (asls AmazonS3LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
4046	return nil, false
4047}
4048
4049// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4050func (asls AmazonS3LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
4051	return nil, false
4052}
4053
4054// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4055func (asls AmazonS3LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
4056	return nil, false
4057}
4058
4059// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4060func (asls AmazonS3LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
4061	return nil, false
4062}
4063
4064// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4065func (asls AmazonS3LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
4066	return nil, false
4067}
4068
4069// AsDb2LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4070func (asls AmazonS3LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
4071	return nil, false
4072}
4073
4074// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4075func (asls AmazonS3LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
4076	return nil, false
4077}
4078
4079// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4080func (asls AmazonS3LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
4081	return nil, false
4082}
4083
4084// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4085func (asls AmazonS3LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
4086	return nil, false
4087}
4088
4089// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4090func (asls AmazonS3LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
4091	return nil, false
4092}
4093
4094// AsOracleLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4095func (asls AmazonS3LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
4096	return nil, false
4097}
4098
4099// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4100func (asls AmazonS3LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
4101	return nil, false
4102}
4103
4104// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4105func (asls AmazonS3LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
4106	return nil, false
4107}
4108
4109// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4110func (asls AmazonS3LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
4111	return nil, false
4112}
4113
4114// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4115func (asls AmazonS3LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
4116	return nil, false
4117}
4118
4119// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4120func (asls AmazonS3LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
4121	return nil, false
4122}
4123
4124// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4125func (asls AmazonS3LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
4126	return nil, false
4127}
4128
4129// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4130func (asls AmazonS3LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
4131	return nil, false
4132}
4133
4134// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4135func (asls AmazonS3LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
4136	return nil, false
4137}
4138
4139// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4140func (asls AmazonS3LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
4141	return nil, false
4142}
4143
4144// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4145func (asls AmazonS3LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
4146	return nil, false
4147}
4148
4149// AsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4150func (asls AmazonS3LinkedService) AsLinkedService() (*LinkedService, bool) {
4151	return nil, false
4152}
4153
4154// AsBasicLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4155func (asls AmazonS3LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
4156	return &asls, true
4157}
4158
4159// UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedService struct.
4160func (asls *AmazonS3LinkedService) UnmarshalJSON(body []byte) error {
4161	var m map[string]*json.RawMessage
4162	err := json.Unmarshal(body, &m)
4163	if err != nil {
4164		return err
4165	}
4166	for k, v := range m {
4167		switch k {
4168		case "typeProperties":
4169			if v != nil {
4170				var amazonS3LinkedServiceTypeProperties AmazonS3LinkedServiceTypeProperties
4171				err = json.Unmarshal(*v, &amazonS3LinkedServiceTypeProperties)
4172				if err != nil {
4173					return err
4174				}
4175				asls.AmazonS3LinkedServiceTypeProperties = &amazonS3LinkedServiceTypeProperties
4176			}
4177		default:
4178			if v != nil {
4179				var additionalProperties interface{}
4180				err = json.Unmarshal(*v, &additionalProperties)
4181				if err != nil {
4182					return err
4183				}
4184				if asls.AdditionalProperties == nil {
4185					asls.AdditionalProperties = make(map[string]interface{})
4186				}
4187				asls.AdditionalProperties[k] = additionalProperties
4188			}
4189		case "connectVia":
4190			if v != nil {
4191				var connectVia IntegrationRuntimeReference
4192				err = json.Unmarshal(*v, &connectVia)
4193				if err != nil {
4194					return err
4195				}
4196				asls.ConnectVia = &connectVia
4197			}
4198		case "description":
4199			if v != nil {
4200				var description string
4201				err = json.Unmarshal(*v, &description)
4202				if err != nil {
4203					return err
4204				}
4205				asls.Description = &description
4206			}
4207		case "parameters":
4208			if v != nil {
4209				var parameters map[string]*ParameterSpecification
4210				err = json.Unmarshal(*v, &parameters)
4211				if err != nil {
4212					return err
4213				}
4214				asls.Parameters = parameters
4215			}
4216		case "annotations":
4217			if v != nil {
4218				var annotations []interface{}
4219				err = json.Unmarshal(*v, &annotations)
4220				if err != nil {
4221					return err
4222				}
4223				asls.Annotations = &annotations
4224			}
4225		case "type":
4226			if v != nil {
4227				var typeVar TypeBasicLinkedService
4228				err = json.Unmarshal(*v, &typeVar)
4229				if err != nil {
4230					return err
4231				}
4232				asls.Type = typeVar
4233			}
4234		}
4235	}
4236
4237	return nil
4238}
4239
4240// AmazonS3LinkedServiceTypeProperties amazon S3 linked service properties.
4241type AmazonS3LinkedServiceTypeProperties struct {
4242	// AccessKeyID - The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string).
4243	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
4244	// SecretAccessKey - The secret access key of the Amazon S3 Identity and Access Management (IAM) user.
4245	SecretAccessKey BasicSecretBase `json:"secretAccessKey,omitempty"`
4246	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
4247	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
4248}
4249
4250// UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedServiceTypeProperties struct.
4251func (aslstp *AmazonS3LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
4252	var m map[string]*json.RawMessage
4253	err := json.Unmarshal(body, &m)
4254	if err != nil {
4255		return err
4256	}
4257	for k, v := range m {
4258		switch k {
4259		case "accessKeyId":
4260			if v != nil {
4261				var accessKeyID interface{}
4262				err = json.Unmarshal(*v, &accessKeyID)
4263				if err != nil {
4264					return err
4265				}
4266				aslstp.AccessKeyID = accessKeyID
4267			}
4268		case "secretAccessKey":
4269			if v != nil {
4270				secretAccessKey, err := unmarshalBasicSecretBase(*v)
4271				if err != nil {
4272					return err
4273				}
4274				aslstp.SecretAccessKey = secretAccessKey
4275			}
4276		case "encryptedCredential":
4277			if v != nil {
4278				var encryptedCredential interface{}
4279				err = json.Unmarshal(*v, &encryptedCredential)
4280				if err != nil {
4281					return err
4282				}
4283				aslstp.EncryptedCredential = encryptedCredential
4284			}
4285		}
4286	}
4287
4288	return nil
4289}
4290
4291// AvroFormat the data stored in Avro format.
4292type AvroFormat struct {
4293	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
4294	AdditionalProperties map[string]interface{} `json:""`
4295	// Serializer - Serializer. Type: string (or Expression with resultType string).
4296	Serializer interface{} `json:"serializer,omitempty"`
4297	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
4298	Deserializer interface{} `json:"deserializer,omitempty"`
4299	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
4300	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
4301}
4302
4303// MarshalJSON is the custom marshaler for AvroFormat.
4304func (af AvroFormat) MarshalJSON() ([]byte, error) {
4305	af.Type = TypeAvroFormat
4306	objectMap := make(map[string]interface{})
4307	if af.Serializer != nil {
4308		objectMap["serializer"] = af.Serializer
4309	}
4310	if af.Deserializer != nil {
4311		objectMap["deserializer"] = af.Deserializer
4312	}
4313	if af.Type != "" {
4314		objectMap["type"] = af.Type
4315	}
4316	for k, v := range af.AdditionalProperties {
4317		objectMap[k] = v
4318	}
4319	return json.Marshal(objectMap)
4320}
4321
4322// AsParquetFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4323func (af AvroFormat) AsParquetFormat() (*ParquetFormat, bool) {
4324	return nil, false
4325}
4326
4327// AsOrcFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4328func (af AvroFormat) AsOrcFormat() (*OrcFormat, bool) {
4329	return nil, false
4330}
4331
4332// AsAvroFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4333func (af AvroFormat) AsAvroFormat() (*AvroFormat, bool) {
4334	return &af, true
4335}
4336
4337// AsJSONFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4338func (af AvroFormat) AsJSONFormat() (*JSONFormat, bool) {
4339	return nil, false
4340}
4341
4342// AsTextFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4343func (af AvroFormat) AsTextFormat() (*TextFormat, bool) {
4344	return nil, false
4345}
4346
4347// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4348func (af AvroFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
4349	return nil, false
4350}
4351
4352// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4353func (af AvroFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
4354	return &af, true
4355}
4356
4357// UnmarshalJSON is the custom unmarshaler for AvroFormat struct.
4358func (af *AvroFormat) UnmarshalJSON(body []byte) error {
4359	var m map[string]*json.RawMessage
4360	err := json.Unmarshal(body, &m)
4361	if err != nil {
4362		return err
4363	}
4364	for k, v := range m {
4365		switch k {
4366		default:
4367			if v != nil {
4368				var additionalProperties interface{}
4369				err = json.Unmarshal(*v, &additionalProperties)
4370				if err != nil {
4371					return err
4372				}
4373				if af.AdditionalProperties == nil {
4374					af.AdditionalProperties = make(map[string]interface{})
4375				}
4376				af.AdditionalProperties[k] = additionalProperties
4377			}
4378		case "serializer":
4379			if v != nil {
4380				var serializer interface{}
4381				err = json.Unmarshal(*v, &serializer)
4382				if err != nil {
4383					return err
4384				}
4385				af.Serializer = serializer
4386			}
4387		case "deserializer":
4388			if v != nil {
4389				var deserializer interface{}
4390				err = json.Unmarshal(*v, &deserializer)
4391				if err != nil {
4392					return err
4393				}
4394				af.Deserializer = deserializer
4395			}
4396		case "type":
4397			if v != nil {
4398				var typeVar TypeBasicDatasetStorageFormat
4399				err = json.Unmarshal(*v, &typeVar)
4400				if err != nil {
4401					return err
4402				}
4403				af.Type = typeVar
4404			}
4405		}
4406	}
4407
4408	return nil
4409}
4410
4411// AzureBatchLinkedService azure Batch linked service.
4412type AzureBatchLinkedService struct {
4413	// AzureBatchLinkedServiceTypeProperties - Azure Batch linked service properties.
4414	*AzureBatchLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
4415	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
4416	AdditionalProperties map[string]interface{} `json:""`
4417	// ConnectVia - The integration runtime reference.
4418	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
4419	// Description - Linked service description.
4420	Description *string `json:"description,omitempty"`
4421	// Parameters - Parameters for linked service.
4422	Parameters map[string]*ParameterSpecification `json:"parameters"`
4423	// Annotations - List of tags that can be used for describing the Dataset.
4424	Annotations *[]interface{} `json:"annotations,omitempty"`
4425	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
4426	Type TypeBasicLinkedService `json:"type,omitempty"`
4427}
4428
4429// MarshalJSON is the custom marshaler for AzureBatchLinkedService.
4430func (abls AzureBatchLinkedService) MarshalJSON() ([]byte, error) {
4431	abls.Type = TypeAzureBatch
4432	objectMap := make(map[string]interface{})
4433	if abls.AzureBatchLinkedServiceTypeProperties != nil {
4434		objectMap["typeProperties"] = abls.AzureBatchLinkedServiceTypeProperties
4435	}
4436	if abls.ConnectVia != nil {
4437		objectMap["connectVia"] = abls.ConnectVia
4438	}
4439	if abls.Description != nil {
4440		objectMap["description"] = abls.Description
4441	}
4442	if abls.Parameters != nil {
4443		objectMap["parameters"] = abls.Parameters
4444	}
4445	if abls.Annotations != nil {
4446		objectMap["annotations"] = abls.Annotations
4447	}
4448	if abls.Type != "" {
4449		objectMap["type"] = abls.Type
4450	}
4451	for k, v := range abls.AdditionalProperties {
4452		objectMap[k] = v
4453	}
4454	return json.Marshal(objectMap)
4455}
4456
4457// AsResponsysLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4458func (abls AzureBatchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
4459	return nil, false
4460}
4461
4462// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4463func (abls AzureBatchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
4464	return nil, false
4465}
4466
4467// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4468func (abls AzureBatchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
4469	return nil, false
4470}
4471
4472// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4473func (abls AzureBatchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
4474	return nil, false
4475}
4476
4477// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4478func (abls AzureBatchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
4479	return nil, false
4480}
4481
4482// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4483func (abls AzureBatchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
4484	return nil, false
4485}
4486
4487// AsVerticaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4488func (abls AzureBatchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
4489	return nil, false
4490}
4491
4492// AsZohoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4493func (abls AzureBatchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
4494	return nil, false
4495}
4496
4497// AsXeroLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4498func (abls AzureBatchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
4499	return nil, false
4500}
4501
4502// AsSquareLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4503func (abls AzureBatchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
4504	return nil, false
4505}
4506
4507// AsSparkLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4508func (abls AzureBatchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
4509	return nil, false
4510}
4511
4512// AsShopifyLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4513func (abls AzureBatchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
4514	return nil, false
4515}
4516
4517// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4518func (abls AzureBatchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
4519	return nil, false
4520}
4521
4522// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4523func (abls AzureBatchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
4524	return nil, false
4525}
4526
4527// AsPrestoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4528func (abls AzureBatchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
4529	return nil, false
4530}
4531
4532// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4533func (abls AzureBatchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
4534	return nil, false
4535}
4536
4537// AsPaypalLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4538func (abls AzureBatchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
4539	return nil, false
4540}
4541
4542// AsMarketoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4543func (abls AzureBatchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
4544	return nil, false
4545}
4546
4547// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4548func (abls AzureBatchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
4549	return nil, false
4550}
4551
4552// AsMagentoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4553func (abls AzureBatchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
4554	return nil, false
4555}
4556
4557// AsJiraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4558func (abls AzureBatchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
4559	return nil, false
4560}
4561
4562// AsImpalaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4563func (abls AzureBatchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
4564	return nil, false
4565}
4566
4567// AsHubspotLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4568func (abls AzureBatchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
4569	return nil, false
4570}
4571
4572// AsHiveLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4573func (abls AzureBatchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
4574	return nil, false
4575}
4576
4577// AsHBaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4578func (abls AzureBatchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
4579	return nil, false
4580}
4581
4582// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4583func (abls AzureBatchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
4584	return nil, false
4585}
4586
4587// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4588func (abls AzureBatchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
4589	return nil, false
4590}
4591
4592// AsEloquaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4593func (abls AzureBatchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
4594	return nil, false
4595}
4596
4597// AsDrillLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4598func (abls AzureBatchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
4599	return nil, false
4600}
4601
4602// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4603func (abls AzureBatchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
4604	return nil, false
4605}
4606
4607// AsConcurLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4608func (abls AzureBatchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
4609	return nil, false
4610}
4611
4612// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4613func (abls AzureBatchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
4614	return nil, false
4615}
4616
4617// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4618func (abls AzureBatchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
4619	return nil, false
4620}
4621
4622// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4623func (abls AzureBatchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
4624	return nil, false
4625}
4626
4627// AsSapBWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4628func (abls AzureBatchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
4629	return nil, false
4630}
4631
4632// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4633func (abls AzureBatchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
4634	return nil, false
4635}
4636
4637// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4638func (abls AzureBatchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
4639	return nil, false
4640}
4641
4642// AsHTTPLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4643func (abls AzureBatchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
4644	return nil, false
4645}
4646
4647// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4648func (abls AzureBatchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
4649	return nil, false
4650}
4651
4652// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4653func (abls AzureBatchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
4654	return nil, false
4655}
4656
4657// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4658func (abls AzureBatchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
4659	return nil, false
4660}
4661
4662// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4663func (abls AzureBatchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
4664	return nil, false
4665}
4666
4667// AsSapEccLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4668func (abls AzureBatchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
4669	return nil, false
4670}
4671
4672// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4673func (abls AzureBatchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
4674	return nil, false
4675}
4676
4677// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4678func (abls AzureBatchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
4679	return nil, false
4680}
4681
4682// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4683func (abls AzureBatchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
4684	return nil, false
4685}
4686
4687// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4688func (abls AzureBatchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
4689	return nil, false
4690}
4691
4692// AsCassandraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4693func (abls AzureBatchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
4694	return nil, false
4695}
4696
4697// AsWebLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4698func (abls AzureBatchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
4699	return nil, false
4700}
4701
4702// AsODataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4703func (abls AzureBatchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
4704	return nil, false
4705}
4706
4707// AsHdfsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4708func (abls AzureBatchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
4709	return nil, false
4710}
4711
4712// AsOdbcLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4713func (abls AzureBatchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
4714	return nil, false
4715}
4716
4717// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4718func (abls AzureBatchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
4719	return nil, false
4720}
4721
4722// AsTeradataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4723func (abls AzureBatchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
4724	return nil, false
4725}
4726
4727// AsDb2LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4728func (abls AzureBatchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
4729	return nil, false
4730}
4731
4732// AsSybaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4733func (abls AzureBatchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
4734	return nil, false
4735}
4736
4737// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4738func (abls AzureBatchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
4739	return nil, false
4740}
4741
4742// AsMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4743func (abls AzureBatchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
4744	return nil, false
4745}
4746
4747// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4748func (abls AzureBatchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
4749	return nil, false
4750}
4751
4752// AsOracleLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4753func (abls AzureBatchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
4754	return nil, false
4755}
4756
4757// AsFileServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4758func (abls AzureBatchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
4759	return nil, false
4760}
4761
4762// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4763func (abls AzureBatchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
4764	return nil, false
4765}
4766
4767// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4768func (abls AzureBatchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
4769	return nil, false
4770}
4771
4772// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4773func (abls AzureBatchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
4774	return nil, false
4775}
4776
4777// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4778func (abls AzureBatchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
4779	return nil, false
4780}
4781
4782// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4783func (abls AzureBatchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
4784	return &abls, true
4785}
4786
4787// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4788func (abls AzureBatchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
4789	return nil, false
4790}
4791
4792// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4793func (abls AzureBatchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
4794	return nil, false
4795}
4796
4797// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4798func (abls AzureBatchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
4799	return nil, false
4800}
4801
4802// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4803func (abls AzureBatchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
4804	return nil, false
4805}
4806
4807// AsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4808func (abls AzureBatchLinkedService) AsLinkedService() (*LinkedService, bool) {
4809	return nil, false
4810}
4811
4812// AsBasicLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4813func (abls AzureBatchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
4814	return &abls, true
4815}
4816
4817// UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedService struct.
4818func (abls *AzureBatchLinkedService) UnmarshalJSON(body []byte) error {
4819	var m map[string]*json.RawMessage
4820	err := json.Unmarshal(body, &m)
4821	if err != nil {
4822		return err
4823	}
4824	for k, v := range m {
4825		switch k {
4826		case "typeProperties":
4827			if v != nil {
4828				var azureBatchLinkedServiceTypeProperties AzureBatchLinkedServiceTypeProperties
4829				err = json.Unmarshal(*v, &azureBatchLinkedServiceTypeProperties)
4830				if err != nil {
4831					return err
4832				}
4833				abls.AzureBatchLinkedServiceTypeProperties = &azureBatchLinkedServiceTypeProperties
4834			}
4835		default:
4836			if v != nil {
4837				var additionalProperties interface{}
4838				err = json.Unmarshal(*v, &additionalProperties)
4839				if err != nil {
4840					return err
4841				}
4842				if abls.AdditionalProperties == nil {
4843					abls.AdditionalProperties = make(map[string]interface{})
4844				}
4845				abls.AdditionalProperties[k] = additionalProperties
4846			}
4847		case "connectVia":
4848			if v != nil {
4849				var connectVia IntegrationRuntimeReference
4850				err = json.Unmarshal(*v, &connectVia)
4851				if err != nil {
4852					return err
4853				}
4854				abls.ConnectVia = &connectVia
4855			}
4856		case "description":
4857			if v != nil {
4858				var description string
4859				err = json.Unmarshal(*v, &description)
4860				if err != nil {
4861					return err
4862				}
4863				abls.Description = &description
4864			}
4865		case "parameters":
4866			if v != nil {
4867				var parameters map[string]*ParameterSpecification
4868				err = json.Unmarshal(*v, &parameters)
4869				if err != nil {
4870					return err
4871				}
4872				abls.Parameters = parameters
4873			}
4874		case "annotations":
4875			if v != nil {
4876				var annotations []interface{}
4877				err = json.Unmarshal(*v, &annotations)
4878				if err != nil {
4879					return err
4880				}
4881				abls.Annotations = &annotations
4882			}
4883		case "type":
4884			if v != nil {
4885				var typeVar TypeBasicLinkedService
4886				err = json.Unmarshal(*v, &typeVar)
4887				if err != nil {
4888					return err
4889				}
4890				abls.Type = typeVar
4891			}
4892		}
4893	}
4894
4895	return nil
4896}
4897
4898// AzureBatchLinkedServiceTypeProperties azure Batch linked service properties.
4899type AzureBatchLinkedServiceTypeProperties struct {
4900	// AccountName - The Azure Batch account name. Type: string (or Expression with resultType string).
4901	AccountName interface{} `json:"accountName,omitempty"`
4902	// AccessKey - The Azure Batch account access key.
4903	AccessKey BasicSecretBase `json:"accessKey,omitempty"`
4904	// BatchURI - The Azure Batch URI. Type: string (or Expression with resultType string).
4905	BatchURI interface{} `json:"batchUri,omitempty"`
4906	// PoolName - The Azure Batch pool name. Type: string (or Expression with resultType string).
4907	PoolName interface{} `json:"poolName,omitempty"`
4908	// LinkedServiceName - The Azure Storage linked service reference.
4909	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
4910	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
4911	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
4912}
4913
4914// UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedServiceTypeProperties struct.
4915func (ablstp *AzureBatchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
4916	var m map[string]*json.RawMessage
4917	err := json.Unmarshal(body, &m)
4918	if err != nil {
4919		return err
4920	}
4921	for k, v := range m {
4922		switch k {
4923		case "accountName":
4924			if v != nil {
4925				var accountName interface{}
4926				err = json.Unmarshal(*v, &accountName)
4927				if err != nil {
4928					return err
4929				}
4930				ablstp.AccountName = accountName
4931			}
4932		case "accessKey":
4933			if v != nil {
4934				accessKey, err := unmarshalBasicSecretBase(*v)
4935				if err != nil {
4936					return err
4937				}
4938				ablstp.AccessKey = accessKey
4939			}
4940		case "batchUri":
4941			if v != nil {
4942				var batchURI interface{}
4943				err = json.Unmarshal(*v, &batchURI)
4944				if err != nil {
4945					return err
4946				}
4947				ablstp.BatchURI = batchURI
4948			}
4949		case "poolName":
4950			if v != nil {
4951				var poolName interface{}
4952				err = json.Unmarshal(*v, &poolName)
4953				if err != nil {
4954					return err
4955				}
4956				ablstp.PoolName = poolName
4957			}
4958		case "linkedServiceName":
4959			if v != nil {
4960				var linkedServiceName LinkedServiceReference
4961				err = json.Unmarshal(*v, &linkedServiceName)
4962				if err != nil {
4963					return err
4964				}
4965				ablstp.LinkedServiceName = &linkedServiceName
4966			}
4967		case "encryptedCredential":
4968			if v != nil {
4969				var encryptedCredential interface{}
4970				err = json.Unmarshal(*v, &encryptedCredential)
4971				if err != nil {
4972					return err
4973				}
4974				ablstp.EncryptedCredential = encryptedCredential
4975			}
4976		}
4977	}
4978
4979	return nil
4980}
4981
4982// AzureBlobDataset the Azure Blob storage.
4983type AzureBlobDataset struct {
4984	// AzureBlobDatasetTypeProperties - Azure Blob dataset properties.
4985	*AzureBlobDatasetTypeProperties `json:"typeProperties,omitempty"`
4986	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
4987	AdditionalProperties map[string]interface{} `json:""`
4988	// Description - Dataset description.
4989	Description *string `json:"description,omitempty"`
4990	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
4991	Structure interface{} `json:"structure,omitempty"`
4992	// LinkedServiceName - Linked service reference.
4993	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
4994	// Parameters - Parameters for dataset.
4995	Parameters map[string]*ParameterSpecification `json:"parameters"`
4996	// Annotations - List of tags that can be used for describing the Dataset.
4997	Annotations *[]interface{} `json:"annotations,omitempty"`
4998	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
4999	Type TypeBasicDataset `json:"type,omitempty"`
5000}
5001
5002// MarshalJSON is the custom marshaler for AzureBlobDataset.
5003func (abd AzureBlobDataset) MarshalJSON() ([]byte, error) {
5004	abd.Type = TypeAzureBlob
5005	objectMap := make(map[string]interface{})
5006	if abd.AzureBlobDatasetTypeProperties != nil {
5007		objectMap["typeProperties"] = abd.AzureBlobDatasetTypeProperties
5008	}
5009	if abd.Description != nil {
5010		objectMap["description"] = abd.Description
5011	}
5012	if abd.Structure != nil {
5013		objectMap["structure"] = abd.Structure
5014	}
5015	if abd.LinkedServiceName != nil {
5016		objectMap["linkedServiceName"] = abd.LinkedServiceName
5017	}
5018	if abd.Parameters != nil {
5019		objectMap["parameters"] = abd.Parameters
5020	}
5021	if abd.Annotations != nil {
5022		objectMap["annotations"] = abd.Annotations
5023	}
5024	if abd.Type != "" {
5025		objectMap["type"] = abd.Type
5026	}
5027	for k, v := range abd.AdditionalProperties {
5028		objectMap[k] = v
5029	}
5030	return json.Marshal(objectMap)
5031}
5032
5033// AsResponsysObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5034func (abd AzureBlobDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
5035	return nil, false
5036}
5037
5038// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5039func (abd AzureBlobDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
5040	return nil, false
5041}
5042
5043// AsVerticaTableDataset is the BasicDataset implementation for AzureBlobDataset.
5044func (abd AzureBlobDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
5045	return nil, false
5046}
5047
5048// AsNetezzaTableDataset is the BasicDataset implementation for AzureBlobDataset.
5049func (abd AzureBlobDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
5050	return nil, false
5051}
5052
5053// AsZohoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5054func (abd AzureBlobDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
5055	return nil, false
5056}
5057
5058// AsXeroObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5059func (abd AzureBlobDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
5060	return nil, false
5061}
5062
5063// AsSquareObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5064func (abd AzureBlobDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
5065	return nil, false
5066}
5067
5068// AsSparkObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5069func (abd AzureBlobDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
5070	return nil, false
5071}
5072
5073// AsShopifyObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5074func (abd AzureBlobDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
5075	return nil, false
5076}
5077
5078// AsServiceNowObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5079func (abd AzureBlobDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
5080	return nil, false
5081}
5082
5083// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5084func (abd AzureBlobDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
5085	return nil, false
5086}
5087
5088// AsPrestoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5089func (abd AzureBlobDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
5090	return nil, false
5091}
5092
5093// AsPhoenixObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5094func (abd AzureBlobDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
5095	return nil, false
5096}
5097
5098// AsPaypalObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5099func (abd AzureBlobDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
5100	return nil, false
5101}
5102
5103// AsMarketoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5104func (abd AzureBlobDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
5105	return nil, false
5106}
5107
5108// AsMariaDBTableDataset is the BasicDataset implementation for AzureBlobDataset.
5109func (abd AzureBlobDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
5110	return nil, false
5111}
5112
5113// AsMagentoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5114func (abd AzureBlobDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
5115	return nil, false
5116}
5117
5118// AsJiraObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5119func (abd AzureBlobDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
5120	return nil, false
5121}
5122
5123// AsImpalaObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5124func (abd AzureBlobDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
5125	return nil, false
5126}
5127
5128// AsHubspotObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5129func (abd AzureBlobDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
5130	return nil, false
5131}
5132
5133// AsHiveObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5134func (abd AzureBlobDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
5135	return nil, false
5136}
5137
5138// AsHBaseObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5139func (abd AzureBlobDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
5140	return nil, false
5141}
5142
5143// AsGreenplumTableDataset is the BasicDataset implementation for AzureBlobDataset.
5144func (abd AzureBlobDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
5145	return nil, false
5146}
5147
5148// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5149func (abd AzureBlobDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
5150	return nil, false
5151}
5152
5153// AsEloquaObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5154func (abd AzureBlobDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
5155	return nil, false
5156}
5157
5158// AsDrillTableDataset is the BasicDataset implementation for AzureBlobDataset.
5159func (abd AzureBlobDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
5160	return nil, false
5161}
5162
5163// AsCouchbaseTableDataset is the BasicDataset implementation for AzureBlobDataset.
5164func (abd AzureBlobDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
5165	return nil, false
5166}
5167
5168// AsConcurObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5169func (abd AzureBlobDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
5170	return nil, false
5171}
5172
5173// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
5174func (abd AzureBlobDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
5175	return nil, false
5176}
5177
5178// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5179func (abd AzureBlobDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
5180	return nil, false
5181}
5182
5183// AsHTTPDataset is the BasicDataset implementation for AzureBlobDataset.
5184func (abd AzureBlobDataset) AsHTTPDataset() (*HTTPDataset, bool) {
5185	return nil, false
5186}
5187
5188// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureBlobDataset.
5189func (abd AzureBlobDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
5190	return nil, false
5191}
5192
5193// AsWebTableDataset is the BasicDataset implementation for AzureBlobDataset.
5194func (abd AzureBlobDataset) AsWebTableDataset() (*WebTableDataset, bool) {
5195	return nil, false
5196}
5197
5198// AsSQLServerTableDataset is the BasicDataset implementation for AzureBlobDataset.
5199func (abd AzureBlobDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
5200	return nil, false
5201}
5202
5203// AsSapEccResourceDataset is the BasicDataset implementation for AzureBlobDataset.
5204func (abd AzureBlobDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
5205	return nil, false
5206}
5207
5208// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureBlobDataset.
5209func (abd AzureBlobDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
5210	return nil, false
5211}
5212
5213// AsSalesforceObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5214func (abd AzureBlobDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
5215	return nil, false
5216}
5217
5218// AsRelationalTableDataset is the BasicDataset implementation for AzureBlobDataset.
5219func (abd AzureBlobDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
5220	return nil, false
5221}
5222
5223// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
5224func (abd AzureBlobDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
5225	return nil, false
5226}
5227
5228// AsOracleTableDataset is the BasicDataset implementation for AzureBlobDataset.
5229func (abd AzureBlobDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
5230	return nil, false
5231}
5232
5233// AsODataResourceDataset is the BasicDataset implementation for AzureBlobDataset.
5234func (abd AzureBlobDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
5235	return nil, false
5236}
5237
5238// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureBlobDataset.
5239func (abd AzureBlobDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
5240	return nil, false
5241}
5242
5243// AsFileShareDataset is the BasicDataset implementation for AzureBlobDataset.
5244func (abd AzureBlobDataset) AsFileShareDataset() (*FileShareDataset, bool) {
5245	return nil, false
5246}
5247
5248// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureBlobDataset.
5249func (abd AzureBlobDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
5250	return nil, false
5251}
5252
5253// AsDynamicsEntityDataset is the BasicDataset implementation for AzureBlobDataset.
5254func (abd AzureBlobDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
5255	return nil, false
5256}
5257
5258// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureBlobDataset.
5259func (abd AzureBlobDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
5260	return nil, false
5261}
5262
5263// AsCustomDataset is the BasicDataset implementation for AzureBlobDataset.
5264func (abd AzureBlobDataset) AsCustomDataset() (*CustomDataset, bool) {
5265	return nil, false
5266}
5267
5268// AsCassandraTableDataset is the BasicDataset implementation for AzureBlobDataset.
5269func (abd AzureBlobDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
5270	return nil, false
5271}
5272
5273// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureBlobDataset.
5274func (abd AzureBlobDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
5275	return nil, false
5276}
5277
5278// AsAzureSQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
5279func (abd AzureBlobDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
5280	return nil, false
5281}
5282
5283// AsAzureTableDataset is the BasicDataset implementation for AzureBlobDataset.
5284func (abd AzureBlobDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
5285	return nil, false
5286}
5287
5288// AsAzureBlobDataset is the BasicDataset implementation for AzureBlobDataset.
5289func (abd AzureBlobDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
5290	return &abd, true
5291}
5292
5293// AsAmazonS3Dataset is the BasicDataset implementation for AzureBlobDataset.
5294func (abd AzureBlobDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
5295	return nil, false
5296}
5297
5298// AsDataset is the BasicDataset implementation for AzureBlobDataset.
5299func (abd AzureBlobDataset) AsDataset() (*Dataset, bool) {
5300	return nil, false
5301}
5302
5303// AsBasicDataset is the BasicDataset implementation for AzureBlobDataset.
5304func (abd AzureBlobDataset) AsBasicDataset() (BasicDataset, bool) {
5305	return &abd, true
5306}
5307
5308// UnmarshalJSON is the custom unmarshaler for AzureBlobDataset struct.
5309func (abd *AzureBlobDataset) UnmarshalJSON(body []byte) error {
5310	var m map[string]*json.RawMessage
5311	err := json.Unmarshal(body, &m)
5312	if err != nil {
5313		return err
5314	}
5315	for k, v := range m {
5316		switch k {
5317		case "typeProperties":
5318			if v != nil {
5319				var azureBlobDatasetTypeProperties AzureBlobDatasetTypeProperties
5320				err = json.Unmarshal(*v, &azureBlobDatasetTypeProperties)
5321				if err != nil {
5322					return err
5323				}
5324				abd.AzureBlobDatasetTypeProperties = &azureBlobDatasetTypeProperties
5325			}
5326		default:
5327			if v != nil {
5328				var additionalProperties interface{}
5329				err = json.Unmarshal(*v, &additionalProperties)
5330				if err != nil {
5331					return err
5332				}
5333				if abd.AdditionalProperties == nil {
5334					abd.AdditionalProperties = make(map[string]interface{})
5335				}
5336				abd.AdditionalProperties[k] = additionalProperties
5337			}
5338		case "description":
5339			if v != nil {
5340				var description string
5341				err = json.Unmarshal(*v, &description)
5342				if err != nil {
5343					return err
5344				}
5345				abd.Description = &description
5346			}
5347		case "structure":
5348			if v != nil {
5349				var structure interface{}
5350				err = json.Unmarshal(*v, &structure)
5351				if err != nil {
5352					return err
5353				}
5354				abd.Structure = structure
5355			}
5356		case "linkedServiceName":
5357			if v != nil {
5358				var linkedServiceName LinkedServiceReference
5359				err = json.Unmarshal(*v, &linkedServiceName)
5360				if err != nil {
5361					return err
5362				}
5363				abd.LinkedServiceName = &linkedServiceName
5364			}
5365		case "parameters":
5366			if v != nil {
5367				var parameters map[string]*ParameterSpecification
5368				err = json.Unmarshal(*v, &parameters)
5369				if err != nil {
5370					return err
5371				}
5372				abd.Parameters = parameters
5373			}
5374		case "annotations":
5375			if v != nil {
5376				var annotations []interface{}
5377				err = json.Unmarshal(*v, &annotations)
5378				if err != nil {
5379					return err
5380				}
5381				abd.Annotations = &annotations
5382			}
5383		case "type":
5384			if v != nil {
5385				var typeVar TypeBasicDataset
5386				err = json.Unmarshal(*v, &typeVar)
5387				if err != nil {
5388					return err
5389				}
5390				abd.Type = typeVar
5391			}
5392		}
5393	}
5394
5395	return nil
5396}
5397
5398// AzureBlobDatasetTypeProperties azure Blob dataset properties.
5399type AzureBlobDatasetTypeProperties struct {
5400	// FolderPath - The path of the Azure Blob storage. Type: string (or Expression with resultType string).
5401	FolderPath interface{} `json:"folderPath,omitempty"`
5402	// TableRootLocation - The root of blob path. Type: string (or Expression with resultType string).
5403	TableRootLocation interface{} `json:"tableRootLocation,omitempty"`
5404	// FileName - The name of the Azure Blob. Type: string (or Expression with resultType string).
5405	FileName interface{} `json:"fileName,omitempty"`
5406	// Format - The format of the Azure Blob storage.
5407	Format BasicDatasetStorageFormat `json:"format,omitempty"`
5408	// Compression - The data compression method used for the blob storage.
5409	Compression BasicDatasetCompression `json:"compression,omitempty"`
5410}
5411
5412// UnmarshalJSON is the custom unmarshaler for AzureBlobDatasetTypeProperties struct.
5413func (abdtp *AzureBlobDatasetTypeProperties) UnmarshalJSON(body []byte) error {
5414	var m map[string]*json.RawMessage
5415	err := json.Unmarshal(body, &m)
5416	if err != nil {
5417		return err
5418	}
5419	for k, v := range m {
5420		switch k {
5421		case "folderPath":
5422			if v != nil {
5423				var folderPath interface{}
5424				err = json.Unmarshal(*v, &folderPath)
5425				if err != nil {
5426					return err
5427				}
5428				abdtp.FolderPath = folderPath
5429			}
5430		case "tableRootLocation":
5431			if v != nil {
5432				var tableRootLocation interface{}
5433				err = json.Unmarshal(*v, &tableRootLocation)
5434				if err != nil {
5435					return err
5436				}
5437				abdtp.TableRootLocation = tableRootLocation
5438			}
5439		case "fileName":
5440			if v != nil {
5441				var fileName interface{}
5442				err = json.Unmarshal(*v, &fileName)
5443				if err != nil {
5444					return err
5445				}
5446				abdtp.FileName = fileName
5447			}
5448		case "format":
5449			if v != nil {
5450				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
5451				if err != nil {
5452					return err
5453				}
5454				abdtp.Format = formatVar
5455			}
5456		case "compression":
5457			if v != nil {
5458				compression, err := unmarshalBasicDatasetCompression(*v)
5459				if err != nil {
5460					return err
5461				}
5462				abdtp.Compression = compression
5463			}
5464		}
5465	}
5466
5467	return nil
5468}
5469
5470// AzureDatabricksLinkedService azure Databricks linked service.
5471type AzureDatabricksLinkedService struct {
5472	// AzureDatabricksLinkedServiceTypeProperties - Azure Databricks linked service properties.
5473	*AzureDatabricksLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
5474	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
5475	AdditionalProperties map[string]interface{} `json:""`
5476	// ConnectVia - The integration runtime reference.
5477	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
5478	// Description - Linked service description.
5479	Description *string `json:"description,omitempty"`
5480	// Parameters - Parameters for linked service.
5481	Parameters map[string]*ParameterSpecification `json:"parameters"`
5482	// Annotations - List of tags that can be used for describing the Dataset.
5483	Annotations *[]interface{} `json:"annotations,omitempty"`
5484	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
5485	Type TypeBasicLinkedService `json:"type,omitempty"`
5486}
5487
5488// MarshalJSON is the custom marshaler for AzureDatabricksLinkedService.
5489func (adls AzureDatabricksLinkedService) MarshalJSON() ([]byte, error) {
5490	adls.Type = TypeAzureDatabricks
5491	objectMap := make(map[string]interface{})
5492	if adls.AzureDatabricksLinkedServiceTypeProperties != nil {
5493		objectMap["typeProperties"] = adls.AzureDatabricksLinkedServiceTypeProperties
5494	}
5495	if adls.ConnectVia != nil {
5496		objectMap["connectVia"] = adls.ConnectVia
5497	}
5498	if adls.Description != nil {
5499		objectMap["description"] = adls.Description
5500	}
5501	if adls.Parameters != nil {
5502		objectMap["parameters"] = adls.Parameters
5503	}
5504	if adls.Annotations != nil {
5505		objectMap["annotations"] = adls.Annotations
5506	}
5507	if adls.Type != "" {
5508		objectMap["type"] = adls.Type
5509	}
5510	for k, v := range adls.AdditionalProperties {
5511		objectMap[k] = v
5512	}
5513	return json.Marshal(objectMap)
5514}
5515
5516// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5517func (adls AzureDatabricksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
5518	return nil, false
5519}
5520
5521// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5522func (adls AzureDatabricksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
5523	return &adls, true
5524}
5525
5526// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5527func (adls AzureDatabricksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
5528	return nil, false
5529}
5530
5531// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5532func (adls AzureDatabricksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
5533	return nil, false
5534}
5535
5536// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5537func (adls AzureDatabricksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
5538	return nil, false
5539}
5540
5541// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5542func (adls AzureDatabricksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
5543	return nil, false
5544}
5545
5546// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5547func (adls AzureDatabricksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
5548	return nil, false
5549}
5550
5551// AsZohoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5552func (adls AzureDatabricksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
5553	return nil, false
5554}
5555
5556// AsXeroLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5557func (adls AzureDatabricksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
5558	return nil, false
5559}
5560
5561// AsSquareLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5562func (adls AzureDatabricksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
5563	return nil, false
5564}
5565
5566// AsSparkLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5567func (adls AzureDatabricksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
5568	return nil, false
5569}
5570
5571// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5572func (adls AzureDatabricksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
5573	return nil, false
5574}
5575
5576// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5577func (adls AzureDatabricksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
5578	return nil, false
5579}
5580
5581// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5582func (adls AzureDatabricksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
5583	return nil, false
5584}
5585
5586// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5587func (adls AzureDatabricksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
5588	return nil, false
5589}
5590
5591// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5592func (adls AzureDatabricksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
5593	return nil, false
5594}
5595
5596// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5597func (adls AzureDatabricksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
5598	return nil, false
5599}
5600
5601// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5602func (adls AzureDatabricksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
5603	return nil, false
5604}
5605
5606// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5607func (adls AzureDatabricksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
5608	return nil, false
5609}
5610
5611// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5612func (adls AzureDatabricksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
5613	return nil, false
5614}
5615
5616// AsJiraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5617func (adls AzureDatabricksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
5618	return nil, false
5619}
5620
5621// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5622func (adls AzureDatabricksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
5623	return nil, false
5624}
5625
5626// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5627func (adls AzureDatabricksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
5628	return nil, false
5629}
5630
5631// AsHiveLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5632func (adls AzureDatabricksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
5633	return nil, false
5634}
5635
5636// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5637func (adls AzureDatabricksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
5638	return nil, false
5639}
5640
5641// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5642func (adls AzureDatabricksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
5643	return nil, false
5644}
5645
5646// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5647func (adls AzureDatabricksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
5648	return nil, false
5649}
5650
5651// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5652func (adls AzureDatabricksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
5653	return nil, false
5654}
5655
5656// AsDrillLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5657func (adls AzureDatabricksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
5658	return nil, false
5659}
5660
5661// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5662func (adls AzureDatabricksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
5663	return nil, false
5664}
5665
5666// AsConcurLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5667func (adls AzureDatabricksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
5668	return nil, false
5669}
5670
5671// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5672func (adls AzureDatabricksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
5673	return nil, false
5674}
5675
5676// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5677func (adls AzureDatabricksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
5678	return nil, false
5679}
5680
5681// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5682func (adls AzureDatabricksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
5683	return nil, false
5684}
5685
5686// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5687func (adls AzureDatabricksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
5688	return nil, false
5689}
5690
5691// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5692func (adls AzureDatabricksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
5693	return nil, false
5694}
5695
5696// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5697func (adls AzureDatabricksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
5698	return nil, false
5699}
5700
5701// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5702func (adls AzureDatabricksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
5703	return nil, false
5704}
5705
5706// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5707func (adls AzureDatabricksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
5708	return nil, false
5709}
5710
5711// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5712func (adls AzureDatabricksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
5713	return nil, false
5714}
5715
5716// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5717func (adls AzureDatabricksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
5718	return nil, false
5719}
5720
5721// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5722func (adls AzureDatabricksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
5723	return nil, false
5724}
5725
5726// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5727func (adls AzureDatabricksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
5728	return nil, false
5729}
5730
5731// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5732func (adls AzureDatabricksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
5733	return nil, false
5734}
5735
5736// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5737func (adls AzureDatabricksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
5738	return nil, false
5739}
5740
5741// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5742func (adls AzureDatabricksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
5743	return nil, false
5744}
5745
5746// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5747func (adls AzureDatabricksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
5748	return nil, false
5749}
5750
5751// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5752func (adls AzureDatabricksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
5753	return nil, false
5754}
5755
5756// AsWebLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5757func (adls AzureDatabricksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
5758	return nil, false
5759}
5760
5761// AsODataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5762func (adls AzureDatabricksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
5763	return nil, false
5764}
5765
5766// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5767func (adls AzureDatabricksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
5768	return nil, false
5769}
5770
5771// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5772func (adls AzureDatabricksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
5773	return nil, false
5774}
5775
5776// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5777func (adls AzureDatabricksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
5778	return nil, false
5779}
5780
5781// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5782func (adls AzureDatabricksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
5783	return nil, false
5784}
5785
5786// AsDb2LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5787func (adls AzureDatabricksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
5788	return nil, false
5789}
5790
5791// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5792func (adls AzureDatabricksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
5793	return nil, false
5794}
5795
5796// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5797func (adls AzureDatabricksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
5798	return nil, false
5799}
5800
5801// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5802func (adls AzureDatabricksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
5803	return nil, false
5804}
5805
5806// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5807func (adls AzureDatabricksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
5808	return nil, false
5809}
5810
5811// AsOracleLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5812func (adls AzureDatabricksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
5813	return nil, false
5814}
5815
5816// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5817func (adls AzureDatabricksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
5818	return nil, false
5819}
5820
5821// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5822func (adls AzureDatabricksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
5823	return nil, false
5824}
5825
5826// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5827func (adls AzureDatabricksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
5828	return nil, false
5829}
5830
5831// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5832func (adls AzureDatabricksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
5833	return nil, false
5834}
5835
5836// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5837func (adls AzureDatabricksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
5838	return nil, false
5839}
5840
5841// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5842func (adls AzureDatabricksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
5843	return nil, false
5844}
5845
5846// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5847func (adls AzureDatabricksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
5848	return nil, false
5849}
5850
5851// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5852func (adls AzureDatabricksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
5853	return nil, false
5854}
5855
5856// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5857func (adls AzureDatabricksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
5858	return nil, false
5859}
5860
5861// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5862func (adls AzureDatabricksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
5863	return nil, false
5864}
5865
5866// AsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5867func (adls AzureDatabricksLinkedService) AsLinkedService() (*LinkedService, bool) {
5868	return nil, false
5869}
5870
5871// AsBasicLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5872func (adls AzureDatabricksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
5873	return &adls, true
5874}
5875
5876// UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedService struct.
5877func (adls *AzureDatabricksLinkedService) UnmarshalJSON(body []byte) error {
5878	var m map[string]*json.RawMessage
5879	err := json.Unmarshal(body, &m)
5880	if err != nil {
5881		return err
5882	}
5883	for k, v := range m {
5884		switch k {
5885		case "typeProperties":
5886			if v != nil {
5887				var azureDatabricksLinkedServiceTypeProperties AzureDatabricksLinkedServiceTypeProperties
5888				err = json.Unmarshal(*v, &azureDatabricksLinkedServiceTypeProperties)
5889				if err != nil {
5890					return err
5891				}
5892				adls.AzureDatabricksLinkedServiceTypeProperties = &azureDatabricksLinkedServiceTypeProperties
5893			}
5894		default:
5895			if v != nil {
5896				var additionalProperties interface{}
5897				err = json.Unmarshal(*v, &additionalProperties)
5898				if err != nil {
5899					return err
5900				}
5901				if adls.AdditionalProperties == nil {
5902					adls.AdditionalProperties = make(map[string]interface{})
5903				}
5904				adls.AdditionalProperties[k] = additionalProperties
5905			}
5906		case "connectVia":
5907			if v != nil {
5908				var connectVia IntegrationRuntimeReference
5909				err = json.Unmarshal(*v, &connectVia)
5910				if err != nil {
5911					return err
5912				}
5913				adls.ConnectVia = &connectVia
5914			}
5915		case "description":
5916			if v != nil {
5917				var description string
5918				err = json.Unmarshal(*v, &description)
5919				if err != nil {
5920					return err
5921				}
5922				adls.Description = &description
5923			}
5924		case "parameters":
5925			if v != nil {
5926				var parameters map[string]*ParameterSpecification
5927				err = json.Unmarshal(*v, &parameters)
5928				if err != nil {
5929					return err
5930				}
5931				adls.Parameters = parameters
5932			}
5933		case "annotations":
5934			if v != nil {
5935				var annotations []interface{}
5936				err = json.Unmarshal(*v, &annotations)
5937				if err != nil {
5938					return err
5939				}
5940				adls.Annotations = &annotations
5941			}
5942		case "type":
5943			if v != nil {
5944				var typeVar TypeBasicLinkedService
5945				err = json.Unmarshal(*v, &typeVar)
5946				if err != nil {
5947					return err
5948				}
5949				adls.Type = typeVar
5950			}
5951		}
5952	}
5953
5954	return nil
5955}
5956
5957// AzureDatabricksLinkedServiceTypeProperties azure Databricks linked service properties.
5958type AzureDatabricksLinkedServiceTypeProperties struct {
5959	// Domain - <REGION>.azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string).
5960	Domain interface{} `json:"domain,omitempty"`
5961	// AccessToken - Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string).
5962	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
5963	// ExistingClusterID - The id of an existing cluster that will be used for all runs of this job. Type: string (or Expression with resultType string).
5964	ExistingClusterID interface{} `json:"existingClusterId,omitempty"`
5965	// NewClusterVersion - The Spark version of new cluster. Type: string (or Expression with resultType string).
5966	NewClusterVersion interface{} `json:"newClusterVersion,omitempty"`
5967	// NewClusterNumOfWorker - Number of worker nodes that new cluster should have. A string formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1 as min and 10 as max. Type: string (or Expression with resultType string).
5968	NewClusterNumOfWorker interface{} `json:"newClusterNumOfWorker,omitempty"`
5969	// NewClusterNodeType - The node types of new cluster. Type: string (or Expression with resultType string).
5970	NewClusterNodeType interface{} `json:"newClusterNodeType,omitempty"`
5971	// NewClusterSparkConf - a set of optional, user-specified Spark configuration key-value pairs.
5972	NewClusterSparkConf map[string]interface{} `json:"newClusterSparkConf"`
5973	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
5974	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
5975}
5976
5977// MarshalJSON is the custom marshaler for AzureDatabricksLinkedServiceTypeProperties.
5978func (adlstp AzureDatabricksLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) {
5979	objectMap := make(map[string]interface{})
5980	if adlstp.Domain != nil {
5981		objectMap["domain"] = adlstp.Domain
5982	}
5983	objectMap["accessToken"] = adlstp.AccessToken
5984	if adlstp.ExistingClusterID != nil {
5985		objectMap["existingClusterId"] = adlstp.ExistingClusterID
5986	}
5987	if adlstp.NewClusterVersion != nil {
5988		objectMap["newClusterVersion"] = adlstp.NewClusterVersion
5989	}
5990	if adlstp.NewClusterNumOfWorker != nil {
5991		objectMap["newClusterNumOfWorker"] = adlstp.NewClusterNumOfWorker
5992	}
5993	if adlstp.NewClusterNodeType != nil {
5994		objectMap["newClusterNodeType"] = adlstp.NewClusterNodeType
5995	}
5996	if adlstp.NewClusterSparkConf != nil {
5997		objectMap["newClusterSparkConf"] = adlstp.NewClusterSparkConf
5998	}
5999	if adlstp.EncryptedCredential != nil {
6000		objectMap["encryptedCredential"] = adlstp.EncryptedCredential
6001	}
6002	return json.Marshal(objectMap)
6003}
6004
6005// UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedServiceTypeProperties struct.
6006func (adlstp *AzureDatabricksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
6007	var m map[string]*json.RawMessage
6008	err := json.Unmarshal(body, &m)
6009	if err != nil {
6010		return err
6011	}
6012	for k, v := range m {
6013		switch k {
6014		case "domain":
6015			if v != nil {
6016				var domain interface{}
6017				err = json.Unmarshal(*v, &domain)
6018				if err != nil {
6019					return err
6020				}
6021				adlstp.Domain = domain
6022			}
6023		case "accessToken":
6024			if v != nil {
6025				accessToken, err := unmarshalBasicSecretBase(*v)
6026				if err != nil {
6027					return err
6028				}
6029				adlstp.AccessToken = accessToken
6030			}
6031		case "existingClusterId":
6032			if v != nil {
6033				var existingClusterID interface{}
6034				err = json.Unmarshal(*v, &existingClusterID)
6035				if err != nil {
6036					return err
6037				}
6038				adlstp.ExistingClusterID = existingClusterID
6039			}
6040		case "newClusterVersion":
6041			if v != nil {
6042				var newClusterVersion interface{}
6043				err = json.Unmarshal(*v, &newClusterVersion)
6044				if err != nil {
6045					return err
6046				}
6047				adlstp.NewClusterVersion = newClusterVersion
6048			}
6049		case "newClusterNumOfWorker":
6050			if v != nil {
6051				var newClusterNumOfWorker interface{}
6052				err = json.Unmarshal(*v, &newClusterNumOfWorker)
6053				if err != nil {
6054					return err
6055				}
6056				adlstp.NewClusterNumOfWorker = newClusterNumOfWorker
6057			}
6058		case "newClusterNodeType":
6059			if v != nil {
6060				var newClusterNodeType interface{}
6061				err = json.Unmarshal(*v, &newClusterNodeType)
6062				if err != nil {
6063					return err
6064				}
6065				adlstp.NewClusterNodeType = newClusterNodeType
6066			}
6067		case "newClusterSparkConf":
6068			if v != nil {
6069				var newClusterSparkConf map[string]interface{}
6070				err = json.Unmarshal(*v, &newClusterSparkConf)
6071				if err != nil {
6072					return err
6073				}
6074				adlstp.NewClusterSparkConf = newClusterSparkConf
6075			}
6076		case "encryptedCredential":
6077			if v != nil {
6078				var encryptedCredential interface{}
6079				err = json.Unmarshal(*v, &encryptedCredential)
6080				if err != nil {
6081					return err
6082				}
6083				adlstp.EncryptedCredential = encryptedCredential
6084			}
6085		}
6086	}
6087
6088	return nil
6089}
6090
6091// AzureDataLakeAnalyticsLinkedService azure Data Lake Analytics linked service.
6092type AzureDataLakeAnalyticsLinkedService struct {
6093	// AzureDataLakeAnalyticsLinkedServiceTypeProperties - Azure Data Lake Analytics linked service properties.
6094	*AzureDataLakeAnalyticsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
6095	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
6096	AdditionalProperties map[string]interface{} `json:""`
6097	// ConnectVia - The integration runtime reference.
6098	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
6099	// Description - Linked service description.
6100	Description *string `json:"description,omitempty"`
6101	// Parameters - Parameters for linked service.
6102	Parameters map[string]*ParameterSpecification `json:"parameters"`
6103	// Annotations - List of tags that can be used for describing the Dataset.
6104	Annotations *[]interface{} `json:"annotations,omitempty"`
6105	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
6106	Type TypeBasicLinkedService `json:"type,omitempty"`
6107}
6108
6109// MarshalJSON is the custom marshaler for AzureDataLakeAnalyticsLinkedService.
6110func (adlals AzureDataLakeAnalyticsLinkedService) MarshalJSON() ([]byte, error) {
6111	adlals.Type = TypeAzureDataLakeAnalytics
6112	objectMap := make(map[string]interface{})
6113	if adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties != nil {
6114		objectMap["typeProperties"] = adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties
6115	}
6116	if adlals.ConnectVia != nil {
6117		objectMap["connectVia"] = adlals.ConnectVia
6118	}
6119	if adlals.Description != nil {
6120		objectMap["description"] = adlals.Description
6121	}
6122	if adlals.Parameters != nil {
6123		objectMap["parameters"] = adlals.Parameters
6124	}
6125	if adlals.Annotations != nil {
6126		objectMap["annotations"] = adlals.Annotations
6127	}
6128	if adlals.Type != "" {
6129		objectMap["type"] = adlals.Type
6130	}
6131	for k, v := range adlals.AdditionalProperties {
6132		objectMap[k] = v
6133	}
6134	return json.Marshal(objectMap)
6135}
6136
6137// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6138func (adlals AzureDataLakeAnalyticsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
6139	return nil, false
6140}
6141
6142// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6143func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
6144	return nil, false
6145}
6146
6147// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6148func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
6149	return &adlals, true
6150}
6151
6152// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6153func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
6154	return nil, false
6155}
6156
6157// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6158func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
6159	return nil, false
6160}
6161
6162// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6163func (adlals AzureDataLakeAnalyticsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
6164	return nil, false
6165}
6166
6167// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6168func (adlals AzureDataLakeAnalyticsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
6169	return nil, false
6170}
6171
6172// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6173func (adlals AzureDataLakeAnalyticsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
6174	return nil, false
6175}
6176
6177// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6178func (adlals AzureDataLakeAnalyticsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
6179	return nil, false
6180}
6181
6182// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6183func (adlals AzureDataLakeAnalyticsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
6184	return nil, false
6185}
6186
6187// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6188func (adlals AzureDataLakeAnalyticsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
6189	return nil, false
6190}
6191
6192// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6193func (adlals AzureDataLakeAnalyticsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
6194	return nil, false
6195}
6196
6197// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6198func (adlals AzureDataLakeAnalyticsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
6199	return nil, false
6200}
6201
6202// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6203func (adlals AzureDataLakeAnalyticsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
6204	return nil, false
6205}
6206
6207// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6208func (adlals AzureDataLakeAnalyticsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
6209	return nil, false
6210}
6211
6212// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6213func (adlals AzureDataLakeAnalyticsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
6214	return nil, false
6215}
6216
6217// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6218func (adlals AzureDataLakeAnalyticsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
6219	return nil, false
6220}
6221
6222// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6223func (adlals AzureDataLakeAnalyticsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
6224	return nil, false
6225}
6226
6227// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6228func (adlals AzureDataLakeAnalyticsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
6229	return nil, false
6230}
6231
6232// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6233func (adlals AzureDataLakeAnalyticsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
6234	return nil, false
6235}
6236
6237// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6238func (adlals AzureDataLakeAnalyticsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
6239	return nil, false
6240}
6241
6242// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6243func (adlals AzureDataLakeAnalyticsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
6244	return nil, false
6245}
6246
6247// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6248func (adlals AzureDataLakeAnalyticsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
6249	return nil, false
6250}
6251
6252// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6253func (adlals AzureDataLakeAnalyticsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
6254	return nil, false
6255}
6256
6257// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6258func (adlals AzureDataLakeAnalyticsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
6259	return nil, false
6260}
6261
6262// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6263func (adlals AzureDataLakeAnalyticsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
6264	return nil, false
6265}
6266
6267// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6268func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
6269	return nil, false
6270}
6271
6272// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6273func (adlals AzureDataLakeAnalyticsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
6274	return nil, false
6275}
6276
6277// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6278func (adlals AzureDataLakeAnalyticsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
6279	return nil, false
6280}
6281
6282// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6283func (adlals AzureDataLakeAnalyticsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
6284	return nil, false
6285}
6286
6287// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6288func (adlals AzureDataLakeAnalyticsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
6289	return nil, false
6290}
6291
6292// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6293func (adlals AzureDataLakeAnalyticsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
6294	return nil, false
6295}
6296
6297// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6298func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
6299	return nil, false
6300}
6301
6302// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6303func (adlals AzureDataLakeAnalyticsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
6304	return nil, false
6305}
6306
6307// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6308func (adlals AzureDataLakeAnalyticsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
6309	return nil, false
6310}
6311
6312// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6313func (adlals AzureDataLakeAnalyticsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
6314	return nil, false
6315}
6316
6317// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6318func (adlals AzureDataLakeAnalyticsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
6319	return nil, false
6320}
6321
6322// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6323func (adlals AzureDataLakeAnalyticsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
6324	return nil, false
6325}
6326
6327// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6328func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
6329	return nil, false
6330}
6331
6332// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6333func (adlals AzureDataLakeAnalyticsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
6334	return nil, false
6335}
6336
6337// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6338func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
6339	return nil, false
6340}
6341
6342// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6343func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
6344	return nil, false
6345}
6346
6347// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6348func (adlals AzureDataLakeAnalyticsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
6349	return nil, false
6350}
6351
6352// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6353func (adlals AzureDataLakeAnalyticsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
6354	return nil, false
6355}
6356
6357// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6358func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
6359	return nil, false
6360}
6361
6362// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6363func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
6364	return nil, false
6365}
6366
6367// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6368func (adlals AzureDataLakeAnalyticsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
6369	return nil, false
6370}
6371
6372// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6373func (adlals AzureDataLakeAnalyticsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
6374	return nil, false
6375}
6376
6377// AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6378func (adlals AzureDataLakeAnalyticsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
6379	return nil, false
6380}
6381
6382// AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6383func (adlals AzureDataLakeAnalyticsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
6384	return nil, false
6385}
6386
6387// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6388func (adlals AzureDataLakeAnalyticsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
6389	return nil, false
6390}
6391
6392// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6393func (adlals AzureDataLakeAnalyticsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
6394	return nil, false
6395}
6396
6397// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6398func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
6399	return nil, false
6400}
6401
6402// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6403func (adlals AzureDataLakeAnalyticsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
6404	return nil, false
6405}
6406
6407// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6408func (adlals AzureDataLakeAnalyticsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
6409	return nil, false
6410}
6411
6412// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6413func (adlals AzureDataLakeAnalyticsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
6414	return nil, false
6415}
6416
6417// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6418func (adlals AzureDataLakeAnalyticsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
6419	return nil, false
6420}
6421
6422// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6423func (adlals AzureDataLakeAnalyticsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
6424	return nil, false
6425}
6426
6427// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6428func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
6429	return nil, false
6430}
6431
6432// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6433func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
6434	return nil, false
6435}
6436
6437// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6438func (adlals AzureDataLakeAnalyticsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
6439	return nil, false
6440}
6441
6442// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6443func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
6444	return nil, false
6445}
6446
6447// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6448func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
6449	return nil, false
6450}
6451
6452// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6453func (adlals AzureDataLakeAnalyticsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
6454	return nil, false
6455}
6456
6457// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6458func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
6459	return nil, false
6460}
6461
6462// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6463func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
6464	return nil, false
6465}
6466
6467// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6468func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
6469	return nil, false
6470}
6471
6472// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6473func (adlals AzureDataLakeAnalyticsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
6474	return nil, false
6475}
6476
6477// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6478func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
6479	return nil, false
6480}
6481
6482// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6483func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
6484	return nil, false
6485}
6486
6487// AsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6488func (adlals AzureDataLakeAnalyticsLinkedService) AsLinkedService() (*LinkedService, bool) {
6489	return nil, false
6490}
6491
6492// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6493func (adlals AzureDataLakeAnalyticsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
6494	return &adlals, true
6495}
6496
6497// UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedService struct.
6498func (adlals *AzureDataLakeAnalyticsLinkedService) UnmarshalJSON(body []byte) error {
6499	var m map[string]*json.RawMessage
6500	err := json.Unmarshal(body, &m)
6501	if err != nil {
6502		return err
6503	}
6504	for k, v := range m {
6505		switch k {
6506		case "typeProperties":
6507			if v != nil {
6508				var azureDataLakeAnalyticsLinkedServiceTypeProperties AzureDataLakeAnalyticsLinkedServiceTypeProperties
6509				err = json.Unmarshal(*v, &azureDataLakeAnalyticsLinkedServiceTypeProperties)
6510				if err != nil {
6511					return err
6512				}
6513				adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties = &azureDataLakeAnalyticsLinkedServiceTypeProperties
6514			}
6515		default:
6516			if v != nil {
6517				var additionalProperties interface{}
6518				err = json.Unmarshal(*v, &additionalProperties)
6519				if err != nil {
6520					return err
6521				}
6522				if adlals.AdditionalProperties == nil {
6523					adlals.AdditionalProperties = make(map[string]interface{})
6524				}
6525				adlals.AdditionalProperties[k] = additionalProperties
6526			}
6527		case "connectVia":
6528			if v != nil {
6529				var connectVia IntegrationRuntimeReference
6530				err = json.Unmarshal(*v, &connectVia)
6531				if err != nil {
6532					return err
6533				}
6534				adlals.ConnectVia = &connectVia
6535			}
6536		case "description":
6537			if v != nil {
6538				var description string
6539				err = json.Unmarshal(*v, &description)
6540				if err != nil {
6541					return err
6542				}
6543				adlals.Description = &description
6544			}
6545		case "parameters":
6546			if v != nil {
6547				var parameters map[string]*ParameterSpecification
6548				err = json.Unmarshal(*v, &parameters)
6549				if err != nil {
6550					return err
6551				}
6552				adlals.Parameters = parameters
6553			}
6554		case "annotations":
6555			if v != nil {
6556				var annotations []interface{}
6557				err = json.Unmarshal(*v, &annotations)
6558				if err != nil {
6559					return err
6560				}
6561				adlals.Annotations = &annotations
6562			}
6563		case "type":
6564			if v != nil {
6565				var typeVar TypeBasicLinkedService
6566				err = json.Unmarshal(*v, &typeVar)
6567				if err != nil {
6568					return err
6569				}
6570				adlals.Type = typeVar
6571			}
6572		}
6573	}
6574
6575	return nil
6576}
6577
6578// AzureDataLakeAnalyticsLinkedServiceTypeProperties azure Data Lake Analytics linked service properties.
6579type AzureDataLakeAnalyticsLinkedServiceTypeProperties struct {
6580	// AccountName - The Azure Data Lake Analytics account name. Type: string (or Expression with resultType string).
6581	AccountName interface{} `json:"accountName,omitempty"`
6582	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Analytics account. Type: string (or Expression with resultType string).
6583	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
6584	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Analytics account.
6585	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
6586	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
6587	Tenant interface{} `json:"tenant,omitempty"`
6588	// SubscriptionID - Data Lake Analytics account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
6589	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
6590	// ResourceGroupName - Data Lake Analytics account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
6591	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
6592	// DataLakeAnalyticsURI - Azure Data Lake Analytics URI Type: string (or Expression with resultType string).
6593	DataLakeAnalyticsURI interface{} `json:"dataLakeAnalyticsUri,omitempty"`
6594	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
6595	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
6596}
6597
6598// UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedServiceTypeProperties struct.
6599func (adlalstp *AzureDataLakeAnalyticsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
6600	var m map[string]*json.RawMessage
6601	err := json.Unmarshal(body, &m)
6602	if err != nil {
6603		return err
6604	}
6605	for k, v := range m {
6606		switch k {
6607		case "accountName":
6608			if v != nil {
6609				var accountName interface{}
6610				err = json.Unmarshal(*v, &accountName)
6611				if err != nil {
6612					return err
6613				}
6614				adlalstp.AccountName = accountName
6615			}
6616		case "servicePrincipalId":
6617			if v != nil {
6618				var servicePrincipalID interface{}
6619				err = json.Unmarshal(*v, &servicePrincipalID)
6620				if err != nil {
6621					return err
6622				}
6623				adlalstp.ServicePrincipalID = servicePrincipalID
6624			}
6625		case "servicePrincipalKey":
6626			if v != nil {
6627				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
6628				if err != nil {
6629					return err
6630				}
6631				adlalstp.ServicePrincipalKey = servicePrincipalKey
6632			}
6633		case "tenant":
6634			if v != nil {
6635				var tenant interface{}
6636				err = json.Unmarshal(*v, &tenant)
6637				if err != nil {
6638					return err
6639				}
6640				adlalstp.Tenant = tenant
6641			}
6642		case "subscriptionId":
6643			if v != nil {
6644				var subscriptionID interface{}
6645				err = json.Unmarshal(*v, &subscriptionID)
6646				if err != nil {
6647					return err
6648				}
6649				adlalstp.SubscriptionID = subscriptionID
6650			}
6651		case "resourceGroupName":
6652			if v != nil {
6653				var resourceGroupName interface{}
6654				err = json.Unmarshal(*v, &resourceGroupName)
6655				if err != nil {
6656					return err
6657				}
6658				adlalstp.ResourceGroupName = resourceGroupName
6659			}
6660		case "dataLakeAnalyticsUri":
6661			if v != nil {
6662				var dataLakeAnalyticsURI interface{}
6663				err = json.Unmarshal(*v, &dataLakeAnalyticsURI)
6664				if err != nil {
6665					return err
6666				}
6667				adlalstp.DataLakeAnalyticsURI = dataLakeAnalyticsURI
6668			}
6669		case "encryptedCredential":
6670			if v != nil {
6671				var encryptedCredential interface{}
6672				err = json.Unmarshal(*v, &encryptedCredential)
6673				if err != nil {
6674					return err
6675				}
6676				adlalstp.EncryptedCredential = encryptedCredential
6677			}
6678		}
6679	}
6680
6681	return nil
6682}
6683
6684// AzureDataLakeStoreDataset azure Data Lake Store dataset.
6685type AzureDataLakeStoreDataset struct {
6686	// AzureDataLakeStoreDatasetTypeProperties - Azure Data Lake Store dataset properties.
6687	*AzureDataLakeStoreDatasetTypeProperties `json:"typeProperties,omitempty"`
6688	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
6689	AdditionalProperties map[string]interface{} `json:""`
6690	// Description - Dataset description.
6691	Description *string `json:"description,omitempty"`
6692	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
6693	Structure interface{} `json:"structure,omitempty"`
6694	// LinkedServiceName - Linked service reference.
6695	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
6696	// Parameters - Parameters for dataset.
6697	Parameters map[string]*ParameterSpecification `json:"parameters"`
6698	// Annotations - List of tags that can be used for describing the Dataset.
6699	Annotations *[]interface{} `json:"annotations,omitempty"`
6700	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
6701	Type TypeBasicDataset `json:"type,omitempty"`
6702}
6703
6704// MarshalJSON is the custom marshaler for AzureDataLakeStoreDataset.
6705func (adlsd AzureDataLakeStoreDataset) MarshalJSON() ([]byte, error) {
6706	adlsd.Type = TypeAzureDataLakeStoreFile
6707	objectMap := make(map[string]interface{})
6708	if adlsd.AzureDataLakeStoreDatasetTypeProperties != nil {
6709		objectMap["typeProperties"] = adlsd.AzureDataLakeStoreDatasetTypeProperties
6710	}
6711	if adlsd.Description != nil {
6712		objectMap["description"] = adlsd.Description
6713	}
6714	if adlsd.Structure != nil {
6715		objectMap["structure"] = adlsd.Structure
6716	}
6717	if adlsd.LinkedServiceName != nil {
6718		objectMap["linkedServiceName"] = adlsd.LinkedServiceName
6719	}
6720	if adlsd.Parameters != nil {
6721		objectMap["parameters"] = adlsd.Parameters
6722	}
6723	if adlsd.Annotations != nil {
6724		objectMap["annotations"] = adlsd.Annotations
6725	}
6726	if adlsd.Type != "" {
6727		objectMap["type"] = adlsd.Type
6728	}
6729	for k, v := range adlsd.AdditionalProperties {
6730		objectMap[k] = v
6731	}
6732	return json.Marshal(objectMap)
6733}
6734
6735// AsResponsysObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6736func (adlsd AzureDataLakeStoreDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
6737	return nil, false
6738}
6739
6740// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6741func (adlsd AzureDataLakeStoreDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
6742	return nil, false
6743}
6744
6745// AsVerticaTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6746func (adlsd AzureDataLakeStoreDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
6747	return nil, false
6748}
6749
6750// AsNetezzaTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6751func (adlsd AzureDataLakeStoreDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
6752	return nil, false
6753}
6754
6755// AsZohoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6756func (adlsd AzureDataLakeStoreDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
6757	return nil, false
6758}
6759
6760// AsXeroObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6761func (adlsd AzureDataLakeStoreDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
6762	return nil, false
6763}
6764
6765// AsSquareObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6766func (adlsd AzureDataLakeStoreDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
6767	return nil, false
6768}
6769
6770// AsSparkObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6771func (adlsd AzureDataLakeStoreDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
6772	return nil, false
6773}
6774
6775// AsShopifyObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6776func (adlsd AzureDataLakeStoreDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
6777	return nil, false
6778}
6779
6780// AsServiceNowObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6781func (adlsd AzureDataLakeStoreDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
6782	return nil, false
6783}
6784
6785// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6786func (adlsd AzureDataLakeStoreDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
6787	return nil, false
6788}
6789
6790// AsPrestoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6791func (adlsd AzureDataLakeStoreDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
6792	return nil, false
6793}
6794
6795// AsPhoenixObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6796func (adlsd AzureDataLakeStoreDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
6797	return nil, false
6798}
6799
6800// AsPaypalObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6801func (adlsd AzureDataLakeStoreDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
6802	return nil, false
6803}
6804
6805// AsMarketoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6806func (adlsd AzureDataLakeStoreDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
6807	return nil, false
6808}
6809
6810// AsMariaDBTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6811func (adlsd AzureDataLakeStoreDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
6812	return nil, false
6813}
6814
6815// AsMagentoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6816func (adlsd AzureDataLakeStoreDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
6817	return nil, false
6818}
6819
6820// AsJiraObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6821func (adlsd AzureDataLakeStoreDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
6822	return nil, false
6823}
6824
6825// AsImpalaObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6826func (adlsd AzureDataLakeStoreDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
6827	return nil, false
6828}
6829
6830// AsHubspotObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6831func (adlsd AzureDataLakeStoreDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
6832	return nil, false
6833}
6834
6835// AsHiveObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6836func (adlsd AzureDataLakeStoreDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
6837	return nil, false
6838}
6839
6840// AsHBaseObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6841func (adlsd AzureDataLakeStoreDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
6842	return nil, false
6843}
6844
6845// AsGreenplumTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6846func (adlsd AzureDataLakeStoreDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
6847	return nil, false
6848}
6849
6850// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6851func (adlsd AzureDataLakeStoreDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
6852	return nil, false
6853}
6854
6855// AsEloquaObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6856func (adlsd AzureDataLakeStoreDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
6857	return nil, false
6858}
6859
6860// AsDrillTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6861func (adlsd AzureDataLakeStoreDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
6862	return nil, false
6863}
6864
6865// AsCouchbaseTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6866func (adlsd AzureDataLakeStoreDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
6867	return nil, false
6868}
6869
6870// AsConcurObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6871func (adlsd AzureDataLakeStoreDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
6872	return nil, false
6873}
6874
6875// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6876func (adlsd AzureDataLakeStoreDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
6877	return nil, false
6878}
6879
6880// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6881func (adlsd AzureDataLakeStoreDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
6882	return nil, false
6883}
6884
6885// AsHTTPDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6886func (adlsd AzureDataLakeStoreDataset) AsHTTPDataset() (*HTTPDataset, bool) {
6887	return nil, false
6888}
6889
6890// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6891func (adlsd AzureDataLakeStoreDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
6892	return nil, false
6893}
6894
6895// AsWebTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6896func (adlsd AzureDataLakeStoreDataset) AsWebTableDataset() (*WebTableDataset, bool) {
6897	return nil, false
6898}
6899
6900// AsSQLServerTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6901func (adlsd AzureDataLakeStoreDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
6902	return nil, false
6903}
6904
6905// AsSapEccResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6906func (adlsd AzureDataLakeStoreDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
6907	return nil, false
6908}
6909
6910// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6911func (adlsd AzureDataLakeStoreDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
6912	return nil, false
6913}
6914
6915// AsSalesforceObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6916func (adlsd AzureDataLakeStoreDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
6917	return nil, false
6918}
6919
6920// AsRelationalTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6921func (adlsd AzureDataLakeStoreDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
6922	return nil, false
6923}
6924
6925// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6926func (adlsd AzureDataLakeStoreDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
6927	return nil, false
6928}
6929
6930// AsOracleTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6931func (adlsd AzureDataLakeStoreDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
6932	return nil, false
6933}
6934
6935// AsODataResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6936func (adlsd AzureDataLakeStoreDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
6937	return nil, false
6938}
6939
6940// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6941func (adlsd AzureDataLakeStoreDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
6942	return nil, false
6943}
6944
6945// AsFileShareDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6946func (adlsd AzureDataLakeStoreDataset) AsFileShareDataset() (*FileShareDataset, bool) {
6947	return nil, false
6948}
6949
6950// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6951func (adlsd AzureDataLakeStoreDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
6952	return &adlsd, true
6953}
6954
6955// AsDynamicsEntityDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6956func (adlsd AzureDataLakeStoreDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
6957	return nil, false
6958}
6959
6960// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6961func (adlsd AzureDataLakeStoreDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
6962	return nil, false
6963}
6964
6965// AsCustomDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6966func (adlsd AzureDataLakeStoreDataset) AsCustomDataset() (*CustomDataset, bool) {
6967	return nil, false
6968}
6969
6970// AsCassandraTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6971func (adlsd AzureDataLakeStoreDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
6972	return nil, false
6973}
6974
6975// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6976func (adlsd AzureDataLakeStoreDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
6977	return nil, false
6978}
6979
6980// AsAzureSQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6981func (adlsd AzureDataLakeStoreDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
6982	return nil, false
6983}
6984
6985// AsAzureTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6986func (adlsd AzureDataLakeStoreDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
6987	return nil, false
6988}
6989
6990// AsAzureBlobDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6991func (adlsd AzureDataLakeStoreDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
6992	return nil, false
6993}
6994
6995// AsAmazonS3Dataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6996func (adlsd AzureDataLakeStoreDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
6997	return nil, false
6998}
6999
7000// AsDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
7001func (adlsd AzureDataLakeStoreDataset) AsDataset() (*Dataset, bool) {
7002	return nil, false
7003}
7004
7005// AsBasicDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
7006func (adlsd AzureDataLakeStoreDataset) AsBasicDataset() (BasicDataset, bool) {
7007	return &adlsd, true
7008}
7009
7010// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreDataset struct.
7011func (adlsd *AzureDataLakeStoreDataset) UnmarshalJSON(body []byte) error {
7012	var m map[string]*json.RawMessage
7013	err := json.Unmarshal(body, &m)
7014	if err != nil {
7015		return err
7016	}
7017	for k, v := range m {
7018		switch k {
7019		case "typeProperties":
7020			if v != nil {
7021				var azureDataLakeStoreDatasetTypeProperties AzureDataLakeStoreDatasetTypeProperties
7022				err = json.Unmarshal(*v, &azureDataLakeStoreDatasetTypeProperties)
7023				if err != nil {
7024					return err
7025				}
7026				adlsd.AzureDataLakeStoreDatasetTypeProperties = &azureDataLakeStoreDatasetTypeProperties
7027			}
7028		default:
7029			if v != nil {
7030				var additionalProperties interface{}
7031				err = json.Unmarshal(*v, &additionalProperties)
7032				if err != nil {
7033					return err
7034				}
7035				if adlsd.AdditionalProperties == nil {
7036					adlsd.AdditionalProperties = make(map[string]interface{})
7037				}
7038				adlsd.AdditionalProperties[k] = additionalProperties
7039			}
7040		case "description":
7041			if v != nil {
7042				var description string
7043				err = json.Unmarshal(*v, &description)
7044				if err != nil {
7045					return err
7046				}
7047				adlsd.Description = &description
7048			}
7049		case "structure":
7050			if v != nil {
7051				var structure interface{}
7052				err = json.Unmarshal(*v, &structure)
7053				if err != nil {
7054					return err
7055				}
7056				adlsd.Structure = structure
7057			}
7058		case "linkedServiceName":
7059			if v != nil {
7060				var linkedServiceName LinkedServiceReference
7061				err = json.Unmarshal(*v, &linkedServiceName)
7062				if err != nil {
7063					return err
7064				}
7065				adlsd.LinkedServiceName = &linkedServiceName
7066			}
7067		case "parameters":
7068			if v != nil {
7069				var parameters map[string]*ParameterSpecification
7070				err = json.Unmarshal(*v, &parameters)
7071				if err != nil {
7072					return err
7073				}
7074				adlsd.Parameters = parameters
7075			}
7076		case "annotations":
7077			if v != nil {
7078				var annotations []interface{}
7079				err = json.Unmarshal(*v, &annotations)
7080				if err != nil {
7081					return err
7082				}
7083				adlsd.Annotations = &annotations
7084			}
7085		case "type":
7086			if v != nil {
7087				var typeVar TypeBasicDataset
7088				err = json.Unmarshal(*v, &typeVar)
7089				if err != nil {
7090					return err
7091				}
7092				adlsd.Type = typeVar
7093			}
7094		}
7095	}
7096
7097	return nil
7098}
7099
7100// AzureDataLakeStoreDatasetTypeProperties azure Data Lake Store dataset properties.
7101type AzureDataLakeStoreDatasetTypeProperties struct {
7102	// FolderPath - Path to the folder in the Azure Data Lake Store. Type: string (or Expression with resultType string).
7103	FolderPath interface{} `json:"folderPath,omitempty"`
7104	// FileName - The name of the file in the Azure Data Lake Store. Type: string (or Expression with resultType string).
7105	FileName interface{} `json:"fileName,omitempty"`
7106	// Format - The format of the Data Lake Store.
7107	Format BasicDatasetStorageFormat `json:"format,omitempty"`
7108	// Compression - The data compression method used for the item(s) in the Azure Data Lake Store.
7109	Compression BasicDatasetCompression `json:"compression,omitempty"`
7110}
7111
7112// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreDatasetTypeProperties struct.
7113func (adlsdtp *AzureDataLakeStoreDatasetTypeProperties) UnmarshalJSON(body []byte) error {
7114	var m map[string]*json.RawMessage
7115	err := json.Unmarshal(body, &m)
7116	if err != nil {
7117		return err
7118	}
7119	for k, v := range m {
7120		switch k {
7121		case "folderPath":
7122			if v != nil {
7123				var folderPath interface{}
7124				err = json.Unmarshal(*v, &folderPath)
7125				if err != nil {
7126					return err
7127				}
7128				adlsdtp.FolderPath = folderPath
7129			}
7130		case "fileName":
7131			if v != nil {
7132				var fileName interface{}
7133				err = json.Unmarshal(*v, &fileName)
7134				if err != nil {
7135					return err
7136				}
7137				adlsdtp.FileName = fileName
7138			}
7139		case "format":
7140			if v != nil {
7141				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
7142				if err != nil {
7143					return err
7144				}
7145				adlsdtp.Format = formatVar
7146			}
7147		case "compression":
7148			if v != nil {
7149				compression, err := unmarshalBasicDatasetCompression(*v)
7150				if err != nil {
7151					return err
7152				}
7153				adlsdtp.Compression = compression
7154			}
7155		}
7156	}
7157
7158	return nil
7159}
7160
7161// AzureDataLakeStoreLinkedService azure Data Lake Store linked service.
7162type AzureDataLakeStoreLinkedService struct {
7163	// AzureDataLakeStoreLinkedServiceTypeProperties - Azure Data Lake Store linked service properties.
7164	*AzureDataLakeStoreLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
7165	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7166	AdditionalProperties map[string]interface{} `json:""`
7167	// ConnectVia - The integration runtime reference.
7168	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
7169	// Description - Linked service description.
7170	Description *string `json:"description,omitempty"`
7171	// Parameters - Parameters for linked service.
7172	Parameters map[string]*ParameterSpecification `json:"parameters"`
7173	// Annotations - List of tags that can be used for describing the Dataset.
7174	Annotations *[]interface{} `json:"annotations,omitempty"`
7175	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
7176	Type TypeBasicLinkedService `json:"type,omitempty"`
7177}
7178
7179// MarshalJSON is the custom marshaler for AzureDataLakeStoreLinkedService.
7180func (adlsls AzureDataLakeStoreLinkedService) MarshalJSON() ([]byte, error) {
7181	adlsls.Type = TypeAzureDataLakeStore
7182	objectMap := make(map[string]interface{})
7183	if adlsls.AzureDataLakeStoreLinkedServiceTypeProperties != nil {
7184		objectMap["typeProperties"] = adlsls.AzureDataLakeStoreLinkedServiceTypeProperties
7185	}
7186	if adlsls.ConnectVia != nil {
7187		objectMap["connectVia"] = adlsls.ConnectVia
7188	}
7189	if adlsls.Description != nil {
7190		objectMap["description"] = adlsls.Description
7191	}
7192	if adlsls.Parameters != nil {
7193		objectMap["parameters"] = adlsls.Parameters
7194	}
7195	if adlsls.Annotations != nil {
7196		objectMap["annotations"] = adlsls.Annotations
7197	}
7198	if adlsls.Type != "" {
7199		objectMap["type"] = adlsls.Type
7200	}
7201	for k, v := range adlsls.AdditionalProperties {
7202		objectMap[k] = v
7203	}
7204	return json.Marshal(objectMap)
7205}
7206
7207// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7208func (adlsls AzureDataLakeStoreLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
7209	return nil, false
7210}
7211
7212// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7213func (adlsls AzureDataLakeStoreLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
7214	return nil, false
7215}
7216
7217// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7218func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
7219	return nil, false
7220}
7221
7222// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7223func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
7224	return nil, false
7225}
7226
7227// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7228func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
7229	return nil, false
7230}
7231
7232// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7233func (adlsls AzureDataLakeStoreLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
7234	return nil, false
7235}
7236
7237// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7238func (adlsls AzureDataLakeStoreLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
7239	return nil, false
7240}
7241
7242// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7243func (adlsls AzureDataLakeStoreLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
7244	return nil, false
7245}
7246
7247// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7248func (adlsls AzureDataLakeStoreLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
7249	return nil, false
7250}
7251
7252// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7253func (adlsls AzureDataLakeStoreLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
7254	return nil, false
7255}
7256
7257// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7258func (adlsls AzureDataLakeStoreLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
7259	return nil, false
7260}
7261
7262// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7263func (adlsls AzureDataLakeStoreLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
7264	return nil, false
7265}
7266
7267// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7268func (adlsls AzureDataLakeStoreLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
7269	return nil, false
7270}
7271
7272// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7273func (adlsls AzureDataLakeStoreLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
7274	return nil, false
7275}
7276
7277// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7278func (adlsls AzureDataLakeStoreLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
7279	return nil, false
7280}
7281
7282// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7283func (adlsls AzureDataLakeStoreLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
7284	return nil, false
7285}
7286
7287// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7288func (adlsls AzureDataLakeStoreLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
7289	return nil, false
7290}
7291
7292// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7293func (adlsls AzureDataLakeStoreLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
7294	return nil, false
7295}
7296
7297// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7298func (adlsls AzureDataLakeStoreLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
7299	return nil, false
7300}
7301
7302// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7303func (adlsls AzureDataLakeStoreLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
7304	return nil, false
7305}
7306
7307// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7308func (adlsls AzureDataLakeStoreLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
7309	return nil, false
7310}
7311
7312// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7313func (adlsls AzureDataLakeStoreLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
7314	return nil, false
7315}
7316
7317// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7318func (adlsls AzureDataLakeStoreLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
7319	return nil, false
7320}
7321
7322// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7323func (adlsls AzureDataLakeStoreLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
7324	return nil, false
7325}
7326
7327// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7328func (adlsls AzureDataLakeStoreLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
7329	return nil, false
7330}
7331
7332// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7333func (adlsls AzureDataLakeStoreLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
7334	return nil, false
7335}
7336
7337// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7338func (adlsls AzureDataLakeStoreLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
7339	return nil, false
7340}
7341
7342// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7343func (adlsls AzureDataLakeStoreLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
7344	return nil, false
7345}
7346
7347// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7348func (adlsls AzureDataLakeStoreLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
7349	return nil, false
7350}
7351
7352// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7353func (adlsls AzureDataLakeStoreLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
7354	return nil, false
7355}
7356
7357// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7358func (adlsls AzureDataLakeStoreLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
7359	return nil, false
7360}
7361
7362// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7363func (adlsls AzureDataLakeStoreLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
7364	return nil, false
7365}
7366
7367// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7368func (adlsls AzureDataLakeStoreLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
7369	return nil, false
7370}
7371
7372// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7373func (adlsls AzureDataLakeStoreLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
7374	return nil, false
7375}
7376
7377// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7378func (adlsls AzureDataLakeStoreLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
7379	return nil, false
7380}
7381
7382// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7383func (adlsls AzureDataLakeStoreLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
7384	return nil, false
7385}
7386
7387// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7388func (adlsls AzureDataLakeStoreLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
7389	return nil, false
7390}
7391
7392// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7393func (adlsls AzureDataLakeStoreLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
7394	return nil, false
7395}
7396
7397// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7398func (adlsls AzureDataLakeStoreLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
7399	return nil, false
7400}
7401
7402// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7403func (adlsls AzureDataLakeStoreLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
7404	return nil, false
7405}
7406
7407// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7408func (adlsls AzureDataLakeStoreLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
7409	return nil, false
7410}
7411
7412// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7413func (adlsls AzureDataLakeStoreLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
7414	return nil, false
7415}
7416
7417// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7418func (adlsls AzureDataLakeStoreLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
7419	return nil, false
7420}
7421
7422// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7423func (adlsls AzureDataLakeStoreLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
7424	return nil, false
7425}
7426
7427// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7428func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
7429	return nil, false
7430}
7431
7432// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7433func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
7434	return &adlsls, true
7435}
7436
7437// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7438func (adlsls AzureDataLakeStoreLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
7439	return nil, false
7440}
7441
7442// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7443func (adlsls AzureDataLakeStoreLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
7444	return nil, false
7445}
7446
7447// AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7448func (adlsls AzureDataLakeStoreLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
7449	return nil, false
7450}
7451
7452// AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7453func (adlsls AzureDataLakeStoreLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
7454	return nil, false
7455}
7456
7457// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7458func (adlsls AzureDataLakeStoreLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
7459	return nil, false
7460}
7461
7462// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7463func (adlsls AzureDataLakeStoreLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
7464	return nil, false
7465}
7466
7467// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7468func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
7469	return nil, false
7470}
7471
7472// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7473func (adlsls AzureDataLakeStoreLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
7474	return nil, false
7475}
7476
7477// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7478func (adlsls AzureDataLakeStoreLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
7479	return nil, false
7480}
7481
7482// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7483func (adlsls AzureDataLakeStoreLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
7484	return nil, false
7485}
7486
7487// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7488func (adlsls AzureDataLakeStoreLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
7489	return nil, false
7490}
7491
7492// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7493func (adlsls AzureDataLakeStoreLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
7494	return nil, false
7495}
7496
7497// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7498func (adlsls AzureDataLakeStoreLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
7499	return nil, false
7500}
7501
7502// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7503func (adlsls AzureDataLakeStoreLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
7504	return nil, false
7505}
7506
7507// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7508func (adlsls AzureDataLakeStoreLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
7509	return nil, false
7510}
7511
7512// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7513func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
7514	return nil, false
7515}
7516
7517// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7518func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
7519	return nil, false
7520}
7521
7522// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7523func (adlsls AzureDataLakeStoreLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
7524	return nil, false
7525}
7526
7527// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7528func (adlsls AzureDataLakeStoreLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
7529	return nil, false
7530}
7531
7532// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7533func (adlsls AzureDataLakeStoreLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
7534	return nil, false
7535}
7536
7537// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7538func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
7539	return nil, false
7540}
7541
7542// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7543func (adlsls AzureDataLakeStoreLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
7544	return nil, false
7545}
7546
7547// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7548func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
7549	return nil, false
7550}
7551
7552// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7553func (adlsls AzureDataLakeStoreLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
7554	return nil, false
7555}
7556
7557// AsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7558func (adlsls AzureDataLakeStoreLinkedService) AsLinkedService() (*LinkedService, bool) {
7559	return nil, false
7560}
7561
7562// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7563func (adlsls AzureDataLakeStoreLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
7564	return &adlsls, true
7565}
7566
7567// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedService struct.
7568func (adlsls *AzureDataLakeStoreLinkedService) UnmarshalJSON(body []byte) error {
7569	var m map[string]*json.RawMessage
7570	err := json.Unmarshal(body, &m)
7571	if err != nil {
7572		return err
7573	}
7574	for k, v := range m {
7575		switch k {
7576		case "typeProperties":
7577			if v != nil {
7578				var azureDataLakeStoreLinkedServiceTypeProperties AzureDataLakeStoreLinkedServiceTypeProperties
7579				err = json.Unmarshal(*v, &azureDataLakeStoreLinkedServiceTypeProperties)
7580				if err != nil {
7581					return err
7582				}
7583				adlsls.AzureDataLakeStoreLinkedServiceTypeProperties = &azureDataLakeStoreLinkedServiceTypeProperties
7584			}
7585		default:
7586			if v != nil {
7587				var additionalProperties interface{}
7588				err = json.Unmarshal(*v, &additionalProperties)
7589				if err != nil {
7590					return err
7591				}
7592				if adlsls.AdditionalProperties == nil {
7593					adlsls.AdditionalProperties = make(map[string]interface{})
7594				}
7595				adlsls.AdditionalProperties[k] = additionalProperties
7596			}
7597		case "connectVia":
7598			if v != nil {
7599				var connectVia IntegrationRuntimeReference
7600				err = json.Unmarshal(*v, &connectVia)
7601				if err != nil {
7602					return err
7603				}
7604				adlsls.ConnectVia = &connectVia
7605			}
7606		case "description":
7607			if v != nil {
7608				var description string
7609				err = json.Unmarshal(*v, &description)
7610				if err != nil {
7611					return err
7612				}
7613				adlsls.Description = &description
7614			}
7615		case "parameters":
7616			if v != nil {
7617				var parameters map[string]*ParameterSpecification
7618				err = json.Unmarshal(*v, &parameters)
7619				if err != nil {
7620					return err
7621				}
7622				adlsls.Parameters = parameters
7623			}
7624		case "annotations":
7625			if v != nil {
7626				var annotations []interface{}
7627				err = json.Unmarshal(*v, &annotations)
7628				if err != nil {
7629					return err
7630				}
7631				adlsls.Annotations = &annotations
7632			}
7633		case "type":
7634			if v != nil {
7635				var typeVar TypeBasicLinkedService
7636				err = json.Unmarshal(*v, &typeVar)
7637				if err != nil {
7638					return err
7639				}
7640				adlsls.Type = typeVar
7641			}
7642		}
7643	}
7644
7645	return nil
7646}
7647
7648// AzureDataLakeStoreLinkedServiceTypeProperties azure Data Lake Store linked service properties.
7649type AzureDataLakeStoreLinkedServiceTypeProperties struct {
7650	// DataLakeStoreURI - Data Lake Store service URI. Type: string (or Expression with resultType string).
7651	DataLakeStoreURI interface{} `json:"dataLakeStoreUri,omitempty"`
7652	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Store account. Type: string (or Expression with resultType string).
7653	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
7654	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Store account.
7655	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
7656	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
7657	Tenant interface{} `json:"tenant,omitempty"`
7658	// AccountName - Data Lake Store account name. Type: string (or Expression with resultType string).
7659	AccountName interface{} `json:"accountName,omitempty"`
7660	// SubscriptionID - Data Lake Store account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
7661	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
7662	// ResourceGroupName - Data Lake Store account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
7663	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
7664	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
7665	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
7666}
7667
7668// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedServiceTypeProperties struct.
7669func (adlslstp *AzureDataLakeStoreLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
7670	var m map[string]*json.RawMessage
7671	err := json.Unmarshal(body, &m)
7672	if err != nil {
7673		return err
7674	}
7675	for k, v := range m {
7676		switch k {
7677		case "dataLakeStoreUri":
7678			if v != nil {
7679				var dataLakeStoreURI interface{}
7680				err = json.Unmarshal(*v, &dataLakeStoreURI)
7681				if err != nil {
7682					return err
7683				}
7684				adlslstp.DataLakeStoreURI = dataLakeStoreURI
7685			}
7686		case "servicePrincipalId":
7687			if v != nil {
7688				var servicePrincipalID interface{}
7689				err = json.Unmarshal(*v, &servicePrincipalID)
7690				if err != nil {
7691					return err
7692				}
7693				adlslstp.ServicePrincipalID = servicePrincipalID
7694			}
7695		case "servicePrincipalKey":
7696			if v != nil {
7697				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
7698				if err != nil {
7699					return err
7700				}
7701				adlslstp.ServicePrincipalKey = servicePrincipalKey
7702			}
7703		case "tenant":
7704			if v != nil {
7705				var tenant interface{}
7706				err = json.Unmarshal(*v, &tenant)
7707				if err != nil {
7708					return err
7709				}
7710				adlslstp.Tenant = tenant
7711			}
7712		case "accountName":
7713			if v != nil {
7714				var accountName interface{}
7715				err = json.Unmarshal(*v, &accountName)
7716				if err != nil {
7717					return err
7718				}
7719				adlslstp.AccountName = accountName
7720			}
7721		case "subscriptionId":
7722			if v != nil {
7723				var subscriptionID interface{}
7724				err = json.Unmarshal(*v, &subscriptionID)
7725				if err != nil {
7726					return err
7727				}
7728				adlslstp.SubscriptionID = subscriptionID
7729			}
7730		case "resourceGroupName":
7731			if v != nil {
7732				var resourceGroupName interface{}
7733				err = json.Unmarshal(*v, &resourceGroupName)
7734				if err != nil {
7735					return err
7736				}
7737				adlslstp.ResourceGroupName = resourceGroupName
7738			}
7739		case "encryptedCredential":
7740			if v != nil {
7741				var encryptedCredential interface{}
7742				err = json.Unmarshal(*v, &encryptedCredential)
7743				if err != nil {
7744					return err
7745				}
7746				adlslstp.EncryptedCredential = encryptedCredential
7747			}
7748		}
7749	}
7750
7751	return nil
7752}
7753
7754// AzureDataLakeStoreSink a copy activity Azure Data Lake Store sink.
7755type AzureDataLakeStoreSink struct {
7756	// CopyBehavior - The type of copy behavior for copy sink.
7757	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
7758	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7759	AdditionalProperties map[string]interface{} `json:""`
7760	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
7761	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
7762	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7763	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
7764	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
7765	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
7766	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7767	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
7768	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
7769	Type TypeBasicCopySink `json:"type,omitempty"`
7770}
7771
7772// MarshalJSON is the custom marshaler for AzureDataLakeStoreSink.
7773func (adlss AzureDataLakeStoreSink) MarshalJSON() ([]byte, error) {
7774	adlss.Type = TypeAzureDataLakeStoreSink
7775	objectMap := make(map[string]interface{})
7776	if adlss.CopyBehavior != nil {
7777		objectMap["copyBehavior"] = adlss.CopyBehavior
7778	}
7779	if adlss.WriteBatchSize != nil {
7780		objectMap["writeBatchSize"] = adlss.WriteBatchSize
7781	}
7782	if adlss.WriteBatchTimeout != nil {
7783		objectMap["writeBatchTimeout"] = adlss.WriteBatchTimeout
7784	}
7785	if adlss.SinkRetryCount != nil {
7786		objectMap["sinkRetryCount"] = adlss.SinkRetryCount
7787	}
7788	if adlss.SinkRetryWait != nil {
7789		objectMap["sinkRetryWait"] = adlss.SinkRetryWait
7790	}
7791	if adlss.Type != "" {
7792		objectMap["type"] = adlss.Type
7793	}
7794	for k, v := range adlss.AdditionalProperties {
7795		objectMap[k] = v
7796	}
7797	return json.Marshal(objectMap)
7798}
7799
7800// AsSalesforceSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7801func (adlss AzureDataLakeStoreSink) AsSalesforceSink() (*SalesforceSink, bool) {
7802	return nil, false
7803}
7804
7805// AsDynamicsSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7806func (adlss AzureDataLakeStoreSink) AsDynamicsSink() (*DynamicsSink, bool) {
7807	return nil, false
7808}
7809
7810// AsOdbcSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7811func (adlss AzureDataLakeStoreSink) AsOdbcSink() (*OdbcSink, bool) {
7812	return nil, false
7813}
7814
7815// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7816func (adlss AzureDataLakeStoreSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
7817	return nil, false
7818}
7819
7820// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7821func (adlss AzureDataLakeStoreSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
7822	return &adlss, true
7823}
7824
7825// AsOracleSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7826func (adlss AzureDataLakeStoreSink) AsOracleSink() (*OracleSink, bool) {
7827	return nil, false
7828}
7829
7830// AsSQLDWSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7831func (adlss AzureDataLakeStoreSink) AsSQLDWSink() (*SQLDWSink, bool) {
7832	return nil, false
7833}
7834
7835// AsSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7836func (adlss AzureDataLakeStoreSink) AsSQLSink() (*SQLSink, bool) {
7837	return nil, false
7838}
7839
7840// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7841func (adlss AzureDataLakeStoreSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
7842	return nil, false
7843}
7844
7845// AsFileSystemSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7846func (adlss AzureDataLakeStoreSink) AsFileSystemSink() (*FileSystemSink, bool) {
7847	return nil, false
7848}
7849
7850// AsBlobSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7851func (adlss AzureDataLakeStoreSink) AsBlobSink() (*BlobSink, bool) {
7852	return nil, false
7853}
7854
7855// AsAzureTableSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7856func (adlss AzureDataLakeStoreSink) AsAzureTableSink() (*AzureTableSink, bool) {
7857	return nil, false
7858}
7859
7860// AsAzureQueueSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7861func (adlss AzureDataLakeStoreSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
7862	return nil, false
7863}
7864
7865// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7866func (adlss AzureDataLakeStoreSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
7867	return nil, false
7868}
7869
7870// AsCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7871func (adlss AzureDataLakeStoreSink) AsCopySink() (*CopySink, bool) {
7872	return nil, false
7873}
7874
7875// AsBasicCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7876func (adlss AzureDataLakeStoreSink) AsBasicCopySink() (BasicCopySink, bool) {
7877	return &adlss, true
7878}
7879
7880// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSink struct.
7881func (adlss *AzureDataLakeStoreSink) UnmarshalJSON(body []byte) error {
7882	var m map[string]*json.RawMessage
7883	err := json.Unmarshal(body, &m)
7884	if err != nil {
7885		return err
7886	}
7887	for k, v := range m {
7888		switch k {
7889		case "copyBehavior":
7890			if v != nil {
7891				var copyBehavior interface{}
7892				err = json.Unmarshal(*v, &copyBehavior)
7893				if err != nil {
7894					return err
7895				}
7896				adlss.CopyBehavior = copyBehavior
7897			}
7898		default:
7899			if v != nil {
7900				var additionalProperties interface{}
7901				err = json.Unmarshal(*v, &additionalProperties)
7902				if err != nil {
7903					return err
7904				}
7905				if adlss.AdditionalProperties == nil {
7906					adlss.AdditionalProperties = make(map[string]interface{})
7907				}
7908				adlss.AdditionalProperties[k] = additionalProperties
7909			}
7910		case "writeBatchSize":
7911			if v != nil {
7912				var writeBatchSize interface{}
7913				err = json.Unmarshal(*v, &writeBatchSize)
7914				if err != nil {
7915					return err
7916				}
7917				adlss.WriteBatchSize = writeBatchSize
7918			}
7919		case "writeBatchTimeout":
7920			if v != nil {
7921				var writeBatchTimeout interface{}
7922				err = json.Unmarshal(*v, &writeBatchTimeout)
7923				if err != nil {
7924					return err
7925				}
7926				adlss.WriteBatchTimeout = writeBatchTimeout
7927			}
7928		case "sinkRetryCount":
7929			if v != nil {
7930				var sinkRetryCount interface{}
7931				err = json.Unmarshal(*v, &sinkRetryCount)
7932				if err != nil {
7933					return err
7934				}
7935				adlss.SinkRetryCount = sinkRetryCount
7936			}
7937		case "sinkRetryWait":
7938			if v != nil {
7939				var sinkRetryWait interface{}
7940				err = json.Unmarshal(*v, &sinkRetryWait)
7941				if err != nil {
7942					return err
7943				}
7944				adlss.SinkRetryWait = sinkRetryWait
7945			}
7946		case "type":
7947			if v != nil {
7948				var typeVar TypeBasicCopySink
7949				err = json.Unmarshal(*v, &typeVar)
7950				if err != nil {
7951					return err
7952				}
7953				adlss.Type = typeVar
7954			}
7955		}
7956	}
7957
7958	return nil
7959}
7960
7961// AzureDataLakeStoreSource a copy activity Azure Data Lake source.
7962type AzureDataLakeStoreSource struct {
7963	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
7964	Recursive interface{} `json:"recursive,omitempty"`
7965	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7966	AdditionalProperties map[string]interface{} `json:""`
7967	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
7968	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
7969	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7970	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
7971	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
7972	Type TypeBasicCopySource `json:"type,omitempty"`
7973}
7974
7975// MarshalJSON is the custom marshaler for AzureDataLakeStoreSource.
7976func (adlss AzureDataLakeStoreSource) MarshalJSON() ([]byte, error) {
7977	adlss.Type = TypeAzureDataLakeStoreSource
7978	objectMap := make(map[string]interface{})
7979	if adlss.Recursive != nil {
7980		objectMap["recursive"] = adlss.Recursive
7981	}
7982	if adlss.SourceRetryCount != nil {
7983		objectMap["sourceRetryCount"] = adlss.SourceRetryCount
7984	}
7985	if adlss.SourceRetryWait != nil {
7986		objectMap["sourceRetryWait"] = adlss.SourceRetryWait
7987	}
7988	if adlss.Type != "" {
7989		objectMap["type"] = adlss.Type
7990	}
7991	for k, v := range adlss.AdditionalProperties {
7992		objectMap[k] = v
7993	}
7994	return json.Marshal(objectMap)
7995}
7996
7997// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
7998func (adlss AzureDataLakeStoreSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
7999	return nil, false
8000}
8001
8002// AsResponsysSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8003func (adlss AzureDataLakeStoreSource) AsResponsysSource() (*ResponsysSource, bool) {
8004	return nil, false
8005}
8006
8007// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8008func (adlss AzureDataLakeStoreSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
8009	return nil, false
8010}
8011
8012// AsVerticaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8013func (adlss AzureDataLakeStoreSource) AsVerticaSource() (*VerticaSource, bool) {
8014	return nil, false
8015}
8016
8017// AsNetezzaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8018func (adlss AzureDataLakeStoreSource) AsNetezzaSource() (*NetezzaSource, bool) {
8019	return nil, false
8020}
8021
8022// AsZohoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8023func (adlss AzureDataLakeStoreSource) AsZohoSource() (*ZohoSource, bool) {
8024	return nil, false
8025}
8026
8027// AsXeroSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8028func (adlss AzureDataLakeStoreSource) AsXeroSource() (*XeroSource, bool) {
8029	return nil, false
8030}
8031
8032// AsSquareSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8033func (adlss AzureDataLakeStoreSource) AsSquareSource() (*SquareSource, bool) {
8034	return nil, false
8035}
8036
8037// AsSparkSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8038func (adlss AzureDataLakeStoreSource) AsSparkSource() (*SparkSource, bool) {
8039	return nil, false
8040}
8041
8042// AsShopifySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8043func (adlss AzureDataLakeStoreSource) AsShopifySource() (*ShopifySource, bool) {
8044	return nil, false
8045}
8046
8047// AsServiceNowSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8048func (adlss AzureDataLakeStoreSource) AsServiceNowSource() (*ServiceNowSource, bool) {
8049	return nil, false
8050}
8051
8052// AsQuickBooksSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8053func (adlss AzureDataLakeStoreSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
8054	return nil, false
8055}
8056
8057// AsPrestoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8058func (adlss AzureDataLakeStoreSource) AsPrestoSource() (*PrestoSource, bool) {
8059	return nil, false
8060}
8061
8062// AsPhoenixSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8063func (adlss AzureDataLakeStoreSource) AsPhoenixSource() (*PhoenixSource, bool) {
8064	return nil, false
8065}
8066
8067// AsPaypalSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8068func (adlss AzureDataLakeStoreSource) AsPaypalSource() (*PaypalSource, bool) {
8069	return nil, false
8070}
8071
8072// AsMarketoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8073func (adlss AzureDataLakeStoreSource) AsMarketoSource() (*MarketoSource, bool) {
8074	return nil, false
8075}
8076
8077// AsMariaDBSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8078func (adlss AzureDataLakeStoreSource) AsMariaDBSource() (*MariaDBSource, bool) {
8079	return nil, false
8080}
8081
8082// AsMagentoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8083func (adlss AzureDataLakeStoreSource) AsMagentoSource() (*MagentoSource, bool) {
8084	return nil, false
8085}
8086
8087// AsJiraSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8088func (adlss AzureDataLakeStoreSource) AsJiraSource() (*JiraSource, bool) {
8089	return nil, false
8090}
8091
8092// AsImpalaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8093func (adlss AzureDataLakeStoreSource) AsImpalaSource() (*ImpalaSource, bool) {
8094	return nil, false
8095}
8096
8097// AsHubspotSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8098func (adlss AzureDataLakeStoreSource) AsHubspotSource() (*HubspotSource, bool) {
8099	return nil, false
8100}
8101
8102// AsHiveSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8103func (adlss AzureDataLakeStoreSource) AsHiveSource() (*HiveSource, bool) {
8104	return nil, false
8105}
8106
8107// AsHBaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8108func (adlss AzureDataLakeStoreSource) AsHBaseSource() (*HBaseSource, bool) {
8109	return nil, false
8110}
8111
8112// AsGreenplumSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8113func (adlss AzureDataLakeStoreSource) AsGreenplumSource() (*GreenplumSource, bool) {
8114	return nil, false
8115}
8116
8117// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8118func (adlss AzureDataLakeStoreSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
8119	return nil, false
8120}
8121
8122// AsEloquaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8123func (adlss AzureDataLakeStoreSource) AsEloquaSource() (*EloquaSource, bool) {
8124	return nil, false
8125}
8126
8127// AsDrillSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8128func (adlss AzureDataLakeStoreSource) AsDrillSource() (*DrillSource, bool) {
8129	return nil, false
8130}
8131
8132// AsCouchbaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8133func (adlss AzureDataLakeStoreSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
8134	return nil, false
8135}
8136
8137// AsConcurSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8138func (adlss AzureDataLakeStoreSource) AsConcurSource() (*ConcurSource, bool) {
8139	return nil, false
8140}
8141
8142// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8143func (adlss AzureDataLakeStoreSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
8144	return nil, false
8145}
8146
8147// AsAmazonMWSSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8148func (adlss AzureDataLakeStoreSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
8149	return nil, false
8150}
8151
8152// AsHTTPSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8153func (adlss AzureDataLakeStoreSource) AsHTTPSource() (*HTTPSource, bool) {
8154	return nil, false
8155}
8156
8157// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8158func (adlss AzureDataLakeStoreSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
8159	return &adlss, true
8160}
8161
8162// AsMongoDbSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8163func (adlss AzureDataLakeStoreSource) AsMongoDbSource() (*MongoDbSource, bool) {
8164	return nil, false
8165}
8166
8167// AsCassandraSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8168func (adlss AzureDataLakeStoreSource) AsCassandraSource() (*CassandraSource, bool) {
8169	return nil, false
8170}
8171
8172// AsWebSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8173func (adlss AzureDataLakeStoreSource) AsWebSource() (*WebSource, bool) {
8174	return nil, false
8175}
8176
8177// AsOracleSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8178func (adlss AzureDataLakeStoreSource) AsOracleSource() (*OracleSource, bool) {
8179	return nil, false
8180}
8181
8182// AsAzureMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8183func (adlss AzureDataLakeStoreSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
8184	return nil, false
8185}
8186
8187// AsHdfsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8188func (adlss AzureDataLakeStoreSource) AsHdfsSource() (*HdfsSource, bool) {
8189	return nil, false
8190}
8191
8192// AsFileSystemSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8193func (adlss AzureDataLakeStoreSource) AsFileSystemSource() (*FileSystemSource, bool) {
8194	return nil, false
8195}
8196
8197// AsSQLDWSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8198func (adlss AzureDataLakeStoreSource) AsSQLDWSource() (*SQLDWSource, bool) {
8199	return nil, false
8200}
8201
8202// AsSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8203func (adlss AzureDataLakeStoreSource) AsSQLSource() (*SQLSource, bool) {
8204	return nil, false
8205}
8206
8207// AsSapEccSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8208func (adlss AzureDataLakeStoreSource) AsSapEccSource() (*SapEccSource, bool) {
8209	return nil, false
8210}
8211
8212// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8213func (adlss AzureDataLakeStoreSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
8214	return nil, false
8215}
8216
8217// AsSalesforceSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8218func (adlss AzureDataLakeStoreSource) AsSalesforceSource() (*SalesforceSource, bool) {
8219	return nil, false
8220}
8221
8222// AsRelationalSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8223func (adlss AzureDataLakeStoreSource) AsRelationalSource() (*RelationalSource, bool) {
8224	return nil, false
8225}
8226
8227// AsDynamicsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8228func (adlss AzureDataLakeStoreSource) AsDynamicsSource() (*DynamicsSource, bool) {
8229	return nil, false
8230}
8231
8232// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8233func (adlss AzureDataLakeStoreSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
8234	return nil, false
8235}
8236
8237// AsBlobSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8238func (adlss AzureDataLakeStoreSource) AsBlobSource() (*BlobSource, bool) {
8239	return nil, false
8240}
8241
8242// AsAzureTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8243func (adlss AzureDataLakeStoreSource) AsAzureTableSource() (*AzureTableSource, bool) {
8244	return nil, false
8245}
8246
8247// AsCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8248func (adlss AzureDataLakeStoreSource) AsCopySource() (*CopySource, bool) {
8249	return nil, false
8250}
8251
8252// AsBasicCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8253func (adlss AzureDataLakeStoreSource) AsBasicCopySource() (BasicCopySource, bool) {
8254	return &adlss, true
8255}
8256
8257// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSource struct.
8258func (adlss *AzureDataLakeStoreSource) UnmarshalJSON(body []byte) error {
8259	var m map[string]*json.RawMessage
8260	err := json.Unmarshal(body, &m)
8261	if err != nil {
8262		return err
8263	}
8264	for k, v := range m {
8265		switch k {
8266		case "recursive":
8267			if v != nil {
8268				var recursive interface{}
8269				err = json.Unmarshal(*v, &recursive)
8270				if err != nil {
8271					return err
8272				}
8273				adlss.Recursive = recursive
8274			}
8275		default:
8276			if v != nil {
8277				var additionalProperties interface{}
8278				err = json.Unmarshal(*v, &additionalProperties)
8279				if err != nil {
8280					return err
8281				}
8282				if adlss.AdditionalProperties == nil {
8283					adlss.AdditionalProperties = make(map[string]interface{})
8284				}
8285				adlss.AdditionalProperties[k] = additionalProperties
8286			}
8287		case "sourceRetryCount":
8288			if v != nil {
8289				var sourceRetryCount interface{}
8290				err = json.Unmarshal(*v, &sourceRetryCount)
8291				if err != nil {
8292					return err
8293				}
8294				adlss.SourceRetryCount = sourceRetryCount
8295			}
8296		case "sourceRetryWait":
8297			if v != nil {
8298				var sourceRetryWait interface{}
8299				err = json.Unmarshal(*v, &sourceRetryWait)
8300				if err != nil {
8301					return err
8302				}
8303				adlss.SourceRetryWait = sourceRetryWait
8304			}
8305		case "type":
8306			if v != nil {
8307				var typeVar TypeBasicCopySource
8308				err = json.Unmarshal(*v, &typeVar)
8309				if err != nil {
8310					return err
8311				}
8312				adlss.Type = typeVar
8313			}
8314		}
8315	}
8316
8317	return nil
8318}
8319
8320// AzureKeyVaultLinkedService azure Key Vault linked service.
8321type AzureKeyVaultLinkedService struct {
8322	// AzureKeyVaultLinkedServiceTypeProperties - Azure Key Vault linked service properties.
8323	*AzureKeyVaultLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
8324	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
8325	AdditionalProperties map[string]interface{} `json:""`
8326	// ConnectVia - The integration runtime reference.
8327	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
8328	// Description - Linked service description.
8329	Description *string `json:"description,omitempty"`
8330	// Parameters - Parameters for linked service.
8331	Parameters map[string]*ParameterSpecification `json:"parameters"`
8332	// Annotations - List of tags that can be used for describing the Dataset.
8333	Annotations *[]interface{} `json:"annotations,omitempty"`
8334	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
8335	Type TypeBasicLinkedService `json:"type,omitempty"`
8336}
8337
8338// MarshalJSON is the custom marshaler for AzureKeyVaultLinkedService.
8339func (akvls AzureKeyVaultLinkedService) MarshalJSON() ([]byte, error) {
8340	akvls.Type = TypeAzureKeyVault
8341	objectMap := make(map[string]interface{})
8342	if akvls.AzureKeyVaultLinkedServiceTypeProperties != nil {
8343		objectMap["typeProperties"] = akvls.AzureKeyVaultLinkedServiceTypeProperties
8344	}
8345	if akvls.ConnectVia != nil {
8346		objectMap["connectVia"] = akvls.ConnectVia
8347	}
8348	if akvls.Description != nil {
8349		objectMap["description"] = akvls.Description
8350	}
8351	if akvls.Parameters != nil {
8352		objectMap["parameters"] = akvls.Parameters
8353	}
8354	if akvls.Annotations != nil {
8355		objectMap["annotations"] = akvls.Annotations
8356	}
8357	if akvls.Type != "" {
8358		objectMap["type"] = akvls.Type
8359	}
8360	for k, v := range akvls.AdditionalProperties {
8361		objectMap[k] = v
8362	}
8363	return json.Marshal(objectMap)
8364}
8365
8366// AsResponsysLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8367func (akvls AzureKeyVaultLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
8368	return nil, false
8369}
8370
8371// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8372func (akvls AzureKeyVaultLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
8373	return nil, false
8374}
8375
8376// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8377func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
8378	return nil, false
8379}
8380
8381// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8382func (akvls AzureKeyVaultLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
8383	return nil, false
8384}
8385
8386// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8387func (akvls AzureKeyVaultLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
8388	return nil, false
8389}
8390
8391// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8392func (akvls AzureKeyVaultLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
8393	return nil, false
8394}
8395
8396// AsVerticaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8397func (akvls AzureKeyVaultLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
8398	return nil, false
8399}
8400
8401// AsZohoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8402func (akvls AzureKeyVaultLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
8403	return nil, false
8404}
8405
8406// AsXeroLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8407func (akvls AzureKeyVaultLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
8408	return nil, false
8409}
8410
8411// AsSquareLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8412func (akvls AzureKeyVaultLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
8413	return nil, false
8414}
8415
8416// AsSparkLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8417func (akvls AzureKeyVaultLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
8418	return nil, false
8419}
8420
8421// AsShopifyLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8422func (akvls AzureKeyVaultLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
8423	return nil, false
8424}
8425
8426// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8427func (akvls AzureKeyVaultLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
8428	return nil, false
8429}
8430
8431// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8432func (akvls AzureKeyVaultLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
8433	return nil, false
8434}
8435
8436// AsPrestoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8437func (akvls AzureKeyVaultLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
8438	return nil, false
8439}
8440
8441// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8442func (akvls AzureKeyVaultLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
8443	return nil, false
8444}
8445
8446// AsPaypalLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8447func (akvls AzureKeyVaultLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
8448	return nil, false
8449}
8450
8451// AsMarketoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8452func (akvls AzureKeyVaultLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
8453	return nil, false
8454}
8455
8456// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8457func (akvls AzureKeyVaultLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
8458	return nil, false
8459}
8460
8461// AsMagentoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8462func (akvls AzureKeyVaultLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
8463	return nil, false
8464}
8465
8466// AsJiraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8467func (akvls AzureKeyVaultLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
8468	return nil, false
8469}
8470
8471// AsImpalaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8472func (akvls AzureKeyVaultLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
8473	return nil, false
8474}
8475
8476// AsHubspotLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8477func (akvls AzureKeyVaultLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
8478	return nil, false
8479}
8480
8481// AsHiveLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8482func (akvls AzureKeyVaultLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
8483	return nil, false
8484}
8485
8486// AsHBaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8487func (akvls AzureKeyVaultLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
8488	return nil, false
8489}
8490
8491// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8492func (akvls AzureKeyVaultLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
8493	return nil, false
8494}
8495
8496// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8497func (akvls AzureKeyVaultLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
8498	return nil, false
8499}
8500
8501// AsEloquaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8502func (akvls AzureKeyVaultLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
8503	return nil, false
8504}
8505
8506// AsDrillLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8507func (akvls AzureKeyVaultLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
8508	return nil, false
8509}
8510
8511// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8512func (akvls AzureKeyVaultLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
8513	return nil, false
8514}
8515
8516// AsConcurLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8517func (akvls AzureKeyVaultLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
8518	return nil, false
8519}
8520
8521// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8522func (akvls AzureKeyVaultLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
8523	return nil, false
8524}
8525
8526// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8527func (akvls AzureKeyVaultLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
8528	return nil, false
8529}
8530
8531// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8532func (akvls AzureKeyVaultLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
8533	return nil, false
8534}
8535
8536// AsSapBWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8537func (akvls AzureKeyVaultLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
8538	return nil, false
8539}
8540
8541// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8542func (akvls AzureKeyVaultLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
8543	return nil, false
8544}
8545
8546// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8547func (akvls AzureKeyVaultLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
8548	return nil, false
8549}
8550
8551// AsHTTPLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8552func (akvls AzureKeyVaultLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
8553	return nil, false
8554}
8555
8556// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8557func (akvls AzureKeyVaultLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
8558	return nil, false
8559}
8560
8561// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8562func (akvls AzureKeyVaultLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
8563	return nil, false
8564}
8565
8566// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8567func (akvls AzureKeyVaultLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
8568	return nil, false
8569}
8570
8571// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8572func (akvls AzureKeyVaultLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
8573	return nil, false
8574}
8575
8576// AsSapEccLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8577func (akvls AzureKeyVaultLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
8578	return nil, false
8579}
8580
8581// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8582func (akvls AzureKeyVaultLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
8583	return nil, false
8584}
8585
8586// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8587func (akvls AzureKeyVaultLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
8588	return nil, false
8589}
8590
8591// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8592func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
8593	return nil, false
8594}
8595
8596// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8597func (akvls AzureKeyVaultLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
8598	return nil, false
8599}
8600
8601// AsCassandraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8602func (akvls AzureKeyVaultLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
8603	return nil, false
8604}
8605
8606// AsWebLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8607func (akvls AzureKeyVaultLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
8608	return nil, false
8609}
8610
8611// AsODataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8612func (akvls AzureKeyVaultLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
8613	return nil, false
8614}
8615
8616// AsHdfsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8617func (akvls AzureKeyVaultLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
8618	return nil, false
8619}
8620
8621// AsOdbcLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8622func (akvls AzureKeyVaultLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
8623	return nil, false
8624}
8625
8626// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8627func (akvls AzureKeyVaultLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
8628	return nil, false
8629}
8630
8631// AsTeradataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8632func (akvls AzureKeyVaultLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
8633	return nil, false
8634}
8635
8636// AsDb2LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8637func (akvls AzureKeyVaultLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
8638	return nil, false
8639}
8640
8641// AsSybaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8642func (akvls AzureKeyVaultLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
8643	return nil, false
8644}
8645
8646// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8647func (akvls AzureKeyVaultLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
8648	return nil, false
8649}
8650
8651// AsMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8652func (akvls AzureKeyVaultLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
8653	return nil, false
8654}
8655
8656// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8657func (akvls AzureKeyVaultLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
8658	return nil, false
8659}
8660
8661// AsOracleLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8662func (akvls AzureKeyVaultLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
8663	return nil, false
8664}
8665
8666// AsFileServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8667func (akvls AzureKeyVaultLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
8668	return nil, false
8669}
8670
8671// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8672func (akvls AzureKeyVaultLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
8673	return nil, false
8674}
8675
8676// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8677func (akvls AzureKeyVaultLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
8678	return nil, false
8679}
8680
8681// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8682func (akvls AzureKeyVaultLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
8683	return nil, false
8684}
8685
8686// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8687func (akvls AzureKeyVaultLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
8688	return &akvls, true
8689}
8690
8691// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8692func (akvls AzureKeyVaultLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
8693	return nil, false
8694}
8695
8696// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8697func (akvls AzureKeyVaultLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
8698	return nil, false
8699}
8700
8701// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8702func (akvls AzureKeyVaultLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
8703	return nil, false
8704}
8705
8706// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8707func (akvls AzureKeyVaultLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
8708	return nil, false
8709}
8710
8711// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8712func (akvls AzureKeyVaultLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
8713	return nil, false
8714}
8715
8716// AsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8717func (akvls AzureKeyVaultLinkedService) AsLinkedService() (*LinkedService, bool) {
8718	return nil, false
8719}
8720
8721// AsBasicLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8722func (akvls AzureKeyVaultLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
8723	return &akvls, true
8724}
8725
8726// UnmarshalJSON is the custom unmarshaler for AzureKeyVaultLinkedService struct.
8727func (akvls *AzureKeyVaultLinkedService) UnmarshalJSON(body []byte) error {
8728	var m map[string]*json.RawMessage
8729	err := json.Unmarshal(body, &m)
8730	if err != nil {
8731		return err
8732	}
8733	for k, v := range m {
8734		switch k {
8735		case "typeProperties":
8736			if v != nil {
8737				var azureKeyVaultLinkedServiceTypeProperties AzureKeyVaultLinkedServiceTypeProperties
8738				err = json.Unmarshal(*v, &azureKeyVaultLinkedServiceTypeProperties)
8739				if err != nil {
8740					return err
8741				}
8742				akvls.AzureKeyVaultLinkedServiceTypeProperties = &azureKeyVaultLinkedServiceTypeProperties
8743			}
8744		default:
8745			if v != nil {
8746				var additionalProperties interface{}
8747				err = json.Unmarshal(*v, &additionalProperties)
8748				if err != nil {
8749					return err
8750				}
8751				if akvls.AdditionalProperties == nil {
8752					akvls.AdditionalProperties = make(map[string]interface{})
8753				}
8754				akvls.AdditionalProperties[k] = additionalProperties
8755			}
8756		case "connectVia":
8757			if v != nil {
8758				var connectVia IntegrationRuntimeReference
8759				err = json.Unmarshal(*v, &connectVia)
8760				if err != nil {
8761					return err
8762				}
8763				akvls.ConnectVia = &connectVia
8764			}
8765		case "description":
8766			if v != nil {
8767				var description string
8768				err = json.Unmarshal(*v, &description)
8769				if err != nil {
8770					return err
8771				}
8772				akvls.Description = &description
8773			}
8774		case "parameters":
8775			if v != nil {
8776				var parameters map[string]*ParameterSpecification
8777				err = json.Unmarshal(*v, &parameters)
8778				if err != nil {
8779					return err
8780				}
8781				akvls.Parameters = parameters
8782			}
8783		case "annotations":
8784			if v != nil {
8785				var annotations []interface{}
8786				err = json.Unmarshal(*v, &annotations)
8787				if err != nil {
8788					return err
8789				}
8790				akvls.Annotations = &annotations
8791			}
8792		case "type":
8793			if v != nil {
8794				var typeVar TypeBasicLinkedService
8795				err = json.Unmarshal(*v, &typeVar)
8796				if err != nil {
8797					return err
8798				}
8799				akvls.Type = typeVar
8800			}
8801		}
8802	}
8803
8804	return nil
8805}
8806
8807// AzureKeyVaultLinkedServiceTypeProperties azure Key Vault linked service properties.
8808type AzureKeyVaultLinkedServiceTypeProperties struct {
8809	// BaseURL - The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string).
8810	BaseURL interface{} `json:"baseUrl,omitempty"`
8811}
8812
8813// AzureKeyVaultSecretReference azure Key Vault secret reference.
8814type AzureKeyVaultSecretReference struct {
8815	// Store - The Azure Key Vault linked service reference.
8816	Store *LinkedServiceReference `json:"store,omitempty"`
8817	// SecretName - The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string).
8818	SecretName interface{} `json:"secretName,omitempty"`
8819	// SecretVersion - The version of the secret in Azure Key Vault. The default value is the latest version of the secret. Type: string (or Expression with resultType string).
8820	SecretVersion interface{} `json:"secretVersion,omitempty"`
8821	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
8822	Type Type `json:"type,omitempty"`
8823}
8824
8825// MarshalJSON is the custom marshaler for AzureKeyVaultSecretReference.
8826func (akvsr AzureKeyVaultSecretReference) MarshalJSON() ([]byte, error) {
8827	akvsr.Type = TypeAzureKeyVaultSecret
8828	objectMap := make(map[string]interface{})
8829	if akvsr.Store != nil {
8830		objectMap["store"] = akvsr.Store
8831	}
8832	if akvsr.SecretName != nil {
8833		objectMap["secretName"] = akvsr.SecretName
8834	}
8835	if akvsr.SecretVersion != nil {
8836		objectMap["secretVersion"] = akvsr.SecretVersion
8837	}
8838	if akvsr.Type != "" {
8839		objectMap["type"] = akvsr.Type
8840	}
8841	return json.Marshal(objectMap)
8842}
8843
8844// AsSecureString is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
8845func (akvsr AzureKeyVaultSecretReference) AsSecureString() (*SecureString, bool) {
8846	return nil, false
8847}
8848
8849// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
8850func (akvsr AzureKeyVaultSecretReference) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
8851	return &akvsr, true
8852}
8853
8854// AsSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
8855func (akvsr AzureKeyVaultSecretReference) AsSecretBase() (*SecretBase, bool) {
8856	return nil, false
8857}
8858
8859// AsBasicSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
8860func (akvsr AzureKeyVaultSecretReference) AsBasicSecretBase() (BasicSecretBase, bool) {
8861	return &akvsr, true
8862}
8863
8864// AzureMLBatchExecutionActivity azure ML Batch Execution activity.
8865type AzureMLBatchExecutionActivity struct {
8866	// AzureMLBatchExecutionActivityTypeProperties - Azure ML Batch Execution activity properties.
8867	*AzureMLBatchExecutionActivityTypeProperties `json:"typeProperties,omitempty"`
8868	// LinkedServiceName - Linked service reference.
8869	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
8870	// Policy - Activity policy.
8871	Policy *ActivityPolicy `json:"policy,omitempty"`
8872	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
8873	AdditionalProperties map[string]interface{} `json:""`
8874	// Name - Activity name.
8875	Name *string `json:"name,omitempty"`
8876	// Description - Activity description.
8877	Description *string `json:"description,omitempty"`
8878	// DependsOn - Activity depends on condition.
8879	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
8880	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
8881	Type TypeBasicActivity `json:"type,omitempty"`
8882}
8883
8884// MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivity.
8885func (ambea AzureMLBatchExecutionActivity) MarshalJSON() ([]byte, error) {
8886	ambea.Type = TypeAzureMLBatchExecution
8887	objectMap := make(map[string]interface{})
8888	if ambea.AzureMLBatchExecutionActivityTypeProperties != nil {
8889		objectMap["typeProperties"] = ambea.AzureMLBatchExecutionActivityTypeProperties
8890	}
8891	if ambea.LinkedServiceName != nil {
8892		objectMap["linkedServiceName"] = ambea.LinkedServiceName
8893	}
8894	if ambea.Policy != nil {
8895		objectMap["policy"] = ambea.Policy
8896	}
8897	if ambea.Name != nil {
8898		objectMap["name"] = ambea.Name
8899	}
8900	if ambea.Description != nil {
8901		objectMap["description"] = ambea.Description
8902	}
8903	if ambea.DependsOn != nil {
8904		objectMap["dependsOn"] = ambea.DependsOn
8905	}
8906	if ambea.Type != "" {
8907		objectMap["type"] = ambea.Type
8908	}
8909	for k, v := range ambea.AdditionalProperties {
8910		objectMap[k] = v
8911	}
8912	return json.Marshal(objectMap)
8913}
8914
8915// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8916func (ambea AzureMLBatchExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
8917	return nil, false
8918}
8919
8920// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8921func (ambea AzureMLBatchExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
8922	return nil, false
8923}
8924
8925// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8926func (ambea AzureMLBatchExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
8927	return nil, false
8928}
8929
8930// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8931func (ambea AzureMLBatchExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
8932	return &ambea, true
8933}
8934
8935// AsGetMetadataActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8936func (ambea AzureMLBatchExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
8937	return nil, false
8938}
8939
8940// AsWebActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8941func (ambea AzureMLBatchExecutionActivity) AsWebActivity() (*WebActivity, bool) {
8942	return nil, false
8943}
8944
8945// AsLookupActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8946func (ambea AzureMLBatchExecutionActivity) AsLookupActivity() (*LookupActivity, bool) {
8947	return nil, false
8948}
8949
8950// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8951func (ambea AzureMLBatchExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
8952	return nil, false
8953}
8954
8955// AsCustomActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8956func (ambea AzureMLBatchExecutionActivity) AsCustomActivity() (*CustomActivity, bool) {
8957	return nil, false
8958}
8959
8960// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8961func (ambea AzureMLBatchExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
8962	return nil, false
8963}
8964
8965// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8966func (ambea AzureMLBatchExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
8967	return nil, false
8968}
8969
8970// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8971func (ambea AzureMLBatchExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
8972	return nil, false
8973}
8974
8975// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8976func (ambea AzureMLBatchExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
8977	return nil, false
8978}
8979
8980// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8981func (ambea AzureMLBatchExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
8982	return nil, false
8983}
8984
8985// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8986func (ambea AzureMLBatchExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
8987	return nil, false
8988}
8989
8990// AsCopyActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8991func (ambea AzureMLBatchExecutionActivity) AsCopyActivity() (*CopyActivity, bool) {
8992	return nil, false
8993}
8994
8995// AsExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8996func (ambea AzureMLBatchExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
8997	return nil, false
8998}
8999
9000// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9001func (ambea AzureMLBatchExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
9002	return &ambea, true
9003}
9004
9005// AsFilterActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9006func (ambea AzureMLBatchExecutionActivity) AsFilterActivity() (*FilterActivity, bool) {
9007	return nil, false
9008}
9009
9010// AsUntilActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9011func (ambea AzureMLBatchExecutionActivity) AsUntilActivity() (*UntilActivity, bool) {
9012	return nil, false
9013}
9014
9015// AsWaitActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9016func (ambea AzureMLBatchExecutionActivity) AsWaitActivity() (*WaitActivity, bool) {
9017	return nil, false
9018}
9019
9020// AsForEachActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9021func (ambea AzureMLBatchExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) {
9022	return nil, false
9023}
9024
9025// AsIfConditionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9026func (ambea AzureMLBatchExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
9027	return nil, false
9028}
9029
9030// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9031func (ambea AzureMLBatchExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
9032	return nil, false
9033}
9034
9035// AsControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9036func (ambea AzureMLBatchExecutionActivity) AsControlActivity() (*ControlActivity, bool) {
9037	return nil, false
9038}
9039
9040// AsBasicControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9041func (ambea AzureMLBatchExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
9042	return nil, false
9043}
9044
9045// AsActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9046func (ambea AzureMLBatchExecutionActivity) AsActivity() (*Activity, bool) {
9047	return nil, false
9048}
9049
9050// AsBasicActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9051func (ambea AzureMLBatchExecutionActivity) AsBasicActivity() (BasicActivity, bool) {
9052	return &ambea, true
9053}
9054
9055// UnmarshalJSON is the custom unmarshaler for AzureMLBatchExecutionActivity struct.
9056func (ambea *AzureMLBatchExecutionActivity) UnmarshalJSON(body []byte) error {
9057	var m map[string]*json.RawMessage
9058	err := json.Unmarshal(body, &m)
9059	if err != nil {
9060		return err
9061	}
9062	for k, v := range m {
9063		switch k {
9064		case "typeProperties":
9065			if v != nil {
9066				var azureMLBatchExecutionActivityTypeProperties AzureMLBatchExecutionActivityTypeProperties
9067				err = json.Unmarshal(*v, &azureMLBatchExecutionActivityTypeProperties)
9068				if err != nil {
9069					return err
9070				}
9071				ambea.AzureMLBatchExecutionActivityTypeProperties = &azureMLBatchExecutionActivityTypeProperties
9072			}
9073		case "linkedServiceName":
9074			if v != nil {
9075				var linkedServiceName LinkedServiceReference
9076				err = json.Unmarshal(*v, &linkedServiceName)
9077				if err != nil {
9078					return err
9079				}
9080				ambea.LinkedServiceName = &linkedServiceName
9081			}
9082		case "policy":
9083			if v != nil {
9084				var policy ActivityPolicy
9085				err = json.Unmarshal(*v, &policy)
9086				if err != nil {
9087					return err
9088				}
9089				ambea.Policy = &policy
9090			}
9091		default:
9092			if v != nil {
9093				var additionalProperties interface{}
9094				err = json.Unmarshal(*v, &additionalProperties)
9095				if err != nil {
9096					return err
9097				}
9098				if ambea.AdditionalProperties == nil {
9099					ambea.AdditionalProperties = make(map[string]interface{})
9100				}
9101				ambea.AdditionalProperties[k] = additionalProperties
9102			}
9103		case "name":
9104			if v != nil {
9105				var name string
9106				err = json.Unmarshal(*v, &name)
9107				if err != nil {
9108					return err
9109				}
9110				ambea.Name = &name
9111			}
9112		case "description":
9113			if v != nil {
9114				var description string
9115				err = json.Unmarshal(*v, &description)
9116				if err != nil {
9117					return err
9118				}
9119				ambea.Description = &description
9120			}
9121		case "dependsOn":
9122			if v != nil {
9123				var dependsOn []ActivityDependency
9124				err = json.Unmarshal(*v, &dependsOn)
9125				if err != nil {
9126					return err
9127				}
9128				ambea.DependsOn = &dependsOn
9129			}
9130		case "type":
9131			if v != nil {
9132				var typeVar TypeBasicActivity
9133				err = json.Unmarshal(*v, &typeVar)
9134				if err != nil {
9135					return err
9136				}
9137				ambea.Type = typeVar
9138			}
9139		}
9140	}
9141
9142	return nil
9143}
9144
9145// AzureMLBatchExecutionActivityTypeProperties azure ML Batch Execution activity properties.
9146type AzureMLBatchExecutionActivityTypeProperties struct {
9147	// GlobalParameters - Key,Value pairs to be passed to the Azure ML Batch Execution Service endpoint. Keys must match the names of web service parameters defined in the published Azure ML web service. Values will be passed in the GlobalParameters property of the Azure ML batch execution request.
9148	GlobalParameters map[string]interface{} `json:"globalParameters"`
9149	// WebServiceOutputs - Key,Value pairs, mapping the names of Azure ML endpoint's Web Service Outputs to AzureMLWebServiceFile objects specifying the output Blob locations. This information will be passed in the WebServiceOutputs property of the Azure ML batch execution request.
9150	WebServiceOutputs map[string]*AzureMLWebServiceFile `json:"webServiceOutputs"`
9151	// WebServiceInputs - Key,Value pairs, mapping the names of Azure ML endpoint's Web Service Inputs to AzureMLWebServiceFile objects specifying the input Blob locations.. This information will be passed in the WebServiceInputs property of the Azure ML batch execution request.
9152	WebServiceInputs map[string]*AzureMLWebServiceFile `json:"webServiceInputs"`
9153}
9154
9155// MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivityTypeProperties.
9156func (ambeatp AzureMLBatchExecutionActivityTypeProperties) MarshalJSON() ([]byte, error) {
9157	objectMap := make(map[string]interface{})
9158	if ambeatp.GlobalParameters != nil {
9159		objectMap["globalParameters"] = ambeatp.GlobalParameters
9160	}
9161	if ambeatp.WebServiceOutputs != nil {
9162		objectMap["webServiceOutputs"] = ambeatp.WebServiceOutputs
9163	}
9164	if ambeatp.WebServiceInputs != nil {
9165		objectMap["webServiceInputs"] = ambeatp.WebServiceInputs
9166	}
9167	return json.Marshal(objectMap)
9168}
9169
9170// AzureMLLinkedService azure ML Web Service linked service.
9171type AzureMLLinkedService struct {
9172	// AzureMLLinkedServiceTypeProperties - Azure ML Web Service linked service properties.
9173	*AzureMLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
9174	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
9175	AdditionalProperties map[string]interface{} `json:""`
9176	// ConnectVia - The integration runtime reference.
9177	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
9178	// Description - Linked service description.
9179	Description *string `json:"description,omitempty"`
9180	// Parameters - Parameters for linked service.
9181	Parameters map[string]*ParameterSpecification `json:"parameters"`
9182	// Annotations - List of tags that can be used for describing the Dataset.
9183	Annotations *[]interface{} `json:"annotations,omitempty"`
9184	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
9185	Type TypeBasicLinkedService `json:"type,omitempty"`
9186}
9187
9188// MarshalJSON is the custom marshaler for AzureMLLinkedService.
9189func (amls AzureMLLinkedService) MarshalJSON() ([]byte, error) {
9190	amls.Type = TypeAzureML
9191	objectMap := make(map[string]interface{})
9192	if amls.AzureMLLinkedServiceTypeProperties != nil {
9193		objectMap["typeProperties"] = amls.AzureMLLinkedServiceTypeProperties
9194	}
9195	if amls.ConnectVia != nil {
9196		objectMap["connectVia"] = amls.ConnectVia
9197	}
9198	if amls.Description != nil {
9199		objectMap["description"] = amls.Description
9200	}
9201	if amls.Parameters != nil {
9202		objectMap["parameters"] = amls.Parameters
9203	}
9204	if amls.Annotations != nil {
9205		objectMap["annotations"] = amls.Annotations
9206	}
9207	if amls.Type != "" {
9208		objectMap["type"] = amls.Type
9209	}
9210	for k, v := range amls.AdditionalProperties {
9211		objectMap[k] = v
9212	}
9213	return json.Marshal(objectMap)
9214}
9215
9216// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9217func (amls AzureMLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
9218	return nil, false
9219}
9220
9221// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9222func (amls AzureMLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
9223	return nil, false
9224}
9225
9226// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9227func (amls AzureMLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
9228	return nil, false
9229}
9230
9231// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9232func (amls AzureMLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
9233	return nil, false
9234}
9235
9236// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9237func (amls AzureMLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
9238	return nil, false
9239}
9240
9241// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9242func (amls AzureMLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
9243	return nil, false
9244}
9245
9246// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9247func (amls AzureMLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
9248	return nil, false
9249}
9250
9251// AsZohoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9252func (amls AzureMLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
9253	return nil, false
9254}
9255
9256// AsXeroLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9257func (amls AzureMLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
9258	return nil, false
9259}
9260
9261// AsSquareLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9262func (amls AzureMLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
9263	return nil, false
9264}
9265
9266// AsSparkLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9267func (amls AzureMLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
9268	return nil, false
9269}
9270
9271// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9272func (amls AzureMLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
9273	return nil, false
9274}
9275
9276// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9277func (amls AzureMLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
9278	return nil, false
9279}
9280
9281// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9282func (amls AzureMLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
9283	return nil, false
9284}
9285
9286// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9287func (amls AzureMLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
9288	return nil, false
9289}
9290
9291// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9292func (amls AzureMLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
9293	return nil, false
9294}
9295
9296// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9297func (amls AzureMLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
9298	return nil, false
9299}
9300
9301// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9302func (amls AzureMLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
9303	return nil, false
9304}
9305
9306// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9307func (amls AzureMLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
9308	return nil, false
9309}
9310
9311// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9312func (amls AzureMLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
9313	return nil, false
9314}
9315
9316// AsJiraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9317func (amls AzureMLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
9318	return nil, false
9319}
9320
9321// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9322func (amls AzureMLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
9323	return nil, false
9324}
9325
9326// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9327func (amls AzureMLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
9328	return nil, false
9329}
9330
9331// AsHiveLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9332func (amls AzureMLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
9333	return nil, false
9334}
9335
9336// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9337func (amls AzureMLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
9338	return nil, false
9339}
9340
9341// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9342func (amls AzureMLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
9343	return nil, false
9344}
9345
9346// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9347func (amls AzureMLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
9348	return nil, false
9349}
9350
9351// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9352func (amls AzureMLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
9353	return nil, false
9354}
9355
9356// AsDrillLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9357func (amls AzureMLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
9358	return nil, false
9359}
9360
9361// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9362func (amls AzureMLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
9363	return nil, false
9364}
9365
9366// AsConcurLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9367func (amls AzureMLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
9368	return nil, false
9369}
9370
9371// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9372func (amls AzureMLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
9373	return nil, false
9374}
9375
9376// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9377func (amls AzureMLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
9378	return nil, false
9379}
9380
9381// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9382func (amls AzureMLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
9383	return nil, false
9384}
9385
9386// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9387func (amls AzureMLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
9388	return nil, false
9389}
9390
9391// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9392func (amls AzureMLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
9393	return nil, false
9394}
9395
9396// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9397func (amls AzureMLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
9398	return nil, false
9399}
9400
9401// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9402func (amls AzureMLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
9403	return nil, false
9404}
9405
9406// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9407func (amls AzureMLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
9408	return nil, false
9409}
9410
9411// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9412func (amls AzureMLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
9413	return nil, false
9414}
9415
9416// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9417func (amls AzureMLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
9418	return nil, false
9419}
9420
9421// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9422func (amls AzureMLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
9423	return nil, false
9424}
9425
9426// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9427func (amls AzureMLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
9428	return nil, false
9429}
9430
9431// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9432func (amls AzureMLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
9433	return nil, false
9434}
9435
9436// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9437func (amls AzureMLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
9438	return nil, false
9439}
9440
9441// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9442func (amls AzureMLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
9443	return nil, false
9444}
9445
9446// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9447func (amls AzureMLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
9448	return nil, false
9449}
9450
9451// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9452func (amls AzureMLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
9453	return nil, false
9454}
9455
9456// AsWebLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9457func (amls AzureMLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
9458	return nil, false
9459}
9460
9461// AsODataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9462func (amls AzureMLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
9463	return nil, false
9464}
9465
9466// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9467func (amls AzureMLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
9468	return nil, false
9469}
9470
9471// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9472func (amls AzureMLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
9473	return nil, false
9474}
9475
9476// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9477func (amls AzureMLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
9478	return &amls, true
9479}
9480
9481// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9482func (amls AzureMLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
9483	return nil, false
9484}
9485
9486// AsDb2LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9487func (amls AzureMLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
9488	return nil, false
9489}
9490
9491// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9492func (amls AzureMLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
9493	return nil, false
9494}
9495
9496// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9497func (amls AzureMLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
9498	return nil, false
9499}
9500
9501// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9502func (amls AzureMLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
9503	return nil, false
9504}
9505
9506// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9507func (amls AzureMLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
9508	return nil, false
9509}
9510
9511// AsOracleLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9512func (amls AzureMLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
9513	return nil, false
9514}
9515
9516// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9517func (amls AzureMLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
9518	return nil, false
9519}
9520
9521// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9522func (amls AzureMLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
9523	return nil, false
9524}
9525
9526// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9527func (amls AzureMLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
9528	return nil, false
9529}
9530
9531// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9532func (amls AzureMLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
9533	return nil, false
9534}
9535
9536// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9537func (amls AzureMLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
9538	return nil, false
9539}
9540
9541// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9542func (amls AzureMLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
9543	return nil, false
9544}
9545
9546// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9547func (amls AzureMLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
9548	return nil, false
9549}
9550
9551// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9552func (amls AzureMLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
9553	return nil, false
9554}
9555
9556// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9557func (amls AzureMLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
9558	return nil, false
9559}
9560
9561// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9562func (amls AzureMLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
9563	return nil, false
9564}
9565
9566// AsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9567func (amls AzureMLLinkedService) AsLinkedService() (*LinkedService, bool) {
9568	return nil, false
9569}
9570
9571// AsBasicLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9572func (amls AzureMLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
9573	return &amls, true
9574}
9575
9576// UnmarshalJSON is the custom unmarshaler for AzureMLLinkedService struct.
9577func (amls *AzureMLLinkedService) UnmarshalJSON(body []byte) error {
9578	var m map[string]*json.RawMessage
9579	err := json.Unmarshal(body, &m)
9580	if err != nil {
9581		return err
9582	}
9583	for k, v := range m {
9584		switch k {
9585		case "typeProperties":
9586			if v != nil {
9587				var azureMLLinkedServiceTypeProperties AzureMLLinkedServiceTypeProperties
9588				err = json.Unmarshal(*v, &azureMLLinkedServiceTypeProperties)
9589				if err != nil {
9590					return err
9591				}
9592				amls.AzureMLLinkedServiceTypeProperties = &azureMLLinkedServiceTypeProperties
9593			}
9594		default:
9595			if v != nil {
9596				var additionalProperties interface{}
9597				err = json.Unmarshal(*v, &additionalProperties)
9598				if err != nil {
9599					return err
9600				}
9601				if amls.AdditionalProperties == nil {
9602					amls.AdditionalProperties = make(map[string]interface{})
9603				}
9604				amls.AdditionalProperties[k] = additionalProperties
9605			}
9606		case "connectVia":
9607			if v != nil {
9608				var connectVia IntegrationRuntimeReference
9609				err = json.Unmarshal(*v, &connectVia)
9610				if err != nil {
9611					return err
9612				}
9613				amls.ConnectVia = &connectVia
9614			}
9615		case "description":
9616			if v != nil {
9617				var description string
9618				err = json.Unmarshal(*v, &description)
9619				if err != nil {
9620					return err
9621				}
9622				amls.Description = &description
9623			}
9624		case "parameters":
9625			if v != nil {
9626				var parameters map[string]*ParameterSpecification
9627				err = json.Unmarshal(*v, &parameters)
9628				if err != nil {
9629					return err
9630				}
9631				amls.Parameters = parameters
9632			}
9633		case "annotations":
9634			if v != nil {
9635				var annotations []interface{}
9636				err = json.Unmarshal(*v, &annotations)
9637				if err != nil {
9638					return err
9639				}
9640				amls.Annotations = &annotations
9641			}
9642		case "type":
9643			if v != nil {
9644				var typeVar TypeBasicLinkedService
9645				err = json.Unmarshal(*v, &typeVar)
9646				if err != nil {
9647					return err
9648				}
9649				amls.Type = typeVar
9650			}
9651		}
9652	}
9653
9654	return nil
9655}
9656
9657// AzureMLLinkedServiceTypeProperties azure ML Web Service linked service properties.
9658type AzureMLLinkedServiceTypeProperties struct {
9659	// MlEndpoint - The Batch Execution REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
9660	MlEndpoint interface{} `json:"mlEndpoint,omitempty"`
9661	// APIKey - The API key for accessing the Azure ML model endpoint.
9662	APIKey BasicSecretBase `json:"apiKey,omitempty"`
9663	// UpdateResourceEndpoint - The Update Resource REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
9664	UpdateResourceEndpoint interface{} `json:"updateResourceEndpoint,omitempty"`
9665	// ServicePrincipalID - The ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service. Type: string (or Expression with resultType string).
9666	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
9667	// ServicePrincipalKey - The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service.
9668	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
9669	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
9670	Tenant interface{} `json:"tenant,omitempty"`
9671	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
9672	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
9673}
9674
9675// UnmarshalJSON is the custom unmarshaler for AzureMLLinkedServiceTypeProperties struct.
9676func (amlstp *AzureMLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
9677	var m map[string]*json.RawMessage
9678	err := json.Unmarshal(body, &m)
9679	if err != nil {
9680		return err
9681	}
9682	for k, v := range m {
9683		switch k {
9684		case "mlEndpoint":
9685			if v != nil {
9686				var mlEndpoint interface{}
9687				err = json.Unmarshal(*v, &mlEndpoint)
9688				if err != nil {
9689					return err
9690				}
9691				amlstp.MlEndpoint = mlEndpoint
9692			}
9693		case "apiKey":
9694			if v != nil {
9695				APIKey, err := unmarshalBasicSecretBase(*v)
9696				if err != nil {
9697					return err
9698				}
9699				amlstp.APIKey = APIKey
9700			}
9701		case "updateResourceEndpoint":
9702			if v != nil {
9703				var updateResourceEndpoint interface{}
9704				err = json.Unmarshal(*v, &updateResourceEndpoint)
9705				if err != nil {
9706					return err
9707				}
9708				amlstp.UpdateResourceEndpoint = updateResourceEndpoint
9709			}
9710		case "servicePrincipalId":
9711			if v != nil {
9712				var servicePrincipalID interface{}
9713				err = json.Unmarshal(*v, &servicePrincipalID)
9714				if err != nil {
9715					return err
9716				}
9717				amlstp.ServicePrincipalID = servicePrincipalID
9718			}
9719		case "servicePrincipalKey":
9720			if v != nil {
9721				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
9722				if err != nil {
9723					return err
9724				}
9725				amlstp.ServicePrincipalKey = servicePrincipalKey
9726			}
9727		case "tenant":
9728			if v != nil {
9729				var tenant interface{}
9730				err = json.Unmarshal(*v, &tenant)
9731				if err != nil {
9732					return err
9733				}
9734				amlstp.Tenant = tenant
9735			}
9736		case "encryptedCredential":
9737			if v != nil {
9738				var encryptedCredential interface{}
9739				err = json.Unmarshal(*v, &encryptedCredential)
9740				if err != nil {
9741					return err
9742				}
9743				amlstp.EncryptedCredential = encryptedCredential
9744			}
9745		}
9746	}
9747
9748	return nil
9749}
9750
9751// AzureMLUpdateResourceActivity azure ML Update Resource management activity.
9752type AzureMLUpdateResourceActivity struct {
9753	// AzureMLUpdateResourceActivityTypeProperties - Azure ML Update Resource management activity properties.
9754	*AzureMLUpdateResourceActivityTypeProperties `json:"typeProperties,omitempty"`
9755	// LinkedServiceName - Linked service reference.
9756	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
9757	// Policy - Activity policy.
9758	Policy *ActivityPolicy `json:"policy,omitempty"`
9759	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
9760	AdditionalProperties map[string]interface{} `json:""`
9761	// Name - Activity name.
9762	Name *string `json:"name,omitempty"`
9763	// Description - Activity description.
9764	Description *string `json:"description,omitempty"`
9765	// DependsOn - Activity depends on condition.
9766	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
9767	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
9768	Type TypeBasicActivity `json:"type,omitempty"`
9769}
9770
9771// MarshalJSON is the custom marshaler for AzureMLUpdateResourceActivity.
9772func (amura AzureMLUpdateResourceActivity) MarshalJSON() ([]byte, error) {
9773	amura.Type = TypeAzureMLUpdateResource
9774	objectMap := make(map[string]interface{})
9775	if amura.AzureMLUpdateResourceActivityTypeProperties != nil {
9776		objectMap["typeProperties"] = amura.AzureMLUpdateResourceActivityTypeProperties
9777	}
9778	if amura.LinkedServiceName != nil {
9779		objectMap["linkedServiceName"] = amura.LinkedServiceName
9780	}
9781	if amura.Policy != nil {
9782		objectMap["policy"] = amura.Policy
9783	}
9784	if amura.Name != nil {
9785		objectMap["name"] = amura.Name
9786	}
9787	if amura.Description != nil {
9788		objectMap["description"] = amura.Description
9789	}
9790	if amura.DependsOn != nil {
9791		objectMap["dependsOn"] = amura.DependsOn
9792	}
9793	if amura.Type != "" {
9794		objectMap["type"] = amura.Type
9795	}
9796	for k, v := range amura.AdditionalProperties {
9797		objectMap[k] = v
9798	}
9799	return json.Marshal(objectMap)
9800}
9801
9802// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9803func (amura AzureMLUpdateResourceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
9804	return nil, false
9805}
9806
9807// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9808func (amura AzureMLUpdateResourceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
9809	return nil, false
9810}
9811
9812// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9813func (amura AzureMLUpdateResourceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
9814	return &amura, true
9815}
9816
9817// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9818func (amura AzureMLUpdateResourceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
9819	return nil, false
9820}
9821
9822// AsGetMetadataActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9823func (amura AzureMLUpdateResourceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
9824	return nil, false
9825}
9826
9827// AsWebActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9828func (amura AzureMLUpdateResourceActivity) AsWebActivity() (*WebActivity, bool) {
9829	return nil, false
9830}
9831
9832// AsLookupActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9833func (amura AzureMLUpdateResourceActivity) AsLookupActivity() (*LookupActivity, bool) {
9834	return nil, false
9835}
9836
9837// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9838func (amura AzureMLUpdateResourceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
9839	return nil, false
9840}
9841
9842// AsCustomActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9843func (amura AzureMLUpdateResourceActivity) AsCustomActivity() (*CustomActivity, bool) {
9844	return nil, false
9845}
9846
9847// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9848func (amura AzureMLUpdateResourceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
9849	return nil, false
9850}
9851
9852// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9853func (amura AzureMLUpdateResourceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
9854	return nil, false
9855}
9856
9857// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9858func (amura AzureMLUpdateResourceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
9859	return nil, false
9860}
9861
9862// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9863func (amura AzureMLUpdateResourceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
9864	return nil, false
9865}
9866
9867// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9868func (amura AzureMLUpdateResourceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
9869	return nil, false
9870}
9871
9872// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9873func (amura AzureMLUpdateResourceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
9874	return nil, false
9875}
9876
9877// AsCopyActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9878func (amura AzureMLUpdateResourceActivity) AsCopyActivity() (*CopyActivity, bool) {
9879	return nil, false
9880}
9881
9882// AsExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9883func (amura AzureMLUpdateResourceActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
9884	return nil, false
9885}
9886
9887// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9888func (amura AzureMLUpdateResourceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
9889	return &amura, true
9890}
9891
9892// AsFilterActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9893func (amura AzureMLUpdateResourceActivity) AsFilterActivity() (*FilterActivity, bool) {
9894	return nil, false
9895}
9896
9897// AsUntilActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9898func (amura AzureMLUpdateResourceActivity) AsUntilActivity() (*UntilActivity, bool) {
9899	return nil, false
9900}
9901
9902// AsWaitActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9903func (amura AzureMLUpdateResourceActivity) AsWaitActivity() (*WaitActivity, bool) {
9904	return nil, false
9905}
9906
9907// AsForEachActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9908func (amura AzureMLUpdateResourceActivity) AsForEachActivity() (*ForEachActivity, bool) {
9909	return nil, false
9910}
9911
9912// AsIfConditionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9913func (amura AzureMLUpdateResourceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
9914	return nil, false
9915}
9916
9917// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9918func (amura AzureMLUpdateResourceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
9919	return nil, false
9920}
9921
9922// AsControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9923func (amura AzureMLUpdateResourceActivity) AsControlActivity() (*ControlActivity, bool) {
9924	return nil, false
9925}
9926
9927// AsBasicControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9928func (amura AzureMLUpdateResourceActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
9929	return nil, false
9930}
9931
9932// AsActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9933func (amura AzureMLUpdateResourceActivity) AsActivity() (*Activity, bool) {
9934	return nil, false
9935}
9936
9937// AsBasicActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9938func (amura AzureMLUpdateResourceActivity) AsBasicActivity() (BasicActivity, bool) {
9939	return &amura, true
9940}
9941
9942// UnmarshalJSON is the custom unmarshaler for AzureMLUpdateResourceActivity struct.
9943func (amura *AzureMLUpdateResourceActivity) UnmarshalJSON(body []byte) error {
9944	var m map[string]*json.RawMessage
9945	err := json.Unmarshal(body, &m)
9946	if err != nil {
9947		return err
9948	}
9949	for k, v := range m {
9950		switch k {
9951		case "typeProperties":
9952			if v != nil {
9953				var azureMLUpdateResourceActivityTypeProperties AzureMLUpdateResourceActivityTypeProperties
9954				err = json.Unmarshal(*v, &azureMLUpdateResourceActivityTypeProperties)
9955				if err != nil {
9956					return err
9957				}
9958				amura.AzureMLUpdateResourceActivityTypeProperties = &azureMLUpdateResourceActivityTypeProperties
9959			}
9960		case "linkedServiceName":
9961			if v != nil {
9962				var linkedServiceName LinkedServiceReference
9963				err = json.Unmarshal(*v, &linkedServiceName)
9964				if err != nil {
9965					return err
9966				}
9967				amura.LinkedServiceName = &linkedServiceName
9968			}
9969		case "policy":
9970			if v != nil {
9971				var policy ActivityPolicy
9972				err = json.Unmarshal(*v, &policy)
9973				if err != nil {
9974					return err
9975				}
9976				amura.Policy = &policy
9977			}
9978		default:
9979			if v != nil {
9980				var additionalProperties interface{}
9981				err = json.Unmarshal(*v, &additionalProperties)
9982				if err != nil {
9983					return err
9984				}
9985				if amura.AdditionalProperties == nil {
9986					amura.AdditionalProperties = make(map[string]interface{})
9987				}
9988				amura.AdditionalProperties[k] = additionalProperties
9989			}
9990		case "name":
9991			if v != nil {
9992				var name string
9993				err = json.Unmarshal(*v, &name)
9994				if err != nil {
9995					return err
9996				}
9997				amura.Name = &name
9998			}
9999		case "description":
10000			if v != nil {
10001				var description string
10002				err = json.Unmarshal(*v, &description)
10003				if err != nil {
10004					return err
10005				}
10006				amura.Description = &description
10007			}
10008		case "dependsOn":
10009			if v != nil {
10010				var dependsOn []ActivityDependency
10011				err = json.Unmarshal(*v, &dependsOn)
10012				if err != nil {
10013					return err
10014				}
10015				amura.DependsOn = &dependsOn
10016			}
10017		case "type":
10018			if v != nil {
10019				var typeVar TypeBasicActivity
10020				err = json.Unmarshal(*v, &typeVar)
10021				if err != nil {
10022					return err
10023				}
10024				amura.Type = typeVar
10025			}
10026		}
10027	}
10028
10029	return nil
10030}
10031
10032// AzureMLUpdateResourceActivityTypeProperties azure ML Update Resource activity properties.
10033type AzureMLUpdateResourceActivityTypeProperties struct {
10034	// TrainedModelName - Name of the Trained Model module in the Web Service experiment to be updated. Type: string (or Expression with resultType string).
10035	TrainedModelName interface{} `json:"trainedModelName,omitempty"`
10036	// TrainedModelLinkedServiceName - Name of Azure Storage linked service holding the .ilearner file that will be uploaded by the update operation.
10037	TrainedModelLinkedServiceName *LinkedServiceReference `json:"trainedModelLinkedServiceName,omitempty"`
10038	// TrainedModelFilePath - The relative file path in trainedModelLinkedService to represent the .ilearner file that will be uploaded by the update operation.  Type: string (or Expression with resultType string).
10039	TrainedModelFilePath interface{} `json:"trainedModelFilePath,omitempty"`
10040}
10041
10042// AzureMLWebServiceFile azure ML WebService Input/Output file
10043type AzureMLWebServiceFile struct {
10044	// FilePath - The relative file path, including container name, in the Azure Blob Storage specified by the LinkedService. Type: string (or Expression with resultType string).
10045	FilePath interface{} `json:"filePath,omitempty"`
10046	// LinkedServiceName - Reference to an Azure Storage LinkedService, where Azure ML WebService Input/Output file located.
10047	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
10048}
10049
10050// AzureMySQLLinkedService azure MySQL database linked service.
10051type AzureMySQLLinkedService struct {
10052	// AzureMySQLLinkedServiceTypeProperties - Azure MySQL database linked service properties.
10053	*AzureMySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
10054	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10055	AdditionalProperties map[string]interface{} `json:""`
10056	// ConnectVia - The integration runtime reference.
10057	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
10058	// Description - Linked service description.
10059	Description *string `json:"description,omitempty"`
10060	// Parameters - Parameters for linked service.
10061	Parameters map[string]*ParameterSpecification `json:"parameters"`
10062	// Annotations - List of tags that can be used for describing the Dataset.
10063	Annotations *[]interface{} `json:"annotations,omitempty"`
10064	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
10065	Type TypeBasicLinkedService `json:"type,omitempty"`
10066}
10067
10068// MarshalJSON is the custom marshaler for AzureMySQLLinkedService.
10069func (amsls AzureMySQLLinkedService) MarshalJSON() ([]byte, error) {
10070	amsls.Type = TypeAzureMySQL
10071	objectMap := make(map[string]interface{})
10072	if amsls.AzureMySQLLinkedServiceTypeProperties != nil {
10073		objectMap["typeProperties"] = amsls.AzureMySQLLinkedServiceTypeProperties
10074	}
10075	if amsls.ConnectVia != nil {
10076		objectMap["connectVia"] = amsls.ConnectVia
10077	}
10078	if amsls.Description != nil {
10079		objectMap["description"] = amsls.Description
10080	}
10081	if amsls.Parameters != nil {
10082		objectMap["parameters"] = amsls.Parameters
10083	}
10084	if amsls.Annotations != nil {
10085		objectMap["annotations"] = amsls.Annotations
10086	}
10087	if amsls.Type != "" {
10088		objectMap["type"] = amsls.Type
10089	}
10090	for k, v := range amsls.AdditionalProperties {
10091		objectMap[k] = v
10092	}
10093	return json.Marshal(objectMap)
10094}
10095
10096// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10097func (amsls AzureMySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
10098	return nil, false
10099}
10100
10101// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10102func (amsls AzureMySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
10103	return nil, false
10104}
10105
10106// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10107func (amsls AzureMySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
10108	return nil, false
10109}
10110
10111// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10112func (amsls AzureMySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
10113	return nil, false
10114}
10115
10116// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10117func (amsls AzureMySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
10118	return nil, false
10119}
10120
10121// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10122func (amsls AzureMySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
10123	return nil, false
10124}
10125
10126// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10127func (amsls AzureMySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
10128	return nil, false
10129}
10130
10131// AsZohoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10132func (amsls AzureMySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
10133	return nil, false
10134}
10135
10136// AsXeroLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10137func (amsls AzureMySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
10138	return nil, false
10139}
10140
10141// AsSquareLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10142func (amsls AzureMySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
10143	return nil, false
10144}
10145
10146// AsSparkLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10147func (amsls AzureMySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
10148	return nil, false
10149}
10150
10151// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10152func (amsls AzureMySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
10153	return nil, false
10154}
10155
10156// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10157func (amsls AzureMySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
10158	return nil, false
10159}
10160
10161// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10162func (amsls AzureMySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
10163	return nil, false
10164}
10165
10166// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10167func (amsls AzureMySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
10168	return nil, false
10169}
10170
10171// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10172func (amsls AzureMySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
10173	return nil, false
10174}
10175
10176// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10177func (amsls AzureMySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
10178	return nil, false
10179}
10180
10181// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10182func (amsls AzureMySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
10183	return nil, false
10184}
10185
10186// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10187func (amsls AzureMySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
10188	return nil, false
10189}
10190
10191// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10192func (amsls AzureMySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
10193	return nil, false
10194}
10195
10196// AsJiraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10197func (amsls AzureMySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
10198	return nil, false
10199}
10200
10201// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10202func (amsls AzureMySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
10203	return nil, false
10204}
10205
10206// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10207func (amsls AzureMySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
10208	return nil, false
10209}
10210
10211// AsHiveLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10212func (amsls AzureMySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
10213	return nil, false
10214}
10215
10216// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10217func (amsls AzureMySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
10218	return nil, false
10219}
10220
10221// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10222func (amsls AzureMySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
10223	return nil, false
10224}
10225
10226// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10227func (amsls AzureMySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
10228	return nil, false
10229}
10230
10231// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10232func (amsls AzureMySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
10233	return nil, false
10234}
10235
10236// AsDrillLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10237func (amsls AzureMySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
10238	return nil, false
10239}
10240
10241// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10242func (amsls AzureMySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
10243	return nil, false
10244}
10245
10246// AsConcurLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10247func (amsls AzureMySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
10248	return nil, false
10249}
10250
10251// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10252func (amsls AzureMySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
10253	return nil, false
10254}
10255
10256// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10257func (amsls AzureMySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
10258	return nil, false
10259}
10260
10261// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10262func (amsls AzureMySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
10263	return nil, false
10264}
10265
10266// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10267func (amsls AzureMySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
10268	return nil, false
10269}
10270
10271// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10272func (amsls AzureMySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
10273	return nil, false
10274}
10275
10276// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10277func (amsls AzureMySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
10278	return nil, false
10279}
10280
10281// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10282func (amsls AzureMySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
10283	return nil, false
10284}
10285
10286// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10287func (amsls AzureMySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
10288	return nil, false
10289}
10290
10291// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10292func (amsls AzureMySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
10293	return nil, false
10294}
10295
10296// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10297func (amsls AzureMySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
10298	return nil, false
10299}
10300
10301// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10302func (amsls AzureMySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
10303	return nil, false
10304}
10305
10306// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10307func (amsls AzureMySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
10308	return nil, false
10309}
10310
10311// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10312func (amsls AzureMySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
10313	return nil, false
10314}
10315
10316// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10317func (amsls AzureMySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
10318	return nil, false
10319}
10320
10321// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10322func (amsls AzureMySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
10323	return nil, false
10324}
10325
10326// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10327func (amsls AzureMySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
10328	return nil, false
10329}
10330
10331// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10332func (amsls AzureMySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
10333	return nil, false
10334}
10335
10336// AsWebLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10337func (amsls AzureMySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
10338	return nil, false
10339}
10340
10341// AsODataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10342func (amsls AzureMySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
10343	return nil, false
10344}
10345
10346// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10347func (amsls AzureMySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
10348	return nil, false
10349}
10350
10351// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10352func (amsls AzureMySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
10353	return nil, false
10354}
10355
10356// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10357func (amsls AzureMySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
10358	return nil, false
10359}
10360
10361// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10362func (amsls AzureMySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
10363	return nil, false
10364}
10365
10366// AsDb2LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10367func (amsls AzureMySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
10368	return nil, false
10369}
10370
10371// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10372func (amsls AzureMySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
10373	return nil, false
10374}
10375
10376// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10377func (amsls AzureMySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
10378	return nil, false
10379}
10380
10381// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10382func (amsls AzureMySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
10383	return nil, false
10384}
10385
10386// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10387func (amsls AzureMySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
10388	return &amsls, true
10389}
10390
10391// AsOracleLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10392func (amsls AzureMySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
10393	return nil, false
10394}
10395
10396// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10397func (amsls AzureMySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
10398	return nil, false
10399}
10400
10401// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10402func (amsls AzureMySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
10403	return nil, false
10404}
10405
10406// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10407func (amsls AzureMySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
10408	return nil, false
10409}
10410
10411// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10412func (amsls AzureMySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
10413	return nil, false
10414}
10415
10416// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10417func (amsls AzureMySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
10418	return nil, false
10419}
10420
10421// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10422func (amsls AzureMySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
10423	return nil, false
10424}
10425
10426// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10427func (amsls AzureMySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
10428	return nil, false
10429}
10430
10431// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10432func (amsls AzureMySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
10433	return nil, false
10434}
10435
10436// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10437func (amsls AzureMySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
10438	return nil, false
10439}
10440
10441// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10442func (amsls AzureMySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
10443	return nil, false
10444}
10445
10446// AsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10447func (amsls AzureMySQLLinkedService) AsLinkedService() (*LinkedService, bool) {
10448	return nil, false
10449}
10450
10451// AsBasicLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10452func (amsls AzureMySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
10453	return &amsls, true
10454}
10455
10456// UnmarshalJSON is the custom unmarshaler for AzureMySQLLinkedService struct.
10457func (amsls *AzureMySQLLinkedService) UnmarshalJSON(body []byte) error {
10458	var m map[string]*json.RawMessage
10459	err := json.Unmarshal(body, &m)
10460	if err != nil {
10461		return err
10462	}
10463	for k, v := range m {
10464		switch k {
10465		case "typeProperties":
10466			if v != nil {
10467				var azureMySQLLinkedServiceTypeProperties AzureMySQLLinkedServiceTypeProperties
10468				err = json.Unmarshal(*v, &azureMySQLLinkedServiceTypeProperties)
10469				if err != nil {
10470					return err
10471				}
10472				amsls.AzureMySQLLinkedServiceTypeProperties = &azureMySQLLinkedServiceTypeProperties
10473			}
10474		default:
10475			if v != nil {
10476				var additionalProperties interface{}
10477				err = json.Unmarshal(*v, &additionalProperties)
10478				if err != nil {
10479					return err
10480				}
10481				if amsls.AdditionalProperties == nil {
10482					amsls.AdditionalProperties = make(map[string]interface{})
10483				}
10484				amsls.AdditionalProperties[k] = additionalProperties
10485			}
10486		case "connectVia":
10487			if v != nil {
10488				var connectVia IntegrationRuntimeReference
10489				err = json.Unmarshal(*v, &connectVia)
10490				if err != nil {
10491					return err
10492				}
10493				amsls.ConnectVia = &connectVia
10494			}
10495		case "description":
10496			if v != nil {
10497				var description string
10498				err = json.Unmarshal(*v, &description)
10499				if err != nil {
10500					return err
10501				}
10502				amsls.Description = &description
10503			}
10504		case "parameters":
10505			if v != nil {
10506				var parameters map[string]*ParameterSpecification
10507				err = json.Unmarshal(*v, &parameters)
10508				if err != nil {
10509					return err
10510				}
10511				amsls.Parameters = parameters
10512			}
10513		case "annotations":
10514			if v != nil {
10515				var annotations []interface{}
10516				err = json.Unmarshal(*v, &annotations)
10517				if err != nil {
10518					return err
10519				}
10520				amsls.Annotations = &annotations
10521			}
10522		case "type":
10523			if v != nil {
10524				var typeVar TypeBasicLinkedService
10525				err = json.Unmarshal(*v, &typeVar)
10526				if err != nil {
10527					return err
10528				}
10529				amsls.Type = typeVar
10530			}
10531		}
10532	}
10533
10534	return nil
10535}
10536
10537// AzureMySQLLinkedServiceTypeProperties azure MySQL database linked service properties.
10538type AzureMySQLLinkedServiceTypeProperties struct {
10539	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
10540	ConnectionString interface{} `json:"connectionString,omitempty"`
10541	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
10542	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
10543}
10544
10545// AzureMySQLSource a copy activity Azure MySQL source.
10546type AzureMySQLSource struct {
10547	// Query - Database query. Type: string (or Expression with resultType string).
10548	Query interface{} `json:"query,omitempty"`
10549	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10550	AdditionalProperties map[string]interface{} `json:""`
10551	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
10552	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
10553	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10554	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
10555	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
10556	Type TypeBasicCopySource `json:"type,omitempty"`
10557}
10558
10559// MarshalJSON is the custom marshaler for AzureMySQLSource.
10560func (amss AzureMySQLSource) MarshalJSON() ([]byte, error) {
10561	amss.Type = TypeAzureMySQLSource
10562	objectMap := make(map[string]interface{})
10563	if amss.Query != nil {
10564		objectMap["query"] = amss.Query
10565	}
10566	if amss.SourceRetryCount != nil {
10567		objectMap["sourceRetryCount"] = amss.SourceRetryCount
10568	}
10569	if amss.SourceRetryWait != nil {
10570		objectMap["sourceRetryWait"] = amss.SourceRetryWait
10571	}
10572	if amss.Type != "" {
10573		objectMap["type"] = amss.Type
10574	}
10575	for k, v := range amss.AdditionalProperties {
10576		objectMap[k] = v
10577	}
10578	return json.Marshal(objectMap)
10579}
10580
10581// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMySQLSource.
10582func (amss AzureMySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
10583	return nil, false
10584}
10585
10586// AsResponsysSource is the BasicCopySource implementation for AzureMySQLSource.
10587func (amss AzureMySQLSource) AsResponsysSource() (*ResponsysSource, bool) {
10588	return nil, false
10589}
10590
10591// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureMySQLSource.
10592func (amss AzureMySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
10593	return nil, false
10594}
10595
10596// AsVerticaSource is the BasicCopySource implementation for AzureMySQLSource.
10597func (amss AzureMySQLSource) AsVerticaSource() (*VerticaSource, bool) {
10598	return nil, false
10599}
10600
10601// AsNetezzaSource is the BasicCopySource implementation for AzureMySQLSource.
10602func (amss AzureMySQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
10603	return nil, false
10604}
10605
10606// AsZohoSource is the BasicCopySource implementation for AzureMySQLSource.
10607func (amss AzureMySQLSource) AsZohoSource() (*ZohoSource, bool) {
10608	return nil, false
10609}
10610
10611// AsXeroSource is the BasicCopySource implementation for AzureMySQLSource.
10612func (amss AzureMySQLSource) AsXeroSource() (*XeroSource, bool) {
10613	return nil, false
10614}
10615
10616// AsSquareSource is the BasicCopySource implementation for AzureMySQLSource.
10617func (amss AzureMySQLSource) AsSquareSource() (*SquareSource, bool) {
10618	return nil, false
10619}
10620
10621// AsSparkSource is the BasicCopySource implementation for AzureMySQLSource.
10622func (amss AzureMySQLSource) AsSparkSource() (*SparkSource, bool) {
10623	return nil, false
10624}
10625
10626// AsShopifySource is the BasicCopySource implementation for AzureMySQLSource.
10627func (amss AzureMySQLSource) AsShopifySource() (*ShopifySource, bool) {
10628	return nil, false
10629}
10630
10631// AsServiceNowSource is the BasicCopySource implementation for AzureMySQLSource.
10632func (amss AzureMySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
10633	return nil, false
10634}
10635
10636// AsQuickBooksSource is the BasicCopySource implementation for AzureMySQLSource.
10637func (amss AzureMySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
10638	return nil, false
10639}
10640
10641// AsPrestoSource is the BasicCopySource implementation for AzureMySQLSource.
10642func (amss AzureMySQLSource) AsPrestoSource() (*PrestoSource, bool) {
10643	return nil, false
10644}
10645
10646// AsPhoenixSource is the BasicCopySource implementation for AzureMySQLSource.
10647func (amss AzureMySQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
10648	return nil, false
10649}
10650
10651// AsPaypalSource is the BasicCopySource implementation for AzureMySQLSource.
10652func (amss AzureMySQLSource) AsPaypalSource() (*PaypalSource, bool) {
10653	return nil, false
10654}
10655
10656// AsMarketoSource is the BasicCopySource implementation for AzureMySQLSource.
10657func (amss AzureMySQLSource) AsMarketoSource() (*MarketoSource, bool) {
10658	return nil, false
10659}
10660
10661// AsMariaDBSource is the BasicCopySource implementation for AzureMySQLSource.
10662func (amss AzureMySQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
10663	return nil, false
10664}
10665
10666// AsMagentoSource is the BasicCopySource implementation for AzureMySQLSource.
10667func (amss AzureMySQLSource) AsMagentoSource() (*MagentoSource, bool) {
10668	return nil, false
10669}
10670
10671// AsJiraSource is the BasicCopySource implementation for AzureMySQLSource.
10672func (amss AzureMySQLSource) AsJiraSource() (*JiraSource, bool) {
10673	return nil, false
10674}
10675
10676// AsImpalaSource is the BasicCopySource implementation for AzureMySQLSource.
10677func (amss AzureMySQLSource) AsImpalaSource() (*ImpalaSource, bool) {
10678	return nil, false
10679}
10680
10681// AsHubspotSource is the BasicCopySource implementation for AzureMySQLSource.
10682func (amss AzureMySQLSource) AsHubspotSource() (*HubspotSource, bool) {
10683	return nil, false
10684}
10685
10686// AsHiveSource is the BasicCopySource implementation for AzureMySQLSource.
10687func (amss AzureMySQLSource) AsHiveSource() (*HiveSource, bool) {
10688	return nil, false
10689}
10690
10691// AsHBaseSource is the BasicCopySource implementation for AzureMySQLSource.
10692func (amss AzureMySQLSource) AsHBaseSource() (*HBaseSource, bool) {
10693	return nil, false
10694}
10695
10696// AsGreenplumSource is the BasicCopySource implementation for AzureMySQLSource.
10697func (amss AzureMySQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
10698	return nil, false
10699}
10700
10701// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureMySQLSource.
10702func (amss AzureMySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
10703	return nil, false
10704}
10705
10706// AsEloquaSource is the BasicCopySource implementation for AzureMySQLSource.
10707func (amss AzureMySQLSource) AsEloquaSource() (*EloquaSource, bool) {
10708	return nil, false
10709}
10710
10711// AsDrillSource is the BasicCopySource implementation for AzureMySQLSource.
10712func (amss AzureMySQLSource) AsDrillSource() (*DrillSource, bool) {
10713	return nil, false
10714}
10715
10716// AsCouchbaseSource is the BasicCopySource implementation for AzureMySQLSource.
10717func (amss AzureMySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
10718	return nil, false
10719}
10720
10721// AsConcurSource is the BasicCopySource implementation for AzureMySQLSource.
10722func (amss AzureMySQLSource) AsConcurSource() (*ConcurSource, bool) {
10723	return nil, false
10724}
10725
10726// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureMySQLSource.
10727func (amss AzureMySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
10728	return nil, false
10729}
10730
10731// AsAmazonMWSSource is the BasicCopySource implementation for AzureMySQLSource.
10732func (amss AzureMySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
10733	return nil, false
10734}
10735
10736// AsHTTPSource is the BasicCopySource implementation for AzureMySQLSource.
10737func (amss AzureMySQLSource) AsHTTPSource() (*HTTPSource, bool) {
10738	return nil, false
10739}
10740
10741// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMySQLSource.
10742func (amss AzureMySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
10743	return nil, false
10744}
10745
10746// AsMongoDbSource is the BasicCopySource implementation for AzureMySQLSource.
10747func (amss AzureMySQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
10748	return nil, false
10749}
10750
10751// AsCassandraSource is the BasicCopySource implementation for AzureMySQLSource.
10752func (amss AzureMySQLSource) AsCassandraSource() (*CassandraSource, bool) {
10753	return nil, false
10754}
10755
10756// AsWebSource is the BasicCopySource implementation for AzureMySQLSource.
10757func (amss AzureMySQLSource) AsWebSource() (*WebSource, bool) {
10758	return nil, false
10759}
10760
10761// AsOracleSource is the BasicCopySource implementation for AzureMySQLSource.
10762func (amss AzureMySQLSource) AsOracleSource() (*OracleSource, bool) {
10763	return nil, false
10764}
10765
10766// AsAzureMySQLSource is the BasicCopySource implementation for AzureMySQLSource.
10767func (amss AzureMySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
10768	return &amss, true
10769}
10770
10771// AsHdfsSource is the BasicCopySource implementation for AzureMySQLSource.
10772func (amss AzureMySQLSource) AsHdfsSource() (*HdfsSource, bool) {
10773	return nil, false
10774}
10775
10776// AsFileSystemSource is the BasicCopySource implementation for AzureMySQLSource.
10777func (amss AzureMySQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
10778	return nil, false
10779}
10780
10781// AsSQLDWSource is the BasicCopySource implementation for AzureMySQLSource.
10782func (amss AzureMySQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
10783	return nil, false
10784}
10785
10786// AsSQLSource is the BasicCopySource implementation for AzureMySQLSource.
10787func (amss AzureMySQLSource) AsSQLSource() (*SQLSource, bool) {
10788	return nil, false
10789}
10790
10791// AsSapEccSource is the BasicCopySource implementation for AzureMySQLSource.
10792func (amss AzureMySQLSource) AsSapEccSource() (*SapEccSource, bool) {
10793	return nil, false
10794}
10795
10796// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureMySQLSource.
10797func (amss AzureMySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
10798	return nil, false
10799}
10800
10801// AsSalesforceSource is the BasicCopySource implementation for AzureMySQLSource.
10802func (amss AzureMySQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
10803	return nil, false
10804}
10805
10806// AsRelationalSource is the BasicCopySource implementation for AzureMySQLSource.
10807func (amss AzureMySQLSource) AsRelationalSource() (*RelationalSource, bool) {
10808	return nil, false
10809}
10810
10811// AsDynamicsSource is the BasicCopySource implementation for AzureMySQLSource.
10812func (amss AzureMySQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
10813	return nil, false
10814}
10815
10816// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMySQLSource.
10817func (amss AzureMySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
10818	return nil, false
10819}
10820
10821// AsBlobSource is the BasicCopySource implementation for AzureMySQLSource.
10822func (amss AzureMySQLSource) AsBlobSource() (*BlobSource, bool) {
10823	return nil, false
10824}
10825
10826// AsAzureTableSource is the BasicCopySource implementation for AzureMySQLSource.
10827func (amss AzureMySQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
10828	return nil, false
10829}
10830
10831// AsCopySource is the BasicCopySource implementation for AzureMySQLSource.
10832func (amss AzureMySQLSource) AsCopySource() (*CopySource, bool) {
10833	return nil, false
10834}
10835
10836// AsBasicCopySource is the BasicCopySource implementation for AzureMySQLSource.
10837func (amss AzureMySQLSource) AsBasicCopySource() (BasicCopySource, bool) {
10838	return &amss, true
10839}
10840
10841// UnmarshalJSON is the custom unmarshaler for AzureMySQLSource struct.
10842func (amss *AzureMySQLSource) UnmarshalJSON(body []byte) error {
10843	var m map[string]*json.RawMessage
10844	err := json.Unmarshal(body, &m)
10845	if err != nil {
10846		return err
10847	}
10848	for k, v := range m {
10849		switch k {
10850		case "query":
10851			if v != nil {
10852				var query interface{}
10853				err = json.Unmarshal(*v, &query)
10854				if err != nil {
10855					return err
10856				}
10857				amss.Query = query
10858			}
10859		default:
10860			if v != nil {
10861				var additionalProperties interface{}
10862				err = json.Unmarshal(*v, &additionalProperties)
10863				if err != nil {
10864					return err
10865				}
10866				if amss.AdditionalProperties == nil {
10867					amss.AdditionalProperties = make(map[string]interface{})
10868				}
10869				amss.AdditionalProperties[k] = additionalProperties
10870			}
10871		case "sourceRetryCount":
10872			if v != nil {
10873				var sourceRetryCount interface{}
10874				err = json.Unmarshal(*v, &sourceRetryCount)
10875				if err != nil {
10876					return err
10877				}
10878				amss.SourceRetryCount = sourceRetryCount
10879			}
10880		case "sourceRetryWait":
10881			if v != nil {
10882				var sourceRetryWait interface{}
10883				err = json.Unmarshal(*v, &sourceRetryWait)
10884				if err != nil {
10885					return err
10886				}
10887				amss.SourceRetryWait = sourceRetryWait
10888			}
10889		case "type":
10890			if v != nil {
10891				var typeVar TypeBasicCopySource
10892				err = json.Unmarshal(*v, &typeVar)
10893				if err != nil {
10894					return err
10895				}
10896				amss.Type = typeVar
10897			}
10898		}
10899	}
10900
10901	return nil
10902}
10903
10904// AzureMySQLTableDataset the Azure MySQL database dataset.
10905type AzureMySQLTableDataset struct {
10906	// AzureMySQLTableDatasetTypeProperties - Azure MySQL database dataset properties.
10907	*AzureMySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
10908	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10909	AdditionalProperties map[string]interface{} `json:""`
10910	// Description - Dataset description.
10911	Description *string `json:"description,omitempty"`
10912	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
10913	Structure interface{} `json:"structure,omitempty"`
10914	// LinkedServiceName - Linked service reference.
10915	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
10916	// Parameters - Parameters for dataset.
10917	Parameters map[string]*ParameterSpecification `json:"parameters"`
10918	// Annotations - List of tags that can be used for describing the Dataset.
10919	Annotations *[]interface{} `json:"annotations,omitempty"`
10920	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
10921	Type TypeBasicDataset `json:"type,omitempty"`
10922}
10923
10924// MarshalJSON is the custom marshaler for AzureMySQLTableDataset.
10925func (amstd AzureMySQLTableDataset) MarshalJSON() ([]byte, error) {
10926	amstd.Type = TypeAzureMySQLTable
10927	objectMap := make(map[string]interface{})
10928	if amstd.AzureMySQLTableDatasetTypeProperties != nil {
10929		objectMap["typeProperties"] = amstd.AzureMySQLTableDatasetTypeProperties
10930	}
10931	if amstd.Description != nil {
10932		objectMap["description"] = amstd.Description
10933	}
10934	if amstd.Structure != nil {
10935		objectMap["structure"] = amstd.Structure
10936	}
10937	if amstd.LinkedServiceName != nil {
10938		objectMap["linkedServiceName"] = amstd.LinkedServiceName
10939	}
10940	if amstd.Parameters != nil {
10941		objectMap["parameters"] = amstd.Parameters
10942	}
10943	if amstd.Annotations != nil {
10944		objectMap["annotations"] = amstd.Annotations
10945	}
10946	if amstd.Type != "" {
10947		objectMap["type"] = amstd.Type
10948	}
10949	for k, v := range amstd.AdditionalProperties {
10950		objectMap[k] = v
10951	}
10952	return json.Marshal(objectMap)
10953}
10954
10955// AsResponsysObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10956func (amstd AzureMySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
10957	return nil, false
10958}
10959
10960// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10961func (amstd AzureMySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
10962	return nil, false
10963}
10964
10965// AsVerticaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10966func (amstd AzureMySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
10967	return nil, false
10968}
10969
10970// AsNetezzaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10971func (amstd AzureMySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
10972	return nil, false
10973}
10974
10975// AsZohoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10976func (amstd AzureMySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
10977	return nil, false
10978}
10979
10980// AsXeroObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10981func (amstd AzureMySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
10982	return nil, false
10983}
10984
10985// AsSquareObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10986func (amstd AzureMySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
10987	return nil, false
10988}
10989
10990// AsSparkObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10991func (amstd AzureMySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
10992	return nil, false
10993}
10994
10995// AsShopifyObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10996func (amstd AzureMySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
10997	return nil, false
10998}
10999
11000// AsServiceNowObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11001func (amstd AzureMySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
11002	return nil, false
11003}
11004
11005// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11006func (amstd AzureMySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
11007	return nil, false
11008}
11009
11010// AsPrestoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11011func (amstd AzureMySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
11012	return nil, false
11013}
11014
11015// AsPhoenixObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11016func (amstd AzureMySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
11017	return nil, false
11018}
11019
11020// AsPaypalObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11021func (amstd AzureMySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
11022	return nil, false
11023}
11024
11025// AsMarketoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11026func (amstd AzureMySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
11027	return nil, false
11028}
11029
11030// AsMariaDBTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11031func (amstd AzureMySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
11032	return nil, false
11033}
11034
11035// AsMagentoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11036func (amstd AzureMySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
11037	return nil, false
11038}
11039
11040// AsJiraObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11041func (amstd AzureMySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
11042	return nil, false
11043}
11044
11045// AsImpalaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11046func (amstd AzureMySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
11047	return nil, false
11048}
11049
11050// AsHubspotObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11051func (amstd AzureMySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
11052	return nil, false
11053}
11054
11055// AsHiveObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11056func (amstd AzureMySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
11057	return nil, false
11058}
11059
11060// AsHBaseObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11061func (amstd AzureMySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
11062	return nil, false
11063}
11064
11065// AsGreenplumTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11066func (amstd AzureMySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
11067	return nil, false
11068}
11069
11070// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11071func (amstd AzureMySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
11072	return nil, false
11073}
11074
11075// AsEloquaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11076func (amstd AzureMySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
11077	return nil, false
11078}
11079
11080// AsDrillTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11081func (amstd AzureMySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
11082	return nil, false
11083}
11084
11085// AsCouchbaseTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11086func (amstd AzureMySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
11087	return nil, false
11088}
11089
11090// AsConcurObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11091func (amstd AzureMySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
11092	return nil, false
11093}
11094
11095// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11096func (amstd AzureMySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
11097	return nil, false
11098}
11099
11100// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11101func (amstd AzureMySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
11102	return nil, false
11103}
11104
11105// AsHTTPDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11106func (amstd AzureMySQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
11107	return nil, false
11108}
11109
11110// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11111func (amstd AzureMySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
11112	return nil, false
11113}
11114
11115// AsWebTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11116func (amstd AzureMySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
11117	return nil, false
11118}
11119
11120// AsSQLServerTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11121func (amstd AzureMySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
11122	return nil, false
11123}
11124
11125// AsSapEccResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11126func (amstd AzureMySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
11127	return nil, false
11128}
11129
11130// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11131func (amstd AzureMySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
11132	return nil, false
11133}
11134
11135// AsSalesforceObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11136func (amstd AzureMySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
11137	return nil, false
11138}
11139
11140// AsRelationalTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11141func (amstd AzureMySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
11142	return nil, false
11143}
11144
11145// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11146func (amstd AzureMySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
11147	return &amstd, true
11148}
11149
11150// AsOracleTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11151func (amstd AzureMySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
11152	return nil, false
11153}
11154
11155// AsODataResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11156func (amstd AzureMySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
11157	return nil, false
11158}
11159
11160// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11161func (amstd AzureMySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
11162	return nil, false
11163}
11164
11165// AsFileShareDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11166func (amstd AzureMySQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
11167	return nil, false
11168}
11169
11170// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11171func (amstd AzureMySQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
11172	return nil, false
11173}
11174
11175// AsDynamicsEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11176func (amstd AzureMySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
11177	return nil, false
11178}
11179
11180// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11181func (amstd AzureMySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
11182	return nil, false
11183}
11184
11185// AsCustomDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11186func (amstd AzureMySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
11187	return nil, false
11188}
11189
11190// AsCassandraTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11191func (amstd AzureMySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
11192	return nil, false
11193}
11194
11195// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11196func (amstd AzureMySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
11197	return nil, false
11198}
11199
11200// AsAzureSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11201func (amstd AzureMySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
11202	return nil, false
11203}
11204
11205// AsAzureTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11206func (amstd AzureMySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
11207	return nil, false
11208}
11209
11210// AsAzureBlobDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11211func (amstd AzureMySQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
11212	return nil, false
11213}
11214
11215// AsAmazonS3Dataset is the BasicDataset implementation for AzureMySQLTableDataset.
11216func (amstd AzureMySQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
11217	return nil, false
11218}
11219
11220// AsDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11221func (amstd AzureMySQLTableDataset) AsDataset() (*Dataset, bool) {
11222	return nil, false
11223}
11224
11225// AsBasicDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11226func (amstd AzureMySQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
11227	return &amstd, true
11228}
11229
11230// UnmarshalJSON is the custom unmarshaler for AzureMySQLTableDataset struct.
11231func (amstd *AzureMySQLTableDataset) UnmarshalJSON(body []byte) error {
11232	var m map[string]*json.RawMessage
11233	err := json.Unmarshal(body, &m)
11234	if err != nil {
11235		return err
11236	}
11237	for k, v := range m {
11238		switch k {
11239		case "typeProperties":
11240			if v != nil {
11241				var azureMySQLTableDatasetTypeProperties AzureMySQLTableDatasetTypeProperties
11242				err = json.Unmarshal(*v, &azureMySQLTableDatasetTypeProperties)
11243				if err != nil {
11244					return err
11245				}
11246				amstd.AzureMySQLTableDatasetTypeProperties = &azureMySQLTableDatasetTypeProperties
11247			}
11248		default:
11249			if v != nil {
11250				var additionalProperties interface{}
11251				err = json.Unmarshal(*v, &additionalProperties)
11252				if err != nil {
11253					return err
11254				}
11255				if amstd.AdditionalProperties == nil {
11256					amstd.AdditionalProperties = make(map[string]interface{})
11257				}
11258				amstd.AdditionalProperties[k] = additionalProperties
11259			}
11260		case "description":
11261			if v != nil {
11262				var description string
11263				err = json.Unmarshal(*v, &description)
11264				if err != nil {
11265					return err
11266				}
11267				amstd.Description = &description
11268			}
11269		case "structure":
11270			if v != nil {
11271				var structure interface{}
11272				err = json.Unmarshal(*v, &structure)
11273				if err != nil {
11274					return err
11275				}
11276				amstd.Structure = structure
11277			}
11278		case "linkedServiceName":
11279			if v != nil {
11280				var linkedServiceName LinkedServiceReference
11281				err = json.Unmarshal(*v, &linkedServiceName)
11282				if err != nil {
11283					return err
11284				}
11285				amstd.LinkedServiceName = &linkedServiceName
11286			}
11287		case "parameters":
11288			if v != nil {
11289				var parameters map[string]*ParameterSpecification
11290				err = json.Unmarshal(*v, &parameters)
11291				if err != nil {
11292					return err
11293				}
11294				amstd.Parameters = parameters
11295			}
11296		case "annotations":
11297			if v != nil {
11298				var annotations []interface{}
11299				err = json.Unmarshal(*v, &annotations)
11300				if err != nil {
11301					return err
11302				}
11303				amstd.Annotations = &annotations
11304			}
11305		case "type":
11306			if v != nil {
11307				var typeVar TypeBasicDataset
11308				err = json.Unmarshal(*v, &typeVar)
11309				if err != nil {
11310					return err
11311				}
11312				amstd.Type = typeVar
11313			}
11314		}
11315	}
11316
11317	return nil
11318}
11319
11320// AzureMySQLTableDatasetTypeProperties azure MySQL database dataset properties.
11321type AzureMySQLTableDatasetTypeProperties struct {
11322	// TableName - The Azure MySQL database table name. Type: string (or Expression with resultType string).
11323	TableName interface{} `json:"tableName,omitempty"`
11324}
11325
11326// AzurePostgreSQLLinkedService azure PostgreSQL linked service.
11327type AzurePostgreSQLLinkedService struct {
11328	// AzurePostgreSQLLinkedServiceTypeProperties - Azure PostgreSQL linked service properties.
11329	*AzurePostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
11330	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
11331	AdditionalProperties map[string]interface{} `json:""`
11332	// ConnectVia - The integration runtime reference.
11333	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
11334	// Description - Linked service description.
11335	Description *string `json:"description,omitempty"`
11336	// Parameters - Parameters for linked service.
11337	Parameters map[string]*ParameterSpecification `json:"parameters"`
11338	// Annotations - List of tags that can be used for describing the Dataset.
11339	Annotations *[]interface{} `json:"annotations,omitempty"`
11340	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
11341	Type TypeBasicLinkedService `json:"type,omitempty"`
11342}
11343
11344// MarshalJSON is the custom marshaler for AzurePostgreSQLLinkedService.
11345func (apsls AzurePostgreSQLLinkedService) MarshalJSON() ([]byte, error) {
11346	apsls.Type = TypeAzurePostgreSQL
11347	objectMap := make(map[string]interface{})
11348	if apsls.AzurePostgreSQLLinkedServiceTypeProperties != nil {
11349		objectMap["typeProperties"] = apsls.AzurePostgreSQLLinkedServiceTypeProperties
11350	}
11351	if apsls.ConnectVia != nil {
11352		objectMap["connectVia"] = apsls.ConnectVia
11353	}
11354	if apsls.Description != nil {
11355		objectMap["description"] = apsls.Description
11356	}
11357	if apsls.Parameters != nil {
11358		objectMap["parameters"] = apsls.Parameters
11359	}
11360	if apsls.Annotations != nil {
11361		objectMap["annotations"] = apsls.Annotations
11362	}
11363	if apsls.Type != "" {
11364		objectMap["type"] = apsls.Type
11365	}
11366	for k, v := range apsls.AdditionalProperties {
11367		objectMap[k] = v
11368	}
11369	return json.Marshal(objectMap)
11370}
11371
11372// AsResponsysLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11373func (apsls AzurePostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
11374	return nil, false
11375}
11376
11377// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11378func (apsls AzurePostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
11379	return nil, false
11380}
11381
11382// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11383func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
11384	return nil, false
11385}
11386
11387// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11388func (apsls AzurePostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
11389	return nil, false
11390}
11391
11392// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11393func (apsls AzurePostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
11394	return nil, false
11395}
11396
11397// AsNetezzaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11398func (apsls AzurePostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
11399	return nil, false
11400}
11401
11402// AsVerticaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11403func (apsls AzurePostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
11404	return nil, false
11405}
11406
11407// AsZohoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11408func (apsls AzurePostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
11409	return nil, false
11410}
11411
11412// AsXeroLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11413func (apsls AzurePostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
11414	return nil, false
11415}
11416
11417// AsSquareLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11418func (apsls AzurePostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
11419	return nil, false
11420}
11421
11422// AsSparkLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11423func (apsls AzurePostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
11424	return nil, false
11425}
11426
11427// AsShopifyLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11428func (apsls AzurePostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
11429	return nil, false
11430}
11431
11432// AsServiceNowLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11433func (apsls AzurePostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
11434	return nil, false
11435}
11436
11437// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11438func (apsls AzurePostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
11439	return nil, false
11440}
11441
11442// AsPrestoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11443func (apsls AzurePostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
11444	return nil, false
11445}
11446
11447// AsPhoenixLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11448func (apsls AzurePostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
11449	return nil, false
11450}
11451
11452// AsPaypalLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11453func (apsls AzurePostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
11454	return nil, false
11455}
11456
11457// AsMarketoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11458func (apsls AzurePostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
11459	return nil, false
11460}
11461
11462// AsMariaDBLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11463func (apsls AzurePostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
11464	return nil, false
11465}
11466
11467// AsMagentoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11468func (apsls AzurePostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
11469	return nil, false
11470}
11471
11472// AsJiraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11473func (apsls AzurePostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
11474	return nil, false
11475}
11476
11477// AsImpalaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11478func (apsls AzurePostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
11479	return nil, false
11480}
11481
11482// AsHubspotLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11483func (apsls AzurePostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
11484	return nil, false
11485}
11486
11487// AsHiveLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11488func (apsls AzurePostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
11489	return nil, false
11490}
11491
11492// AsHBaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11493func (apsls AzurePostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
11494	return nil, false
11495}
11496
11497// AsGreenplumLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11498func (apsls AzurePostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
11499	return nil, false
11500}
11501
11502// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11503func (apsls AzurePostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
11504	return nil, false
11505}
11506
11507// AsEloquaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11508func (apsls AzurePostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
11509	return nil, false
11510}
11511
11512// AsDrillLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11513func (apsls AzurePostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
11514	return nil, false
11515}
11516
11517// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11518func (apsls AzurePostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
11519	return nil, false
11520}
11521
11522// AsConcurLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11523func (apsls AzurePostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
11524	return nil, false
11525}
11526
11527// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11528func (apsls AzurePostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
11529	return &apsls, true
11530}
11531
11532// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11533func (apsls AzurePostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
11534	return nil, false
11535}
11536
11537// AsSapHanaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11538func (apsls AzurePostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
11539	return nil, false
11540}
11541
11542// AsSapBWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11543func (apsls AzurePostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
11544	return nil, false
11545}
11546
11547// AsSftpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11548func (apsls AzurePostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
11549	return nil, false
11550}
11551
11552// AsFtpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11553func (apsls AzurePostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
11554	return nil, false
11555}
11556
11557// AsHTTPLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11558func (apsls AzurePostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
11559	return nil, false
11560}
11561
11562// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11563func (apsls AzurePostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
11564	return nil, false
11565}
11566
11567// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11568func (apsls AzurePostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
11569	return nil, false
11570}
11571
11572// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11573func (apsls AzurePostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
11574	return nil, false
11575}
11576
11577// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11578func (apsls AzurePostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
11579	return nil, false
11580}
11581
11582// AsSapEccLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11583func (apsls AzurePostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
11584	return nil, false
11585}
11586
11587// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11588func (apsls AzurePostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
11589	return nil, false
11590}
11591
11592// AsSalesforceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11593func (apsls AzurePostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
11594	return nil, false
11595}
11596
11597// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11598func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
11599	return nil, false
11600}
11601
11602// AsMongoDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11603func (apsls AzurePostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
11604	return nil, false
11605}
11606
11607// AsCassandraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11608func (apsls AzurePostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
11609	return nil, false
11610}
11611
11612// AsWebLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11613func (apsls AzurePostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
11614	return nil, false
11615}
11616
11617// AsODataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11618func (apsls AzurePostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
11619	return nil, false
11620}
11621
11622// AsHdfsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11623func (apsls AzurePostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
11624	return nil, false
11625}
11626
11627// AsOdbcLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11628func (apsls AzurePostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
11629	return nil, false
11630}
11631
11632// AsAzureMLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11633func (apsls AzurePostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
11634	return nil, false
11635}
11636
11637// AsTeradataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11638func (apsls AzurePostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
11639	return nil, false
11640}
11641
11642// AsDb2LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11643func (apsls AzurePostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
11644	return nil, false
11645}
11646
11647// AsSybaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11648func (apsls AzurePostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
11649	return nil, false
11650}
11651
11652// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11653func (apsls AzurePostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
11654	return nil, false
11655}
11656
11657// AsMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11658func (apsls AzurePostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
11659	return nil, false
11660}
11661
11662// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11663func (apsls AzurePostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
11664	return nil, false
11665}
11666
11667// AsOracleLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11668func (apsls AzurePostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
11669	return nil, false
11670}
11671
11672// AsFileServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11673func (apsls AzurePostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
11674	return nil, false
11675}
11676
11677// AsHDInsightLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11678func (apsls AzurePostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
11679	return nil, false
11680}
11681
11682// AsDynamicsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11683func (apsls AzurePostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
11684	return nil, false
11685}
11686
11687// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11688func (apsls AzurePostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
11689	return nil, false
11690}
11691
11692// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11693func (apsls AzurePostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
11694	return nil, false
11695}
11696
11697// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11698func (apsls AzurePostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
11699	return nil, false
11700}
11701
11702// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11703func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
11704	return nil, false
11705}
11706
11707// AsSQLServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11708func (apsls AzurePostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
11709	return nil, false
11710}
11711
11712// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11713func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
11714	return nil, false
11715}
11716
11717// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11718func (apsls AzurePostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
11719	return nil, false
11720}
11721
11722// AsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11723func (apsls AzurePostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) {
11724	return nil, false
11725}
11726
11727// AsBasicLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11728func (apsls AzurePostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
11729	return &apsls, true
11730}
11731
11732// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLLinkedService struct.
11733func (apsls *AzurePostgreSQLLinkedService) UnmarshalJSON(body []byte) error {
11734	var m map[string]*json.RawMessage
11735	err := json.Unmarshal(body, &m)
11736	if err != nil {
11737		return err
11738	}
11739	for k, v := range m {
11740		switch k {
11741		case "typeProperties":
11742			if v != nil {
11743				var azurePostgreSQLLinkedServiceTypeProperties AzurePostgreSQLLinkedServiceTypeProperties
11744				err = json.Unmarshal(*v, &azurePostgreSQLLinkedServiceTypeProperties)
11745				if err != nil {
11746					return err
11747				}
11748				apsls.AzurePostgreSQLLinkedServiceTypeProperties = &azurePostgreSQLLinkedServiceTypeProperties
11749			}
11750		default:
11751			if v != nil {
11752				var additionalProperties interface{}
11753				err = json.Unmarshal(*v, &additionalProperties)
11754				if err != nil {
11755					return err
11756				}
11757				if apsls.AdditionalProperties == nil {
11758					apsls.AdditionalProperties = make(map[string]interface{})
11759				}
11760				apsls.AdditionalProperties[k] = additionalProperties
11761			}
11762		case "connectVia":
11763			if v != nil {
11764				var connectVia IntegrationRuntimeReference
11765				err = json.Unmarshal(*v, &connectVia)
11766				if err != nil {
11767					return err
11768				}
11769				apsls.ConnectVia = &connectVia
11770			}
11771		case "description":
11772			if v != nil {
11773				var description string
11774				err = json.Unmarshal(*v, &description)
11775				if err != nil {
11776					return err
11777				}
11778				apsls.Description = &description
11779			}
11780		case "parameters":
11781			if v != nil {
11782				var parameters map[string]*ParameterSpecification
11783				err = json.Unmarshal(*v, &parameters)
11784				if err != nil {
11785					return err
11786				}
11787				apsls.Parameters = parameters
11788			}
11789		case "annotations":
11790			if v != nil {
11791				var annotations []interface{}
11792				err = json.Unmarshal(*v, &annotations)
11793				if err != nil {
11794					return err
11795				}
11796				apsls.Annotations = &annotations
11797			}
11798		case "type":
11799			if v != nil {
11800				var typeVar TypeBasicLinkedService
11801				err = json.Unmarshal(*v, &typeVar)
11802				if err != nil {
11803					return err
11804				}
11805				apsls.Type = typeVar
11806			}
11807		}
11808	}
11809
11810	return nil
11811}
11812
11813// AzurePostgreSQLLinkedServiceTypeProperties azure PostgreSQL linked service properties.
11814type AzurePostgreSQLLinkedServiceTypeProperties struct {
11815	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
11816	ConnectionString interface{} `json:"connectionString,omitempty"`
11817	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
11818	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
11819}
11820
11821// AzurePostgreSQLSource a copy activity Azure PostgreSQL source.
11822type AzurePostgreSQLSource struct {
11823	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
11824	Query interface{} `json:"query,omitempty"`
11825	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
11826	AdditionalProperties map[string]interface{} `json:""`
11827	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
11828	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
11829	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
11830	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
11831	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
11832	Type TypeBasicCopySource `json:"type,omitempty"`
11833}
11834
11835// MarshalJSON is the custom marshaler for AzurePostgreSQLSource.
11836func (apss AzurePostgreSQLSource) MarshalJSON() ([]byte, error) {
11837	apss.Type = TypeAzurePostgreSQLSource
11838	objectMap := make(map[string]interface{})
11839	if apss.Query != nil {
11840		objectMap["query"] = apss.Query
11841	}
11842	if apss.SourceRetryCount != nil {
11843		objectMap["sourceRetryCount"] = apss.SourceRetryCount
11844	}
11845	if apss.SourceRetryWait != nil {
11846		objectMap["sourceRetryWait"] = apss.SourceRetryWait
11847	}
11848	if apss.Type != "" {
11849		objectMap["type"] = apss.Type
11850	}
11851	for k, v := range apss.AdditionalProperties {
11852		objectMap[k] = v
11853	}
11854	return json.Marshal(objectMap)
11855}
11856
11857// AsAmazonRedshiftSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11858func (apss AzurePostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
11859	return nil, false
11860}
11861
11862// AsResponsysSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11863func (apss AzurePostgreSQLSource) AsResponsysSource() (*ResponsysSource, bool) {
11864	return nil, false
11865}
11866
11867// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11868func (apss AzurePostgreSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
11869	return nil, false
11870}
11871
11872// AsVerticaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11873func (apss AzurePostgreSQLSource) AsVerticaSource() (*VerticaSource, bool) {
11874	return nil, false
11875}
11876
11877// AsNetezzaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11878func (apss AzurePostgreSQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
11879	return nil, false
11880}
11881
11882// AsZohoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11883func (apss AzurePostgreSQLSource) AsZohoSource() (*ZohoSource, bool) {
11884	return nil, false
11885}
11886
11887// AsXeroSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11888func (apss AzurePostgreSQLSource) AsXeroSource() (*XeroSource, bool) {
11889	return nil, false
11890}
11891
11892// AsSquareSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11893func (apss AzurePostgreSQLSource) AsSquareSource() (*SquareSource, bool) {
11894	return nil, false
11895}
11896
11897// AsSparkSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11898func (apss AzurePostgreSQLSource) AsSparkSource() (*SparkSource, bool) {
11899	return nil, false
11900}
11901
11902// AsShopifySource is the BasicCopySource implementation for AzurePostgreSQLSource.
11903func (apss AzurePostgreSQLSource) AsShopifySource() (*ShopifySource, bool) {
11904	return nil, false
11905}
11906
11907// AsServiceNowSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11908func (apss AzurePostgreSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
11909	return nil, false
11910}
11911
11912// AsQuickBooksSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11913func (apss AzurePostgreSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
11914	return nil, false
11915}
11916
11917// AsPrestoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11918func (apss AzurePostgreSQLSource) AsPrestoSource() (*PrestoSource, bool) {
11919	return nil, false
11920}
11921
11922// AsPhoenixSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11923func (apss AzurePostgreSQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
11924	return nil, false
11925}
11926
11927// AsPaypalSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11928func (apss AzurePostgreSQLSource) AsPaypalSource() (*PaypalSource, bool) {
11929	return nil, false
11930}
11931
11932// AsMarketoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11933func (apss AzurePostgreSQLSource) AsMarketoSource() (*MarketoSource, bool) {
11934	return nil, false
11935}
11936
11937// AsMariaDBSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11938func (apss AzurePostgreSQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
11939	return nil, false
11940}
11941
11942// AsMagentoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11943func (apss AzurePostgreSQLSource) AsMagentoSource() (*MagentoSource, bool) {
11944	return nil, false
11945}
11946
11947// AsJiraSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11948func (apss AzurePostgreSQLSource) AsJiraSource() (*JiraSource, bool) {
11949	return nil, false
11950}
11951
11952// AsImpalaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11953func (apss AzurePostgreSQLSource) AsImpalaSource() (*ImpalaSource, bool) {
11954	return nil, false
11955}
11956
11957// AsHubspotSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11958func (apss AzurePostgreSQLSource) AsHubspotSource() (*HubspotSource, bool) {
11959	return nil, false
11960}
11961
11962// AsHiveSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11963func (apss AzurePostgreSQLSource) AsHiveSource() (*HiveSource, bool) {
11964	return nil, false
11965}
11966
11967// AsHBaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11968func (apss AzurePostgreSQLSource) AsHBaseSource() (*HBaseSource, bool) {
11969	return nil, false
11970}
11971
11972// AsGreenplumSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11973func (apss AzurePostgreSQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
11974	return nil, false
11975}
11976
11977// AsGoogleBigQuerySource is the BasicCopySource implementation for AzurePostgreSQLSource.
11978func (apss AzurePostgreSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
11979	return nil, false
11980}
11981
11982// AsEloquaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11983func (apss AzurePostgreSQLSource) AsEloquaSource() (*EloquaSource, bool) {
11984	return nil, false
11985}
11986
11987// AsDrillSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11988func (apss AzurePostgreSQLSource) AsDrillSource() (*DrillSource, bool) {
11989	return nil, false
11990}
11991
11992// AsCouchbaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11993func (apss AzurePostgreSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
11994	return nil, false
11995}
11996
11997// AsConcurSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11998func (apss AzurePostgreSQLSource) AsConcurSource() (*ConcurSource, bool) {
11999	return nil, false
12000}
12001
12002// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12003func (apss AzurePostgreSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
12004	return &apss, true
12005}
12006
12007// AsAmazonMWSSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12008func (apss AzurePostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
12009	return nil, false
12010}
12011
12012// AsHTTPSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12013func (apss AzurePostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) {
12014	return nil, false
12015}
12016
12017// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12018func (apss AzurePostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
12019	return nil, false
12020}
12021
12022// AsMongoDbSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12023func (apss AzurePostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
12024	return nil, false
12025}
12026
12027// AsCassandraSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12028func (apss AzurePostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) {
12029	return nil, false
12030}
12031
12032// AsWebSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12033func (apss AzurePostgreSQLSource) AsWebSource() (*WebSource, bool) {
12034	return nil, false
12035}
12036
12037// AsOracleSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12038func (apss AzurePostgreSQLSource) AsOracleSource() (*OracleSource, bool) {
12039	return nil, false
12040}
12041
12042// AsAzureMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12043func (apss AzurePostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
12044	return nil, false
12045}
12046
12047// AsHdfsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12048func (apss AzurePostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) {
12049	return nil, false
12050}
12051
12052// AsFileSystemSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12053func (apss AzurePostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
12054	return nil, false
12055}
12056
12057// AsSQLDWSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12058func (apss AzurePostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
12059	return nil, false
12060}
12061
12062// AsSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12063func (apss AzurePostgreSQLSource) AsSQLSource() (*SQLSource, bool) {
12064	return nil, false
12065}
12066
12067// AsSapEccSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12068func (apss AzurePostgreSQLSource) AsSapEccSource() (*SapEccSource, bool) {
12069	return nil, false
12070}
12071
12072// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12073func (apss AzurePostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
12074	return nil, false
12075}
12076
12077// AsSalesforceSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12078func (apss AzurePostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
12079	return nil, false
12080}
12081
12082// AsRelationalSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12083func (apss AzurePostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) {
12084	return nil, false
12085}
12086
12087// AsDynamicsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12088func (apss AzurePostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
12089	return nil, false
12090}
12091
12092// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12093func (apss AzurePostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
12094	return nil, false
12095}
12096
12097// AsBlobSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12098func (apss AzurePostgreSQLSource) AsBlobSource() (*BlobSource, bool) {
12099	return nil, false
12100}
12101
12102// AsAzureTableSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12103func (apss AzurePostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
12104	return nil, false
12105}
12106
12107// AsCopySource is the BasicCopySource implementation for AzurePostgreSQLSource.
12108func (apss AzurePostgreSQLSource) AsCopySource() (*CopySource, bool) {
12109	return nil, false
12110}
12111
12112// AsBasicCopySource is the BasicCopySource implementation for AzurePostgreSQLSource.
12113func (apss AzurePostgreSQLSource) AsBasicCopySource() (BasicCopySource, bool) {
12114	return &apss, true
12115}
12116
12117// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLSource struct.
12118func (apss *AzurePostgreSQLSource) UnmarshalJSON(body []byte) error {
12119	var m map[string]*json.RawMessage
12120	err := json.Unmarshal(body, &m)
12121	if err != nil {
12122		return err
12123	}
12124	for k, v := range m {
12125		switch k {
12126		case "query":
12127			if v != nil {
12128				var query interface{}
12129				err = json.Unmarshal(*v, &query)
12130				if err != nil {
12131					return err
12132				}
12133				apss.Query = query
12134			}
12135		default:
12136			if v != nil {
12137				var additionalProperties interface{}
12138				err = json.Unmarshal(*v, &additionalProperties)
12139				if err != nil {
12140					return err
12141				}
12142				if apss.AdditionalProperties == nil {
12143					apss.AdditionalProperties = make(map[string]interface{})
12144				}
12145				apss.AdditionalProperties[k] = additionalProperties
12146			}
12147		case "sourceRetryCount":
12148			if v != nil {
12149				var sourceRetryCount interface{}
12150				err = json.Unmarshal(*v, &sourceRetryCount)
12151				if err != nil {
12152					return err
12153				}
12154				apss.SourceRetryCount = sourceRetryCount
12155			}
12156		case "sourceRetryWait":
12157			if v != nil {
12158				var sourceRetryWait interface{}
12159				err = json.Unmarshal(*v, &sourceRetryWait)
12160				if err != nil {
12161					return err
12162				}
12163				apss.SourceRetryWait = sourceRetryWait
12164			}
12165		case "type":
12166			if v != nil {
12167				var typeVar TypeBasicCopySource
12168				err = json.Unmarshal(*v, &typeVar)
12169				if err != nil {
12170					return err
12171				}
12172				apss.Type = typeVar
12173			}
12174		}
12175	}
12176
12177	return nil
12178}
12179
12180// AzurePostgreSQLTableDataset azure PostgreSQL dataset.
12181type AzurePostgreSQLTableDataset struct {
12182	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12183	AdditionalProperties map[string]interface{} `json:""`
12184	// Description - Dataset description.
12185	Description *string `json:"description,omitempty"`
12186	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
12187	Structure interface{} `json:"structure,omitempty"`
12188	// LinkedServiceName - Linked service reference.
12189	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
12190	// Parameters - Parameters for dataset.
12191	Parameters map[string]*ParameterSpecification `json:"parameters"`
12192	// Annotations - List of tags that can be used for describing the Dataset.
12193	Annotations *[]interface{} `json:"annotations,omitempty"`
12194	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
12195	Type TypeBasicDataset `json:"type,omitempty"`
12196}
12197
12198// MarshalJSON is the custom marshaler for AzurePostgreSQLTableDataset.
12199func (apstd AzurePostgreSQLTableDataset) MarshalJSON() ([]byte, error) {
12200	apstd.Type = TypeAzurePostgreSQLTable
12201	objectMap := make(map[string]interface{})
12202	if apstd.Description != nil {
12203		objectMap["description"] = apstd.Description
12204	}
12205	if apstd.Structure != nil {
12206		objectMap["structure"] = apstd.Structure
12207	}
12208	if apstd.LinkedServiceName != nil {
12209		objectMap["linkedServiceName"] = apstd.LinkedServiceName
12210	}
12211	if apstd.Parameters != nil {
12212		objectMap["parameters"] = apstd.Parameters
12213	}
12214	if apstd.Annotations != nil {
12215		objectMap["annotations"] = apstd.Annotations
12216	}
12217	if apstd.Type != "" {
12218		objectMap["type"] = apstd.Type
12219	}
12220	for k, v := range apstd.AdditionalProperties {
12221		objectMap[k] = v
12222	}
12223	return json.Marshal(objectMap)
12224}
12225
12226// AsResponsysObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12227func (apstd AzurePostgreSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
12228	return nil, false
12229}
12230
12231// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12232func (apstd AzurePostgreSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
12233	return nil, false
12234}
12235
12236// AsVerticaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12237func (apstd AzurePostgreSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
12238	return nil, false
12239}
12240
12241// AsNetezzaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12242func (apstd AzurePostgreSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
12243	return nil, false
12244}
12245
12246// AsZohoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12247func (apstd AzurePostgreSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
12248	return nil, false
12249}
12250
12251// AsXeroObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12252func (apstd AzurePostgreSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
12253	return nil, false
12254}
12255
12256// AsSquareObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12257func (apstd AzurePostgreSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
12258	return nil, false
12259}
12260
12261// AsSparkObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12262func (apstd AzurePostgreSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
12263	return nil, false
12264}
12265
12266// AsShopifyObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12267func (apstd AzurePostgreSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
12268	return nil, false
12269}
12270
12271// AsServiceNowObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12272func (apstd AzurePostgreSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
12273	return nil, false
12274}
12275
12276// AsQuickBooksObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12277func (apstd AzurePostgreSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
12278	return nil, false
12279}
12280
12281// AsPrestoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12282func (apstd AzurePostgreSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
12283	return nil, false
12284}
12285
12286// AsPhoenixObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12287func (apstd AzurePostgreSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
12288	return nil, false
12289}
12290
12291// AsPaypalObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12292func (apstd AzurePostgreSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
12293	return nil, false
12294}
12295
12296// AsMarketoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12297func (apstd AzurePostgreSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
12298	return nil, false
12299}
12300
12301// AsMariaDBTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12302func (apstd AzurePostgreSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
12303	return nil, false
12304}
12305
12306// AsMagentoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12307func (apstd AzurePostgreSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
12308	return nil, false
12309}
12310
12311// AsJiraObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12312func (apstd AzurePostgreSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
12313	return nil, false
12314}
12315
12316// AsImpalaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12317func (apstd AzurePostgreSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
12318	return nil, false
12319}
12320
12321// AsHubspotObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12322func (apstd AzurePostgreSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
12323	return nil, false
12324}
12325
12326// AsHiveObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12327func (apstd AzurePostgreSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
12328	return nil, false
12329}
12330
12331// AsHBaseObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12332func (apstd AzurePostgreSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
12333	return nil, false
12334}
12335
12336// AsGreenplumTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12337func (apstd AzurePostgreSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
12338	return nil, false
12339}
12340
12341// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12342func (apstd AzurePostgreSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
12343	return nil, false
12344}
12345
12346// AsEloquaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12347func (apstd AzurePostgreSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
12348	return nil, false
12349}
12350
12351// AsDrillTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12352func (apstd AzurePostgreSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
12353	return nil, false
12354}
12355
12356// AsCouchbaseTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12357func (apstd AzurePostgreSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
12358	return nil, false
12359}
12360
12361// AsConcurObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12362func (apstd AzurePostgreSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
12363	return nil, false
12364}
12365
12366// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12367func (apstd AzurePostgreSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
12368	return &apstd, true
12369}
12370
12371// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12372func (apstd AzurePostgreSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
12373	return nil, false
12374}
12375
12376// AsHTTPDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12377func (apstd AzurePostgreSQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
12378	return nil, false
12379}
12380
12381// AsAzureSearchIndexDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12382func (apstd AzurePostgreSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
12383	return nil, false
12384}
12385
12386// AsWebTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12387func (apstd AzurePostgreSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
12388	return nil, false
12389}
12390
12391// AsSQLServerTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12392func (apstd AzurePostgreSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
12393	return nil, false
12394}
12395
12396// AsSapEccResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12397func (apstd AzurePostgreSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
12398	return nil, false
12399}
12400
12401// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12402func (apstd AzurePostgreSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
12403	return nil, false
12404}
12405
12406// AsSalesforceObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12407func (apstd AzurePostgreSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
12408	return nil, false
12409}
12410
12411// AsRelationalTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12412func (apstd AzurePostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
12413	return nil, false
12414}
12415
12416// AsAzureMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12417func (apstd AzurePostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
12418	return nil, false
12419}
12420
12421// AsOracleTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12422func (apstd AzurePostgreSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
12423	return nil, false
12424}
12425
12426// AsODataResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12427func (apstd AzurePostgreSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
12428	return nil, false
12429}
12430
12431// AsMongoDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12432func (apstd AzurePostgreSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
12433	return nil, false
12434}
12435
12436// AsFileShareDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12437func (apstd AzurePostgreSQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
12438	return nil, false
12439}
12440
12441// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12442func (apstd AzurePostgreSQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
12443	return nil, false
12444}
12445
12446// AsDynamicsEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12447func (apstd AzurePostgreSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
12448	return nil, false
12449}
12450
12451// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12452func (apstd AzurePostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
12453	return nil, false
12454}
12455
12456// AsCustomDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12457func (apstd AzurePostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
12458	return nil, false
12459}
12460
12461// AsCassandraTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12462func (apstd AzurePostgreSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
12463	return nil, false
12464}
12465
12466// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12467func (apstd AzurePostgreSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
12468	return nil, false
12469}
12470
12471// AsAzureSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12472func (apstd AzurePostgreSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
12473	return nil, false
12474}
12475
12476// AsAzureTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12477func (apstd AzurePostgreSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
12478	return nil, false
12479}
12480
12481// AsAzureBlobDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12482func (apstd AzurePostgreSQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
12483	return nil, false
12484}
12485
12486// AsAmazonS3Dataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12487func (apstd AzurePostgreSQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
12488	return nil, false
12489}
12490
12491// AsDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12492func (apstd AzurePostgreSQLTableDataset) AsDataset() (*Dataset, bool) {
12493	return nil, false
12494}
12495
12496// AsBasicDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12497func (apstd AzurePostgreSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
12498	return &apstd, true
12499}
12500
12501// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLTableDataset struct.
12502func (apstd *AzurePostgreSQLTableDataset) UnmarshalJSON(body []byte) error {
12503	var m map[string]*json.RawMessage
12504	err := json.Unmarshal(body, &m)
12505	if err != nil {
12506		return err
12507	}
12508	for k, v := range m {
12509		switch k {
12510		default:
12511			if v != nil {
12512				var additionalProperties interface{}
12513				err = json.Unmarshal(*v, &additionalProperties)
12514				if err != nil {
12515					return err
12516				}
12517				if apstd.AdditionalProperties == nil {
12518					apstd.AdditionalProperties = make(map[string]interface{})
12519				}
12520				apstd.AdditionalProperties[k] = additionalProperties
12521			}
12522		case "description":
12523			if v != nil {
12524				var description string
12525				err = json.Unmarshal(*v, &description)
12526				if err != nil {
12527					return err
12528				}
12529				apstd.Description = &description
12530			}
12531		case "structure":
12532			if v != nil {
12533				var structure interface{}
12534				err = json.Unmarshal(*v, &structure)
12535				if err != nil {
12536					return err
12537				}
12538				apstd.Structure = structure
12539			}
12540		case "linkedServiceName":
12541			if v != nil {
12542				var linkedServiceName LinkedServiceReference
12543				err = json.Unmarshal(*v, &linkedServiceName)
12544				if err != nil {
12545					return err
12546				}
12547				apstd.LinkedServiceName = &linkedServiceName
12548			}
12549		case "parameters":
12550			if v != nil {
12551				var parameters map[string]*ParameterSpecification
12552				err = json.Unmarshal(*v, &parameters)
12553				if err != nil {
12554					return err
12555				}
12556				apstd.Parameters = parameters
12557			}
12558		case "annotations":
12559			if v != nil {
12560				var annotations []interface{}
12561				err = json.Unmarshal(*v, &annotations)
12562				if err != nil {
12563					return err
12564				}
12565				apstd.Annotations = &annotations
12566			}
12567		case "type":
12568			if v != nil {
12569				var typeVar TypeBasicDataset
12570				err = json.Unmarshal(*v, &typeVar)
12571				if err != nil {
12572					return err
12573				}
12574				apstd.Type = typeVar
12575			}
12576		}
12577	}
12578
12579	return nil
12580}
12581
12582// AzureQueueSink a copy activity Azure Queue sink.
12583type AzureQueueSink struct {
12584	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12585	AdditionalProperties map[string]interface{} `json:""`
12586	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
12587	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
12588	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
12589	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
12590	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
12591	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
12592	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
12593	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
12594	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
12595	Type TypeBasicCopySink `json:"type,omitempty"`
12596}
12597
12598// MarshalJSON is the custom marshaler for AzureQueueSink.
12599func (aqs AzureQueueSink) MarshalJSON() ([]byte, error) {
12600	aqs.Type = TypeAzureQueueSink
12601	objectMap := make(map[string]interface{})
12602	if aqs.WriteBatchSize != nil {
12603		objectMap["writeBatchSize"] = aqs.WriteBatchSize
12604	}
12605	if aqs.WriteBatchTimeout != nil {
12606		objectMap["writeBatchTimeout"] = aqs.WriteBatchTimeout
12607	}
12608	if aqs.SinkRetryCount != nil {
12609		objectMap["sinkRetryCount"] = aqs.SinkRetryCount
12610	}
12611	if aqs.SinkRetryWait != nil {
12612		objectMap["sinkRetryWait"] = aqs.SinkRetryWait
12613	}
12614	if aqs.Type != "" {
12615		objectMap["type"] = aqs.Type
12616	}
12617	for k, v := range aqs.AdditionalProperties {
12618		objectMap[k] = v
12619	}
12620	return json.Marshal(objectMap)
12621}
12622
12623// AsSalesforceSink is the BasicCopySink implementation for AzureQueueSink.
12624func (aqs AzureQueueSink) AsSalesforceSink() (*SalesforceSink, bool) {
12625	return nil, false
12626}
12627
12628// AsDynamicsSink is the BasicCopySink implementation for AzureQueueSink.
12629func (aqs AzureQueueSink) AsDynamicsSink() (*DynamicsSink, bool) {
12630	return nil, false
12631}
12632
12633// AsOdbcSink is the BasicCopySink implementation for AzureQueueSink.
12634func (aqs AzureQueueSink) AsOdbcSink() (*OdbcSink, bool) {
12635	return nil, false
12636}
12637
12638// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureQueueSink.
12639func (aqs AzureQueueSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
12640	return nil, false
12641}
12642
12643// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureQueueSink.
12644func (aqs AzureQueueSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
12645	return nil, false
12646}
12647
12648// AsOracleSink is the BasicCopySink implementation for AzureQueueSink.
12649func (aqs AzureQueueSink) AsOracleSink() (*OracleSink, bool) {
12650	return nil, false
12651}
12652
12653// AsSQLDWSink is the BasicCopySink implementation for AzureQueueSink.
12654func (aqs AzureQueueSink) AsSQLDWSink() (*SQLDWSink, bool) {
12655	return nil, false
12656}
12657
12658// AsSQLSink is the BasicCopySink implementation for AzureQueueSink.
12659func (aqs AzureQueueSink) AsSQLSink() (*SQLSink, bool) {
12660	return nil, false
12661}
12662
12663// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureQueueSink.
12664func (aqs AzureQueueSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
12665	return nil, false
12666}
12667
12668// AsFileSystemSink is the BasicCopySink implementation for AzureQueueSink.
12669func (aqs AzureQueueSink) AsFileSystemSink() (*FileSystemSink, bool) {
12670	return nil, false
12671}
12672
12673// AsBlobSink is the BasicCopySink implementation for AzureQueueSink.
12674func (aqs AzureQueueSink) AsBlobSink() (*BlobSink, bool) {
12675	return nil, false
12676}
12677
12678// AsAzureTableSink is the BasicCopySink implementation for AzureQueueSink.
12679func (aqs AzureQueueSink) AsAzureTableSink() (*AzureTableSink, bool) {
12680	return nil, false
12681}
12682
12683// AsAzureQueueSink is the BasicCopySink implementation for AzureQueueSink.
12684func (aqs AzureQueueSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
12685	return &aqs, true
12686}
12687
12688// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureQueueSink.
12689func (aqs AzureQueueSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
12690	return nil, false
12691}
12692
12693// AsCopySink is the BasicCopySink implementation for AzureQueueSink.
12694func (aqs AzureQueueSink) AsCopySink() (*CopySink, bool) {
12695	return nil, false
12696}
12697
12698// AsBasicCopySink is the BasicCopySink implementation for AzureQueueSink.
12699func (aqs AzureQueueSink) AsBasicCopySink() (BasicCopySink, bool) {
12700	return &aqs, true
12701}
12702
12703// UnmarshalJSON is the custom unmarshaler for AzureQueueSink struct.
12704func (aqs *AzureQueueSink) UnmarshalJSON(body []byte) error {
12705	var m map[string]*json.RawMessage
12706	err := json.Unmarshal(body, &m)
12707	if err != nil {
12708		return err
12709	}
12710	for k, v := range m {
12711		switch k {
12712		default:
12713			if v != nil {
12714				var additionalProperties interface{}
12715				err = json.Unmarshal(*v, &additionalProperties)
12716				if err != nil {
12717					return err
12718				}
12719				if aqs.AdditionalProperties == nil {
12720					aqs.AdditionalProperties = make(map[string]interface{})
12721				}
12722				aqs.AdditionalProperties[k] = additionalProperties
12723			}
12724		case "writeBatchSize":
12725			if v != nil {
12726				var writeBatchSize interface{}
12727				err = json.Unmarshal(*v, &writeBatchSize)
12728				if err != nil {
12729					return err
12730				}
12731				aqs.WriteBatchSize = writeBatchSize
12732			}
12733		case "writeBatchTimeout":
12734			if v != nil {
12735				var writeBatchTimeout interface{}
12736				err = json.Unmarshal(*v, &writeBatchTimeout)
12737				if err != nil {
12738					return err
12739				}
12740				aqs.WriteBatchTimeout = writeBatchTimeout
12741			}
12742		case "sinkRetryCount":
12743			if v != nil {
12744				var sinkRetryCount interface{}
12745				err = json.Unmarshal(*v, &sinkRetryCount)
12746				if err != nil {
12747					return err
12748				}
12749				aqs.SinkRetryCount = sinkRetryCount
12750			}
12751		case "sinkRetryWait":
12752			if v != nil {
12753				var sinkRetryWait interface{}
12754				err = json.Unmarshal(*v, &sinkRetryWait)
12755				if err != nil {
12756					return err
12757				}
12758				aqs.SinkRetryWait = sinkRetryWait
12759			}
12760		case "type":
12761			if v != nil {
12762				var typeVar TypeBasicCopySink
12763				err = json.Unmarshal(*v, &typeVar)
12764				if err != nil {
12765					return err
12766				}
12767				aqs.Type = typeVar
12768			}
12769		}
12770	}
12771
12772	return nil
12773}
12774
12775// AzureSearchIndexDataset the Azure Search Index.
12776type AzureSearchIndexDataset struct {
12777	// AzureSearchIndexDatasetTypeProperties - Properties specific to this dataset type.
12778	*AzureSearchIndexDatasetTypeProperties `json:"typeProperties,omitempty"`
12779	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12780	AdditionalProperties map[string]interface{} `json:""`
12781	// Description - Dataset description.
12782	Description *string `json:"description,omitempty"`
12783	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
12784	Structure interface{} `json:"structure,omitempty"`
12785	// LinkedServiceName - Linked service reference.
12786	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
12787	// Parameters - Parameters for dataset.
12788	Parameters map[string]*ParameterSpecification `json:"parameters"`
12789	// Annotations - List of tags that can be used for describing the Dataset.
12790	Annotations *[]interface{} `json:"annotations,omitempty"`
12791	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
12792	Type TypeBasicDataset `json:"type,omitempty"`
12793}
12794
12795// MarshalJSON is the custom marshaler for AzureSearchIndexDataset.
12796func (asid AzureSearchIndexDataset) MarshalJSON() ([]byte, error) {
12797	asid.Type = TypeAzureSearchIndex
12798	objectMap := make(map[string]interface{})
12799	if asid.AzureSearchIndexDatasetTypeProperties != nil {
12800		objectMap["typeProperties"] = asid.AzureSearchIndexDatasetTypeProperties
12801	}
12802	if asid.Description != nil {
12803		objectMap["description"] = asid.Description
12804	}
12805	if asid.Structure != nil {
12806		objectMap["structure"] = asid.Structure
12807	}
12808	if asid.LinkedServiceName != nil {
12809		objectMap["linkedServiceName"] = asid.LinkedServiceName
12810	}
12811	if asid.Parameters != nil {
12812		objectMap["parameters"] = asid.Parameters
12813	}
12814	if asid.Annotations != nil {
12815		objectMap["annotations"] = asid.Annotations
12816	}
12817	if asid.Type != "" {
12818		objectMap["type"] = asid.Type
12819	}
12820	for k, v := range asid.AdditionalProperties {
12821		objectMap[k] = v
12822	}
12823	return json.Marshal(objectMap)
12824}
12825
12826// AsResponsysObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12827func (asid AzureSearchIndexDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
12828	return nil, false
12829}
12830
12831// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12832func (asid AzureSearchIndexDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
12833	return nil, false
12834}
12835
12836// AsVerticaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12837func (asid AzureSearchIndexDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
12838	return nil, false
12839}
12840
12841// AsNetezzaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12842func (asid AzureSearchIndexDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
12843	return nil, false
12844}
12845
12846// AsZohoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12847func (asid AzureSearchIndexDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
12848	return nil, false
12849}
12850
12851// AsXeroObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12852func (asid AzureSearchIndexDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
12853	return nil, false
12854}
12855
12856// AsSquareObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12857func (asid AzureSearchIndexDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
12858	return nil, false
12859}
12860
12861// AsSparkObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12862func (asid AzureSearchIndexDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
12863	return nil, false
12864}
12865
12866// AsShopifyObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12867func (asid AzureSearchIndexDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
12868	return nil, false
12869}
12870
12871// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12872func (asid AzureSearchIndexDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
12873	return nil, false
12874}
12875
12876// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12877func (asid AzureSearchIndexDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
12878	return nil, false
12879}
12880
12881// AsPrestoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12882func (asid AzureSearchIndexDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
12883	return nil, false
12884}
12885
12886// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12887func (asid AzureSearchIndexDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
12888	return nil, false
12889}
12890
12891// AsPaypalObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12892func (asid AzureSearchIndexDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
12893	return nil, false
12894}
12895
12896// AsMarketoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12897func (asid AzureSearchIndexDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
12898	return nil, false
12899}
12900
12901// AsMariaDBTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12902func (asid AzureSearchIndexDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
12903	return nil, false
12904}
12905
12906// AsMagentoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12907func (asid AzureSearchIndexDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
12908	return nil, false
12909}
12910
12911// AsJiraObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12912func (asid AzureSearchIndexDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
12913	return nil, false
12914}
12915
12916// AsImpalaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12917func (asid AzureSearchIndexDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
12918	return nil, false
12919}
12920
12921// AsHubspotObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12922func (asid AzureSearchIndexDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
12923	return nil, false
12924}
12925
12926// AsHiveObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12927func (asid AzureSearchIndexDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
12928	return nil, false
12929}
12930
12931// AsHBaseObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12932func (asid AzureSearchIndexDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
12933	return nil, false
12934}
12935
12936// AsGreenplumTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12937func (asid AzureSearchIndexDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
12938	return nil, false
12939}
12940
12941// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12942func (asid AzureSearchIndexDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
12943	return nil, false
12944}
12945
12946// AsEloquaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12947func (asid AzureSearchIndexDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
12948	return nil, false
12949}
12950
12951// AsDrillTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12952func (asid AzureSearchIndexDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
12953	return nil, false
12954}
12955
12956// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12957func (asid AzureSearchIndexDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
12958	return nil, false
12959}
12960
12961// AsConcurObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12962func (asid AzureSearchIndexDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
12963	return nil, false
12964}
12965
12966// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12967func (asid AzureSearchIndexDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
12968	return nil, false
12969}
12970
12971// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12972func (asid AzureSearchIndexDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
12973	return nil, false
12974}
12975
12976// AsHTTPDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12977func (asid AzureSearchIndexDataset) AsHTTPDataset() (*HTTPDataset, bool) {
12978	return nil, false
12979}
12980
12981// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12982func (asid AzureSearchIndexDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
12983	return &asid, true
12984}
12985
12986// AsWebTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12987func (asid AzureSearchIndexDataset) AsWebTableDataset() (*WebTableDataset, bool) {
12988	return nil, false
12989}
12990
12991// AsSQLServerTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12992func (asid AzureSearchIndexDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
12993	return nil, false
12994}
12995
12996// AsSapEccResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12997func (asid AzureSearchIndexDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
12998	return nil, false
12999}
13000
13001// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13002func (asid AzureSearchIndexDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
13003	return nil, false
13004}
13005
13006// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13007func (asid AzureSearchIndexDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
13008	return nil, false
13009}
13010
13011// AsRelationalTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13012func (asid AzureSearchIndexDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
13013	return nil, false
13014}
13015
13016// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13017func (asid AzureSearchIndexDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
13018	return nil, false
13019}
13020
13021// AsOracleTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13022func (asid AzureSearchIndexDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
13023	return nil, false
13024}
13025
13026// AsODataResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13027func (asid AzureSearchIndexDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
13028	return nil, false
13029}
13030
13031// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13032func (asid AzureSearchIndexDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
13033	return nil, false
13034}
13035
13036// AsFileShareDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13037func (asid AzureSearchIndexDataset) AsFileShareDataset() (*FileShareDataset, bool) {
13038	return nil, false
13039}
13040
13041// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13042func (asid AzureSearchIndexDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
13043	return nil, false
13044}
13045
13046// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13047func (asid AzureSearchIndexDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
13048	return nil, false
13049}
13050
13051// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13052func (asid AzureSearchIndexDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
13053	return nil, false
13054}
13055
13056// AsCustomDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13057func (asid AzureSearchIndexDataset) AsCustomDataset() (*CustomDataset, bool) {
13058	return nil, false
13059}
13060
13061// AsCassandraTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13062func (asid AzureSearchIndexDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
13063	return nil, false
13064}
13065
13066// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13067func (asid AzureSearchIndexDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
13068	return nil, false
13069}
13070
13071// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13072func (asid AzureSearchIndexDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
13073	return nil, false
13074}
13075
13076// AsAzureTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13077func (asid AzureSearchIndexDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
13078	return nil, false
13079}
13080
13081// AsAzureBlobDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13082func (asid AzureSearchIndexDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
13083	return nil, false
13084}
13085
13086// AsAmazonS3Dataset is the BasicDataset implementation for AzureSearchIndexDataset.
13087func (asid AzureSearchIndexDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
13088	return nil, false
13089}
13090
13091// AsDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13092func (asid AzureSearchIndexDataset) AsDataset() (*Dataset, bool) {
13093	return nil, false
13094}
13095
13096// AsBasicDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13097func (asid AzureSearchIndexDataset) AsBasicDataset() (BasicDataset, bool) {
13098	return &asid, true
13099}
13100
13101// UnmarshalJSON is the custom unmarshaler for AzureSearchIndexDataset struct.
13102func (asid *AzureSearchIndexDataset) UnmarshalJSON(body []byte) error {
13103	var m map[string]*json.RawMessage
13104	err := json.Unmarshal(body, &m)
13105	if err != nil {
13106		return err
13107	}
13108	for k, v := range m {
13109		switch k {
13110		case "typeProperties":
13111			if v != nil {
13112				var azureSearchIndexDatasetTypeProperties AzureSearchIndexDatasetTypeProperties
13113				err = json.Unmarshal(*v, &azureSearchIndexDatasetTypeProperties)
13114				if err != nil {
13115					return err
13116				}
13117				asid.AzureSearchIndexDatasetTypeProperties = &azureSearchIndexDatasetTypeProperties
13118			}
13119		default:
13120			if v != nil {
13121				var additionalProperties interface{}
13122				err = json.Unmarshal(*v, &additionalProperties)
13123				if err != nil {
13124					return err
13125				}
13126				if asid.AdditionalProperties == nil {
13127					asid.AdditionalProperties = make(map[string]interface{})
13128				}
13129				asid.AdditionalProperties[k] = additionalProperties
13130			}
13131		case "description":
13132			if v != nil {
13133				var description string
13134				err = json.Unmarshal(*v, &description)
13135				if err != nil {
13136					return err
13137				}
13138				asid.Description = &description
13139			}
13140		case "structure":
13141			if v != nil {
13142				var structure interface{}
13143				err = json.Unmarshal(*v, &structure)
13144				if err != nil {
13145					return err
13146				}
13147				asid.Structure = structure
13148			}
13149		case "linkedServiceName":
13150			if v != nil {
13151				var linkedServiceName LinkedServiceReference
13152				err = json.Unmarshal(*v, &linkedServiceName)
13153				if err != nil {
13154					return err
13155				}
13156				asid.LinkedServiceName = &linkedServiceName
13157			}
13158		case "parameters":
13159			if v != nil {
13160				var parameters map[string]*ParameterSpecification
13161				err = json.Unmarshal(*v, &parameters)
13162				if err != nil {
13163					return err
13164				}
13165				asid.Parameters = parameters
13166			}
13167		case "annotations":
13168			if v != nil {
13169				var annotations []interface{}
13170				err = json.Unmarshal(*v, &annotations)
13171				if err != nil {
13172					return err
13173				}
13174				asid.Annotations = &annotations
13175			}
13176		case "type":
13177			if v != nil {
13178				var typeVar TypeBasicDataset
13179				err = json.Unmarshal(*v, &typeVar)
13180				if err != nil {
13181					return err
13182				}
13183				asid.Type = typeVar
13184			}
13185		}
13186	}
13187
13188	return nil
13189}
13190
13191// AzureSearchIndexDatasetTypeProperties properties specific to this dataset type.
13192type AzureSearchIndexDatasetTypeProperties struct {
13193	// IndexName - The name of the Azure Search Index. Type: string (or Expression with resultType string).
13194	IndexName interface{} `json:"indexName,omitempty"`
13195}
13196
13197// AzureSearchIndexSink a copy activity Azure Search Index sink.
13198type AzureSearchIndexSink struct {
13199	// WriteBehavior - Specify the write behavior when upserting documents into Azure Search Index.
13200	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
13201	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
13202	AdditionalProperties map[string]interface{} `json:""`
13203	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
13204	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
13205	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13206	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
13207	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
13208	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
13209	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13210	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
13211	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
13212	Type TypeBasicCopySink `json:"type,omitempty"`
13213}
13214
13215// MarshalJSON is the custom marshaler for AzureSearchIndexSink.
13216func (asis AzureSearchIndexSink) MarshalJSON() ([]byte, error) {
13217	asis.Type = TypeAzureSearchIndexSink
13218	objectMap := make(map[string]interface{})
13219	if asis.WriteBehavior != nil {
13220		objectMap["writeBehavior"] = asis.WriteBehavior
13221	}
13222	if asis.WriteBatchSize != nil {
13223		objectMap["writeBatchSize"] = asis.WriteBatchSize
13224	}
13225	if asis.WriteBatchTimeout != nil {
13226		objectMap["writeBatchTimeout"] = asis.WriteBatchTimeout
13227	}
13228	if asis.SinkRetryCount != nil {
13229		objectMap["sinkRetryCount"] = asis.SinkRetryCount
13230	}
13231	if asis.SinkRetryWait != nil {
13232		objectMap["sinkRetryWait"] = asis.SinkRetryWait
13233	}
13234	if asis.Type != "" {
13235		objectMap["type"] = asis.Type
13236	}
13237	for k, v := range asis.AdditionalProperties {
13238		objectMap[k] = v
13239	}
13240	return json.Marshal(objectMap)
13241}
13242
13243// AsSalesforceSink is the BasicCopySink implementation for AzureSearchIndexSink.
13244func (asis AzureSearchIndexSink) AsSalesforceSink() (*SalesforceSink, bool) {
13245	return nil, false
13246}
13247
13248// AsDynamicsSink is the BasicCopySink implementation for AzureSearchIndexSink.
13249func (asis AzureSearchIndexSink) AsDynamicsSink() (*DynamicsSink, bool) {
13250	return nil, false
13251}
13252
13253// AsOdbcSink is the BasicCopySink implementation for AzureSearchIndexSink.
13254func (asis AzureSearchIndexSink) AsOdbcSink() (*OdbcSink, bool) {
13255	return nil, false
13256}
13257
13258// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureSearchIndexSink.
13259func (asis AzureSearchIndexSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
13260	return &asis, true
13261}
13262
13263// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureSearchIndexSink.
13264func (asis AzureSearchIndexSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
13265	return nil, false
13266}
13267
13268// AsOracleSink is the BasicCopySink implementation for AzureSearchIndexSink.
13269func (asis AzureSearchIndexSink) AsOracleSink() (*OracleSink, bool) {
13270	return nil, false
13271}
13272
13273// AsSQLDWSink is the BasicCopySink implementation for AzureSearchIndexSink.
13274func (asis AzureSearchIndexSink) AsSQLDWSink() (*SQLDWSink, bool) {
13275	return nil, false
13276}
13277
13278// AsSQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
13279func (asis AzureSearchIndexSink) AsSQLSink() (*SQLSink, bool) {
13280	return nil, false
13281}
13282
13283// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSearchIndexSink.
13284func (asis AzureSearchIndexSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
13285	return nil, false
13286}
13287
13288// AsFileSystemSink is the BasicCopySink implementation for AzureSearchIndexSink.
13289func (asis AzureSearchIndexSink) AsFileSystemSink() (*FileSystemSink, bool) {
13290	return nil, false
13291}
13292
13293// AsBlobSink is the BasicCopySink implementation for AzureSearchIndexSink.
13294func (asis AzureSearchIndexSink) AsBlobSink() (*BlobSink, bool) {
13295	return nil, false
13296}
13297
13298// AsAzureTableSink is the BasicCopySink implementation for AzureSearchIndexSink.
13299func (asis AzureSearchIndexSink) AsAzureTableSink() (*AzureTableSink, bool) {
13300	return nil, false
13301}
13302
13303// AsAzureQueueSink is the BasicCopySink implementation for AzureSearchIndexSink.
13304func (asis AzureSearchIndexSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
13305	return nil, false
13306}
13307
13308// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureSearchIndexSink.
13309func (asis AzureSearchIndexSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
13310	return nil, false
13311}
13312
13313// AsCopySink is the BasicCopySink implementation for AzureSearchIndexSink.
13314func (asis AzureSearchIndexSink) AsCopySink() (*CopySink, bool) {
13315	return nil, false
13316}
13317
13318// AsBasicCopySink is the BasicCopySink implementation for AzureSearchIndexSink.
13319func (asis AzureSearchIndexSink) AsBasicCopySink() (BasicCopySink, bool) {
13320	return &asis, true
13321}
13322
13323// UnmarshalJSON is the custom unmarshaler for AzureSearchIndexSink struct.
13324func (asis *AzureSearchIndexSink) UnmarshalJSON(body []byte) error {
13325	var m map[string]*json.RawMessage
13326	err := json.Unmarshal(body, &m)
13327	if err != nil {
13328		return err
13329	}
13330	for k, v := range m {
13331		switch k {
13332		case "writeBehavior":
13333			if v != nil {
13334				var writeBehavior interface{}
13335				err = json.Unmarshal(*v, &writeBehavior)
13336				if err != nil {
13337					return err
13338				}
13339				asis.WriteBehavior = writeBehavior
13340			}
13341		default:
13342			if v != nil {
13343				var additionalProperties interface{}
13344				err = json.Unmarshal(*v, &additionalProperties)
13345				if err != nil {
13346					return err
13347				}
13348				if asis.AdditionalProperties == nil {
13349					asis.AdditionalProperties = make(map[string]interface{})
13350				}
13351				asis.AdditionalProperties[k] = additionalProperties
13352			}
13353		case "writeBatchSize":
13354			if v != nil {
13355				var writeBatchSize interface{}
13356				err = json.Unmarshal(*v, &writeBatchSize)
13357				if err != nil {
13358					return err
13359				}
13360				asis.WriteBatchSize = writeBatchSize
13361			}
13362		case "writeBatchTimeout":
13363			if v != nil {
13364				var writeBatchTimeout interface{}
13365				err = json.Unmarshal(*v, &writeBatchTimeout)
13366				if err != nil {
13367					return err
13368				}
13369				asis.WriteBatchTimeout = writeBatchTimeout
13370			}
13371		case "sinkRetryCount":
13372			if v != nil {
13373				var sinkRetryCount interface{}
13374				err = json.Unmarshal(*v, &sinkRetryCount)
13375				if err != nil {
13376					return err
13377				}
13378				asis.SinkRetryCount = sinkRetryCount
13379			}
13380		case "sinkRetryWait":
13381			if v != nil {
13382				var sinkRetryWait interface{}
13383				err = json.Unmarshal(*v, &sinkRetryWait)
13384				if err != nil {
13385					return err
13386				}
13387				asis.SinkRetryWait = sinkRetryWait
13388			}
13389		case "type":
13390			if v != nil {
13391				var typeVar TypeBasicCopySink
13392				err = json.Unmarshal(*v, &typeVar)
13393				if err != nil {
13394					return err
13395				}
13396				asis.Type = typeVar
13397			}
13398		}
13399	}
13400
13401	return nil
13402}
13403
13404// AzureSearchLinkedService linked service for Windows Azure Search Service.
13405type AzureSearchLinkedService struct {
13406	// AzureSearchLinkedServiceTypeProperties - Windows Azure Search Service linked service properties.
13407	*AzureSearchLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
13408	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
13409	AdditionalProperties map[string]interface{} `json:""`
13410	// ConnectVia - The integration runtime reference.
13411	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
13412	// Description - Linked service description.
13413	Description *string `json:"description,omitempty"`
13414	// Parameters - Parameters for linked service.
13415	Parameters map[string]*ParameterSpecification `json:"parameters"`
13416	// Annotations - List of tags that can be used for describing the Dataset.
13417	Annotations *[]interface{} `json:"annotations,omitempty"`
13418	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
13419	Type TypeBasicLinkedService `json:"type,omitempty"`
13420}
13421
13422// MarshalJSON is the custom marshaler for AzureSearchLinkedService.
13423func (asls AzureSearchLinkedService) MarshalJSON() ([]byte, error) {
13424	asls.Type = TypeAzureSearch
13425	objectMap := make(map[string]interface{})
13426	if asls.AzureSearchLinkedServiceTypeProperties != nil {
13427		objectMap["typeProperties"] = asls.AzureSearchLinkedServiceTypeProperties
13428	}
13429	if asls.ConnectVia != nil {
13430		objectMap["connectVia"] = asls.ConnectVia
13431	}
13432	if asls.Description != nil {
13433		objectMap["description"] = asls.Description
13434	}
13435	if asls.Parameters != nil {
13436		objectMap["parameters"] = asls.Parameters
13437	}
13438	if asls.Annotations != nil {
13439		objectMap["annotations"] = asls.Annotations
13440	}
13441	if asls.Type != "" {
13442		objectMap["type"] = asls.Type
13443	}
13444	for k, v := range asls.AdditionalProperties {
13445		objectMap[k] = v
13446	}
13447	return json.Marshal(objectMap)
13448}
13449
13450// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13451func (asls AzureSearchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
13452	return nil, false
13453}
13454
13455// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13456func (asls AzureSearchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
13457	return nil, false
13458}
13459
13460// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13461func (asls AzureSearchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
13462	return nil, false
13463}
13464
13465// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13466func (asls AzureSearchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
13467	return nil, false
13468}
13469
13470// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13471func (asls AzureSearchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
13472	return nil, false
13473}
13474
13475// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13476func (asls AzureSearchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
13477	return nil, false
13478}
13479
13480// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13481func (asls AzureSearchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
13482	return nil, false
13483}
13484
13485// AsZohoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13486func (asls AzureSearchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
13487	return nil, false
13488}
13489
13490// AsXeroLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13491func (asls AzureSearchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
13492	return nil, false
13493}
13494
13495// AsSquareLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13496func (asls AzureSearchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
13497	return nil, false
13498}
13499
13500// AsSparkLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13501func (asls AzureSearchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
13502	return nil, false
13503}
13504
13505// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13506func (asls AzureSearchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
13507	return nil, false
13508}
13509
13510// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13511func (asls AzureSearchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
13512	return nil, false
13513}
13514
13515// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13516func (asls AzureSearchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
13517	return nil, false
13518}
13519
13520// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13521func (asls AzureSearchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
13522	return nil, false
13523}
13524
13525// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13526func (asls AzureSearchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
13527	return nil, false
13528}
13529
13530// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13531func (asls AzureSearchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
13532	return nil, false
13533}
13534
13535// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13536func (asls AzureSearchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
13537	return nil, false
13538}
13539
13540// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13541func (asls AzureSearchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
13542	return nil, false
13543}
13544
13545// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13546func (asls AzureSearchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
13547	return nil, false
13548}
13549
13550// AsJiraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13551func (asls AzureSearchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
13552	return nil, false
13553}
13554
13555// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13556func (asls AzureSearchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
13557	return nil, false
13558}
13559
13560// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13561func (asls AzureSearchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
13562	return nil, false
13563}
13564
13565// AsHiveLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13566func (asls AzureSearchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
13567	return nil, false
13568}
13569
13570// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13571func (asls AzureSearchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
13572	return nil, false
13573}
13574
13575// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13576func (asls AzureSearchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
13577	return nil, false
13578}
13579
13580// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13581func (asls AzureSearchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
13582	return nil, false
13583}
13584
13585// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13586func (asls AzureSearchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
13587	return nil, false
13588}
13589
13590// AsDrillLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13591func (asls AzureSearchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
13592	return nil, false
13593}
13594
13595// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13596func (asls AzureSearchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
13597	return nil, false
13598}
13599
13600// AsConcurLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13601func (asls AzureSearchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
13602	return nil, false
13603}
13604
13605// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13606func (asls AzureSearchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
13607	return nil, false
13608}
13609
13610// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13611func (asls AzureSearchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
13612	return nil, false
13613}
13614
13615// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13616func (asls AzureSearchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
13617	return nil, false
13618}
13619
13620// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13621func (asls AzureSearchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
13622	return nil, false
13623}
13624
13625// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13626func (asls AzureSearchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
13627	return nil, false
13628}
13629
13630// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13631func (asls AzureSearchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
13632	return nil, false
13633}
13634
13635// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13636func (asls AzureSearchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
13637	return nil, false
13638}
13639
13640// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13641func (asls AzureSearchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
13642	return &asls, true
13643}
13644
13645// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13646func (asls AzureSearchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
13647	return nil, false
13648}
13649
13650// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13651func (asls AzureSearchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
13652	return nil, false
13653}
13654
13655// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13656func (asls AzureSearchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
13657	return nil, false
13658}
13659
13660// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13661func (asls AzureSearchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
13662	return nil, false
13663}
13664
13665// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13666func (asls AzureSearchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
13667	return nil, false
13668}
13669
13670// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13671func (asls AzureSearchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
13672	return nil, false
13673}
13674
13675// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13676func (asls AzureSearchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
13677	return nil, false
13678}
13679
13680// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13681func (asls AzureSearchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
13682	return nil, false
13683}
13684
13685// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13686func (asls AzureSearchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
13687	return nil, false
13688}
13689
13690// AsWebLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13691func (asls AzureSearchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
13692	return nil, false
13693}
13694
13695// AsODataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13696func (asls AzureSearchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
13697	return nil, false
13698}
13699
13700// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13701func (asls AzureSearchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
13702	return nil, false
13703}
13704
13705// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13706func (asls AzureSearchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
13707	return nil, false
13708}
13709
13710// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13711func (asls AzureSearchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
13712	return nil, false
13713}
13714
13715// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13716func (asls AzureSearchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
13717	return nil, false
13718}
13719
13720// AsDb2LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13721func (asls AzureSearchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
13722	return nil, false
13723}
13724
13725// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13726func (asls AzureSearchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
13727	return nil, false
13728}
13729
13730// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13731func (asls AzureSearchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
13732	return nil, false
13733}
13734
13735// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13736func (asls AzureSearchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
13737	return nil, false
13738}
13739
13740// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13741func (asls AzureSearchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
13742	return nil, false
13743}
13744
13745// AsOracleLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13746func (asls AzureSearchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
13747	return nil, false
13748}
13749
13750// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13751func (asls AzureSearchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
13752	return nil, false
13753}
13754
13755// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13756func (asls AzureSearchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
13757	return nil, false
13758}
13759
13760// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13761func (asls AzureSearchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
13762	return nil, false
13763}
13764
13765// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13766func (asls AzureSearchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
13767	return nil, false
13768}
13769
13770// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13771func (asls AzureSearchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
13772	return nil, false
13773}
13774
13775// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13776func (asls AzureSearchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
13777	return nil, false
13778}
13779
13780// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13781func (asls AzureSearchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
13782	return nil, false
13783}
13784
13785// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13786func (asls AzureSearchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
13787	return nil, false
13788}
13789
13790// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13791func (asls AzureSearchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
13792	return nil, false
13793}
13794
13795// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13796func (asls AzureSearchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
13797	return nil, false
13798}
13799
13800// AsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13801func (asls AzureSearchLinkedService) AsLinkedService() (*LinkedService, bool) {
13802	return nil, false
13803}
13804
13805// AsBasicLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13806func (asls AzureSearchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
13807	return &asls, true
13808}
13809
13810// UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedService struct.
13811func (asls *AzureSearchLinkedService) UnmarshalJSON(body []byte) error {
13812	var m map[string]*json.RawMessage
13813	err := json.Unmarshal(body, &m)
13814	if err != nil {
13815		return err
13816	}
13817	for k, v := range m {
13818		switch k {
13819		case "typeProperties":
13820			if v != nil {
13821				var azureSearchLinkedServiceTypeProperties AzureSearchLinkedServiceTypeProperties
13822				err = json.Unmarshal(*v, &azureSearchLinkedServiceTypeProperties)
13823				if err != nil {
13824					return err
13825				}
13826				asls.AzureSearchLinkedServiceTypeProperties = &azureSearchLinkedServiceTypeProperties
13827			}
13828		default:
13829			if v != nil {
13830				var additionalProperties interface{}
13831				err = json.Unmarshal(*v, &additionalProperties)
13832				if err != nil {
13833					return err
13834				}
13835				if asls.AdditionalProperties == nil {
13836					asls.AdditionalProperties = make(map[string]interface{})
13837				}
13838				asls.AdditionalProperties[k] = additionalProperties
13839			}
13840		case "connectVia":
13841			if v != nil {
13842				var connectVia IntegrationRuntimeReference
13843				err = json.Unmarshal(*v, &connectVia)
13844				if err != nil {
13845					return err
13846				}
13847				asls.ConnectVia = &connectVia
13848			}
13849		case "description":
13850			if v != nil {
13851				var description string
13852				err = json.Unmarshal(*v, &description)
13853				if err != nil {
13854					return err
13855				}
13856				asls.Description = &description
13857			}
13858		case "parameters":
13859			if v != nil {
13860				var parameters map[string]*ParameterSpecification
13861				err = json.Unmarshal(*v, &parameters)
13862				if err != nil {
13863					return err
13864				}
13865				asls.Parameters = parameters
13866			}
13867		case "annotations":
13868			if v != nil {
13869				var annotations []interface{}
13870				err = json.Unmarshal(*v, &annotations)
13871				if err != nil {
13872					return err
13873				}
13874				asls.Annotations = &annotations
13875			}
13876		case "type":
13877			if v != nil {
13878				var typeVar TypeBasicLinkedService
13879				err = json.Unmarshal(*v, &typeVar)
13880				if err != nil {
13881					return err
13882				}
13883				asls.Type = typeVar
13884			}
13885		}
13886	}
13887
13888	return nil
13889}
13890
13891// AzureSearchLinkedServiceTypeProperties windows Azure Search Service linked service properties.
13892type AzureSearchLinkedServiceTypeProperties struct {
13893	// URL - URL for Azure Search service. Type: string (or Expression with resultType string).
13894	URL interface{} `json:"url,omitempty"`
13895	// Key - Admin Key for Azure Search service
13896	Key BasicSecretBase `json:"key,omitempty"`
13897	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
13898	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
13899}
13900
13901// UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedServiceTypeProperties struct.
13902func (aslstp *AzureSearchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
13903	var m map[string]*json.RawMessage
13904	err := json.Unmarshal(body, &m)
13905	if err != nil {
13906		return err
13907	}
13908	for k, v := range m {
13909		switch k {
13910		case "url":
13911			if v != nil {
13912				var URL interface{}
13913				err = json.Unmarshal(*v, &URL)
13914				if err != nil {
13915					return err
13916				}
13917				aslstp.URL = URL
13918			}
13919		case "key":
13920			if v != nil {
13921				key, err := unmarshalBasicSecretBase(*v)
13922				if err != nil {
13923					return err
13924				}
13925				aslstp.Key = key
13926			}
13927		case "encryptedCredential":
13928			if v != nil {
13929				var encryptedCredential interface{}
13930				err = json.Unmarshal(*v, &encryptedCredential)
13931				if err != nil {
13932					return err
13933				}
13934				aslstp.EncryptedCredential = encryptedCredential
13935			}
13936		}
13937	}
13938
13939	return nil
13940}
13941
13942// AzureSQLDatabaseLinkedService microsoft Azure SQL Database linked service.
13943type AzureSQLDatabaseLinkedService struct {
13944	// AzureSQLDatabaseLinkedServiceTypeProperties - Azure SQL Database linked service properties.
13945	*AzureSQLDatabaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
13946	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
13947	AdditionalProperties map[string]interface{} `json:""`
13948	// ConnectVia - The integration runtime reference.
13949	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
13950	// Description - Linked service description.
13951	Description *string `json:"description,omitempty"`
13952	// Parameters - Parameters for linked service.
13953	Parameters map[string]*ParameterSpecification `json:"parameters"`
13954	// Annotations - List of tags that can be used for describing the Dataset.
13955	Annotations *[]interface{} `json:"annotations,omitempty"`
13956	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
13957	Type TypeBasicLinkedService `json:"type,omitempty"`
13958}
13959
13960// MarshalJSON is the custom marshaler for AzureSQLDatabaseLinkedService.
13961func (asdls AzureSQLDatabaseLinkedService) MarshalJSON() ([]byte, error) {
13962	asdls.Type = TypeAzureSQLDatabase
13963	objectMap := make(map[string]interface{})
13964	if asdls.AzureSQLDatabaseLinkedServiceTypeProperties != nil {
13965		objectMap["typeProperties"] = asdls.AzureSQLDatabaseLinkedServiceTypeProperties
13966	}
13967	if asdls.ConnectVia != nil {
13968		objectMap["connectVia"] = asdls.ConnectVia
13969	}
13970	if asdls.Description != nil {
13971		objectMap["description"] = asdls.Description
13972	}
13973	if asdls.Parameters != nil {
13974		objectMap["parameters"] = asdls.Parameters
13975	}
13976	if asdls.Annotations != nil {
13977		objectMap["annotations"] = asdls.Annotations
13978	}
13979	if asdls.Type != "" {
13980		objectMap["type"] = asdls.Type
13981	}
13982	for k, v := range asdls.AdditionalProperties {
13983		objectMap[k] = v
13984	}
13985	return json.Marshal(objectMap)
13986}
13987
13988// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
13989func (asdls AzureSQLDatabaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
13990	return nil, false
13991}
13992
13993// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
13994func (asdls AzureSQLDatabaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
13995	return nil, false
13996}
13997
13998// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
13999func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
14000	return nil, false
14001}
14002
14003// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14004func (asdls AzureSQLDatabaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
14005	return nil, false
14006}
14007
14008// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14009func (asdls AzureSQLDatabaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
14010	return nil, false
14011}
14012
14013// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14014func (asdls AzureSQLDatabaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
14015	return nil, false
14016}
14017
14018// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14019func (asdls AzureSQLDatabaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
14020	return nil, false
14021}
14022
14023// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14024func (asdls AzureSQLDatabaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
14025	return nil, false
14026}
14027
14028// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14029func (asdls AzureSQLDatabaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
14030	return nil, false
14031}
14032
14033// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14034func (asdls AzureSQLDatabaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
14035	return nil, false
14036}
14037
14038// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14039func (asdls AzureSQLDatabaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
14040	return nil, false
14041}
14042
14043// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14044func (asdls AzureSQLDatabaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
14045	return nil, false
14046}
14047
14048// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14049func (asdls AzureSQLDatabaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
14050	return nil, false
14051}
14052
14053// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14054func (asdls AzureSQLDatabaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
14055	return nil, false
14056}
14057
14058// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14059func (asdls AzureSQLDatabaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
14060	return nil, false
14061}
14062
14063// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14064func (asdls AzureSQLDatabaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
14065	return nil, false
14066}
14067
14068// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14069func (asdls AzureSQLDatabaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
14070	return nil, false
14071}
14072
14073// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14074func (asdls AzureSQLDatabaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
14075	return nil, false
14076}
14077
14078// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14079func (asdls AzureSQLDatabaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
14080	return nil, false
14081}
14082
14083// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14084func (asdls AzureSQLDatabaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
14085	return nil, false
14086}
14087
14088// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14089func (asdls AzureSQLDatabaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
14090	return nil, false
14091}
14092
14093// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14094func (asdls AzureSQLDatabaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
14095	return nil, false
14096}
14097
14098// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14099func (asdls AzureSQLDatabaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
14100	return nil, false
14101}
14102
14103// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14104func (asdls AzureSQLDatabaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
14105	return nil, false
14106}
14107
14108// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14109func (asdls AzureSQLDatabaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
14110	return nil, false
14111}
14112
14113// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14114func (asdls AzureSQLDatabaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
14115	return nil, false
14116}
14117
14118// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14119func (asdls AzureSQLDatabaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
14120	return nil, false
14121}
14122
14123// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14124func (asdls AzureSQLDatabaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
14125	return nil, false
14126}
14127
14128// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14129func (asdls AzureSQLDatabaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
14130	return nil, false
14131}
14132
14133// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14134func (asdls AzureSQLDatabaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
14135	return nil, false
14136}
14137
14138// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14139func (asdls AzureSQLDatabaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
14140	return nil, false
14141}
14142
14143// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14144func (asdls AzureSQLDatabaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
14145	return nil, false
14146}
14147
14148// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14149func (asdls AzureSQLDatabaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
14150	return nil, false
14151}
14152
14153// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14154func (asdls AzureSQLDatabaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
14155	return nil, false
14156}
14157
14158// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14159func (asdls AzureSQLDatabaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
14160	return nil, false
14161}
14162
14163// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14164func (asdls AzureSQLDatabaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
14165	return nil, false
14166}
14167
14168// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14169func (asdls AzureSQLDatabaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
14170	return nil, false
14171}
14172
14173// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14174func (asdls AzureSQLDatabaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
14175	return nil, false
14176}
14177
14178// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14179func (asdls AzureSQLDatabaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
14180	return nil, false
14181}
14182
14183// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14184func (asdls AzureSQLDatabaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
14185	return nil, false
14186}
14187
14188// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14189func (asdls AzureSQLDatabaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
14190	return nil, false
14191}
14192
14193// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14194func (asdls AzureSQLDatabaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
14195	return nil, false
14196}
14197
14198// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14199func (asdls AzureSQLDatabaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
14200	return nil, false
14201}
14202
14203// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14204func (asdls AzureSQLDatabaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
14205	return nil, false
14206}
14207
14208// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14209func (asdls AzureSQLDatabaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
14210	return nil, false
14211}
14212
14213// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14214func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
14215	return nil, false
14216}
14217
14218// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14219func (asdls AzureSQLDatabaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
14220	return nil, false
14221}
14222
14223// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14224func (asdls AzureSQLDatabaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
14225	return nil, false
14226}
14227
14228// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14229func (asdls AzureSQLDatabaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
14230	return nil, false
14231}
14232
14233// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14234func (asdls AzureSQLDatabaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
14235	return nil, false
14236}
14237
14238// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14239func (asdls AzureSQLDatabaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
14240	return nil, false
14241}
14242
14243// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14244func (asdls AzureSQLDatabaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
14245	return nil, false
14246}
14247
14248// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14249func (asdls AzureSQLDatabaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
14250	return nil, false
14251}
14252
14253// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14254func (asdls AzureSQLDatabaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
14255	return nil, false
14256}
14257
14258// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14259func (asdls AzureSQLDatabaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
14260	return nil, false
14261}
14262
14263// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14264func (asdls AzureSQLDatabaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
14265	return nil, false
14266}
14267
14268// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14269func (asdls AzureSQLDatabaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
14270	return nil, false
14271}
14272
14273// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14274func (asdls AzureSQLDatabaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
14275	return nil, false
14276}
14277
14278// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14279func (asdls AzureSQLDatabaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
14280	return nil, false
14281}
14282
14283// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14284func (asdls AzureSQLDatabaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
14285	return nil, false
14286}
14287
14288// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14289func (asdls AzureSQLDatabaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
14290	return nil, false
14291}
14292
14293// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14294func (asdls AzureSQLDatabaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
14295	return nil, false
14296}
14297
14298// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14299func (asdls AzureSQLDatabaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
14300	return nil, false
14301}
14302
14303// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14304func (asdls AzureSQLDatabaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
14305	return nil, false
14306}
14307
14308// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14309func (asdls AzureSQLDatabaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
14310	return nil, false
14311}
14312
14313// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14314func (asdls AzureSQLDatabaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
14315	return nil, false
14316}
14317
14318// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14319func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
14320	return &asdls, true
14321}
14322
14323// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14324func (asdls AzureSQLDatabaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
14325	return nil, false
14326}
14327
14328// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14329func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
14330	return nil, false
14331}
14332
14333// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14334func (asdls AzureSQLDatabaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
14335	return nil, false
14336}
14337
14338// AsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14339func (asdls AzureSQLDatabaseLinkedService) AsLinkedService() (*LinkedService, bool) {
14340	return nil, false
14341}
14342
14343// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14344func (asdls AzureSQLDatabaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
14345	return &asdls, true
14346}
14347
14348// UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedService struct.
14349func (asdls *AzureSQLDatabaseLinkedService) UnmarshalJSON(body []byte) error {
14350	var m map[string]*json.RawMessage
14351	err := json.Unmarshal(body, &m)
14352	if err != nil {
14353		return err
14354	}
14355	for k, v := range m {
14356		switch k {
14357		case "typeProperties":
14358			if v != nil {
14359				var azureSQLDatabaseLinkedServiceTypeProperties AzureSQLDatabaseLinkedServiceTypeProperties
14360				err = json.Unmarshal(*v, &azureSQLDatabaseLinkedServiceTypeProperties)
14361				if err != nil {
14362					return err
14363				}
14364				asdls.AzureSQLDatabaseLinkedServiceTypeProperties = &azureSQLDatabaseLinkedServiceTypeProperties
14365			}
14366		default:
14367			if v != nil {
14368				var additionalProperties interface{}
14369				err = json.Unmarshal(*v, &additionalProperties)
14370				if err != nil {
14371					return err
14372				}
14373				if asdls.AdditionalProperties == nil {
14374					asdls.AdditionalProperties = make(map[string]interface{})
14375				}
14376				asdls.AdditionalProperties[k] = additionalProperties
14377			}
14378		case "connectVia":
14379			if v != nil {
14380				var connectVia IntegrationRuntimeReference
14381				err = json.Unmarshal(*v, &connectVia)
14382				if err != nil {
14383					return err
14384				}
14385				asdls.ConnectVia = &connectVia
14386			}
14387		case "description":
14388			if v != nil {
14389				var description string
14390				err = json.Unmarshal(*v, &description)
14391				if err != nil {
14392					return err
14393				}
14394				asdls.Description = &description
14395			}
14396		case "parameters":
14397			if v != nil {
14398				var parameters map[string]*ParameterSpecification
14399				err = json.Unmarshal(*v, &parameters)
14400				if err != nil {
14401					return err
14402				}
14403				asdls.Parameters = parameters
14404			}
14405		case "annotations":
14406			if v != nil {
14407				var annotations []interface{}
14408				err = json.Unmarshal(*v, &annotations)
14409				if err != nil {
14410					return err
14411				}
14412				asdls.Annotations = &annotations
14413			}
14414		case "type":
14415			if v != nil {
14416				var typeVar TypeBasicLinkedService
14417				err = json.Unmarshal(*v, &typeVar)
14418				if err != nil {
14419					return err
14420				}
14421				asdls.Type = typeVar
14422			}
14423		}
14424	}
14425
14426	return nil
14427}
14428
14429// AzureSQLDatabaseLinkedServiceTypeProperties azure SQL Database linked service properties.
14430type AzureSQLDatabaseLinkedServiceTypeProperties struct {
14431	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
14432	ConnectionString interface{} `json:"connectionString,omitempty"`
14433	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string).
14434	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
14435	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Database.
14436	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
14437	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
14438	Tenant interface{} `json:"tenant,omitempty"`
14439	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
14440	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
14441}
14442
14443// UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedServiceTypeProperties struct.
14444func (asdlstp *AzureSQLDatabaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
14445	var m map[string]*json.RawMessage
14446	err := json.Unmarshal(body, &m)
14447	if err != nil {
14448		return err
14449	}
14450	for k, v := range m {
14451		switch k {
14452		case "connectionString":
14453			if v != nil {
14454				var connectionString interface{}
14455				err = json.Unmarshal(*v, &connectionString)
14456				if err != nil {
14457					return err
14458				}
14459				asdlstp.ConnectionString = connectionString
14460			}
14461		case "servicePrincipalId":
14462			if v != nil {
14463				var servicePrincipalID interface{}
14464				err = json.Unmarshal(*v, &servicePrincipalID)
14465				if err != nil {
14466					return err
14467				}
14468				asdlstp.ServicePrincipalID = servicePrincipalID
14469			}
14470		case "servicePrincipalKey":
14471			if v != nil {
14472				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
14473				if err != nil {
14474					return err
14475				}
14476				asdlstp.ServicePrincipalKey = servicePrincipalKey
14477			}
14478		case "tenant":
14479			if v != nil {
14480				var tenant interface{}
14481				err = json.Unmarshal(*v, &tenant)
14482				if err != nil {
14483					return err
14484				}
14485				asdlstp.Tenant = tenant
14486			}
14487		case "encryptedCredential":
14488			if v != nil {
14489				var encryptedCredential interface{}
14490				err = json.Unmarshal(*v, &encryptedCredential)
14491				if err != nil {
14492					return err
14493				}
14494				asdlstp.EncryptedCredential = encryptedCredential
14495			}
14496		}
14497	}
14498
14499	return nil
14500}
14501
14502// AzureSQLDWLinkedService azure SQL Data Warehouse linked service.
14503type AzureSQLDWLinkedService struct {
14504	// AzureSQLDWLinkedServiceTypeProperties - Azure SQL Data Warehouse linked service properties.
14505	*AzureSQLDWLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
14506	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
14507	AdditionalProperties map[string]interface{} `json:""`
14508	// ConnectVia - The integration runtime reference.
14509	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
14510	// Description - Linked service description.
14511	Description *string `json:"description,omitempty"`
14512	// Parameters - Parameters for linked service.
14513	Parameters map[string]*ParameterSpecification `json:"parameters"`
14514	// Annotations - List of tags that can be used for describing the Dataset.
14515	Annotations *[]interface{} `json:"annotations,omitempty"`
14516	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
14517	Type TypeBasicLinkedService `json:"type,omitempty"`
14518}
14519
14520// MarshalJSON is the custom marshaler for AzureSQLDWLinkedService.
14521func (asdls AzureSQLDWLinkedService) MarshalJSON() ([]byte, error) {
14522	asdls.Type = TypeAzureSQLDW
14523	objectMap := make(map[string]interface{})
14524	if asdls.AzureSQLDWLinkedServiceTypeProperties != nil {
14525		objectMap["typeProperties"] = asdls.AzureSQLDWLinkedServiceTypeProperties
14526	}
14527	if asdls.ConnectVia != nil {
14528		objectMap["connectVia"] = asdls.ConnectVia
14529	}
14530	if asdls.Description != nil {
14531		objectMap["description"] = asdls.Description
14532	}
14533	if asdls.Parameters != nil {
14534		objectMap["parameters"] = asdls.Parameters
14535	}
14536	if asdls.Annotations != nil {
14537		objectMap["annotations"] = asdls.Annotations
14538	}
14539	if asdls.Type != "" {
14540		objectMap["type"] = asdls.Type
14541	}
14542	for k, v := range asdls.AdditionalProperties {
14543		objectMap[k] = v
14544	}
14545	return json.Marshal(objectMap)
14546}
14547
14548// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14549func (asdls AzureSQLDWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
14550	return nil, false
14551}
14552
14553// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14554func (asdls AzureSQLDWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
14555	return nil, false
14556}
14557
14558// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14559func (asdls AzureSQLDWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
14560	return nil, false
14561}
14562
14563// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14564func (asdls AzureSQLDWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
14565	return nil, false
14566}
14567
14568// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14569func (asdls AzureSQLDWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
14570	return nil, false
14571}
14572
14573// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14574func (asdls AzureSQLDWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
14575	return nil, false
14576}
14577
14578// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14579func (asdls AzureSQLDWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
14580	return nil, false
14581}
14582
14583// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14584func (asdls AzureSQLDWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
14585	return nil, false
14586}
14587
14588// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14589func (asdls AzureSQLDWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
14590	return nil, false
14591}
14592
14593// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14594func (asdls AzureSQLDWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
14595	return nil, false
14596}
14597
14598// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14599func (asdls AzureSQLDWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
14600	return nil, false
14601}
14602
14603// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14604func (asdls AzureSQLDWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
14605	return nil, false
14606}
14607
14608// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14609func (asdls AzureSQLDWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
14610	return nil, false
14611}
14612
14613// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14614func (asdls AzureSQLDWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
14615	return nil, false
14616}
14617
14618// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14619func (asdls AzureSQLDWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
14620	return nil, false
14621}
14622
14623// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14624func (asdls AzureSQLDWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
14625	return nil, false
14626}
14627
14628// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14629func (asdls AzureSQLDWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
14630	return nil, false
14631}
14632
14633// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14634func (asdls AzureSQLDWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
14635	return nil, false
14636}
14637
14638// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14639func (asdls AzureSQLDWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
14640	return nil, false
14641}
14642
14643// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14644func (asdls AzureSQLDWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
14645	return nil, false
14646}
14647
14648// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14649func (asdls AzureSQLDWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
14650	return nil, false
14651}
14652
14653// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14654func (asdls AzureSQLDWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
14655	return nil, false
14656}
14657
14658// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14659func (asdls AzureSQLDWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
14660	return nil, false
14661}
14662
14663// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14664func (asdls AzureSQLDWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
14665	return nil, false
14666}
14667
14668// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14669func (asdls AzureSQLDWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
14670	return nil, false
14671}
14672
14673// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14674func (asdls AzureSQLDWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
14675	return nil, false
14676}
14677
14678// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14679func (asdls AzureSQLDWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
14680	return nil, false
14681}
14682
14683// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14684func (asdls AzureSQLDWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
14685	return nil, false
14686}
14687
14688// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14689func (asdls AzureSQLDWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
14690	return nil, false
14691}
14692
14693// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14694func (asdls AzureSQLDWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
14695	return nil, false
14696}
14697
14698// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14699func (asdls AzureSQLDWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
14700	return nil, false
14701}
14702
14703// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14704func (asdls AzureSQLDWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
14705	return nil, false
14706}
14707
14708// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14709func (asdls AzureSQLDWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
14710	return nil, false
14711}
14712
14713// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14714func (asdls AzureSQLDWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
14715	return nil, false
14716}
14717
14718// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14719func (asdls AzureSQLDWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
14720	return nil, false
14721}
14722
14723// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14724func (asdls AzureSQLDWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
14725	return nil, false
14726}
14727
14728// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14729func (asdls AzureSQLDWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
14730	return nil, false
14731}
14732
14733// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14734func (asdls AzureSQLDWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
14735	return nil, false
14736}
14737
14738// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14739func (asdls AzureSQLDWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
14740	return nil, false
14741}
14742
14743// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14744func (asdls AzureSQLDWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
14745	return nil, false
14746}
14747
14748// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14749func (asdls AzureSQLDWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
14750	return nil, false
14751}
14752
14753// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14754func (asdls AzureSQLDWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
14755	return nil, false
14756}
14757
14758// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14759func (asdls AzureSQLDWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
14760	return nil, false
14761}
14762
14763// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14764func (asdls AzureSQLDWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
14765	return nil, false
14766}
14767
14768// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14769func (asdls AzureSQLDWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
14770	return nil, false
14771}
14772
14773// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14774func (asdls AzureSQLDWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
14775	return nil, false
14776}
14777
14778// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14779func (asdls AzureSQLDWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
14780	return nil, false
14781}
14782
14783// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14784func (asdls AzureSQLDWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
14785	return nil, false
14786}
14787
14788// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14789func (asdls AzureSQLDWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
14790	return nil, false
14791}
14792
14793// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14794func (asdls AzureSQLDWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
14795	return nil, false
14796}
14797
14798// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14799func (asdls AzureSQLDWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
14800	return nil, false
14801}
14802
14803// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14804func (asdls AzureSQLDWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
14805	return nil, false
14806}
14807
14808// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14809func (asdls AzureSQLDWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
14810	return nil, false
14811}
14812
14813// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14814func (asdls AzureSQLDWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
14815	return nil, false
14816}
14817
14818// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14819func (asdls AzureSQLDWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
14820	return nil, false
14821}
14822
14823// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14824func (asdls AzureSQLDWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
14825	return nil, false
14826}
14827
14828// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14829func (asdls AzureSQLDWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
14830	return nil, false
14831}
14832
14833// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14834func (asdls AzureSQLDWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
14835	return nil, false
14836}
14837
14838// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14839func (asdls AzureSQLDWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
14840	return nil, false
14841}
14842
14843// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14844func (asdls AzureSQLDWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
14845	return nil, false
14846}
14847
14848// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14849func (asdls AzureSQLDWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
14850	return nil, false
14851}
14852
14853// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14854func (asdls AzureSQLDWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
14855	return nil, false
14856}
14857
14858// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14859func (asdls AzureSQLDWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
14860	return nil, false
14861}
14862
14863// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14864func (asdls AzureSQLDWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
14865	return nil, false
14866}
14867
14868// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14869func (asdls AzureSQLDWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
14870	return nil, false
14871}
14872
14873// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14874func (asdls AzureSQLDWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
14875	return nil, false
14876}
14877
14878// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14879func (asdls AzureSQLDWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
14880	return nil, false
14881}
14882
14883// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14884func (asdls AzureSQLDWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
14885	return nil, false
14886}
14887
14888// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14889func (asdls AzureSQLDWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
14890	return &asdls, true
14891}
14892
14893// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14894func (asdls AzureSQLDWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
14895	return nil, false
14896}
14897
14898// AsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14899func (asdls AzureSQLDWLinkedService) AsLinkedService() (*LinkedService, bool) {
14900	return nil, false
14901}
14902
14903// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14904func (asdls AzureSQLDWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
14905	return &asdls, true
14906}
14907
14908// UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedService struct.
14909func (asdls *AzureSQLDWLinkedService) UnmarshalJSON(body []byte) error {
14910	var m map[string]*json.RawMessage
14911	err := json.Unmarshal(body, &m)
14912	if err != nil {
14913		return err
14914	}
14915	for k, v := range m {
14916		switch k {
14917		case "typeProperties":
14918			if v != nil {
14919				var azureSQLDWLinkedServiceTypeProperties AzureSQLDWLinkedServiceTypeProperties
14920				err = json.Unmarshal(*v, &azureSQLDWLinkedServiceTypeProperties)
14921				if err != nil {
14922					return err
14923				}
14924				asdls.AzureSQLDWLinkedServiceTypeProperties = &azureSQLDWLinkedServiceTypeProperties
14925			}
14926		default:
14927			if v != nil {
14928				var additionalProperties interface{}
14929				err = json.Unmarshal(*v, &additionalProperties)
14930				if err != nil {
14931					return err
14932				}
14933				if asdls.AdditionalProperties == nil {
14934					asdls.AdditionalProperties = make(map[string]interface{})
14935				}
14936				asdls.AdditionalProperties[k] = additionalProperties
14937			}
14938		case "connectVia":
14939			if v != nil {
14940				var connectVia IntegrationRuntimeReference
14941				err = json.Unmarshal(*v, &connectVia)
14942				if err != nil {
14943					return err
14944				}
14945				asdls.ConnectVia = &connectVia
14946			}
14947		case "description":
14948			if v != nil {
14949				var description string
14950				err = json.Unmarshal(*v, &description)
14951				if err != nil {
14952					return err
14953				}
14954				asdls.Description = &description
14955			}
14956		case "parameters":
14957			if v != nil {
14958				var parameters map[string]*ParameterSpecification
14959				err = json.Unmarshal(*v, &parameters)
14960				if err != nil {
14961					return err
14962				}
14963				asdls.Parameters = parameters
14964			}
14965		case "annotations":
14966			if v != nil {
14967				var annotations []interface{}
14968				err = json.Unmarshal(*v, &annotations)
14969				if err != nil {
14970					return err
14971				}
14972				asdls.Annotations = &annotations
14973			}
14974		case "type":
14975			if v != nil {
14976				var typeVar TypeBasicLinkedService
14977				err = json.Unmarshal(*v, &typeVar)
14978				if err != nil {
14979					return err
14980				}
14981				asdls.Type = typeVar
14982			}
14983		}
14984	}
14985
14986	return nil
14987}
14988
14989// AzureSQLDWLinkedServiceTypeProperties azure SQL Data Warehouse linked service properties.
14990type AzureSQLDWLinkedServiceTypeProperties struct {
14991	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
14992	ConnectionString interface{} `json:"connectionString,omitempty"`
14993	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
14994	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
14995	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Data Warehouse.
14996	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
14997	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
14998	Tenant interface{} `json:"tenant,omitempty"`
14999	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
15000	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
15001}
15002
15003// UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedServiceTypeProperties struct.
15004func (asdlstp *AzureSQLDWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
15005	var m map[string]*json.RawMessage
15006	err := json.Unmarshal(body, &m)
15007	if err != nil {
15008		return err
15009	}
15010	for k, v := range m {
15011		switch k {
15012		case "connectionString":
15013			if v != nil {
15014				var connectionString interface{}
15015				err = json.Unmarshal(*v, &connectionString)
15016				if err != nil {
15017					return err
15018				}
15019				asdlstp.ConnectionString = connectionString
15020			}
15021		case "servicePrincipalId":
15022			if v != nil {
15023				var servicePrincipalID interface{}
15024				err = json.Unmarshal(*v, &servicePrincipalID)
15025				if err != nil {
15026					return err
15027				}
15028				asdlstp.ServicePrincipalID = servicePrincipalID
15029			}
15030		case "servicePrincipalKey":
15031			if v != nil {
15032				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
15033				if err != nil {
15034					return err
15035				}
15036				asdlstp.ServicePrincipalKey = servicePrincipalKey
15037			}
15038		case "tenant":
15039			if v != nil {
15040				var tenant interface{}
15041				err = json.Unmarshal(*v, &tenant)
15042				if err != nil {
15043					return err
15044				}
15045				asdlstp.Tenant = tenant
15046			}
15047		case "encryptedCredential":
15048			if v != nil {
15049				var encryptedCredential interface{}
15050				err = json.Unmarshal(*v, &encryptedCredential)
15051				if err != nil {
15052					return err
15053				}
15054				asdlstp.EncryptedCredential = encryptedCredential
15055			}
15056		}
15057	}
15058
15059	return nil
15060}
15061
15062// AzureSQLDWTableDataset the Azure SQL Data Warehouse dataset.
15063type AzureSQLDWTableDataset struct {
15064	// AzureSQLDWTableDatasetTypeProperties - Azure SQL Data Warehouse dataset properties.
15065	*AzureSQLDWTableDatasetTypeProperties `json:"typeProperties,omitempty"`
15066	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
15067	AdditionalProperties map[string]interface{} `json:""`
15068	// Description - Dataset description.
15069	Description *string `json:"description,omitempty"`
15070	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
15071	Structure interface{} `json:"structure,omitempty"`
15072	// LinkedServiceName - Linked service reference.
15073	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
15074	// Parameters - Parameters for dataset.
15075	Parameters map[string]*ParameterSpecification `json:"parameters"`
15076	// Annotations - List of tags that can be used for describing the Dataset.
15077	Annotations *[]interface{} `json:"annotations,omitempty"`
15078	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
15079	Type TypeBasicDataset `json:"type,omitempty"`
15080}
15081
15082// MarshalJSON is the custom marshaler for AzureSQLDWTableDataset.
15083func (asdtd AzureSQLDWTableDataset) MarshalJSON() ([]byte, error) {
15084	asdtd.Type = TypeAzureSQLDWTable
15085	objectMap := make(map[string]interface{})
15086	if asdtd.AzureSQLDWTableDatasetTypeProperties != nil {
15087		objectMap["typeProperties"] = asdtd.AzureSQLDWTableDatasetTypeProperties
15088	}
15089	if asdtd.Description != nil {
15090		objectMap["description"] = asdtd.Description
15091	}
15092	if asdtd.Structure != nil {
15093		objectMap["structure"] = asdtd.Structure
15094	}
15095	if asdtd.LinkedServiceName != nil {
15096		objectMap["linkedServiceName"] = asdtd.LinkedServiceName
15097	}
15098	if asdtd.Parameters != nil {
15099		objectMap["parameters"] = asdtd.Parameters
15100	}
15101	if asdtd.Annotations != nil {
15102		objectMap["annotations"] = asdtd.Annotations
15103	}
15104	if asdtd.Type != "" {
15105		objectMap["type"] = asdtd.Type
15106	}
15107	for k, v := range asdtd.AdditionalProperties {
15108		objectMap[k] = v
15109	}
15110	return json.Marshal(objectMap)
15111}
15112
15113// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15114func (asdtd AzureSQLDWTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
15115	return nil, false
15116}
15117
15118// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15119func (asdtd AzureSQLDWTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
15120	return nil, false
15121}
15122
15123// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15124func (asdtd AzureSQLDWTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
15125	return nil, false
15126}
15127
15128// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15129func (asdtd AzureSQLDWTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
15130	return nil, false
15131}
15132
15133// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15134func (asdtd AzureSQLDWTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
15135	return nil, false
15136}
15137
15138// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15139func (asdtd AzureSQLDWTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
15140	return nil, false
15141}
15142
15143// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15144func (asdtd AzureSQLDWTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
15145	return nil, false
15146}
15147
15148// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15149func (asdtd AzureSQLDWTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
15150	return nil, false
15151}
15152
15153// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15154func (asdtd AzureSQLDWTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
15155	return nil, false
15156}
15157
15158// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15159func (asdtd AzureSQLDWTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
15160	return nil, false
15161}
15162
15163// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15164func (asdtd AzureSQLDWTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
15165	return nil, false
15166}
15167
15168// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15169func (asdtd AzureSQLDWTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
15170	return nil, false
15171}
15172
15173// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15174func (asdtd AzureSQLDWTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
15175	return nil, false
15176}
15177
15178// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15179func (asdtd AzureSQLDWTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
15180	return nil, false
15181}
15182
15183// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15184func (asdtd AzureSQLDWTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
15185	return nil, false
15186}
15187
15188// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15189func (asdtd AzureSQLDWTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
15190	return nil, false
15191}
15192
15193// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15194func (asdtd AzureSQLDWTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
15195	return nil, false
15196}
15197
15198// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15199func (asdtd AzureSQLDWTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
15200	return nil, false
15201}
15202
15203// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15204func (asdtd AzureSQLDWTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
15205	return nil, false
15206}
15207
15208// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15209func (asdtd AzureSQLDWTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
15210	return nil, false
15211}
15212
15213// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15214func (asdtd AzureSQLDWTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
15215	return nil, false
15216}
15217
15218// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15219func (asdtd AzureSQLDWTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
15220	return nil, false
15221}
15222
15223// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15224func (asdtd AzureSQLDWTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
15225	return nil, false
15226}
15227
15228// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15229func (asdtd AzureSQLDWTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
15230	return nil, false
15231}
15232
15233// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15234func (asdtd AzureSQLDWTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
15235	return nil, false
15236}
15237
15238// AsDrillTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15239func (asdtd AzureSQLDWTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
15240	return nil, false
15241}
15242
15243// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15244func (asdtd AzureSQLDWTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
15245	return nil, false
15246}
15247
15248// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15249func (asdtd AzureSQLDWTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
15250	return nil, false
15251}
15252
15253// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15254func (asdtd AzureSQLDWTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
15255	return nil, false
15256}
15257
15258// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15259func (asdtd AzureSQLDWTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
15260	return nil, false
15261}
15262
15263// AsHTTPDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15264func (asdtd AzureSQLDWTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
15265	return nil, false
15266}
15267
15268// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15269func (asdtd AzureSQLDWTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
15270	return nil, false
15271}
15272
15273// AsWebTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15274func (asdtd AzureSQLDWTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
15275	return nil, false
15276}
15277
15278// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15279func (asdtd AzureSQLDWTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
15280	return nil, false
15281}
15282
15283// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15284func (asdtd AzureSQLDWTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
15285	return nil, false
15286}
15287
15288// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15289func (asdtd AzureSQLDWTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
15290	return nil, false
15291}
15292
15293// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15294func (asdtd AzureSQLDWTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
15295	return nil, false
15296}
15297
15298// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15299func (asdtd AzureSQLDWTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
15300	return nil, false
15301}
15302
15303// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15304func (asdtd AzureSQLDWTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
15305	return nil, false
15306}
15307
15308// AsOracleTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15309func (asdtd AzureSQLDWTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
15310	return nil, false
15311}
15312
15313// AsODataResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15314func (asdtd AzureSQLDWTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
15315	return nil, false
15316}
15317
15318// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15319func (asdtd AzureSQLDWTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
15320	return nil, false
15321}
15322
15323// AsFileShareDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15324func (asdtd AzureSQLDWTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
15325	return nil, false
15326}
15327
15328// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15329func (asdtd AzureSQLDWTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
15330	return nil, false
15331}
15332
15333// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15334func (asdtd AzureSQLDWTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
15335	return nil, false
15336}
15337
15338// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15339func (asdtd AzureSQLDWTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
15340	return nil, false
15341}
15342
15343// AsCustomDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15344func (asdtd AzureSQLDWTableDataset) AsCustomDataset() (*CustomDataset, bool) {
15345	return nil, false
15346}
15347
15348// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15349func (asdtd AzureSQLDWTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
15350	return nil, false
15351}
15352
15353// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15354func (asdtd AzureSQLDWTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
15355	return &asdtd, true
15356}
15357
15358// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15359func (asdtd AzureSQLDWTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
15360	return nil, false
15361}
15362
15363// AsAzureTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15364func (asdtd AzureSQLDWTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
15365	return nil, false
15366}
15367
15368// AsAzureBlobDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15369func (asdtd AzureSQLDWTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
15370	return nil, false
15371}
15372
15373// AsAmazonS3Dataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15374func (asdtd AzureSQLDWTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
15375	return nil, false
15376}
15377
15378// AsDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15379func (asdtd AzureSQLDWTableDataset) AsDataset() (*Dataset, bool) {
15380	return nil, false
15381}
15382
15383// AsBasicDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15384func (asdtd AzureSQLDWTableDataset) AsBasicDataset() (BasicDataset, bool) {
15385	return &asdtd, true
15386}
15387
15388// UnmarshalJSON is the custom unmarshaler for AzureSQLDWTableDataset struct.
15389func (asdtd *AzureSQLDWTableDataset) UnmarshalJSON(body []byte) error {
15390	var m map[string]*json.RawMessage
15391	err := json.Unmarshal(body, &m)
15392	if err != nil {
15393		return err
15394	}
15395	for k, v := range m {
15396		switch k {
15397		case "typeProperties":
15398			if v != nil {
15399				var azureSQLDWTableDatasetTypeProperties AzureSQLDWTableDatasetTypeProperties
15400				err = json.Unmarshal(*v, &azureSQLDWTableDatasetTypeProperties)
15401				if err != nil {
15402					return err
15403				}
15404				asdtd.AzureSQLDWTableDatasetTypeProperties = &azureSQLDWTableDatasetTypeProperties
15405			}
15406		default:
15407			if v != nil {
15408				var additionalProperties interface{}
15409				err = json.Unmarshal(*v, &additionalProperties)
15410				if err != nil {
15411					return err
15412				}
15413				if asdtd.AdditionalProperties == nil {
15414					asdtd.AdditionalProperties = make(map[string]interface{})
15415				}
15416				asdtd.AdditionalProperties[k] = additionalProperties
15417			}
15418		case "description":
15419			if v != nil {
15420				var description string
15421				err = json.Unmarshal(*v, &description)
15422				if err != nil {
15423					return err
15424				}
15425				asdtd.Description = &description
15426			}
15427		case "structure":
15428			if v != nil {
15429				var structure interface{}
15430				err = json.Unmarshal(*v, &structure)
15431				if err != nil {
15432					return err
15433				}
15434				asdtd.Structure = structure
15435			}
15436		case "linkedServiceName":
15437			if v != nil {
15438				var linkedServiceName LinkedServiceReference
15439				err = json.Unmarshal(*v, &linkedServiceName)
15440				if err != nil {
15441					return err
15442				}
15443				asdtd.LinkedServiceName = &linkedServiceName
15444			}
15445		case "parameters":
15446			if v != nil {
15447				var parameters map[string]*ParameterSpecification
15448				err = json.Unmarshal(*v, &parameters)
15449				if err != nil {
15450					return err
15451				}
15452				asdtd.Parameters = parameters
15453			}
15454		case "annotations":
15455			if v != nil {
15456				var annotations []interface{}
15457				err = json.Unmarshal(*v, &annotations)
15458				if err != nil {
15459					return err
15460				}
15461				asdtd.Annotations = &annotations
15462			}
15463		case "type":
15464			if v != nil {
15465				var typeVar TypeBasicDataset
15466				err = json.Unmarshal(*v, &typeVar)
15467				if err != nil {
15468					return err
15469				}
15470				asdtd.Type = typeVar
15471			}
15472		}
15473	}
15474
15475	return nil
15476}
15477
15478// AzureSQLDWTableDatasetTypeProperties azure SQL Data Warehouse dataset properties.
15479type AzureSQLDWTableDatasetTypeProperties struct {
15480	// TableName - The table name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
15481	TableName interface{} `json:"tableName,omitempty"`
15482}
15483
15484// AzureSQLTableDataset the Azure SQL Server database dataset.
15485type AzureSQLTableDataset struct {
15486	// AzureSQLTableDatasetTypeProperties - Azure SQL dataset properties.
15487	*AzureSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
15488	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
15489	AdditionalProperties map[string]interface{} `json:""`
15490	// Description - Dataset description.
15491	Description *string `json:"description,omitempty"`
15492	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
15493	Structure interface{} `json:"structure,omitempty"`
15494	// LinkedServiceName - Linked service reference.
15495	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
15496	// Parameters - Parameters for dataset.
15497	Parameters map[string]*ParameterSpecification `json:"parameters"`
15498	// Annotations - List of tags that can be used for describing the Dataset.
15499	Annotations *[]interface{} `json:"annotations,omitempty"`
15500	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
15501	Type TypeBasicDataset `json:"type,omitempty"`
15502}
15503
15504// MarshalJSON is the custom marshaler for AzureSQLTableDataset.
15505func (astd AzureSQLTableDataset) MarshalJSON() ([]byte, error) {
15506	astd.Type = TypeAzureSQLTable
15507	objectMap := make(map[string]interface{})
15508	if astd.AzureSQLTableDatasetTypeProperties != nil {
15509		objectMap["typeProperties"] = astd.AzureSQLTableDatasetTypeProperties
15510	}
15511	if astd.Description != nil {
15512		objectMap["description"] = astd.Description
15513	}
15514	if astd.Structure != nil {
15515		objectMap["structure"] = astd.Structure
15516	}
15517	if astd.LinkedServiceName != nil {
15518		objectMap["linkedServiceName"] = astd.LinkedServiceName
15519	}
15520	if astd.Parameters != nil {
15521		objectMap["parameters"] = astd.Parameters
15522	}
15523	if astd.Annotations != nil {
15524		objectMap["annotations"] = astd.Annotations
15525	}
15526	if astd.Type != "" {
15527		objectMap["type"] = astd.Type
15528	}
15529	for k, v := range astd.AdditionalProperties {
15530		objectMap[k] = v
15531	}
15532	return json.Marshal(objectMap)
15533}
15534
15535// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15536func (astd AzureSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
15537	return nil, false
15538}
15539
15540// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15541func (astd AzureSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
15542	return nil, false
15543}
15544
15545// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15546func (astd AzureSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
15547	return nil, false
15548}
15549
15550// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15551func (astd AzureSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
15552	return nil, false
15553}
15554
15555// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15556func (astd AzureSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
15557	return nil, false
15558}
15559
15560// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15561func (astd AzureSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
15562	return nil, false
15563}
15564
15565// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15566func (astd AzureSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
15567	return nil, false
15568}
15569
15570// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15571func (astd AzureSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
15572	return nil, false
15573}
15574
15575// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15576func (astd AzureSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
15577	return nil, false
15578}
15579
15580// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15581func (astd AzureSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
15582	return nil, false
15583}
15584
15585// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15586func (astd AzureSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
15587	return nil, false
15588}
15589
15590// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15591func (astd AzureSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
15592	return nil, false
15593}
15594
15595// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15596func (astd AzureSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
15597	return nil, false
15598}
15599
15600// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15601func (astd AzureSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
15602	return nil, false
15603}
15604
15605// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15606func (astd AzureSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
15607	return nil, false
15608}
15609
15610// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15611func (astd AzureSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
15612	return nil, false
15613}
15614
15615// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15616func (astd AzureSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
15617	return nil, false
15618}
15619
15620// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15621func (astd AzureSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
15622	return nil, false
15623}
15624
15625// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15626func (astd AzureSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
15627	return nil, false
15628}
15629
15630// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15631func (astd AzureSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
15632	return nil, false
15633}
15634
15635// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15636func (astd AzureSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
15637	return nil, false
15638}
15639
15640// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15641func (astd AzureSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
15642	return nil, false
15643}
15644
15645// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15646func (astd AzureSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
15647	return nil, false
15648}
15649
15650// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15651func (astd AzureSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
15652	return nil, false
15653}
15654
15655// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15656func (astd AzureSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
15657	return nil, false
15658}
15659
15660// AsDrillTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15661func (astd AzureSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
15662	return nil, false
15663}
15664
15665// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15666func (astd AzureSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
15667	return nil, false
15668}
15669
15670// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15671func (astd AzureSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
15672	return nil, false
15673}
15674
15675// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15676func (astd AzureSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
15677	return nil, false
15678}
15679
15680// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15681func (astd AzureSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
15682	return nil, false
15683}
15684
15685// AsHTTPDataset is the BasicDataset implementation for AzureSQLTableDataset.
15686func (astd AzureSQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
15687	return nil, false
15688}
15689
15690// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLTableDataset.
15691func (astd AzureSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
15692	return nil, false
15693}
15694
15695// AsWebTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15696func (astd AzureSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
15697	return nil, false
15698}
15699
15700// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15701func (astd AzureSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
15702	return nil, false
15703}
15704
15705// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
15706func (astd AzureSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
15707	return nil, false
15708}
15709
15710// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
15711func (astd AzureSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
15712	return nil, false
15713}
15714
15715// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15716func (astd AzureSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
15717	return nil, false
15718}
15719
15720// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15721func (astd AzureSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
15722	return nil, false
15723}
15724
15725// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15726func (astd AzureSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
15727	return nil, false
15728}
15729
15730// AsOracleTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15731func (astd AzureSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
15732	return nil, false
15733}
15734
15735// AsODataResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
15736func (astd AzureSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
15737	return nil, false
15738}
15739
15740// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
15741func (astd AzureSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
15742	return nil, false
15743}
15744
15745// AsFileShareDataset is the BasicDataset implementation for AzureSQLTableDataset.
15746func (astd AzureSQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
15747	return nil, false
15748}
15749
15750// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSQLTableDataset.
15751func (astd AzureSQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
15752	return nil, false
15753}
15754
15755// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLTableDataset.
15756func (astd AzureSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
15757	return nil, false
15758}
15759
15760// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
15761func (astd AzureSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
15762	return nil, false
15763}
15764
15765// AsCustomDataset is the BasicDataset implementation for AzureSQLTableDataset.
15766func (astd AzureSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
15767	return nil, false
15768}
15769
15770// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15771func (astd AzureSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
15772	return nil, false
15773}
15774
15775// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15776func (astd AzureSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
15777	return nil, false
15778}
15779
15780// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15781func (astd AzureSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
15782	return &astd, true
15783}
15784
15785// AsAzureTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15786func (astd AzureSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
15787	return nil, false
15788}
15789
15790// AsAzureBlobDataset is the BasicDataset implementation for AzureSQLTableDataset.
15791func (astd AzureSQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
15792	return nil, false
15793}
15794
15795// AsAmazonS3Dataset is the BasicDataset implementation for AzureSQLTableDataset.
15796func (astd AzureSQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
15797	return nil, false
15798}
15799
15800// AsDataset is the BasicDataset implementation for AzureSQLTableDataset.
15801func (astd AzureSQLTableDataset) AsDataset() (*Dataset, bool) {
15802	return nil, false
15803}
15804
15805// AsBasicDataset is the BasicDataset implementation for AzureSQLTableDataset.
15806func (astd AzureSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
15807	return &astd, true
15808}
15809
15810// UnmarshalJSON is the custom unmarshaler for AzureSQLTableDataset struct.
15811func (astd *AzureSQLTableDataset) UnmarshalJSON(body []byte) error {
15812	var m map[string]*json.RawMessage
15813	err := json.Unmarshal(body, &m)
15814	if err != nil {
15815		return err
15816	}
15817	for k, v := range m {
15818		switch k {
15819		case "typeProperties":
15820			if v != nil {
15821				var azureSQLTableDatasetTypeProperties AzureSQLTableDatasetTypeProperties
15822				err = json.Unmarshal(*v, &azureSQLTableDatasetTypeProperties)
15823				if err != nil {
15824					return err
15825				}
15826				astd.AzureSQLTableDatasetTypeProperties = &azureSQLTableDatasetTypeProperties
15827			}
15828		default:
15829			if v != nil {
15830				var additionalProperties interface{}
15831				err = json.Unmarshal(*v, &additionalProperties)
15832				if err != nil {
15833					return err
15834				}
15835				if astd.AdditionalProperties == nil {
15836					astd.AdditionalProperties = make(map[string]interface{})
15837				}
15838				astd.AdditionalProperties[k] = additionalProperties
15839			}
15840		case "description":
15841			if v != nil {
15842				var description string
15843				err = json.Unmarshal(*v, &description)
15844				if err != nil {
15845					return err
15846				}
15847				astd.Description = &description
15848			}
15849		case "structure":
15850			if v != nil {
15851				var structure interface{}
15852				err = json.Unmarshal(*v, &structure)
15853				if err != nil {
15854					return err
15855				}
15856				astd.Structure = structure
15857			}
15858		case "linkedServiceName":
15859			if v != nil {
15860				var linkedServiceName LinkedServiceReference
15861				err = json.Unmarshal(*v, &linkedServiceName)
15862				if err != nil {
15863					return err
15864				}
15865				astd.LinkedServiceName = &linkedServiceName
15866			}
15867		case "parameters":
15868			if v != nil {
15869				var parameters map[string]*ParameterSpecification
15870				err = json.Unmarshal(*v, &parameters)
15871				if err != nil {
15872					return err
15873				}
15874				astd.Parameters = parameters
15875			}
15876		case "annotations":
15877			if v != nil {
15878				var annotations []interface{}
15879				err = json.Unmarshal(*v, &annotations)
15880				if err != nil {
15881					return err
15882				}
15883				astd.Annotations = &annotations
15884			}
15885		case "type":
15886			if v != nil {
15887				var typeVar TypeBasicDataset
15888				err = json.Unmarshal(*v, &typeVar)
15889				if err != nil {
15890					return err
15891				}
15892				astd.Type = typeVar
15893			}
15894		}
15895	}
15896
15897	return nil
15898}
15899
15900// AzureSQLTableDatasetTypeProperties azure SQL dataset properties.
15901type AzureSQLTableDatasetTypeProperties struct {
15902	// TableName - The table name of the Azure SQL database. Type: string (or Expression with resultType string).
15903	TableName interface{} `json:"tableName,omitempty"`
15904}
15905
15906// AzureStorageLinkedService the storage account linked service.
15907type AzureStorageLinkedService struct {
15908	// AzureStorageLinkedServiceTypeProperties - Azure Storage linked service properties.
15909	*AzureStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
15910	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
15911	AdditionalProperties map[string]interface{} `json:""`
15912	// ConnectVia - The integration runtime reference.
15913	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
15914	// Description - Linked service description.
15915	Description *string `json:"description,omitempty"`
15916	// Parameters - Parameters for linked service.
15917	Parameters map[string]*ParameterSpecification `json:"parameters"`
15918	// Annotations - List of tags that can be used for describing the Dataset.
15919	Annotations *[]interface{} `json:"annotations,omitempty"`
15920	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
15921	Type TypeBasicLinkedService `json:"type,omitempty"`
15922}
15923
15924// MarshalJSON is the custom marshaler for AzureStorageLinkedService.
15925func (asls AzureStorageLinkedService) MarshalJSON() ([]byte, error) {
15926	asls.Type = TypeAzureStorage
15927	objectMap := make(map[string]interface{})
15928	if asls.AzureStorageLinkedServiceTypeProperties != nil {
15929		objectMap["typeProperties"] = asls.AzureStorageLinkedServiceTypeProperties
15930	}
15931	if asls.ConnectVia != nil {
15932		objectMap["connectVia"] = asls.ConnectVia
15933	}
15934	if asls.Description != nil {
15935		objectMap["description"] = asls.Description
15936	}
15937	if asls.Parameters != nil {
15938		objectMap["parameters"] = asls.Parameters
15939	}
15940	if asls.Annotations != nil {
15941		objectMap["annotations"] = asls.Annotations
15942	}
15943	if asls.Type != "" {
15944		objectMap["type"] = asls.Type
15945	}
15946	for k, v := range asls.AdditionalProperties {
15947		objectMap[k] = v
15948	}
15949	return json.Marshal(objectMap)
15950}
15951
15952// AsResponsysLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15953func (asls AzureStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
15954	return nil, false
15955}
15956
15957// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15958func (asls AzureStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
15959	return nil, false
15960}
15961
15962// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15963func (asls AzureStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
15964	return nil, false
15965}
15966
15967// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15968func (asls AzureStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
15969	return nil, false
15970}
15971
15972// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15973func (asls AzureStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
15974	return nil, false
15975}
15976
15977// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15978func (asls AzureStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
15979	return nil, false
15980}
15981
15982// AsVerticaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15983func (asls AzureStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
15984	return nil, false
15985}
15986
15987// AsZohoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15988func (asls AzureStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
15989	return nil, false
15990}
15991
15992// AsXeroLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15993func (asls AzureStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
15994	return nil, false
15995}
15996
15997// AsSquareLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15998func (asls AzureStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
15999	return nil, false
16000}
16001
16002// AsSparkLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16003func (asls AzureStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
16004	return nil, false
16005}
16006
16007// AsShopifyLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16008func (asls AzureStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
16009	return nil, false
16010}
16011
16012// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16013func (asls AzureStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
16014	return nil, false
16015}
16016
16017// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16018func (asls AzureStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
16019	return nil, false
16020}
16021
16022// AsPrestoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16023func (asls AzureStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
16024	return nil, false
16025}
16026
16027// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16028func (asls AzureStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
16029	return nil, false
16030}
16031
16032// AsPaypalLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16033func (asls AzureStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
16034	return nil, false
16035}
16036
16037// AsMarketoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16038func (asls AzureStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
16039	return nil, false
16040}
16041
16042// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16043func (asls AzureStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
16044	return nil, false
16045}
16046
16047// AsMagentoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16048func (asls AzureStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
16049	return nil, false
16050}
16051
16052// AsJiraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16053func (asls AzureStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
16054	return nil, false
16055}
16056
16057// AsImpalaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16058func (asls AzureStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
16059	return nil, false
16060}
16061
16062// AsHubspotLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16063func (asls AzureStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
16064	return nil, false
16065}
16066
16067// AsHiveLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16068func (asls AzureStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
16069	return nil, false
16070}
16071
16072// AsHBaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16073func (asls AzureStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
16074	return nil, false
16075}
16076
16077// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16078func (asls AzureStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
16079	return nil, false
16080}
16081
16082// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16083func (asls AzureStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
16084	return nil, false
16085}
16086
16087// AsEloquaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16088func (asls AzureStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
16089	return nil, false
16090}
16091
16092// AsDrillLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16093func (asls AzureStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
16094	return nil, false
16095}
16096
16097// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16098func (asls AzureStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
16099	return nil, false
16100}
16101
16102// AsConcurLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16103func (asls AzureStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
16104	return nil, false
16105}
16106
16107// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16108func (asls AzureStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
16109	return nil, false
16110}
16111
16112// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16113func (asls AzureStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
16114	return nil, false
16115}
16116
16117// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16118func (asls AzureStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
16119	return nil, false
16120}
16121
16122// AsSapBWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16123func (asls AzureStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
16124	return nil, false
16125}
16126
16127// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16128func (asls AzureStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
16129	return nil, false
16130}
16131
16132// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16133func (asls AzureStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
16134	return nil, false
16135}
16136
16137// AsHTTPLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16138func (asls AzureStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
16139	return nil, false
16140}
16141
16142// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16143func (asls AzureStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
16144	return nil, false
16145}
16146
16147// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16148func (asls AzureStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
16149	return nil, false
16150}
16151
16152// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16153func (asls AzureStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
16154	return nil, false
16155}
16156
16157// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16158func (asls AzureStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
16159	return nil, false
16160}
16161
16162// AsSapEccLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16163func (asls AzureStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
16164	return nil, false
16165}
16166
16167// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16168func (asls AzureStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
16169	return nil, false
16170}
16171
16172// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16173func (asls AzureStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
16174	return nil, false
16175}
16176
16177// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16178func (asls AzureStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
16179	return nil, false
16180}
16181
16182// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16183func (asls AzureStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
16184	return nil, false
16185}
16186
16187// AsCassandraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16188func (asls AzureStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
16189	return nil, false
16190}
16191
16192// AsWebLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16193func (asls AzureStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
16194	return nil, false
16195}
16196
16197// AsODataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16198func (asls AzureStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
16199	return nil, false
16200}
16201
16202// AsHdfsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16203func (asls AzureStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
16204	return nil, false
16205}
16206
16207// AsOdbcLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16208func (asls AzureStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
16209	return nil, false
16210}
16211
16212// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16213func (asls AzureStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
16214	return nil, false
16215}
16216
16217// AsTeradataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16218func (asls AzureStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
16219	return nil, false
16220}
16221
16222// AsDb2LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16223func (asls AzureStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
16224	return nil, false
16225}
16226
16227// AsSybaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16228func (asls AzureStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
16229	return nil, false
16230}
16231
16232// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16233func (asls AzureStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
16234	return nil, false
16235}
16236
16237// AsMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16238func (asls AzureStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
16239	return nil, false
16240}
16241
16242// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16243func (asls AzureStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
16244	return nil, false
16245}
16246
16247// AsOracleLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16248func (asls AzureStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
16249	return nil, false
16250}
16251
16252// AsFileServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16253func (asls AzureStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
16254	return nil, false
16255}
16256
16257// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16258func (asls AzureStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
16259	return nil, false
16260}
16261
16262// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16263func (asls AzureStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
16264	return nil, false
16265}
16266
16267// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16268func (asls AzureStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
16269	return nil, false
16270}
16271
16272// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16273func (asls AzureStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
16274	return nil, false
16275}
16276
16277// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16278func (asls AzureStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
16279	return nil, false
16280}
16281
16282// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16283func (asls AzureStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
16284	return nil, false
16285}
16286
16287// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16288func (asls AzureStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
16289	return nil, false
16290}
16291
16292// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16293func (asls AzureStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
16294	return nil, false
16295}
16296
16297// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16298func (asls AzureStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
16299	return &asls, true
16300}
16301
16302// AsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16303func (asls AzureStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
16304	return nil, false
16305}
16306
16307// AsBasicLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16308func (asls AzureStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
16309	return &asls, true
16310}
16311
16312// UnmarshalJSON is the custom unmarshaler for AzureStorageLinkedService struct.
16313func (asls *AzureStorageLinkedService) UnmarshalJSON(body []byte) error {
16314	var m map[string]*json.RawMessage
16315	err := json.Unmarshal(body, &m)
16316	if err != nil {
16317		return err
16318	}
16319	for k, v := range m {
16320		switch k {
16321		case "typeProperties":
16322			if v != nil {
16323				var azureStorageLinkedServiceTypeProperties AzureStorageLinkedServiceTypeProperties
16324				err = json.Unmarshal(*v, &azureStorageLinkedServiceTypeProperties)
16325				if err != nil {
16326					return err
16327				}
16328				asls.AzureStorageLinkedServiceTypeProperties = &azureStorageLinkedServiceTypeProperties
16329			}
16330		default:
16331			if v != nil {
16332				var additionalProperties interface{}
16333				err = json.Unmarshal(*v, &additionalProperties)
16334				if err != nil {
16335					return err
16336				}
16337				if asls.AdditionalProperties == nil {
16338					asls.AdditionalProperties = make(map[string]interface{})
16339				}
16340				asls.AdditionalProperties[k] = additionalProperties
16341			}
16342		case "connectVia":
16343			if v != nil {
16344				var connectVia IntegrationRuntimeReference
16345				err = json.Unmarshal(*v, &connectVia)
16346				if err != nil {
16347					return err
16348				}
16349				asls.ConnectVia = &connectVia
16350			}
16351		case "description":
16352			if v != nil {
16353				var description string
16354				err = json.Unmarshal(*v, &description)
16355				if err != nil {
16356					return err
16357				}
16358				asls.Description = &description
16359			}
16360		case "parameters":
16361			if v != nil {
16362				var parameters map[string]*ParameterSpecification
16363				err = json.Unmarshal(*v, &parameters)
16364				if err != nil {
16365					return err
16366				}
16367				asls.Parameters = parameters
16368			}
16369		case "annotations":
16370			if v != nil {
16371				var annotations []interface{}
16372				err = json.Unmarshal(*v, &annotations)
16373				if err != nil {
16374					return err
16375				}
16376				asls.Annotations = &annotations
16377			}
16378		case "type":
16379			if v != nil {
16380				var typeVar TypeBasicLinkedService
16381				err = json.Unmarshal(*v, &typeVar)
16382				if err != nil {
16383					return err
16384				}
16385				asls.Type = typeVar
16386			}
16387		}
16388	}
16389
16390	return nil
16391}
16392
16393// AzureStorageLinkedServiceTypeProperties azure Storage linked service properties.
16394type AzureStorageLinkedServiceTypeProperties struct {
16395	// ConnectionString - The connection string. It is mutually exclusive with sasUri property. Type: string, SecureString or AzureKeyVaultSecretReference.
16396	ConnectionString interface{} `json:"connectionString,omitempty"`
16397	// SasURI - SAS URI of the Azure Storage resource. It is mutually exclusive with connectionString property.
16398	SasURI BasicSecretBase `json:"sasUri,omitempty"`
16399	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
16400	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
16401}
16402
16403// UnmarshalJSON is the custom unmarshaler for AzureStorageLinkedServiceTypeProperties struct.
16404func (aslstp *AzureStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
16405	var m map[string]*json.RawMessage
16406	err := json.Unmarshal(body, &m)
16407	if err != nil {
16408		return err
16409	}
16410	for k, v := range m {
16411		switch k {
16412		case "connectionString":
16413			if v != nil {
16414				var connectionString interface{}
16415				err = json.Unmarshal(*v, &connectionString)
16416				if err != nil {
16417					return err
16418				}
16419				aslstp.ConnectionString = connectionString
16420			}
16421		case "sasUri":
16422			if v != nil {
16423				sasURI, err := unmarshalBasicSecretBase(*v)
16424				if err != nil {
16425					return err
16426				}
16427				aslstp.SasURI = sasURI
16428			}
16429		case "encryptedCredential":
16430			if v != nil {
16431				var encryptedCredential interface{}
16432				err = json.Unmarshal(*v, &encryptedCredential)
16433				if err != nil {
16434					return err
16435				}
16436				aslstp.EncryptedCredential = encryptedCredential
16437			}
16438		}
16439	}
16440
16441	return nil
16442}
16443
16444// AzureTableDataset the Azure Table storage dataset.
16445type AzureTableDataset struct {
16446	// AzureTableDatasetTypeProperties - Azure Table dataset properties.
16447	*AzureTableDatasetTypeProperties `json:"typeProperties,omitempty"`
16448	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
16449	AdditionalProperties map[string]interface{} `json:""`
16450	// Description - Dataset description.
16451	Description *string `json:"description,omitempty"`
16452	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
16453	Structure interface{} `json:"structure,omitempty"`
16454	// LinkedServiceName - Linked service reference.
16455	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
16456	// Parameters - Parameters for dataset.
16457	Parameters map[string]*ParameterSpecification `json:"parameters"`
16458	// Annotations - List of tags that can be used for describing the Dataset.
16459	Annotations *[]interface{} `json:"annotations,omitempty"`
16460	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
16461	Type TypeBasicDataset `json:"type,omitempty"`
16462}
16463
16464// MarshalJSON is the custom marshaler for AzureTableDataset.
16465func (atd AzureTableDataset) MarshalJSON() ([]byte, error) {
16466	atd.Type = TypeAzureTable
16467	objectMap := make(map[string]interface{})
16468	if atd.AzureTableDatasetTypeProperties != nil {
16469		objectMap["typeProperties"] = atd.AzureTableDatasetTypeProperties
16470	}
16471	if atd.Description != nil {
16472		objectMap["description"] = atd.Description
16473	}
16474	if atd.Structure != nil {
16475		objectMap["structure"] = atd.Structure
16476	}
16477	if atd.LinkedServiceName != nil {
16478		objectMap["linkedServiceName"] = atd.LinkedServiceName
16479	}
16480	if atd.Parameters != nil {
16481		objectMap["parameters"] = atd.Parameters
16482	}
16483	if atd.Annotations != nil {
16484		objectMap["annotations"] = atd.Annotations
16485	}
16486	if atd.Type != "" {
16487		objectMap["type"] = atd.Type
16488	}
16489	for k, v := range atd.AdditionalProperties {
16490		objectMap[k] = v
16491	}
16492	return json.Marshal(objectMap)
16493}
16494
16495// AsResponsysObjectDataset is the BasicDataset implementation for AzureTableDataset.
16496func (atd AzureTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
16497	return nil, false
16498}
16499
16500// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureTableDataset.
16501func (atd AzureTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
16502	return nil, false
16503}
16504
16505// AsVerticaTableDataset is the BasicDataset implementation for AzureTableDataset.
16506func (atd AzureTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
16507	return nil, false
16508}
16509
16510// AsNetezzaTableDataset is the BasicDataset implementation for AzureTableDataset.
16511func (atd AzureTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
16512	return nil, false
16513}
16514
16515// AsZohoObjectDataset is the BasicDataset implementation for AzureTableDataset.
16516func (atd AzureTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
16517	return nil, false
16518}
16519
16520// AsXeroObjectDataset is the BasicDataset implementation for AzureTableDataset.
16521func (atd AzureTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
16522	return nil, false
16523}
16524
16525// AsSquareObjectDataset is the BasicDataset implementation for AzureTableDataset.
16526func (atd AzureTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
16527	return nil, false
16528}
16529
16530// AsSparkObjectDataset is the BasicDataset implementation for AzureTableDataset.
16531func (atd AzureTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
16532	return nil, false
16533}
16534
16535// AsShopifyObjectDataset is the BasicDataset implementation for AzureTableDataset.
16536func (atd AzureTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
16537	return nil, false
16538}
16539
16540// AsServiceNowObjectDataset is the BasicDataset implementation for AzureTableDataset.
16541func (atd AzureTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
16542	return nil, false
16543}
16544
16545// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureTableDataset.
16546func (atd AzureTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
16547	return nil, false
16548}
16549
16550// AsPrestoObjectDataset is the BasicDataset implementation for AzureTableDataset.
16551func (atd AzureTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
16552	return nil, false
16553}
16554
16555// AsPhoenixObjectDataset is the BasicDataset implementation for AzureTableDataset.
16556func (atd AzureTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
16557	return nil, false
16558}
16559
16560// AsPaypalObjectDataset is the BasicDataset implementation for AzureTableDataset.
16561func (atd AzureTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
16562	return nil, false
16563}
16564
16565// AsMarketoObjectDataset is the BasicDataset implementation for AzureTableDataset.
16566func (atd AzureTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
16567	return nil, false
16568}
16569
16570// AsMariaDBTableDataset is the BasicDataset implementation for AzureTableDataset.
16571func (atd AzureTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
16572	return nil, false
16573}
16574
16575// AsMagentoObjectDataset is the BasicDataset implementation for AzureTableDataset.
16576func (atd AzureTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
16577	return nil, false
16578}
16579
16580// AsJiraObjectDataset is the BasicDataset implementation for AzureTableDataset.
16581func (atd AzureTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
16582	return nil, false
16583}
16584
16585// AsImpalaObjectDataset is the BasicDataset implementation for AzureTableDataset.
16586func (atd AzureTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
16587	return nil, false
16588}
16589
16590// AsHubspotObjectDataset is the BasicDataset implementation for AzureTableDataset.
16591func (atd AzureTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
16592	return nil, false
16593}
16594
16595// AsHiveObjectDataset is the BasicDataset implementation for AzureTableDataset.
16596func (atd AzureTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
16597	return nil, false
16598}
16599
16600// AsHBaseObjectDataset is the BasicDataset implementation for AzureTableDataset.
16601func (atd AzureTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
16602	return nil, false
16603}
16604
16605// AsGreenplumTableDataset is the BasicDataset implementation for AzureTableDataset.
16606func (atd AzureTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
16607	return nil, false
16608}
16609
16610// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureTableDataset.
16611func (atd AzureTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
16612	return nil, false
16613}
16614
16615// AsEloquaObjectDataset is the BasicDataset implementation for AzureTableDataset.
16616func (atd AzureTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
16617	return nil, false
16618}
16619
16620// AsDrillTableDataset is the BasicDataset implementation for AzureTableDataset.
16621func (atd AzureTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
16622	return nil, false
16623}
16624
16625// AsCouchbaseTableDataset is the BasicDataset implementation for AzureTableDataset.
16626func (atd AzureTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
16627	return nil, false
16628}
16629
16630// AsConcurObjectDataset is the BasicDataset implementation for AzureTableDataset.
16631func (atd AzureTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
16632	return nil, false
16633}
16634
16635// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
16636func (atd AzureTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
16637	return nil, false
16638}
16639
16640// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureTableDataset.
16641func (atd AzureTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
16642	return nil, false
16643}
16644
16645// AsHTTPDataset is the BasicDataset implementation for AzureTableDataset.
16646func (atd AzureTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
16647	return nil, false
16648}
16649
16650// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureTableDataset.
16651func (atd AzureTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
16652	return nil, false
16653}
16654
16655// AsWebTableDataset is the BasicDataset implementation for AzureTableDataset.
16656func (atd AzureTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
16657	return nil, false
16658}
16659
16660// AsSQLServerTableDataset is the BasicDataset implementation for AzureTableDataset.
16661func (atd AzureTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
16662	return nil, false
16663}
16664
16665// AsSapEccResourceDataset is the BasicDataset implementation for AzureTableDataset.
16666func (atd AzureTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
16667	return nil, false
16668}
16669
16670// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureTableDataset.
16671func (atd AzureTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
16672	return nil, false
16673}
16674
16675// AsSalesforceObjectDataset is the BasicDataset implementation for AzureTableDataset.
16676func (atd AzureTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
16677	return nil, false
16678}
16679
16680// AsRelationalTableDataset is the BasicDataset implementation for AzureTableDataset.
16681func (atd AzureTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
16682	return nil, false
16683}
16684
16685// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureTableDataset.
16686func (atd AzureTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
16687	return nil, false
16688}
16689
16690// AsOracleTableDataset is the BasicDataset implementation for AzureTableDataset.
16691func (atd AzureTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
16692	return nil, false
16693}
16694
16695// AsODataResourceDataset is the BasicDataset implementation for AzureTableDataset.
16696func (atd AzureTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
16697	return nil, false
16698}
16699
16700// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureTableDataset.
16701func (atd AzureTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
16702	return nil, false
16703}
16704
16705// AsFileShareDataset is the BasicDataset implementation for AzureTableDataset.
16706func (atd AzureTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
16707	return nil, false
16708}
16709
16710// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureTableDataset.
16711func (atd AzureTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
16712	return nil, false
16713}
16714
16715// AsDynamicsEntityDataset is the BasicDataset implementation for AzureTableDataset.
16716func (atd AzureTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
16717	return nil, false
16718}
16719
16720// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureTableDataset.
16721func (atd AzureTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
16722	return nil, false
16723}
16724
16725// AsCustomDataset is the BasicDataset implementation for AzureTableDataset.
16726func (atd AzureTableDataset) AsCustomDataset() (*CustomDataset, bool) {
16727	return nil, false
16728}
16729
16730// AsCassandraTableDataset is the BasicDataset implementation for AzureTableDataset.
16731func (atd AzureTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
16732	return nil, false
16733}
16734
16735// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureTableDataset.
16736func (atd AzureTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
16737	return nil, false
16738}
16739
16740// AsAzureSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
16741func (atd AzureTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
16742	return nil, false
16743}
16744
16745// AsAzureTableDataset is the BasicDataset implementation for AzureTableDataset.
16746func (atd AzureTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
16747	return &atd, true
16748}
16749
16750// AsAzureBlobDataset is the BasicDataset implementation for AzureTableDataset.
16751func (atd AzureTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
16752	return nil, false
16753}
16754
16755// AsAmazonS3Dataset is the BasicDataset implementation for AzureTableDataset.
16756func (atd AzureTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
16757	return nil, false
16758}
16759
16760// AsDataset is the BasicDataset implementation for AzureTableDataset.
16761func (atd AzureTableDataset) AsDataset() (*Dataset, bool) {
16762	return nil, false
16763}
16764
16765// AsBasicDataset is the BasicDataset implementation for AzureTableDataset.
16766func (atd AzureTableDataset) AsBasicDataset() (BasicDataset, bool) {
16767	return &atd, true
16768}
16769
16770// UnmarshalJSON is the custom unmarshaler for AzureTableDataset struct.
16771func (atd *AzureTableDataset) UnmarshalJSON(body []byte) error {
16772	var m map[string]*json.RawMessage
16773	err := json.Unmarshal(body, &m)
16774	if err != nil {
16775		return err
16776	}
16777	for k, v := range m {
16778		switch k {
16779		case "typeProperties":
16780			if v != nil {
16781				var azureTableDatasetTypeProperties AzureTableDatasetTypeProperties
16782				err = json.Unmarshal(*v, &azureTableDatasetTypeProperties)
16783				if err != nil {
16784					return err
16785				}
16786				atd.AzureTableDatasetTypeProperties = &azureTableDatasetTypeProperties
16787			}
16788		default:
16789			if v != nil {
16790				var additionalProperties interface{}
16791				err = json.Unmarshal(*v, &additionalProperties)
16792				if err != nil {
16793					return err
16794				}
16795				if atd.AdditionalProperties == nil {
16796					atd.AdditionalProperties = make(map[string]interface{})
16797				}
16798				atd.AdditionalProperties[k] = additionalProperties
16799			}
16800		case "description":
16801			if v != nil {
16802				var description string
16803				err = json.Unmarshal(*v, &description)
16804				if err != nil {
16805					return err
16806				}
16807				atd.Description = &description
16808			}
16809		case "structure":
16810			if v != nil {
16811				var structure interface{}
16812				err = json.Unmarshal(*v, &structure)
16813				if err != nil {
16814					return err
16815				}
16816				atd.Structure = structure
16817			}
16818		case "linkedServiceName":
16819			if v != nil {
16820				var linkedServiceName LinkedServiceReference
16821				err = json.Unmarshal(*v, &linkedServiceName)
16822				if err != nil {
16823					return err
16824				}
16825				atd.LinkedServiceName = &linkedServiceName
16826			}
16827		case "parameters":
16828			if v != nil {
16829				var parameters map[string]*ParameterSpecification
16830				err = json.Unmarshal(*v, &parameters)
16831				if err != nil {
16832					return err
16833				}
16834				atd.Parameters = parameters
16835			}
16836		case "annotations":
16837			if v != nil {
16838				var annotations []interface{}
16839				err = json.Unmarshal(*v, &annotations)
16840				if err != nil {
16841					return err
16842				}
16843				atd.Annotations = &annotations
16844			}
16845		case "type":
16846			if v != nil {
16847				var typeVar TypeBasicDataset
16848				err = json.Unmarshal(*v, &typeVar)
16849				if err != nil {
16850					return err
16851				}
16852				atd.Type = typeVar
16853			}
16854		}
16855	}
16856
16857	return nil
16858}
16859
16860// AzureTableDatasetTypeProperties azure Table dataset properties.
16861type AzureTableDatasetTypeProperties struct {
16862	// TableName - The table name of the Azure Table storage. Type: string (or Expression with resultType string).
16863	TableName interface{} `json:"tableName,omitempty"`
16864}
16865
16866// AzureTableSink a copy activity Azure Table sink.
16867type AzureTableSink struct {
16868	// AzureTableDefaultPartitionKeyValue - Azure Table default partition key value. Type: string (or Expression with resultType string).
16869	AzureTableDefaultPartitionKeyValue interface{} `json:"azureTableDefaultPartitionKeyValue,omitempty"`
16870	// AzureTablePartitionKeyName - Azure Table partition key name. Type: string (or Expression with resultType string).
16871	AzureTablePartitionKeyName interface{} `json:"azureTablePartitionKeyName,omitempty"`
16872	// AzureTableRowKeyName - Azure Table row key name. Type: string (or Expression with resultType string).
16873	AzureTableRowKeyName interface{} `json:"azureTableRowKeyName,omitempty"`
16874	// AzureTableInsertType - Azure Table insert type. Type: string (or Expression with resultType string).
16875	AzureTableInsertType interface{} `json:"azureTableInsertType,omitempty"`
16876	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
16877	AdditionalProperties map[string]interface{} `json:""`
16878	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
16879	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
16880	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
16881	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
16882	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
16883	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
16884	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
16885	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
16886	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
16887	Type TypeBasicCopySink `json:"type,omitempty"`
16888}
16889
16890// MarshalJSON is the custom marshaler for AzureTableSink.
16891func (ats AzureTableSink) MarshalJSON() ([]byte, error) {
16892	ats.Type = TypeAzureTableSink
16893	objectMap := make(map[string]interface{})
16894	if ats.AzureTableDefaultPartitionKeyValue != nil {
16895		objectMap["azureTableDefaultPartitionKeyValue"] = ats.AzureTableDefaultPartitionKeyValue
16896	}
16897	if ats.AzureTablePartitionKeyName != nil {
16898		objectMap["azureTablePartitionKeyName"] = ats.AzureTablePartitionKeyName
16899	}
16900	if ats.AzureTableRowKeyName != nil {
16901		objectMap["azureTableRowKeyName"] = ats.AzureTableRowKeyName
16902	}
16903	if ats.AzureTableInsertType != nil {
16904		objectMap["azureTableInsertType"] = ats.AzureTableInsertType
16905	}
16906	if ats.WriteBatchSize != nil {
16907		objectMap["writeBatchSize"] = ats.WriteBatchSize
16908	}
16909	if ats.WriteBatchTimeout != nil {
16910		objectMap["writeBatchTimeout"] = ats.WriteBatchTimeout
16911	}
16912	if ats.SinkRetryCount != nil {
16913		objectMap["sinkRetryCount"] = ats.SinkRetryCount
16914	}
16915	if ats.SinkRetryWait != nil {
16916		objectMap["sinkRetryWait"] = ats.SinkRetryWait
16917	}
16918	if ats.Type != "" {
16919		objectMap["type"] = ats.Type
16920	}
16921	for k, v := range ats.AdditionalProperties {
16922		objectMap[k] = v
16923	}
16924	return json.Marshal(objectMap)
16925}
16926
16927// AsSalesforceSink is the BasicCopySink implementation for AzureTableSink.
16928func (ats AzureTableSink) AsSalesforceSink() (*SalesforceSink, bool) {
16929	return nil, false
16930}
16931
16932// AsDynamicsSink is the BasicCopySink implementation for AzureTableSink.
16933func (ats AzureTableSink) AsDynamicsSink() (*DynamicsSink, bool) {
16934	return nil, false
16935}
16936
16937// AsOdbcSink is the BasicCopySink implementation for AzureTableSink.
16938func (ats AzureTableSink) AsOdbcSink() (*OdbcSink, bool) {
16939	return nil, false
16940}
16941
16942// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureTableSink.
16943func (ats AzureTableSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
16944	return nil, false
16945}
16946
16947// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureTableSink.
16948func (ats AzureTableSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
16949	return nil, false
16950}
16951
16952// AsOracleSink is the BasicCopySink implementation for AzureTableSink.
16953func (ats AzureTableSink) AsOracleSink() (*OracleSink, bool) {
16954	return nil, false
16955}
16956
16957// AsSQLDWSink is the BasicCopySink implementation for AzureTableSink.
16958func (ats AzureTableSink) AsSQLDWSink() (*SQLDWSink, bool) {
16959	return nil, false
16960}
16961
16962// AsSQLSink is the BasicCopySink implementation for AzureTableSink.
16963func (ats AzureTableSink) AsSQLSink() (*SQLSink, bool) {
16964	return nil, false
16965}
16966
16967// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureTableSink.
16968func (ats AzureTableSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
16969	return nil, false
16970}
16971
16972// AsFileSystemSink is the BasicCopySink implementation for AzureTableSink.
16973func (ats AzureTableSink) AsFileSystemSink() (*FileSystemSink, bool) {
16974	return nil, false
16975}
16976
16977// AsBlobSink is the BasicCopySink implementation for AzureTableSink.
16978func (ats AzureTableSink) AsBlobSink() (*BlobSink, bool) {
16979	return nil, false
16980}
16981
16982// AsAzureTableSink is the BasicCopySink implementation for AzureTableSink.
16983func (ats AzureTableSink) AsAzureTableSink() (*AzureTableSink, bool) {
16984	return &ats, true
16985}
16986
16987// AsAzureQueueSink is the BasicCopySink implementation for AzureTableSink.
16988func (ats AzureTableSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
16989	return nil, false
16990}
16991
16992// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureTableSink.
16993func (ats AzureTableSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
16994	return nil, false
16995}
16996
16997// AsCopySink is the BasicCopySink implementation for AzureTableSink.
16998func (ats AzureTableSink) AsCopySink() (*CopySink, bool) {
16999	return nil, false
17000}
17001
17002// AsBasicCopySink is the BasicCopySink implementation for AzureTableSink.
17003func (ats AzureTableSink) AsBasicCopySink() (BasicCopySink, bool) {
17004	return &ats, true
17005}
17006
17007// UnmarshalJSON is the custom unmarshaler for AzureTableSink struct.
17008func (ats *AzureTableSink) UnmarshalJSON(body []byte) error {
17009	var m map[string]*json.RawMessage
17010	err := json.Unmarshal(body, &m)
17011	if err != nil {
17012		return err
17013	}
17014	for k, v := range m {
17015		switch k {
17016		case "azureTableDefaultPartitionKeyValue":
17017			if v != nil {
17018				var azureTableDefaultPartitionKeyValue interface{}
17019				err = json.Unmarshal(*v, &azureTableDefaultPartitionKeyValue)
17020				if err != nil {
17021					return err
17022				}
17023				ats.AzureTableDefaultPartitionKeyValue = azureTableDefaultPartitionKeyValue
17024			}
17025		case "azureTablePartitionKeyName":
17026			if v != nil {
17027				var azureTablePartitionKeyName interface{}
17028				err = json.Unmarshal(*v, &azureTablePartitionKeyName)
17029				if err != nil {
17030					return err
17031				}
17032				ats.AzureTablePartitionKeyName = azureTablePartitionKeyName
17033			}
17034		case "azureTableRowKeyName":
17035			if v != nil {
17036				var azureTableRowKeyName interface{}
17037				err = json.Unmarshal(*v, &azureTableRowKeyName)
17038				if err != nil {
17039					return err
17040				}
17041				ats.AzureTableRowKeyName = azureTableRowKeyName
17042			}
17043		case "azureTableInsertType":
17044			if v != nil {
17045				var azureTableInsertType interface{}
17046				err = json.Unmarshal(*v, &azureTableInsertType)
17047				if err != nil {
17048					return err
17049				}
17050				ats.AzureTableInsertType = azureTableInsertType
17051			}
17052		default:
17053			if v != nil {
17054				var additionalProperties interface{}
17055				err = json.Unmarshal(*v, &additionalProperties)
17056				if err != nil {
17057					return err
17058				}
17059				if ats.AdditionalProperties == nil {
17060					ats.AdditionalProperties = make(map[string]interface{})
17061				}
17062				ats.AdditionalProperties[k] = additionalProperties
17063			}
17064		case "writeBatchSize":
17065			if v != nil {
17066				var writeBatchSize interface{}
17067				err = json.Unmarshal(*v, &writeBatchSize)
17068				if err != nil {
17069					return err
17070				}
17071				ats.WriteBatchSize = writeBatchSize
17072			}
17073		case "writeBatchTimeout":
17074			if v != nil {
17075				var writeBatchTimeout interface{}
17076				err = json.Unmarshal(*v, &writeBatchTimeout)
17077				if err != nil {
17078					return err
17079				}
17080				ats.WriteBatchTimeout = writeBatchTimeout
17081			}
17082		case "sinkRetryCount":
17083			if v != nil {
17084				var sinkRetryCount interface{}
17085				err = json.Unmarshal(*v, &sinkRetryCount)
17086				if err != nil {
17087					return err
17088				}
17089				ats.SinkRetryCount = sinkRetryCount
17090			}
17091		case "sinkRetryWait":
17092			if v != nil {
17093				var sinkRetryWait interface{}
17094				err = json.Unmarshal(*v, &sinkRetryWait)
17095				if err != nil {
17096					return err
17097				}
17098				ats.SinkRetryWait = sinkRetryWait
17099			}
17100		case "type":
17101			if v != nil {
17102				var typeVar TypeBasicCopySink
17103				err = json.Unmarshal(*v, &typeVar)
17104				if err != nil {
17105					return err
17106				}
17107				ats.Type = typeVar
17108			}
17109		}
17110	}
17111
17112	return nil
17113}
17114
17115// AzureTableSource a copy activity Azure Table source.
17116type AzureTableSource struct {
17117	// AzureTableSourceQuery - Azure Table source query. Type: string (or Expression with resultType string).
17118	AzureTableSourceQuery interface{} `json:"azureTableSourceQuery,omitempty"`
17119	// AzureTableSourceIgnoreTableNotFound - Azure Table source ignore table not found. Type: boolean (or Expression with resultType boolean).
17120	AzureTableSourceIgnoreTableNotFound interface{} `json:"azureTableSourceIgnoreTableNotFound,omitempty"`
17121	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17122	AdditionalProperties map[string]interface{} `json:""`
17123	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
17124	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
17125	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17126	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
17127	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
17128	Type TypeBasicCopySource `json:"type,omitempty"`
17129}
17130
17131// MarshalJSON is the custom marshaler for AzureTableSource.
17132func (ats AzureTableSource) MarshalJSON() ([]byte, error) {
17133	ats.Type = TypeAzureTableSource
17134	objectMap := make(map[string]interface{})
17135	if ats.AzureTableSourceQuery != nil {
17136		objectMap["azureTableSourceQuery"] = ats.AzureTableSourceQuery
17137	}
17138	if ats.AzureTableSourceIgnoreTableNotFound != nil {
17139		objectMap["azureTableSourceIgnoreTableNotFound"] = ats.AzureTableSourceIgnoreTableNotFound
17140	}
17141	if ats.SourceRetryCount != nil {
17142		objectMap["sourceRetryCount"] = ats.SourceRetryCount
17143	}
17144	if ats.SourceRetryWait != nil {
17145		objectMap["sourceRetryWait"] = ats.SourceRetryWait
17146	}
17147	if ats.Type != "" {
17148		objectMap["type"] = ats.Type
17149	}
17150	for k, v := range ats.AdditionalProperties {
17151		objectMap[k] = v
17152	}
17153	return json.Marshal(objectMap)
17154}
17155
17156// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureTableSource.
17157func (ats AzureTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
17158	return nil, false
17159}
17160
17161// AsResponsysSource is the BasicCopySource implementation for AzureTableSource.
17162func (ats AzureTableSource) AsResponsysSource() (*ResponsysSource, bool) {
17163	return nil, false
17164}
17165
17166// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureTableSource.
17167func (ats AzureTableSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
17168	return nil, false
17169}
17170
17171// AsVerticaSource is the BasicCopySource implementation for AzureTableSource.
17172func (ats AzureTableSource) AsVerticaSource() (*VerticaSource, bool) {
17173	return nil, false
17174}
17175
17176// AsNetezzaSource is the BasicCopySource implementation for AzureTableSource.
17177func (ats AzureTableSource) AsNetezzaSource() (*NetezzaSource, bool) {
17178	return nil, false
17179}
17180
17181// AsZohoSource is the BasicCopySource implementation for AzureTableSource.
17182func (ats AzureTableSource) AsZohoSource() (*ZohoSource, bool) {
17183	return nil, false
17184}
17185
17186// AsXeroSource is the BasicCopySource implementation for AzureTableSource.
17187func (ats AzureTableSource) AsXeroSource() (*XeroSource, bool) {
17188	return nil, false
17189}
17190
17191// AsSquareSource is the BasicCopySource implementation for AzureTableSource.
17192func (ats AzureTableSource) AsSquareSource() (*SquareSource, bool) {
17193	return nil, false
17194}
17195
17196// AsSparkSource is the BasicCopySource implementation for AzureTableSource.
17197func (ats AzureTableSource) AsSparkSource() (*SparkSource, bool) {
17198	return nil, false
17199}
17200
17201// AsShopifySource is the BasicCopySource implementation for AzureTableSource.
17202func (ats AzureTableSource) AsShopifySource() (*ShopifySource, bool) {
17203	return nil, false
17204}
17205
17206// AsServiceNowSource is the BasicCopySource implementation for AzureTableSource.
17207func (ats AzureTableSource) AsServiceNowSource() (*ServiceNowSource, bool) {
17208	return nil, false
17209}
17210
17211// AsQuickBooksSource is the BasicCopySource implementation for AzureTableSource.
17212func (ats AzureTableSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
17213	return nil, false
17214}
17215
17216// AsPrestoSource is the BasicCopySource implementation for AzureTableSource.
17217func (ats AzureTableSource) AsPrestoSource() (*PrestoSource, bool) {
17218	return nil, false
17219}
17220
17221// AsPhoenixSource is the BasicCopySource implementation for AzureTableSource.
17222func (ats AzureTableSource) AsPhoenixSource() (*PhoenixSource, bool) {
17223	return nil, false
17224}
17225
17226// AsPaypalSource is the BasicCopySource implementation for AzureTableSource.
17227func (ats AzureTableSource) AsPaypalSource() (*PaypalSource, bool) {
17228	return nil, false
17229}
17230
17231// AsMarketoSource is the BasicCopySource implementation for AzureTableSource.
17232func (ats AzureTableSource) AsMarketoSource() (*MarketoSource, bool) {
17233	return nil, false
17234}
17235
17236// AsMariaDBSource is the BasicCopySource implementation for AzureTableSource.
17237func (ats AzureTableSource) AsMariaDBSource() (*MariaDBSource, bool) {
17238	return nil, false
17239}
17240
17241// AsMagentoSource is the BasicCopySource implementation for AzureTableSource.
17242func (ats AzureTableSource) AsMagentoSource() (*MagentoSource, bool) {
17243	return nil, false
17244}
17245
17246// AsJiraSource is the BasicCopySource implementation for AzureTableSource.
17247func (ats AzureTableSource) AsJiraSource() (*JiraSource, bool) {
17248	return nil, false
17249}
17250
17251// AsImpalaSource is the BasicCopySource implementation for AzureTableSource.
17252func (ats AzureTableSource) AsImpalaSource() (*ImpalaSource, bool) {
17253	return nil, false
17254}
17255
17256// AsHubspotSource is the BasicCopySource implementation for AzureTableSource.
17257func (ats AzureTableSource) AsHubspotSource() (*HubspotSource, bool) {
17258	return nil, false
17259}
17260
17261// AsHiveSource is the BasicCopySource implementation for AzureTableSource.
17262func (ats AzureTableSource) AsHiveSource() (*HiveSource, bool) {
17263	return nil, false
17264}
17265
17266// AsHBaseSource is the BasicCopySource implementation for AzureTableSource.
17267func (ats AzureTableSource) AsHBaseSource() (*HBaseSource, bool) {
17268	return nil, false
17269}
17270
17271// AsGreenplumSource is the BasicCopySource implementation for AzureTableSource.
17272func (ats AzureTableSource) AsGreenplumSource() (*GreenplumSource, bool) {
17273	return nil, false
17274}
17275
17276// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureTableSource.
17277func (ats AzureTableSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
17278	return nil, false
17279}
17280
17281// AsEloquaSource is the BasicCopySource implementation for AzureTableSource.
17282func (ats AzureTableSource) AsEloquaSource() (*EloquaSource, bool) {
17283	return nil, false
17284}
17285
17286// AsDrillSource is the BasicCopySource implementation for AzureTableSource.
17287func (ats AzureTableSource) AsDrillSource() (*DrillSource, bool) {
17288	return nil, false
17289}
17290
17291// AsCouchbaseSource is the BasicCopySource implementation for AzureTableSource.
17292func (ats AzureTableSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
17293	return nil, false
17294}
17295
17296// AsConcurSource is the BasicCopySource implementation for AzureTableSource.
17297func (ats AzureTableSource) AsConcurSource() (*ConcurSource, bool) {
17298	return nil, false
17299}
17300
17301// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureTableSource.
17302func (ats AzureTableSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
17303	return nil, false
17304}
17305
17306// AsAmazonMWSSource is the BasicCopySource implementation for AzureTableSource.
17307func (ats AzureTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
17308	return nil, false
17309}
17310
17311// AsHTTPSource is the BasicCopySource implementation for AzureTableSource.
17312func (ats AzureTableSource) AsHTTPSource() (*HTTPSource, bool) {
17313	return nil, false
17314}
17315
17316// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureTableSource.
17317func (ats AzureTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
17318	return nil, false
17319}
17320
17321// AsMongoDbSource is the BasicCopySource implementation for AzureTableSource.
17322func (ats AzureTableSource) AsMongoDbSource() (*MongoDbSource, bool) {
17323	return nil, false
17324}
17325
17326// AsCassandraSource is the BasicCopySource implementation for AzureTableSource.
17327func (ats AzureTableSource) AsCassandraSource() (*CassandraSource, bool) {
17328	return nil, false
17329}
17330
17331// AsWebSource is the BasicCopySource implementation for AzureTableSource.
17332func (ats AzureTableSource) AsWebSource() (*WebSource, bool) {
17333	return nil, false
17334}
17335
17336// AsOracleSource is the BasicCopySource implementation for AzureTableSource.
17337func (ats AzureTableSource) AsOracleSource() (*OracleSource, bool) {
17338	return nil, false
17339}
17340
17341// AsAzureMySQLSource is the BasicCopySource implementation for AzureTableSource.
17342func (ats AzureTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
17343	return nil, false
17344}
17345
17346// AsHdfsSource is the BasicCopySource implementation for AzureTableSource.
17347func (ats AzureTableSource) AsHdfsSource() (*HdfsSource, bool) {
17348	return nil, false
17349}
17350
17351// AsFileSystemSource is the BasicCopySource implementation for AzureTableSource.
17352func (ats AzureTableSource) AsFileSystemSource() (*FileSystemSource, bool) {
17353	return nil, false
17354}
17355
17356// AsSQLDWSource is the BasicCopySource implementation for AzureTableSource.
17357func (ats AzureTableSource) AsSQLDWSource() (*SQLDWSource, bool) {
17358	return nil, false
17359}
17360
17361// AsSQLSource is the BasicCopySource implementation for AzureTableSource.
17362func (ats AzureTableSource) AsSQLSource() (*SQLSource, bool) {
17363	return nil, false
17364}
17365
17366// AsSapEccSource is the BasicCopySource implementation for AzureTableSource.
17367func (ats AzureTableSource) AsSapEccSource() (*SapEccSource, bool) {
17368	return nil, false
17369}
17370
17371// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureTableSource.
17372func (ats AzureTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
17373	return nil, false
17374}
17375
17376// AsSalesforceSource is the BasicCopySource implementation for AzureTableSource.
17377func (ats AzureTableSource) AsSalesforceSource() (*SalesforceSource, bool) {
17378	return nil, false
17379}
17380
17381// AsRelationalSource is the BasicCopySource implementation for AzureTableSource.
17382func (ats AzureTableSource) AsRelationalSource() (*RelationalSource, bool) {
17383	return nil, false
17384}
17385
17386// AsDynamicsSource is the BasicCopySource implementation for AzureTableSource.
17387func (ats AzureTableSource) AsDynamicsSource() (*DynamicsSource, bool) {
17388	return nil, false
17389}
17390
17391// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureTableSource.
17392func (ats AzureTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
17393	return nil, false
17394}
17395
17396// AsBlobSource is the BasicCopySource implementation for AzureTableSource.
17397func (ats AzureTableSource) AsBlobSource() (*BlobSource, bool) {
17398	return nil, false
17399}
17400
17401// AsAzureTableSource is the BasicCopySource implementation for AzureTableSource.
17402func (ats AzureTableSource) AsAzureTableSource() (*AzureTableSource, bool) {
17403	return &ats, true
17404}
17405
17406// AsCopySource is the BasicCopySource implementation for AzureTableSource.
17407func (ats AzureTableSource) AsCopySource() (*CopySource, bool) {
17408	return nil, false
17409}
17410
17411// AsBasicCopySource is the BasicCopySource implementation for AzureTableSource.
17412func (ats AzureTableSource) AsBasicCopySource() (BasicCopySource, bool) {
17413	return &ats, true
17414}
17415
17416// UnmarshalJSON is the custom unmarshaler for AzureTableSource struct.
17417func (ats *AzureTableSource) UnmarshalJSON(body []byte) error {
17418	var m map[string]*json.RawMessage
17419	err := json.Unmarshal(body, &m)
17420	if err != nil {
17421		return err
17422	}
17423	for k, v := range m {
17424		switch k {
17425		case "azureTableSourceQuery":
17426			if v != nil {
17427				var azureTableSourceQuery interface{}
17428				err = json.Unmarshal(*v, &azureTableSourceQuery)
17429				if err != nil {
17430					return err
17431				}
17432				ats.AzureTableSourceQuery = azureTableSourceQuery
17433			}
17434		case "azureTableSourceIgnoreTableNotFound":
17435			if v != nil {
17436				var azureTableSourceIgnoreTableNotFound interface{}
17437				err = json.Unmarshal(*v, &azureTableSourceIgnoreTableNotFound)
17438				if err != nil {
17439					return err
17440				}
17441				ats.AzureTableSourceIgnoreTableNotFound = azureTableSourceIgnoreTableNotFound
17442			}
17443		default:
17444			if v != nil {
17445				var additionalProperties interface{}
17446				err = json.Unmarshal(*v, &additionalProperties)
17447				if err != nil {
17448					return err
17449				}
17450				if ats.AdditionalProperties == nil {
17451					ats.AdditionalProperties = make(map[string]interface{})
17452				}
17453				ats.AdditionalProperties[k] = additionalProperties
17454			}
17455		case "sourceRetryCount":
17456			if v != nil {
17457				var sourceRetryCount interface{}
17458				err = json.Unmarshal(*v, &sourceRetryCount)
17459				if err != nil {
17460					return err
17461				}
17462				ats.SourceRetryCount = sourceRetryCount
17463			}
17464		case "sourceRetryWait":
17465			if v != nil {
17466				var sourceRetryWait interface{}
17467				err = json.Unmarshal(*v, &sourceRetryWait)
17468				if err != nil {
17469					return err
17470				}
17471				ats.SourceRetryWait = sourceRetryWait
17472			}
17473		case "type":
17474			if v != nil {
17475				var typeVar TypeBasicCopySource
17476				err = json.Unmarshal(*v, &typeVar)
17477				if err != nil {
17478					return err
17479				}
17480				ats.Type = typeVar
17481			}
17482		}
17483	}
17484
17485	return nil
17486}
17487
17488// BlobEventsTrigger trigger that runs every time a Blob event occurs.
17489type BlobEventsTrigger struct {
17490	// BlobEventsTriggerTypeProperties - Blob Events Trigger properties.
17491	*BlobEventsTriggerTypeProperties `json:"typeProperties,omitempty"`
17492	// Pipelines - Pipelines that need to be started.
17493	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
17494	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17495	AdditionalProperties map[string]interface{} `json:""`
17496	// Description - Trigger description.
17497	Description *string `json:"description,omitempty"`
17498	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
17499	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
17500	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
17501	Type TypeBasicTrigger `json:"type,omitempty"`
17502}
17503
17504// MarshalJSON is the custom marshaler for BlobEventsTrigger.
17505func (bet BlobEventsTrigger) MarshalJSON() ([]byte, error) {
17506	bet.Type = TypeBlobEventsTrigger
17507	objectMap := make(map[string]interface{})
17508	if bet.BlobEventsTriggerTypeProperties != nil {
17509		objectMap["typeProperties"] = bet.BlobEventsTriggerTypeProperties
17510	}
17511	if bet.Pipelines != nil {
17512		objectMap["pipelines"] = bet.Pipelines
17513	}
17514	if bet.Description != nil {
17515		objectMap["description"] = bet.Description
17516	}
17517	if bet.Type != "" {
17518		objectMap["type"] = bet.Type
17519	}
17520	for k, v := range bet.AdditionalProperties {
17521		objectMap[k] = v
17522	}
17523	return json.Marshal(objectMap)
17524}
17525
17526// AsTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17527func (bet BlobEventsTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
17528	return nil, false
17529}
17530
17531// AsBlobEventsTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17532func (bet BlobEventsTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
17533	return &bet, true
17534}
17535
17536// AsBlobTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17537func (bet BlobEventsTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
17538	return nil, false
17539}
17540
17541// AsScheduleTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17542func (bet BlobEventsTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
17543	return nil, false
17544}
17545
17546// AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17547func (bet BlobEventsTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
17548	return nil, false
17549}
17550
17551// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17552func (bet BlobEventsTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
17553	return &bet, true
17554}
17555
17556// AsTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17557func (bet BlobEventsTrigger) AsTrigger() (*Trigger, bool) {
17558	return nil, false
17559}
17560
17561// AsBasicTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17562func (bet BlobEventsTrigger) AsBasicTrigger() (BasicTrigger, bool) {
17563	return &bet, true
17564}
17565
17566// UnmarshalJSON is the custom unmarshaler for BlobEventsTrigger struct.
17567func (bet *BlobEventsTrigger) UnmarshalJSON(body []byte) error {
17568	var m map[string]*json.RawMessage
17569	err := json.Unmarshal(body, &m)
17570	if err != nil {
17571		return err
17572	}
17573	for k, v := range m {
17574		switch k {
17575		case "typeProperties":
17576			if v != nil {
17577				var blobEventsTriggerTypeProperties BlobEventsTriggerTypeProperties
17578				err = json.Unmarshal(*v, &blobEventsTriggerTypeProperties)
17579				if err != nil {
17580					return err
17581				}
17582				bet.BlobEventsTriggerTypeProperties = &blobEventsTriggerTypeProperties
17583			}
17584		case "pipelines":
17585			if v != nil {
17586				var pipelines []TriggerPipelineReference
17587				err = json.Unmarshal(*v, &pipelines)
17588				if err != nil {
17589					return err
17590				}
17591				bet.Pipelines = &pipelines
17592			}
17593		default:
17594			if v != nil {
17595				var additionalProperties interface{}
17596				err = json.Unmarshal(*v, &additionalProperties)
17597				if err != nil {
17598					return err
17599				}
17600				if bet.AdditionalProperties == nil {
17601					bet.AdditionalProperties = make(map[string]interface{})
17602				}
17603				bet.AdditionalProperties[k] = additionalProperties
17604			}
17605		case "description":
17606			if v != nil {
17607				var description string
17608				err = json.Unmarshal(*v, &description)
17609				if err != nil {
17610					return err
17611				}
17612				bet.Description = &description
17613			}
17614		case "runtimeState":
17615			if v != nil {
17616				var runtimeState TriggerRuntimeState
17617				err = json.Unmarshal(*v, &runtimeState)
17618				if err != nil {
17619					return err
17620				}
17621				bet.RuntimeState = runtimeState
17622			}
17623		case "type":
17624			if v != nil {
17625				var typeVar TypeBasicTrigger
17626				err = json.Unmarshal(*v, &typeVar)
17627				if err != nil {
17628					return err
17629				}
17630				bet.Type = typeVar
17631			}
17632		}
17633	}
17634
17635	return nil
17636}
17637
17638// BlobEventsTriggerTypeProperties blob Events Trigger properties.
17639type BlobEventsTriggerTypeProperties struct {
17640	// BlobPathBeginsWith - The blob path must begin with the pattern provided for trigger to fire. For example, '/records/blobs/december/' will only fire the trigger for blobs in the december folder under the records container. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.
17641	BlobPathBeginsWith *string `json:"blobPathBeginsWith,omitempty"`
17642	// BlobPathEndsWith - The blob path must end with the pattern provided for trigger to fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.
17643	BlobPathEndsWith *string `json:"blobPathEndsWith,omitempty"`
17644	// IgnoreEmptyBlobs - If set to true, blobs with zero bytes will be ignored.
17645	IgnoreEmptyBlobs *bool `json:"ignoreEmptyBlobs,omitempty"`
17646	// Events - The type of events that cause this trigger to fire.
17647	Events *[]BlobEventTypes `json:"events,omitempty"`
17648	// Scope - The ARM resource ID of the Storage Account.
17649	Scope *string `json:"scope,omitempty"`
17650}
17651
17652// BlobSink a copy activity Azure Blob sink.
17653type BlobSink struct {
17654	// BlobWriterOverwriteFiles - Blob writer overwrite files. Type: boolean (or Expression with resultType boolean).
17655	BlobWriterOverwriteFiles interface{} `json:"blobWriterOverwriteFiles,omitempty"`
17656	// BlobWriterDateTimeFormat - Blob writer date time format. Type: string (or Expression with resultType string).
17657	BlobWriterDateTimeFormat interface{} `json:"blobWriterDateTimeFormat,omitempty"`
17658	// BlobWriterAddHeader - Blob writer add header. Type: boolean (or Expression with resultType boolean).
17659	BlobWriterAddHeader interface{} `json:"blobWriterAddHeader,omitempty"`
17660	// CopyBehavior - The type of copy behavior for copy sink.
17661	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
17662	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17663	AdditionalProperties map[string]interface{} `json:""`
17664	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
17665	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
17666	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17667	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
17668	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
17669	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
17670	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17671	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
17672	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
17673	Type TypeBasicCopySink `json:"type,omitempty"`
17674}
17675
17676// MarshalJSON is the custom marshaler for BlobSink.
17677func (bs BlobSink) MarshalJSON() ([]byte, error) {
17678	bs.Type = TypeBlobSink
17679	objectMap := make(map[string]interface{})
17680	if bs.BlobWriterOverwriteFiles != nil {
17681		objectMap["blobWriterOverwriteFiles"] = bs.BlobWriterOverwriteFiles
17682	}
17683	if bs.BlobWriterDateTimeFormat != nil {
17684		objectMap["blobWriterDateTimeFormat"] = bs.BlobWriterDateTimeFormat
17685	}
17686	if bs.BlobWriterAddHeader != nil {
17687		objectMap["blobWriterAddHeader"] = bs.BlobWriterAddHeader
17688	}
17689	if bs.CopyBehavior != nil {
17690		objectMap["copyBehavior"] = bs.CopyBehavior
17691	}
17692	if bs.WriteBatchSize != nil {
17693		objectMap["writeBatchSize"] = bs.WriteBatchSize
17694	}
17695	if bs.WriteBatchTimeout != nil {
17696		objectMap["writeBatchTimeout"] = bs.WriteBatchTimeout
17697	}
17698	if bs.SinkRetryCount != nil {
17699		objectMap["sinkRetryCount"] = bs.SinkRetryCount
17700	}
17701	if bs.SinkRetryWait != nil {
17702		objectMap["sinkRetryWait"] = bs.SinkRetryWait
17703	}
17704	if bs.Type != "" {
17705		objectMap["type"] = bs.Type
17706	}
17707	for k, v := range bs.AdditionalProperties {
17708		objectMap[k] = v
17709	}
17710	return json.Marshal(objectMap)
17711}
17712
17713// AsSalesforceSink is the BasicCopySink implementation for BlobSink.
17714func (bs BlobSink) AsSalesforceSink() (*SalesforceSink, bool) {
17715	return nil, false
17716}
17717
17718// AsDynamicsSink is the BasicCopySink implementation for BlobSink.
17719func (bs BlobSink) AsDynamicsSink() (*DynamicsSink, bool) {
17720	return nil, false
17721}
17722
17723// AsOdbcSink is the BasicCopySink implementation for BlobSink.
17724func (bs BlobSink) AsOdbcSink() (*OdbcSink, bool) {
17725	return nil, false
17726}
17727
17728// AsAzureSearchIndexSink is the BasicCopySink implementation for BlobSink.
17729func (bs BlobSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
17730	return nil, false
17731}
17732
17733// AsAzureDataLakeStoreSink is the BasicCopySink implementation for BlobSink.
17734func (bs BlobSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
17735	return nil, false
17736}
17737
17738// AsOracleSink is the BasicCopySink implementation for BlobSink.
17739func (bs BlobSink) AsOracleSink() (*OracleSink, bool) {
17740	return nil, false
17741}
17742
17743// AsSQLDWSink is the BasicCopySink implementation for BlobSink.
17744func (bs BlobSink) AsSQLDWSink() (*SQLDWSink, bool) {
17745	return nil, false
17746}
17747
17748// AsSQLSink is the BasicCopySink implementation for BlobSink.
17749func (bs BlobSink) AsSQLSink() (*SQLSink, bool) {
17750	return nil, false
17751}
17752
17753// AsDocumentDbCollectionSink is the BasicCopySink implementation for BlobSink.
17754func (bs BlobSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
17755	return nil, false
17756}
17757
17758// AsFileSystemSink is the BasicCopySink implementation for BlobSink.
17759func (bs BlobSink) AsFileSystemSink() (*FileSystemSink, bool) {
17760	return nil, false
17761}
17762
17763// AsBlobSink is the BasicCopySink implementation for BlobSink.
17764func (bs BlobSink) AsBlobSink() (*BlobSink, bool) {
17765	return &bs, true
17766}
17767
17768// AsAzureTableSink is the BasicCopySink implementation for BlobSink.
17769func (bs BlobSink) AsAzureTableSink() (*AzureTableSink, bool) {
17770	return nil, false
17771}
17772
17773// AsAzureQueueSink is the BasicCopySink implementation for BlobSink.
17774func (bs BlobSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
17775	return nil, false
17776}
17777
17778// AsSapCloudForCustomerSink is the BasicCopySink implementation for BlobSink.
17779func (bs BlobSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
17780	return nil, false
17781}
17782
17783// AsCopySink is the BasicCopySink implementation for BlobSink.
17784func (bs BlobSink) AsCopySink() (*CopySink, bool) {
17785	return nil, false
17786}
17787
17788// AsBasicCopySink is the BasicCopySink implementation for BlobSink.
17789func (bs BlobSink) AsBasicCopySink() (BasicCopySink, bool) {
17790	return &bs, true
17791}
17792
17793// UnmarshalJSON is the custom unmarshaler for BlobSink struct.
17794func (bs *BlobSink) UnmarshalJSON(body []byte) error {
17795	var m map[string]*json.RawMessage
17796	err := json.Unmarshal(body, &m)
17797	if err != nil {
17798		return err
17799	}
17800	for k, v := range m {
17801		switch k {
17802		case "blobWriterOverwriteFiles":
17803			if v != nil {
17804				var blobWriterOverwriteFiles interface{}
17805				err = json.Unmarshal(*v, &blobWriterOverwriteFiles)
17806				if err != nil {
17807					return err
17808				}
17809				bs.BlobWriterOverwriteFiles = blobWriterOverwriteFiles
17810			}
17811		case "blobWriterDateTimeFormat":
17812			if v != nil {
17813				var blobWriterDateTimeFormat interface{}
17814				err = json.Unmarshal(*v, &blobWriterDateTimeFormat)
17815				if err != nil {
17816					return err
17817				}
17818				bs.BlobWriterDateTimeFormat = blobWriterDateTimeFormat
17819			}
17820		case "blobWriterAddHeader":
17821			if v != nil {
17822				var blobWriterAddHeader interface{}
17823				err = json.Unmarshal(*v, &blobWriterAddHeader)
17824				if err != nil {
17825					return err
17826				}
17827				bs.BlobWriterAddHeader = blobWriterAddHeader
17828			}
17829		case "copyBehavior":
17830			if v != nil {
17831				var copyBehavior interface{}
17832				err = json.Unmarshal(*v, &copyBehavior)
17833				if err != nil {
17834					return err
17835				}
17836				bs.CopyBehavior = copyBehavior
17837			}
17838		default:
17839			if v != nil {
17840				var additionalProperties interface{}
17841				err = json.Unmarshal(*v, &additionalProperties)
17842				if err != nil {
17843					return err
17844				}
17845				if bs.AdditionalProperties == nil {
17846					bs.AdditionalProperties = make(map[string]interface{})
17847				}
17848				bs.AdditionalProperties[k] = additionalProperties
17849			}
17850		case "writeBatchSize":
17851			if v != nil {
17852				var writeBatchSize interface{}
17853				err = json.Unmarshal(*v, &writeBatchSize)
17854				if err != nil {
17855					return err
17856				}
17857				bs.WriteBatchSize = writeBatchSize
17858			}
17859		case "writeBatchTimeout":
17860			if v != nil {
17861				var writeBatchTimeout interface{}
17862				err = json.Unmarshal(*v, &writeBatchTimeout)
17863				if err != nil {
17864					return err
17865				}
17866				bs.WriteBatchTimeout = writeBatchTimeout
17867			}
17868		case "sinkRetryCount":
17869			if v != nil {
17870				var sinkRetryCount interface{}
17871				err = json.Unmarshal(*v, &sinkRetryCount)
17872				if err != nil {
17873					return err
17874				}
17875				bs.SinkRetryCount = sinkRetryCount
17876			}
17877		case "sinkRetryWait":
17878			if v != nil {
17879				var sinkRetryWait interface{}
17880				err = json.Unmarshal(*v, &sinkRetryWait)
17881				if err != nil {
17882					return err
17883				}
17884				bs.SinkRetryWait = sinkRetryWait
17885			}
17886		case "type":
17887			if v != nil {
17888				var typeVar TypeBasicCopySink
17889				err = json.Unmarshal(*v, &typeVar)
17890				if err != nil {
17891					return err
17892				}
17893				bs.Type = typeVar
17894			}
17895		}
17896	}
17897
17898	return nil
17899}
17900
17901// BlobSource a copy activity Azure Blob source.
17902type BlobSource struct {
17903	// TreatEmptyAsNull - Treat empty as null. Type: boolean (or Expression with resultType boolean).
17904	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
17905	// SkipHeaderLineCount - Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer).
17906	SkipHeaderLineCount interface{} `json:"skipHeaderLineCount,omitempty"`
17907	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
17908	Recursive interface{} `json:"recursive,omitempty"`
17909	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17910	AdditionalProperties map[string]interface{} `json:""`
17911	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
17912	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
17913	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17914	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
17915	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
17916	Type TypeBasicCopySource `json:"type,omitempty"`
17917}
17918
17919// MarshalJSON is the custom marshaler for BlobSource.
17920func (bs BlobSource) MarshalJSON() ([]byte, error) {
17921	bs.Type = TypeBlobSource
17922	objectMap := make(map[string]interface{})
17923	if bs.TreatEmptyAsNull != nil {
17924		objectMap["treatEmptyAsNull"] = bs.TreatEmptyAsNull
17925	}
17926	if bs.SkipHeaderLineCount != nil {
17927		objectMap["skipHeaderLineCount"] = bs.SkipHeaderLineCount
17928	}
17929	if bs.Recursive != nil {
17930		objectMap["recursive"] = bs.Recursive
17931	}
17932	if bs.SourceRetryCount != nil {
17933		objectMap["sourceRetryCount"] = bs.SourceRetryCount
17934	}
17935	if bs.SourceRetryWait != nil {
17936		objectMap["sourceRetryWait"] = bs.SourceRetryWait
17937	}
17938	if bs.Type != "" {
17939		objectMap["type"] = bs.Type
17940	}
17941	for k, v := range bs.AdditionalProperties {
17942		objectMap[k] = v
17943	}
17944	return json.Marshal(objectMap)
17945}
17946
17947// AsAmazonRedshiftSource is the BasicCopySource implementation for BlobSource.
17948func (bs BlobSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
17949	return nil, false
17950}
17951
17952// AsResponsysSource is the BasicCopySource implementation for BlobSource.
17953func (bs BlobSource) AsResponsysSource() (*ResponsysSource, bool) {
17954	return nil, false
17955}
17956
17957// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for BlobSource.
17958func (bs BlobSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
17959	return nil, false
17960}
17961
17962// AsVerticaSource is the BasicCopySource implementation for BlobSource.
17963func (bs BlobSource) AsVerticaSource() (*VerticaSource, bool) {
17964	return nil, false
17965}
17966
17967// AsNetezzaSource is the BasicCopySource implementation for BlobSource.
17968func (bs BlobSource) AsNetezzaSource() (*NetezzaSource, bool) {
17969	return nil, false
17970}
17971
17972// AsZohoSource is the BasicCopySource implementation for BlobSource.
17973func (bs BlobSource) AsZohoSource() (*ZohoSource, bool) {
17974	return nil, false
17975}
17976
17977// AsXeroSource is the BasicCopySource implementation for BlobSource.
17978func (bs BlobSource) AsXeroSource() (*XeroSource, bool) {
17979	return nil, false
17980}
17981
17982// AsSquareSource is the BasicCopySource implementation for BlobSource.
17983func (bs BlobSource) AsSquareSource() (*SquareSource, bool) {
17984	return nil, false
17985}
17986
17987// AsSparkSource is the BasicCopySource implementation for BlobSource.
17988func (bs BlobSource) AsSparkSource() (*SparkSource, bool) {
17989	return nil, false
17990}
17991
17992// AsShopifySource is the BasicCopySource implementation for BlobSource.
17993func (bs BlobSource) AsShopifySource() (*ShopifySource, bool) {
17994	return nil, false
17995}
17996
17997// AsServiceNowSource is the BasicCopySource implementation for BlobSource.
17998func (bs BlobSource) AsServiceNowSource() (*ServiceNowSource, bool) {
17999	return nil, false
18000}
18001
18002// AsQuickBooksSource is the BasicCopySource implementation for BlobSource.
18003func (bs BlobSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
18004	return nil, false
18005}
18006
18007// AsPrestoSource is the BasicCopySource implementation for BlobSource.
18008func (bs BlobSource) AsPrestoSource() (*PrestoSource, bool) {
18009	return nil, false
18010}
18011
18012// AsPhoenixSource is the BasicCopySource implementation for BlobSource.
18013func (bs BlobSource) AsPhoenixSource() (*PhoenixSource, bool) {
18014	return nil, false
18015}
18016
18017// AsPaypalSource is the BasicCopySource implementation for BlobSource.
18018func (bs BlobSource) AsPaypalSource() (*PaypalSource, bool) {
18019	return nil, false
18020}
18021
18022// AsMarketoSource is the BasicCopySource implementation for BlobSource.
18023func (bs BlobSource) AsMarketoSource() (*MarketoSource, bool) {
18024	return nil, false
18025}
18026
18027// AsMariaDBSource is the BasicCopySource implementation for BlobSource.
18028func (bs BlobSource) AsMariaDBSource() (*MariaDBSource, bool) {
18029	return nil, false
18030}
18031
18032// AsMagentoSource is the BasicCopySource implementation for BlobSource.
18033func (bs BlobSource) AsMagentoSource() (*MagentoSource, bool) {
18034	return nil, false
18035}
18036
18037// AsJiraSource is the BasicCopySource implementation for BlobSource.
18038func (bs BlobSource) AsJiraSource() (*JiraSource, bool) {
18039	return nil, false
18040}
18041
18042// AsImpalaSource is the BasicCopySource implementation for BlobSource.
18043func (bs BlobSource) AsImpalaSource() (*ImpalaSource, bool) {
18044	return nil, false
18045}
18046
18047// AsHubspotSource is the BasicCopySource implementation for BlobSource.
18048func (bs BlobSource) AsHubspotSource() (*HubspotSource, bool) {
18049	return nil, false
18050}
18051
18052// AsHiveSource is the BasicCopySource implementation for BlobSource.
18053func (bs BlobSource) AsHiveSource() (*HiveSource, bool) {
18054	return nil, false
18055}
18056
18057// AsHBaseSource is the BasicCopySource implementation for BlobSource.
18058func (bs BlobSource) AsHBaseSource() (*HBaseSource, bool) {
18059	return nil, false
18060}
18061
18062// AsGreenplumSource is the BasicCopySource implementation for BlobSource.
18063func (bs BlobSource) AsGreenplumSource() (*GreenplumSource, bool) {
18064	return nil, false
18065}
18066
18067// AsGoogleBigQuerySource is the BasicCopySource implementation for BlobSource.
18068func (bs BlobSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
18069	return nil, false
18070}
18071
18072// AsEloquaSource is the BasicCopySource implementation for BlobSource.
18073func (bs BlobSource) AsEloquaSource() (*EloquaSource, bool) {
18074	return nil, false
18075}
18076
18077// AsDrillSource is the BasicCopySource implementation for BlobSource.
18078func (bs BlobSource) AsDrillSource() (*DrillSource, bool) {
18079	return nil, false
18080}
18081
18082// AsCouchbaseSource is the BasicCopySource implementation for BlobSource.
18083func (bs BlobSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
18084	return nil, false
18085}
18086
18087// AsConcurSource is the BasicCopySource implementation for BlobSource.
18088func (bs BlobSource) AsConcurSource() (*ConcurSource, bool) {
18089	return nil, false
18090}
18091
18092// AsAzurePostgreSQLSource is the BasicCopySource implementation for BlobSource.
18093func (bs BlobSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
18094	return nil, false
18095}
18096
18097// AsAmazonMWSSource is the BasicCopySource implementation for BlobSource.
18098func (bs BlobSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
18099	return nil, false
18100}
18101
18102// AsHTTPSource is the BasicCopySource implementation for BlobSource.
18103func (bs BlobSource) AsHTTPSource() (*HTTPSource, bool) {
18104	return nil, false
18105}
18106
18107// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BlobSource.
18108func (bs BlobSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
18109	return nil, false
18110}
18111
18112// AsMongoDbSource is the BasicCopySource implementation for BlobSource.
18113func (bs BlobSource) AsMongoDbSource() (*MongoDbSource, bool) {
18114	return nil, false
18115}
18116
18117// AsCassandraSource is the BasicCopySource implementation for BlobSource.
18118func (bs BlobSource) AsCassandraSource() (*CassandraSource, bool) {
18119	return nil, false
18120}
18121
18122// AsWebSource is the BasicCopySource implementation for BlobSource.
18123func (bs BlobSource) AsWebSource() (*WebSource, bool) {
18124	return nil, false
18125}
18126
18127// AsOracleSource is the BasicCopySource implementation for BlobSource.
18128func (bs BlobSource) AsOracleSource() (*OracleSource, bool) {
18129	return nil, false
18130}
18131
18132// AsAzureMySQLSource is the BasicCopySource implementation for BlobSource.
18133func (bs BlobSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
18134	return nil, false
18135}
18136
18137// AsHdfsSource is the BasicCopySource implementation for BlobSource.
18138func (bs BlobSource) AsHdfsSource() (*HdfsSource, bool) {
18139	return nil, false
18140}
18141
18142// AsFileSystemSource is the BasicCopySource implementation for BlobSource.
18143func (bs BlobSource) AsFileSystemSource() (*FileSystemSource, bool) {
18144	return nil, false
18145}
18146
18147// AsSQLDWSource is the BasicCopySource implementation for BlobSource.
18148func (bs BlobSource) AsSQLDWSource() (*SQLDWSource, bool) {
18149	return nil, false
18150}
18151
18152// AsSQLSource is the BasicCopySource implementation for BlobSource.
18153func (bs BlobSource) AsSQLSource() (*SQLSource, bool) {
18154	return nil, false
18155}
18156
18157// AsSapEccSource is the BasicCopySource implementation for BlobSource.
18158func (bs BlobSource) AsSapEccSource() (*SapEccSource, bool) {
18159	return nil, false
18160}
18161
18162// AsSapCloudForCustomerSource is the BasicCopySource implementation for BlobSource.
18163func (bs BlobSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
18164	return nil, false
18165}
18166
18167// AsSalesforceSource is the BasicCopySource implementation for BlobSource.
18168func (bs BlobSource) AsSalesforceSource() (*SalesforceSource, bool) {
18169	return nil, false
18170}
18171
18172// AsRelationalSource is the BasicCopySource implementation for BlobSource.
18173func (bs BlobSource) AsRelationalSource() (*RelationalSource, bool) {
18174	return nil, false
18175}
18176
18177// AsDynamicsSource is the BasicCopySource implementation for BlobSource.
18178func (bs BlobSource) AsDynamicsSource() (*DynamicsSource, bool) {
18179	return nil, false
18180}
18181
18182// AsDocumentDbCollectionSource is the BasicCopySource implementation for BlobSource.
18183func (bs BlobSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
18184	return nil, false
18185}
18186
18187// AsBlobSource is the BasicCopySource implementation for BlobSource.
18188func (bs BlobSource) AsBlobSource() (*BlobSource, bool) {
18189	return &bs, true
18190}
18191
18192// AsAzureTableSource is the BasicCopySource implementation for BlobSource.
18193func (bs BlobSource) AsAzureTableSource() (*AzureTableSource, bool) {
18194	return nil, false
18195}
18196
18197// AsCopySource is the BasicCopySource implementation for BlobSource.
18198func (bs BlobSource) AsCopySource() (*CopySource, bool) {
18199	return nil, false
18200}
18201
18202// AsBasicCopySource is the BasicCopySource implementation for BlobSource.
18203func (bs BlobSource) AsBasicCopySource() (BasicCopySource, bool) {
18204	return &bs, true
18205}
18206
18207// UnmarshalJSON is the custom unmarshaler for BlobSource struct.
18208func (bs *BlobSource) UnmarshalJSON(body []byte) error {
18209	var m map[string]*json.RawMessage
18210	err := json.Unmarshal(body, &m)
18211	if err != nil {
18212		return err
18213	}
18214	for k, v := range m {
18215		switch k {
18216		case "treatEmptyAsNull":
18217			if v != nil {
18218				var treatEmptyAsNull interface{}
18219				err = json.Unmarshal(*v, &treatEmptyAsNull)
18220				if err != nil {
18221					return err
18222				}
18223				bs.TreatEmptyAsNull = treatEmptyAsNull
18224			}
18225		case "skipHeaderLineCount":
18226			if v != nil {
18227				var skipHeaderLineCount interface{}
18228				err = json.Unmarshal(*v, &skipHeaderLineCount)
18229				if err != nil {
18230					return err
18231				}
18232				bs.SkipHeaderLineCount = skipHeaderLineCount
18233			}
18234		case "recursive":
18235			if v != nil {
18236				var recursive interface{}
18237				err = json.Unmarshal(*v, &recursive)
18238				if err != nil {
18239					return err
18240				}
18241				bs.Recursive = recursive
18242			}
18243		default:
18244			if v != nil {
18245				var additionalProperties interface{}
18246				err = json.Unmarshal(*v, &additionalProperties)
18247				if err != nil {
18248					return err
18249				}
18250				if bs.AdditionalProperties == nil {
18251					bs.AdditionalProperties = make(map[string]interface{})
18252				}
18253				bs.AdditionalProperties[k] = additionalProperties
18254			}
18255		case "sourceRetryCount":
18256			if v != nil {
18257				var sourceRetryCount interface{}
18258				err = json.Unmarshal(*v, &sourceRetryCount)
18259				if err != nil {
18260					return err
18261				}
18262				bs.SourceRetryCount = sourceRetryCount
18263			}
18264		case "sourceRetryWait":
18265			if v != nil {
18266				var sourceRetryWait interface{}
18267				err = json.Unmarshal(*v, &sourceRetryWait)
18268				if err != nil {
18269					return err
18270				}
18271				bs.SourceRetryWait = sourceRetryWait
18272			}
18273		case "type":
18274			if v != nil {
18275				var typeVar TypeBasicCopySource
18276				err = json.Unmarshal(*v, &typeVar)
18277				if err != nil {
18278					return err
18279				}
18280				bs.Type = typeVar
18281			}
18282		}
18283	}
18284
18285	return nil
18286}
18287
18288// BlobTrigger trigger that runs every time the selected Blob container changes.
18289type BlobTrigger struct {
18290	// BlobTriggerTypeProperties - Blob Trigger properties.
18291	*BlobTriggerTypeProperties `json:"typeProperties,omitempty"`
18292	// Pipelines - Pipelines that need to be started.
18293	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
18294	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
18295	AdditionalProperties map[string]interface{} `json:""`
18296	// Description - Trigger description.
18297	Description *string `json:"description,omitempty"`
18298	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
18299	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
18300	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
18301	Type TypeBasicTrigger `json:"type,omitempty"`
18302}
18303
18304// MarshalJSON is the custom marshaler for BlobTrigger.
18305func (bt BlobTrigger) MarshalJSON() ([]byte, error) {
18306	bt.Type = TypeBlobTrigger
18307	objectMap := make(map[string]interface{})
18308	if bt.BlobTriggerTypeProperties != nil {
18309		objectMap["typeProperties"] = bt.BlobTriggerTypeProperties
18310	}
18311	if bt.Pipelines != nil {
18312		objectMap["pipelines"] = bt.Pipelines
18313	}
18314	if bt.Description != nil {
18315		objectMap["description"] = bt.Description
18316	}
18317	if bt.Type != "" {
18318		objectMap["type"] = bt.Type
18319	}
18320	for k, v := range bt.AdditionalProperties {
18321		objectMap[k] = v
18322	}
18323	return json.Marshal(objectMap)
18324}
18325
18326// AsTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger.
18327func (bt BlobTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
18328	return nil, false
18329}
18330
18331// AsBlobEventsTrigger is the BasicTrigger implementation for BlobTrigger.
18332func (bt BlobTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
18333	return nil, false
18334}
18335
18336// AsBlobTrigger is the BasicTrigger implementation for BlobTrigger.
18337func (bt BlobTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
18338	return &bt, true
18339}
18340
18341// AsScheduleTrigger is the BasicTrigger implementation for BlobTrigger.
18342func (bt BlobTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
18343	return nil, false
18344}
18345
18346// AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger.
18347func (bt BlobTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
18348	return nil, false
18349}
18350
18351// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger.
18352func (bt BlobTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
18353	return &bt, true
18354}
18355
18356// AsTrigger is the BasicTrigger implementation for BlobTrigger.
18357func (bt BlobTrigger) AsTrigger() (*Trigger, bool) {
18358	return nil, false
18359}
18360
18361// AsBasicTrigger is the BasicTrigger implementation for BlobTrigger.
18362func (bt BlobTrigger) AsBasicTrigger() (BasicTrigger, bool) {
18363	return &bt, true
18364}
18365
18366// UnmarshalJSON is the custom unmarshaler for BlobTrigger struct.
18367func (bt *BlobTrigger) UnmarshalJSON(body []byte) error {
18368	var m map[string]*json.RawMessage
18369	err := json.Unmarshal(body, &m)
18370	if err != nil {
18371		return err
18372	}
18373	for k, v := range m {
18374		switch k {
18375		case "typeProperties":
18376			if v != nil {
18377				var blobTriggerTypeProperties BlobTriggerTypeProperties
18378				err = json.Unmarshal(*v, &blobTriggerTypeProperties)
18379				if err != nil {
18380					return err
18381				}
18382				bt.BlobTriggerTypeProperties = &blobTriggerTypeProperties
18383			}
18384		case "pipelines":
18385			if v != nil {
18386				var pipelines []TriggerPipelineReference
18387				err = json.Unmarshal(*v, &pipelines)
18388				if err != nil {
18389					return err
18390				}
18391				bt.Pipelines = &pipelines
18392			}
18393		default:
18394			if v != nil {
18395				var additionalProperties interface{}
18396				err = json.Unmarshal(*v, &additionalProperties)
18397				if err != nil {
18398					return err
18399				}
18400				if bt.AdditionalProperties == nil {
18401					bt.AdditionalProperties = make(map[string]interface{})
18402				}
18403				bt.AdditionalProperties[k] = additionalProperties
18404			}
18405		case "description":
18406			if v != nil {
18407				var description string
18408				err = json.Unmarshal(*v, &description)
18409				if err != nil {
18410					return err
18411				}
18412				bt.Description = &description
18413			}
18414		case "runtimeState":
18415			if v != nil {
18416				var runtimeState TriggerRuntimeState
18417				err = json.Unmarshal(*v, &runtimeState)
18418				if err != nil {
18419					return err
18420				}
18421				bt.RuntimeState = runtimeState
18422			}
18423		case "type":
18424			if v != nil {
18425				var typeVar TypeBasicTrigger
18426				err = json.Unmarshal(*v, &typeVar)
18427				if err != nil {
18428					return err
18429				}
18430				bt.Type = typeVar
18431			}
18432		}
18433	}
18434
18435	return nil
18436}
18437
18438// BlobTriggerTypeProperties blob Trigger properties.
18439type BlobTriggerTypeProperties struct {
18440	// FolderPath - The path of the container/folder that will trigger the pipeline.
18441	FolderPath *string `json:"folderPath,omitempty"`
18442	// MaxConcurrency - The max number of parallel files to handle when it is triggered.
18443	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
18444	// LinkedService - The Azure Storage linked service reference.
18445	LinkedService *LinkedServiceReference `json:"linkedService,omitempty"`
18446}
18447
18448// CassandraLinkedService linked service for Cassandra data source.
18449type CassandraLinkedService struct {
18450	// CassandraLinkedServiceTypeProperties - Cassandra linked service properties.
18451	*CassandraLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
18452	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
18453	AdditionalProperties map[string]interface{} `json:""`
18454	// ConnectVia - The integration runtime reference.
18455	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
18456	// Description - Linked service description.
18457	Description *string `json:"description,omitempty"`
18458	// Parameters - Parameters for linked service.
18459	Parameters map[string]*ParameterSpecification `json:"parameters"`
18460	// Annotations - List of tags that can be used for describing the Dataset.
18461	Annotations *[]interface{} `json:"annotations,omitempty"`
18462	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
18463	Type TypeBasicLinkedService `json:"type,omitempty"`
18464}
18465
18466// MarshalJSON is the custom marshaler for CassandraLinkedService.
18467func (cls CassandraLinkedService) MarshalJSON() ([]byte, error) {
18468	cls.Type = TypeCassandra
18469	objectMap := make(map[string]interface{})
18470	if cls.CassandraLinkedServiceTypeProperties != nil {
18471		objectMap["typeProperties"] = cls.CassandraLinkedServiceTypeProperties
18472	}
18473	if cls.ConnectVia != nil {
18474		objectMap["connectVia"] = cls.ConnectVia
18475	}
18476	if cls.Description != nil {
18477		objectMap["description"] = cls.Description
18478	}
18479	if cls.Parameters != nil {
18480		objectMap["parameters"] = cls.Parameters
18481	}
18482	if cls.Annotations != nil {
18483		objectMap["annotations"] = cls.Annotations
18484	}
18485	if cls.Type != "" {
18486		objectMap["type"] = cls.Type
18487	}
18488	for k, v := range cls.AdditionalProperties {
18489		objectMap[k] = v
18490	}
18491	return json.Marshal(objectMap)
18492}
18493
18494// AsResponsysLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18495func (cls CassandraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
18496	return nil, false
18497}
18498
18499// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18500func (cls CassandraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
18501	return nil, false
18502}
18503
18504// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18505func (cls CassandraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
18506	return nil, false
18507}
18508
18509// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18510func (cls CassandraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
18511	return nil, false
18512}
18513
18514// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18515func (cls CassandraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
18516	return nil, false
18517}
18518
18519// AsNetezzaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18520func (cls CassandraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
18521	return nil, false
18522}
18523
18524// AsVerticaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18525func (cls CassandraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
18526	return nil, false
18527}
18528
18529// AsZohoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18530func (cls CassandraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
18531	return nil, false
18532}
18533
18534// AsXeroLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18535func (cls CassandraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
18536	return nil, false
18537}
18538
18539// AsSquareLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18540func (cls CassandraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
18541	return nil, false
18542}
18543
18544// AsSparkLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18545func (cls CassandraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
18546	return nil, false
18547}
18548
18549// AsShopifyLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18550func (cls CassandraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
18551	return nil, false
18552}
18553
18554// AsServiceNowLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18555func (cls CassandraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
18556	return nil, false
18557}
18558
18559// AsQuickBooksLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18560func (cls CassandraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
18561	return nil, false
18562}
18563
18564// AsPrestoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18565func (cls CassandraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
18566	return nil, false
18567}
18568
18569// AsPhoenixLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18570func (cls CassandraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
18571	return nil, false
18572}
18573
18574// AsPaypalLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18575func (cls CassandraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
18576	return nil, false
18577}
18578
18579// AsMarketoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18580func (cls CassandraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
18581	return nil, false
18582}
18583
18584// AsMariaDBLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18585func (cls CassandraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
18586	return nil, false
18587}
18588
18589// AsMagentoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18590func (cls CassandraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
18591	return nil, false
18592}
18593
18594// AsJiraLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18595func (cls CassandraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
18596	return nil, false
18597}
18598
18599// AsImpalaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18600func (cls CassandraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
18601	return nil, false
18602}
18603
18604// AsHubspotLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18605func (cls CassandraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
18606	return nil, false
18607}
18608
18609// AsHiveLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18610func (cls CassandraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
18611	return nil, false
18612}
18613
18614// AsHBaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18615func (cls CassandraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
18616	return nil, false
18617}
18618
18619// AsGreenplumLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18620func (cls CassandraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
18621	return nil, false
18622}
18623
18624// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18625func (cls CassandraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
18626	return nil, false
18627}
18628
18629// AsEloquaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18630func (cls CassandraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
18631	return nil, false
18632}
18633
18634// AsDrillLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18635func (cls CassandraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
18636	return nil, false
18637}
18638
18639// AsCouchbaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18640func (cls CassandraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
18641	return nil, false
18642}
18643
18644// AsConcurLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18645func (cls CassandraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
18646	return nil, false
18647}
18648
18649// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18650func (cls CassandraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
18651	return nil, false
18652}
18653
18654// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18655func (cls CassandraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
18656	return nil, false
18657}
18658
18659// AsSapHanaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18660func (cls CassandraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
18661	return nil, false
18662}
18663
18664// AsSapBWLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18665func (cls CassandraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
18666	return nil, false
18667}
18668
18669// AsSftpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18670func (cls CassandraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
18671	return nil, false
18672}
18673
18674// AsFtpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18675func (cls CassandraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
18676	return nil, false
18677}
18678
18679// AsHTTPLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18680func (cls CassandraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
18681	return nil, false
18682}
18683
18684// AsAzureSearchLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18685func (cls CassandraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
18686	return nil, false
18687}
18688
18689// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18690func (cls CassandraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
18691	return nil, false
18692}
18693
18694// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18695func (cls CassandraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
18696	return nil, false
18697}
18698
18699// AsAmazonS3LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18700func (cls CassandraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
18701	return nil, false
18702}
18703
18704// AsSapEccLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18705func (cls CassandraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
18706	return nil, false
18707}
18708
18709// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18710func (cls CassandraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
18711	return nil, false
18712}
18713
18714// AsSalesforceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18715func (cls CassandraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
18716	return nil, false
18717}
18718
18719// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18720func (cls CassandraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
18721	return nil, false
18722}
18723
18724// AsMongoDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18725func (cls CassandraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
18726	return nil, false
18727}
18728
18729// AsCassandraLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18730func (cls CassandraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
18731	return &cls, true
18732}
18733
18734// AsWebLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18735func (cls CassandraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
18736	return nil, false
18737}
18738
18739// AsODataLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18740func (cls CassandraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
18741	return nil, false
18742}
18743
18744// AsHdfsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18745func (cls CassandraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
18746	return nil, false
18747}
18748
18749// AsOdbcLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18750func (cls CassandraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
18751	return nil, false
18752}
18753
18754// AsAzureMLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18755func (cls CassandraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
18756	return nil, false
18757}
18758
18759// AsTeradataLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18760func (cls CassandraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
18761	return nil, false
18762}
18763
18764// AsDb2LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18765func (cls CassandraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
18766	return nil, false
18767}
18768
18769// AsSybaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18770func (cls CassandraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
18771	return nil, false
18772}
18773
18774// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18775func (cls CassandraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
18776	return nil, false
18777}
18778
18779// AsMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18780func (cls CassandraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
18781	return nil, false
18782}
18783
18784// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18785func (cls CassandraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
18786	return nil, false
18787}
18788
18789// AsOracleLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18790func (cls CassandraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
18791	return nil, false
18792}
18793
18794// AsFileServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18795func (cls CassandraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
18796	return nil, false
18797}
18798
18799// AsHDInsightLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18800func (cls CassandraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
18801	return nil, false
18802}
18803
18804// AsDynamicsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18805func (cls CassandraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
18806	return nil, false
18807}
18808
18809// AsCosmosDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18810func (cls CassandraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
18811	return nil, false
18812}
18813
18814// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18815func (cls CassandraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
18816	return nil, false
18817}
18818
18819// AsAzureBatchLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18820func (cls CassandraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
18821	return nil, false
18822}
18823
18824// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18825func (cls CassandraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
18826	return nil, false
18827}
18828
18829// AsSQLServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18830func (cls CassandraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
18831	return nil, false
18832}
18833
18834// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18835func (cls CassandraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
18836	return nil, false
18837}
18838
18839// AsAzureStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18840func (cls CassandraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
18841	return nil, false
18842}
18843
18844// AsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18845func (cls CassandraLinkedService) AsLinkedService() (*LinkedService, bool) {
18846	return nil, false
18847}
18848
18849// AsBasicLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18850func (cls CassandraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
18851	return &cls, true
18852}
18853
18854// UnmarshalJSON is the custom unmarshaler for CassandraLinkedService struct.
18855func (cls *CassandraLinkedService) UnmarshalJSON(body []byte) error {
18856	var m map[string]*json.RawMessage
18857	err := json.Unmarshal(body, &m)
18858	if err != nil {
18859		return err
18860	}
18861	for k, v := range m {
18862		switch k {
18863		case "typeProperties":
18864			if v != nil {
18865				var cassandraLinkedServiceTypeProperties CassandraLinkedServiceTypeProperties
18866				err = json.Unmarshal(*v, &cassandraLinkedServiceTypeProperties)
18867				if err != nil {
18868					return err
18869				}
18870				cls.CassandraLinkedServiceTypeProperties = &cassandraLinkedServiceTypeProperties
18871			}
18872		default:
18873			if v != nil {
18874				var additionalProperties interface{}
18875				err = json.Unmarshal(*v, &additionalProperties)
18876				if err != nil {
18877					return err
18878				}
18879				if cls.AdditionalProperties == nil {
18880					cls.AdditionalProperties = make(map[string]interface{})
18881				}
18882				cls.AdditionalProperties[k] = additionalProperties
18883			}
18884		case "connectVia":
18885			if v != nil {
18886				var connectVia IntegrationRuntimeReference
18887				err = json.Unmarshal(*v, &connectVia)
18888				if err != nil {
18889					return err
18890				}
18891				cls.ConnectVia = &connectVia
18892			}
18893		case "description":
18894			if v != nil {
18895				var description string
18896				err = json.Unmarshal(*v, &description)
18897				if err != nil {
18898					return err
18899				}
18900				cls.Description = &description
18901			}
18902		case "parameters":
18903			if v != nil {
18904				var parameters map[string]*ParameterSpecification
18905				err = json.Unmarshal(*v, &parameters)
18906				if err != nil {
18907					return err
18908				}
18909				cls.Parameters = parameters
18910			}
18911		case "annotations":
18912			if v != nil {
18913				var annotations []interface{}
18914				err = json.Unmarshal(*v, &annotations)
18915				if err != nil {
18916					return err
18917				}
18918				cls.Annotations = &annotations
18919			}
18920		case "type":
18921			if v != nil {
18922				var typeVar TypeBasicLinkedService
18923				err = json.Unmarshal(*v, &typeVar)
18924				if err != nil {
18925					return err
18926				}
18927				cls.Type = typeVar
18928			}
18929		}
18930	}
18931
18932	return nil
18933}
18934
18935// CassandraLinkedServiceTypeProperties cassandra linked service properties.
18936type CassandraLinkedServiceTypeProperties struct {
18937	// Host - Host name for connection. Type: string (or Expression with resultType string).
18938	Host interface{} `json:"host,omitempty"`
18939	// AuthenticationType - AuthenticationType to be used for connection. Type: string (or Expression with resultType string).
18940	AuthenticationType interface{} `json:"authenticationType,omitempty"`
18941	// Port - The port for the connection. Type: integer (or Expression with resultType integer).
18942	Port interface{} `json:"port,omitempty"`
18943	// Username - Username for authentication. Type: string (or Expression with resultType string).
18944	Username interface{} `json:"username,omitempty"`
18945	// Password - Password for authentication.
18946	Password BasicSecretBase `json:"password,omitempty"`
18947	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
18948	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
18949}
18950
18951// UnmarshalJSON is the custom unmarshaler for CassandraLinkedServiceTypeProperties struct.
18952func (clstp *CassandraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
18953	var m map[string]*json.RawMessage
18954	err := json.Unmarshal(body, &m)
18955	if err != nil {
18956		return err
18957	}
18958	for k, v := range m {
18959		switch k {
18960		case "host":
18961			if v != nil {
18962				var host interface{}
18963				err = json.Unmarshal(*v, &host)
18964				if err != nil {
18965					return err
18966				}
18967				clstp.Host = host
18968			}
18969		case "authenticationType":
18970			if v != nil {
18971				var authenticationType interface{}
18972				err = json.Unmarshal(*v, &authenticationType)
18973				if err != nil {
18974					return err
18975				}
18976				clstp.AuthenticationType = authenticationType
18977			}
18978		case "port":
18979			if v != nil {
18980				var port interface{}
18981				err = json.Unmarshal(*v, &port)
18982				if err != nil {
18983					return err
18984				}
18985				clstp.Port = port
18986			}
18987		case "username":
18988			if v != nil {
18989				var username interface{}
18990				err = json.Unmarshal(*v, &username)
18991				if err != nil {
18992					return err
18993				}
18994				clstp.Username = username
18995			}
18996		case "password":
18997			if v != nil {
18998				password, err := unmarshalBasicSecretBase(*v)
18999				if err != nil {
19000					return err
19001				}
19002				clstp.Password = password
19003			}
19004		case "encryptedCredential":
19005			if v != nil {
19006				var encryptedCredential interface{}
19007				err = json.Unmarshal(*v, &encryptedCredential)
19008				if err != nil {
19009					return err
19010				}
19011				clstp.EncryptedCredential = encryptedCredential
19012			}
19013		}
19014	}
19015
19016	return nil
19017}
19018
19019// CassandraSource a copy activity source for a Cassandra database.
19020type CassandraSource struct {
19021	// Query - Database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string).
19022	Query interface{} `json:"query,omitempty"`
19023	// ConsistencyLevel - The consistency level specifies how many Cassandra servers must respond to a read request before returning data to the client application. Cassandra checks the specified number of Cassandra servers for data to satisfy the read request. Must be one of cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is case-insensitive.
19024	ConsistencyLevel interface{} `json:"consistencyLevel,omitempty"`
19025	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19026	AdditionalProperties map[string]interface{} `json:""`
19027	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
19028	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
19029	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
19030	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
19031	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
19032	Type TypeBasicCopySource `json:"type,omitempty"`
19033}
19034
19035// MarshalJSON is the custom marshaler for CassandraSource.
19036func (cs CassandraSource) MarshalJSON() ([]byte, error) {
19037	cs.Type = TypeCassandraSource
19038	objectMap := make(map[string]interface{})
19039	if cs.Query != nil {
19040		objectMap["query"] = cs.Query
19041	}
19042	if cs.ConsistencyLevel != nil {
19043		objectMap["consistencyLevel"] = cs.ConsistencyLevel
19044	}
19045	if cs.SourceRetryCount != nil {
19046		objectMap["sourceRetryCount"] = cs.SourceRetryCount
19047	}
19048	if cs.SourceRetryWait != nil {
19049		objectMap["sourceRetryWait"] = cs.SourceRetryWait
19050	}
19051	if cs.Type != "" {
19052		objectMap["type"] = cs.Type
19053	}
19054	for k, v := range cs.AdditionalProperties {
19055		objectMap[k] = v
19056	}
19057	return json.Marshal(objectMap)
19058}
19059
19060// AsAmazonRedshiftSource is the BasicCopySource implementation for CassandraSource.
19061func (cs CassandraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
19062	return nil, false
19063}
19064
19065// AsResponsysSource is the BasicCopySource implementation for CassandraSource.
19066func (cs CassandraSource) AsResponsysSource() (*ResponsysSource, bool) {
19067	return nil, false
19068}
19069
19070// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CassandraSource.
19071func (cs CassandraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
19072	return nil, false
19073}
19074
19075// AsVerticaSource is the BasicCopySource implementation for CassandraSource.
19076func (cs CassandraSource) AsVerticaSource() (*VerticaSource, bool) {
19077	return nil, false
19078}
19079
19080// AsNetezzaSource is the BasicCopySource implementation for CassandraSource.
19081func (cs CassandraSource) AsNetezzaSource() (*NetezzaSource, bool) {
19082	return nil, false
19083}
19084
19085// AsZohoSource is the BasicCopySource implementation for CassandraSource.
19086func (cs CassandraSource) AsZohoSource() (*ZohoSource, bool) {
19087	return nil, false
19088}
19089
19090// AsXeroSource is the BasicCopySource implementation for CassandraSource.
19091func (cs CassandraSource) AsXeroSource() (*XeroSource, bool) {
19092	return nil, false
19093}
19094
19095// AsSquareSource is the BasicCopySource implementation for CassandraSource.
19096func (cs CassandraSource) AsSquareSource() (*SquareSource, bool) {
19097	return nil, false
19098}
19099
19100// AsSparkSource is the BasicCopySource implementation for CassandraSource.
19101func (cs CassandraSource) AsSparkSource() (*SparkSource, bool) {
19102	return nil, false
19103}
19104
19105// AsShopifySource is the BasicCopySource implementation for CassandraSource.
19106func (cs CassandraSource) AsShopifySource() (*ShopifySource, bool) {
19107	return nil, false
19108}
19109
19110// AsServiceNowSource is the BasicCopySource implementation for CassandraSource.
19111func (cs CassandraSource) AsServiceNowSource() (*ServiceNowSource, bool) {
19112	return nil, false
19113}
19114
19115// AsQuickBooksSource is the BasicCopySource implementation for CassandraSource.
19116func (cs CassandraSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
19117	return nil, false
19118}
19119
19120// AsPrestoSource is the BasicCopySource implementation for CassandraSource.
19121func (cs CassandraSource) AsPrestoSource() (*PrestoSource, bool) {
19122	return nil, false
19123}
19124
19125// AsPhoenixSource is the BasicCopySource implementation for CassandraSource.
19126func (cs CassandraSource) AsPhoenixSource() (*PhoenixSource, bool) {
19127	return nil, false
19128}
19129
19130// AsPaypalSource is the BasicCopySource implementation for CassandraSource.
19131func (cs CassandraSource) AsPaypalSource() (*PaypalSource, bool) {
19132	return nil, false
19133}
19134
19135// AsMarketoSource is the BasicCopySource implementation for CassandraSource.
19136func (cs CassandraSource) AsMarketoSource() (*MarketoSource, bool) {
19137	return nil, false
19138}
19139
19140// AsMariaDBSource is the BasicCopySource implementation for CassandraSource.
19141func (cs CassandraSource) AsMariaDBSource() (*MariaDBSource, bool) {
19142	return nil, false
19143}
19144
19145// AsMagentoSource is the BasicCopySource implementation for CassandraSource.
19146func (cs CassandraSource) AsMagentoSource() (*MagentoSource, bool) {
19147	return nil, false
19148}
19149
19150// AsJiraSource is the BasicCopySource implementation for CassandraSource.
19151func (cs CassandraSource) AsJiraSource() (*JiraSource, bool) {
19152	return nil, false
19153}
19154
19155// AsImpalaSource is the BasicCopySource implementation for CassandraSource.
19156func (cs CassandraSource) AsImpalaSource() (*ImpalaSource, bool) {
19157	return nil, false
19158}
19159
19160// AsHubspotSource is the BasicCopySource implementation for CassandraSource.
19161func (cs CassandraSource) AsHubspotSource() (*HubspotSource, bool) {
19162	return nil, false
19163}
19164
19165// AsHiveSource is the BasicCopySource implementation for CassandraSource.
19166func (cs CassandraSource) AsHiveSource() (*HiveSource, bool) {
19167	return nil, false
19168}
19169
19170// AsHBaseSource is the BasicCopySource implementation for CassandraSource.
19171func (cs CassandraSource) AsHBaseSource() (*HBaseSource, bool) {
19172	return nil, false
19173}
19174
19175// AsGreenplumSource is the BasicCopySource implementation for CassandraSource.
19176func (cs CassandraSource) AsGreenplumSource() (*GreenplumSource, bool) {
19177	return nil, false
19178}
19179
19180// AsGoogleBigQuerySource is the BasicCopySource implementation for CassandraSource.
19181func (cs CassandraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
19182	return nil, false
19183}
19184
19185// AsEloquaSource is the BasicCopySource implementation for CassandraSource.
19186func (cs CassandraSource) AsEloquaSource() (*EloquaSource, bool) {
19187	return nil, false
19188}
19189
19190// AsDrillSource is the BasicCopySource implementation for CassandraSource.
19191func (cs CassandraSource) AsDrillSource() (*DrillSource, bool) {
19192	return nil, false
19193}
19194
19195// AsCouchbaseSource is the BasicCopySource implementation for CassandraSource.
19196func (cs CassandraSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
19197	return nil, false
19198}
19199
19200// AsConcurSource is the BasicCopySource implementation for CassandraSource.
19201func (cs CassandraSource) AsConcurSource() (*ConcurSource, bool) {
19202	return nil, false
19203}
19204
19205// AsAzurePostgreSQLSource is the BasicCopySource implementation for CassandraSource.
19206func (cs CassandraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
19207	return nil, false
19208}
19209
19210// AsAmazonMWSSource is the BasicCopySource implementation for CassandraSource.
19211func (cs CassandraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
19212	return nil, false
19213}
19214
19215// AsHTTPSource is the BasicCopySource implementation for CassandraSource.
19216func (cs CassandraSource) AsHTTPSource() (*HTTPSource, bool) {
19217	return nil, false
19218}
19219
19220// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CassandraSource.
19221func (cs CassandraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
19222	return nil, false
19223}
19224
19225// AsMongoDbSource is the BasicCopySource implementation for CassandraSource.
19226func (cs CassandraSource) AsMongoDbSource() (*MongoDbSource, bool) {
19227	return nil, false
19228}
19229
19230// AsCassandraSource is the BasicCopySource implementation for CassandraSource.
19231func (cs CassandraSource) AsCassandraSource() (*CassandraSource, bool) {
19232	return &cs, true
19233}
19234
19235// AsWebSource is the BasicCopySource implementation for CassandraSource.
19236func (cs CassandraSource) AsWebSource() (*WebSource, bool) {
19237	return nil, false
19238}
19239
19240// AsOracleSource is the BasicCopySource implementation for CassandraSource.
19241func (cs CassandraSource) AsOracleSource() (*OracleSource, bool) {
19242	return nil, false
19243}
19244
19245// AsAzureMySQLSource is the BasicCopySource implementation for CassandraSource.
19246func (cs CassandraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
19247	return nil, false
19248}
19249
19250// AsHdfsSource is the BasicCopySource implementation for CassandraSource.
19251func (cs CassandraSource) AsHdfsSource() (*HdfsSource, bool) {
19252	return nil, false
19253}
19254
19255// AsFileSystemSource is the BasicCopySource implementation for CassandraSource.
19256func (cs CassandraSource) AsFileSystemSource() (*FileSystemSource, bool) {
19257	return nil, false
19258}
19259
19260// AsSQLDWSource is the BasicCopySource implementation for CassandraSource.
19261func (cs CassandraSource) AsSQLDWSource() (*SQLDWSource, bool) {
19262	return nil, false
19263}
19264
19265// AsSQLSource is the BasicCopySource implementation for CassandraSource.
19266func (cs CassandraSource) AsSQLSource() (*SQLSource, bool) {
19267	return nil, false
19268}
19269
19270// AsSapEccSource is the BasicCopySource implementation for CassandraSource.
19271func (cs CassandraSource) AsSapEccSource() (*SapEccSource, bool) {
19272	return nil, false
19273}
19274
19275// AsSapCloudForCustomerSource is the BasicCopySource implementation for CassandraSource.
19276func (cs CassandraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
19277	return nil, false
19278}
19279
19280// AsSalesforceSource is the BasicCopySource implementation for CassandraSource.
19281func (cs CassandraSource) AsSalesforceSource() (*SalesforceSource, bool) {
19282	return nil, false
19283}
19284
19285// AsRelationalSource is the BasicCopySource implementation for CassandraSource.
19286func (cs CassandraSource) AsRelationalSource() (*RelationalSource, bool) {
19287	return nil, false
19288}
19289
19290// AsDynamicsSource is the BasicCopySource implementation for CassandraSource.
19291func (cs CassandraSource) AsDynamicsSource() (*DynamicsSource, bool) {
19292	return nil, false
19293}
19294
19295// AsDocumentDbCollectionSource is the BasicCopySource implementation for CassandraSource.
19296func (cs CassandraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
19297	return nil, false
19298}
19299
19300// AsBlobSource is the BasicCopySource implementation for CassandraSource.
19301func (cs CassandraSource) AsBlobSource() (*BlobSource, bool) {
19302	return nil, false
19303}
19304
19305// AsAzureTableSource is the BasicCopySource implementation for CassandraSource.
19306func (cs CassandraSource) AsAzureTableSource() (*AzureTableSource, bool) {
19307	return nil, false
19308}
19309
19310// AsCopySource is the BasicCopySource implementation for CassandraSource.
19311func (cs CassandraSource) AsCopySource() (*CopySource, bool) {
19312	return nil, false
19313}
19314
19315// AsBasicCopySource is the BasicCopySource implementation for CassandraSource.
19316func (cs CassandraSource) AsBasicCopySource() (BasicCopySource, bool) {
19317	return &cs, true
19318}
19319
19320// UnmarshalJSON is the custom unmarshaler for CassandraSource struct.
19321func (cs *CassandraSource) UnmarshalJSON(body []byte) error {
19322	var m map[string]*json.RawMessage
19323	err := json.Unmarshal(body, &m)
19324	if err != nil {
19325		return err
19326	}
19327	for k, v := range m {
19328		switch k {
19329		case "query":
19330			if v != nil {
19331				var query interface{}
19332				err = json.Unmarshal(*v, &query)
19333				if err != nil {
19334					return err
19335				}
19336				cs.Query = query
19337			}
19338		case "consistencyLevel":
19339			if v != nil {
19340				var consistencyLevel interface{}
19341				err = json.Unmarshal(*v, &consistencyLevel)
19342				if err != nil {
19343					return err
19344				}
19345				cs.ConsistencyLevel = consistencyLevel
19346			}
19347		default:
19348			if v != nil {
19349				var additionalProperties interface{}
19350				err = json.Unmarshal(*v, &additionalProperties)
19351				if err != nil {
19352					return err
19353				}
19354				if cs.AdditionalProperties == nil {
19355					cs.AdditionalProperties = make(map[string]interface{})
19356				}
19357				cs.AdditionalProperties[k] = additionalProperties
19358			}
19359		case "sourceRetryCount":
19360			if v != nil {
19361				var sourceRetryCount interface{}
19362				err = json.Unmarshal(*v, &sourceRetryCount)
19363				if err != nil {
19364					return err
19365				}
19366				cs.SourceRetryCount = sourceRetryCount
19367			}
19368		case "sourceRetryWait":
19369			if v != nil {
19370				var sourceRetryWait interface{}
19371				err = json.Unmarshal(*v, &sourceRetryWait)
19372				if err != nil {
19373					return err
19374				}
19375				cs.SourceRetryWait = sourceRetryWait
19376			}
19377		case "type":
19378			if v != nil {
19379				var typeVar TypeBasicCopySource
19380				err = json.Unmarshal(*v, &typeVar)
19381				if err != nil {
19382					return err
19383				}
19384				cs.Type = typeVar
19385			}
19386		}
19387	}
19388
19389	return nil
19390}
19391
19392// CassandraTableDataset the Cassandra database dataset.
19393type CassandraTableDataset struct {
19394	// CassandraTableDatasetTypeProperties - Cassandra dataset properties.
19395	*CassandraTableDatasetTypeProperties `json:"typeProperties,omitempty"`
19396	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19397	AdditionalProperties map[string]interface{} `json:""`
19398	// Description - Dataset description.
19399	Description *string `json:"description,omitempty"`
19400	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
19401	Structure interface{} `json:"structure,omitempty"`
19402	// LinkedServiceName - Linked service reference.
19403	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
19404	// Parameters - Parameters for dataset.
19405	Parameters map[string]*ParameterSpecification `json:"parameters"`
19406	// Annotations - List of tags that can be used for describing the Dataset.
19407	Annotations *[]interface{} `json:"annotations,omitempty"`
19408	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
19409	Type TypeBasicDataset `json:"type,omitempty"`
19410}
19411
19412// MarshalJSON is the custom marshaler for CassandraTableDataset.
19413func (ctd CassandraTableDataset) MarshalJSON() ([]byte, error) {
19414	ctd.Type = TypeCassandraTable
19415	objectMap := make(map[string]interface{})
19416	if ctd.CassandraTableDatasetTypeProperties != nil {
19417		objectMap["typeProperties"] = ctd.CassandraTableDatasetTypeProperties
19418	}
19419	if ctd.Description != nil {
19420		objectMap["description"] = ctd.Description
19421	}
19422	if ctd.Structure != nil {
19423		objectMap["structure"] = ctd.Structure
19424	}
19425	if ctd.LinkedServiceName != nil {
19426		objectMap["linkedServiceName"] = ctd.LinkedServiceName
19427	}
19428	if ctd.Parameters != nil {
19429		objectMap["parameters"] = ctd.Parameters
19430	}
19431	if ctd.Annotations != nil {
19432		objectMap["annotations"] = ctd.Annotations
19433	}
19434	if ctd.Type != "" {
19435		objectMap["type"] = ctd.Type
19436	}
19437	for k, v := range ctd.AdditionalProperties {
19438		objectMap[k] = v
19439	}
19440	return json.Marshal(objectMap)
19441}
19442
19443// AsResponsysObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19444func (ctd CassandraTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
19445	return nil, false
19446}
19447
19448// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19449func (ctd CassandraTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
19450	return nil, false
19451}
19452
19453// AsVerticaTableDataset is the BasicDataset implementation for CassandraTableDataset.
19454func (ctd CassandraTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
19455	return nil, false
19456}
19457
19458// AsNetezzaTableDataset is the BasicDataset implementation for CassandraTableDataset.
19459func (ctd CassandraTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
19460	return nil, false
19461}
19462
19463// AsZohoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19464func (ctd CassandraTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
19465	return nil, false
19466}
19467
19468// AsXeroObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19469func (ctd CassandraTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
19470	return nil, false
19471}
19472
19473// AsSquareObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19474func (ctd CassandraTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
19475	return nil, false
19476}
19477
19478// AsSparkObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19479func (ctd CassandraTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
19480	return nil, false
19481}
19482
19483// AsShopifyObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19484func (ctd CassandraTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
19485	return nil, false
19486}
19487
19488// AsServiceNowObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19489func (ctd CassandraTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
19490	return nil, false
19491}
19492
19493// AsQuickBooksObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19494func (ctd CassandraTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
19495	return nil, false
19496}
19497
19498// AsPrestoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19499func (ctd CassandraTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
19500	return nil, false
19501}
19502
19503// AsPhoenixObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19504func (ctd CassandraTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
19505	return nil, false
19506}
19507
19508// AsPaypalObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19509func (ctd CassandraTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
19510	return nil, false
19511}
19512
19513// AsMarketoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19514func (ctd CassandraTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
19515	return nil, false
19516}
19517
19518// AsMariaDBTableDataset is the BasicDataset implementation for CassandraTableDataset.
19519func (ctd CassandraTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
19520	return nil, false
19521}
19522
19523// AsMagentoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19524func (ctd CassandraTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
19525	return nil, false
19526}
19527
19528// AsJiraObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19529func (ctd CassandraTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
19530	return nil, false
19531}
19532
19533// AsImpalaObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19534func (ctd CassandraTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
19535	return nil, false
19536}
19537
19538// AsHubspotObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19539func (ctd CassandraTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
19540	return nil, false
19541}
19542
19543// AsHiveObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19544func (ctd CassandraTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
19545	return nil, false
19546}
19547
19548// AsHBaseObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19549func (ctd CassandraTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
19550	return nil, false
19551}
19552
19553// AsGreenplumTableDataset is the BasicDataset implementation for CassandraTableDataset.
19554func (ctd CassandraTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
19555	return nil, false
19556}
19557
19558// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19559func (ctd CassandraTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
19560	return nil, false
19561}
19562
19563// AsEloquaObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19564func (ctd CassandraTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
19565	return nil, false
19566}
19567
19568// AsDrillTableDataset is the BasicDataset implementation for CassandraTableDataset.
19569func (ctd CassandraTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
19570	return nil, false
19571}
19572
19573// AsCouchbaseTableDataset is the BasicDataset implementation for CassandraTableDataset.
19574func (ctd CassandraTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
19575	return nil, false
19576}
19577
19578// AsConcurObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19579func (ctd CassandraTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
19580	return nil, false
19581}
19582
19583// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
19584func (ctd CassandraTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
19585	return nil, false
19586}
19587
19588// AsAmazonMWSObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19589func (ctd CassandraTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
19590	return nil, false
19591}
19592
19593// AsHTTPDataset is the BasicDataset implementation for CassandraTableDataset.
19594func (ctd CassandraTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
19595	return nil, false
19596}
19597
19598// AsAzureSearchIndexDataset is the BasicDataset implementation for CassandraTableDataset.
19599func (ctd CassandraTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
19600	return nil, false
19601}
19602
19603// AsWebTableDataset is the BasicDataset implementation for CassandraTableDataset.
19604func (ctd CassandraTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
19605	return nil, false
19606}
19607
19608// AsSQLServerTableDataset is the BasicDataset implementation for CassandraTableDataset.
19609func (ctd CassandraTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
19610	return nil, false
19611}
19612
19613// AsSapEccResourceDataset is the BasicDataset implementation for CassandraTableDataset.
19614func (ctd CassandraTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
19615	return nil, false
19616}
19617
19618// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CassandraTableDataset.
19619func (ctd CassandraTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
19620	return nil, false
19621}
19622
19623// AsSalesforceObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19624func (ctd CassandraTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
19625	return nil, false
19626}
19627
19628// AsRelationalTableDataset is the BasicDataset implementation for CassandraTableDataset.
19629func (ctd CassandraTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
19630	return nil, false
19631}
19632
19633// AsAzureMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
19634func (ctd CassandraTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
19635	return nil, false
19636}
19637
19638// AsOracleTableDataset is the BasicDataset implementation for CassandraTableDataset.
19639func (ctd CassandraTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
19640	return nil, false
19641}
19642
19643// AsODataResourceDataset is the BasicDataset implementation for CassandraTableDataset.
19644func (ctd CassandraTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
19645	return nil, false
19646}
19647
19648// AsMongoDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset.
19649func (ctd CassandraTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
19650	return nil, false
19651}
19652
19653// AsFileShareDataset is the BasicDataset implementation for CassandraTableDataset.
19654func (ctd CassandraTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
19655	return nil, false
19656}
19657
19658// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CassandraTableDataset.
19659func (ctd CassandraTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
19660	return nil, false
19661}
19662
19663// AsDynamicsEntityDataset is the BasicDataset implementation for CassandraTableDataset.
19664func (ctd CassandraTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
19665	return nil, false
19666}
19667
19668// AsDocumentDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset.
19669func (ctd CassandraTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
19670	return nil, false
19671}
19672
19673// AsCustomDataset is the BasicDataset implementation for CassandraTableDataset.
19674func (ctd CassandraTableDataset) AsCustomDataset() (*CustomDataset, bool) {
19675	return nil, false
19676}
19677
19678// AsCassandraTableDataset is the BasicDataset implementation for CassandraTableDataset.
19679func (ctd CassandraTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
19680	return &ctd, true
19681}
19682
19683// AsAzureSQLDWTableDataset is the BasicDataset implementation for CassandraTableDataset.
19684func (ctd CassandraTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
19685	return nil, false
19686}
19687
19688// AsAzureSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
19689func (ctd CassandraTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
19690	return nil, false
19691}
19692
19693// AsAzureTableDataset is the BasicDataset implementation for CassandraTableDataset.
19694func (ctd CassandraTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
19695	return nil, false
19696}
19697
19698// AsAzureBlobDataset is the BasicDataset implementation for CassandraTableDataset.
19699func (ctd CassandraTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
19700	return nil, false
19701}
19702
19703// AsAmazonS3Dataset is the BasicDataset implementation for CassandraTableDataset.
19704func (ctd CassandraTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
19705	return nil, false
19706}
19707
19708// AsDataset is the BasicDataset implementation for CassandraTableDataset.
19709func (ctd CassandraTableDataset) AsDataset() (*Dataset, bool) {
19710	return nil, false
19711}
19712
19713// AsBasicDataset is the BasicDataset implementation for CassandraTableDataset.
19714func (ctd CassandraTableDataset) AsBasicDataset() (BasicDataset, bool) {
19715	return &ctd, true
19716}
19717
19718// UnmarshalJSON is the custom unmarshaler for CassandraTableDataset struct.
19719func (ctd *CassandraTableDataset) UnmarshalJSON(body []byte) error {
19720	var m map[string]*json.RawMessage
19721	err := json.Unmarshal(body, &m)
19722	if err != nil {
19723		return err
19724	}
19725	for k, v := range m {
19726		switch k {
19727		case "typeProperties":
19728			if v != nil {
19729				var cassandraTableDatasetTypeProperties CassandraTableDatasetTypeProperties
19730				err = json.Unmarshal(*v, &cassandraTableDatasetTypeProperties)
19731				if err != nil {
19732					return err
19733				}
19734				ctd.CassandraTableDatasetTypeProperties = &cassandraTableDatasetTypeProperties
19735			}
19736		default:
19737			if v != nil {
19738				var additionalProperties interface{}
19739				err = json.Unmarshal(*v, &additionalProperties)
19740				if err != nil {
19741					return err
19742				}
19743				if ctd.AdditionalProperties == nil {
19744					ctd.AdditionalProperties = make(map[string]interface{})
19745				}
19746				ctd.AdditionalProperties[k] = additionalProperties
19747			}
19748		case "description":
19749			if v != nil {
19750				var description string
19751				err = json.Unmarshal(*v, &description)
19752				if err != nil {
19753					return err
19754				}
19755				ctd.Description = &description
19756			}
19757		case "structure":
19758			if v != nil {
19759				var structure interface{}
19760				err = json.Unmarshal(*v, &structure)
19761				if err != nil {
19762					return err
19763				}
19764				ctd.Structure = structure
19765			}
19766		case "linkedServiceName":
19767			if v != nil {
19768				var linkedServiceName LinkedServiceReference
19769				err = json.Unmarshal(*v, &linkedServiceName)
19770				if err != nil {
19771					return err
19772				}
19773				ctd.LinkedServiceName = &linkedServiceName
19774			}
19775		case "parameters":
19776			if v != nil {
19777				var parameters map[string]*ParameterSpecification
19778				err = json.Unmarshal(*v, &parameters)
19779				if err != nil {
19780					return err
19781				}
19782				ctd.Parameters = parameters
19783			}
19784		case "annotations":
19785			if v != nil {
19786				var annotations []interface{}
19787				err = json.Unmarshal(*v, &annotations)
19788				if err != nil {
19789					return err
19790				}
19791				ctd.Annotations = &annotations
19792			}
19793		case "type":
19794			if v != nil {
19795				var typeVar TypeBasicDataset
19796				err = json.Unmarshal(*v, &typeVar)
19797				if err != nil {
19798					return err
19799				}
19800				ctd.Type = typeVar
19801			}
19802		}
19803	}
19804
19805	return nil
19806}
19807
19808// CassandraTableDatasetTypeProperties cassandra dataset properties.
19809type CassandraTableDatasetTypeProperties struct {
19810	// TableName - The table name of the Cassandra database. Type: string (or Expression with resultType string).
19811	TableName interface{} `json:"tableName,omitempty"`
19812	// Keyspace - The keyspace of the Cassandra database. Type: string (or Expression with resultType string).
19813	Keyspace interface{} `json:"keyspace,omitempty"`
19814}
19815
19816// ConcurLinkedService concur Service linked service.
19817type ConcurLinkedService struct {
19818	// ConcurLinkedServiceTypeProperties - Concur Service linked service properties.
19819	*ConcurLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
19820	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19821	AdditionalProperties map[string]interface{} `json:""`
19822	// ConnectVia - The integration runtime reference.
19823	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
19824	// Description - Linked service description.
19825	Description *string `json:"description,omitempty"`
19826	// Parameters - Parameters for linked service.
19827	Parameters map[string]*ParameterSpecification `json:"parameters"`
19828	// Annotations - List of tags that can be used for describing the Dataset.
19829	Annotations *[]interface{} `json:"annotations,omitempty"`
19830	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
19831	Type TypeBasicLinkedService `json:"type,omitempty"`
19832}
19833
19834// MarshalJSON is the custom marshaler for ConcurLinkedService.
19835func (cls ConcurLinkedService) MarshalJSON() ([]byte, error) {
19836	cls.Type = TypeConcur
19837	objectMap := make(map[string]interface{})
19838	if cls.ConcurLinkedServiceTypeProperties != nil {
19839		objectMap["typeProperties"] = cls.ConcurLinkedServiceTypeProperties
19840	}
19841	if cls.ConnectVia != nil {
19842		objectMap["connectVia"] = cls.ConnectVia
19843	}
19844	if cls.Description != nil {
19845		objectMap["description"] = cls.Description
19846	}
19847	if cls.Parameters != nil {
19848		objectMap["parameters"] = cls.Parameters
19849	}
19850	if cls.Annotations != nil {
19851		objectMap["annotations"] = cls.Annotations
19852	}
19853	if cls.Type != "" {
19854		objectMap["type"] = cls.Type
19855	}
19856	for k, v := range cls.AdditionalProperties {
19857		objectMap[k] = v
19858	}
19859	return json.Marshal(objectMap)
19860}
19861
19862// AsResponsysLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19863func (cls ConcurLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
19864	return nil, false
19865}
19866
19867// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19868func (cls ConcurLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
19869	return nil, false
19870}
19871
19872// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19873func (cls ConcurLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
19874	return nil, false
19875}
19876
19877// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19878func (cls ConcurLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
19879	return nil, false
19880}
19881
19882// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19883func (cls ConcurLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
19884	return nil, false
19885}
19886
19887// AsNetezzaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19888func (cls ConcurLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
19889	return nil, false
19890}
19891
19892// AsVerticaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19893func (cls ConcurLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
19894	return nil, false
19895}
19896
19897// AsZohoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19898func (cls ConcurLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
19899	return nil, false
19900}
19901
19902// AsXeroLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19903func (cls ConcurLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
19904	return nil, false
19905}
19906
19907// AsSquareLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19908func (cls ConcurLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
19909	return nil, false
19910}
19911
19912// AsSparkLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19913func (cls ConcurLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
19914	return nil, false
19915}
19916
19917// AsShopifyLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19918func (cls ConcurLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
19919	return nil, false
19920}
19921
19922// AsServiceNowLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19923func (cls ConcurLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
19924	return nil, false
19925}
19926
19927// AsQuickBooksLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19928func (cls ConcurLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
19929	return nil, false
19930}
19931
19932// AsPrestoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19933func (cls ConcurLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
19934	return nil, false
19935}
19936
19937// AsPhoenixLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19938func (cls ConcurLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
19939	return nil, false
19940}
19941
19942// AsPaypalLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19943func (cls ConcurLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
19944	return nil, false
19945}
19946
19947// AsMarketoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19948func (cls ConcurLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
19949	return nil, false
19950}
19951
19952// AsMariaDBLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19953func (cls ConcurLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
19954	return nil, false
19955}
19956
19957// AsMagentoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19958func (cls ConcurLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
19959	return nil, false
19960}
19961
19962// AsJiraLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19963func (cls ConcurLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
19964	return nil, false
19965}
19966
19967// AsImpalaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19968func (cls ConcurLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
19969	return nil, false
19970}
19971
19972// AsHubspotLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19973func (cls ConcurLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
19974	return nil, false
19975}
19976
19977// AsHiveLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19978func (cls ConcurLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
19979	return nil, false
19980}
19981
19982// AsHBaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19983func (cls ConcurLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
19984	return nil, false
19985}
19986
19987// AsGreenplumLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19988func (cls ConcurLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
19989	return nil, false
19990}
19991
19992// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19993func (cls ConcurLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
19994	return nil, false
19995}
19996
19997// AsEloquaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19998func (cls ConcurLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
19999	return nil, false
20000}
20001
20002// AsDrillLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20003func (cls ConcurLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
20004	return nil, false
20005}
20006
20007// AsCouchbaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20008func (cls ConcurLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
20009	return nil, false
20010}
20011
20012// AsConcurLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20013func (cls ConcurLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
20014	return &cls, true
20015}
20016
20017// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20018func (cls ConcurLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
20019	return nil, false
20020}
20021
20022// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20023func (cls ConcurLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
20024	return nil, false
20025}
20026
20027// AsSapHanaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20028func (cls ConcurLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
20029	return nil, false
20030}
20031
20032// AsSapBWLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20033func (cls ConcurLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
20034	return nil, false
20035}
20036
20037// AsSftpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20038func (cls ConcurLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
20039	return nil, false
20040}
20041
20042// AsFtpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20043func (cls ConcurLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
20044	return nil, false
20045}
20046
20047// AsHTTPLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20048func (cls ConcurLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
20049	return nil, false
20050}
20051
20052// AsAzureSearchLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20053func (cls ConcurLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
20054	return nil, false
20055}
20056
20057// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20058func (cls ConcurLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
20059	return nil, false
20060}
20061
20062// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20063func (cls ConcurLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
20064	return nil, false
20065}
20066
20067// AsAmazonS3LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20068func (cls ConcurLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
20069	return nil, false
20070}
20071
20072// AsSapEccLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20073func (cls ConcurLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
20074	return nil, false
20075}
20076
20077// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20078func (cls ConcurLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
20079	return nil, false
20080}
20081
20082// AsSalesforceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20083func (cls ConcurLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
20084	return nil, false
20085}
20086
20087// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20088func (cls ConcurLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
20089	return nil, false
20090}
20091
20092// AsMongoDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20093func (cls ConcurLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
20094	return nil, false
20095}
20096
20097// AsCassandraLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20098func (cls ConcurLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
20099	return nil, false
20100}
20101
20102// AsWebLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20103func (cls ConcurLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
20104	return nil, false
20105}
20106
20107// AsODataLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20108func (cls ConcurLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
20109	return nil, false
20110}
20111
20112// AsHdfsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20113func (cls ConcurLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
20114	return nil, false
20115}
20116
20117// AsOdbcLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20118func (cls ConcurLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
20119	return nil, false
20120}
20121
20122// AsAzureMLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20123func (cls ConcurLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
20124	return nil, false
20125}
20126
20127// AsTeradataLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20128func (cls ConcurLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
20129	return nil, false
20130}
20131
20132// AsDb2LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20133func (cls ConcurLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
20134	return nil, false
20135}
20136
20137// AsSybaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20138func (cls ConcurLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
20139	return nil, false
20140}
20141
20142// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20143func (cls ConcurLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
20144	return nil, false
20145}
20146
20147// AsMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20148func (cls ConcurLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
20149	return nil, false
20150}
20151
20152// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20153func (cls ConcurLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
20154	return nil, false
20155}
20156
20157// AsOracleLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20158func (cls ConcurLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
20159	return nil, false
20160}
20161
20162// AsFileServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20163func (cls ConcurLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
20164	return nil, false
20165}
20166
20167// AsHDInsightLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20168func (cls ConcurLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
20169	return nil, false
20170}
20171
20172// AsDynamicsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20173func (cls ConcurLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
20174	return nil, false
20175}
20176
20177// AsCosmosDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20178func (cls ConcurLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
20179	return nil, false
20180}
20181
20182// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20183func (cls ConcurLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
20184	return nil, false
20185}
20186
20187// AsAzureBatchLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20188func (cls ConcurLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
20189	return nil, false
20190}
20191
20192// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20193func (cls ConcurLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
20194	return nil, false
20195}
20196
20197// AsSQLServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20198func (cls ConcurLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
20199	return nil, false
20200}
20201
20202// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20203func (cls ConcurLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
20204	return nil, false
20205}
20206
20207// AsAzureStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20208func (cls ConcurLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
20209	return nil, false
20210}
20211
20212// AsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20213func (cls ConcurLinkedService) AsLinkedService() (*LinkedService, bool) {
20214	return nil, false
20215}
20216
20217// AsBasicLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20218func (cls ConcurLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
20219	return &cls, true
20220}
20221
20222// UnmarshalJSON is the custom unmarshaler for ConcurLinkedService struct.
20223func (cls *ConcurLinkedService) UnmarshalJSON(body []byte) error {
20224	var m map[string]*json.RawMessage
20225	err := json.Unmarshal(body, &m)
20226	if err != nil {
20227		return err
20228	}
20229	for k, v := range m {
20230		switch k {
20231		case "typeProperties":
20232			if v != nil {
20233				var concurLinkedServiceTypeProperties ConcurLinkedServiceTypeProperties
20234				err = json.Unmarshal(*v, &concurLinkedServiceTypeProperties)
20235				if err != nil {
20236					return err
20237				}
20238				cls.ConcurLinkedServiceTypeProperties = &concurLinkedServiceTypeProperties
20239			}
20240		default:
20241			if v != nil {
20242				var additionalProperties interface{}
20243				err = json.Unmarshal(*v, &additionalProperties)
20244				if err != nil {
20245					return err
20246				}
20247				if cls.AdditionalProperties == nil {
20248					cls.AdditionalProperties = make(map[string]interface{})
20249				}
20250				cls.AdditionalProperties[k] = additionalProperties
20251			}
20252		case "connectVia":
20253			if v != nil {
20254				var connectVia IntegrationRuntimeReference
20255				err = json.Unmarshal(*v, &connectVia)
20256				if err != nil {
20257					return err
20258				}
20259				cls.ConnectVia = &connectVia
20260			}
20261		case "description":
20262			if v != nil {
20263				var description string
20264				err = json.Unmarshal(*v, &description)
20265				if err != nil {
20266					return err
20267				}
20268				cls.Description = &description
20269			}
20270		case "parameters":
20271			if v != nil {
20272				var parameters map[string]*ParameterSpecification
20273				err = json.Unmarshal(*v, &parameters)
20274				if err != nil {
20275					return err
20276				}
20277				cls.Parameters = parameters
20278			}
20279		case "annotations":
20280			if v != nil {
20281				var annotations []interface{}
20282				err = json.Unmarshal(*v, &annotations)
20283				if err != nil {
20284					return err
20285				}
20286				cls.Annotations = &annotations
20287			}
20288		case "type":
20289			if v != nil {
20290				var typeVar TypeBasicLinkedService
20291				err = json.Unmarshal(*v, &typeVar)
20292				if err != nil {
20293					return err
20294				}
20295				cls.Type = typeVar
20296			}
20297		}
20298	}
20299
20300	return nil
20301}
20302
20303// ConcurLinkedServiceTypeProperties concur Service linked service properties.
20304type ConcurLinkedServiceTypeProperties struct {
20305	// ClientID - Application client_id supplied by Concur App Management.
20306	ClientID interface{} `json:"clientId,omitempty"`
20307	// Username - The user name that you use to access Concur Service.
20308	Username interface{} `json:"username,omitempty"`
20309	// Password - The password corresponding to the user name that you provided in the username field.
20310	Password BasicSecretBase `json:"password,omitempty"`
20311	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
20312	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
20313	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
20314	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
20315	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
20316	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
20317	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
20318	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
20319}
20320
20321// UnmarshalJSON is the custom unmarshaler for ConcurLinkedServiceTypeProperties struct.
20322func (clstp *ConcurLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
20323	var m map[string]*json.RawMessage
20324	err := json.Unmarshal(body, &m)
20325	if err != nil {
20326		return err
20327	}
20328	for k, v := range m {
20329		switch k {
20330		case "clientId":
20331			if v != nil {
20332				var clientID interface{}
20333				err = json.Unmarshal(*v, &clientID)
20334				if err != nil {
20335					return err
20336				}
20337				clstp.ClientID = clientID
20338			}
20339		case "username":
20340			if v != nil {
20341				var username interface{}
20342				err = json.Unmarshal(*v, &username)
20343				if err != nil {
20344					return err
20345				}
20346				clstp.Username = username
20347			}
20348		case "password":
20349			if v != nil {
20350				password, err := unmarshalBasicSecretBase(*v)
20351				if err != nil {
20352					return err
20353				}
20354				clstp.Password = password
20355			}
20356		case "useEncryptedEndpoints":
20357			if v != nil {
20358				var useEncryptedEndpoints interface{}
20359				err = json.Unmarshal(*v, &useEncryptedEndpoints)
20360				if err != nil {
20361					return err
20362				}
20363				clstp.UseEncryptedEndpoints = useEncryptedEndpoints
20364			}
20365		case "useHostVerification":
20366			if v != nil {
20367				var useHostVerification interface{}
20368				err = json.Unmarshal(*v, &useHostVerification)
20369				if err != nil {
20370					return err
20371				}
20372				clstp.UseHostVerification = useHostVerification
20373			}
20374		case "usePeerVerification":
20375			if v != nil {
20376				var usePeerVerification interface{}
20377				err = json.Unmarshal(*v, &usePeerVerification)
20378				if err != nil {
20379					return err
20380				}
20381				clstp.UsePeerVerification = usePeerVerification
20382			}
20383		case "encryptedCredential":
20384			if v != nil {
20385				var encryptedCredential interface{}
20386				err = json.Unmarshal(*v, &encryptedCredential)
20387				if err != nil {
20388					return err
20389				}
20390				clstp.EncryptedCredential = encryptedCredential
20391			}
20392		}
20393	}
20394
20395	return nil
20396}
20397
20398// ConcurObjectDataset concur Service dataset.
20399type ConcurObjectDataset struct {
20400	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
20401	AdditionalProperties map[string]interface{} `json:""`
20402	// Description - Dataset description.
20403	Description *string `json:"description,omitempty"`
20404	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
20405	Structure interface{} `json:"structure,omitempty"`
20406	// LinkedServiceName - Linked service reference.
20407	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
20408	// Parameters - Parameters for dataset.
20409	Parameters map[string]*ParameterSpecification `json:"parameters"`
20410	// Annotations - List of tags that can be used for describing the Dataset.
20411	Annotations *[]interface{} `json:"annotations,omitempty"`
20412	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
20413	Type TypeBasicDataset `json:"type,omitempty"`
20414}
20415
20416// MarshalJSON is the custom marshaler for ConcurObjectDataset.
20417func (cod ConcurObjectDataset) MarshalJSON() ([]byte, error) {
20418	cod.Type = TypeConcurObject
20419	objectMap := make(map[string]interface{})
20420	if cod.Description != nil {
20421		objectMap["description"] = cod.Description
20422	}
20423	if cod.Structure != nil {
20424		objectMap["structure"] = cod.Structure
20425	}
20426	if cod.LinkedServiceName != nil {
20427		objectMap["linkedServiceName"] = cod.LinkedServiceName
20428	}
20429	if cod.Parameters != nil {
20430		objectMap["parameters"] = cod.Parameters
20431	}
20432	if cod.Annotations != nil {
20433		objectMap["annotations"] = cod.Annotations
20434	}
20435	if cod.Type != "" {
20436		objectMap["type"] = cod.Type
20437	}
20438	for k, v := range cod.AdditionalProperties {
20439		objectMap[k] = v
20440	}
20441	return json.Marshal(objectMap)
20442}
20443
20444// AsResponsysObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20445func (cod ConcurObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
20446	return nil, false
20447}
20448
20449// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20450func (cod ConcurObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
20451	return nil, false
20452}
20453
20454// AsVerticaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20455func (cod ConcurObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
20456	return nil, false
20457}
20458
20459// AsNetezzaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20460func (cod ConcurObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
20461	return nil, false
20462}
20463
20464// AsZohoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20465func (cod ConcurObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
20466	return nil, false
20467}
20468
20469// AsXeroObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20470func (cod ConcurObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
20471	return nil, false
20472}
20473
20474// AsSquareObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20475func (cod ConcurObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
20476	return nil, false
20477}
20478
20479// AsSparkObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20480func (cod ConcurObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
20481	return nil, false
20482}
20483
20484// AsShopifyObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20485func (cod ConcurObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
20486	return nil, false
20487}
20488
20489// AsServiceNowObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20490func (cod ConcurObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
20491	return nil, false
20492}
20493
20494// AsQuickBooksObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20495func (cod ConcurObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
20496	return nil, false
20497}
20498
20499// AsPrestoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20500func (cod ConcurObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
20501	return nil, false
20502}
20503
20504// AsPhoenixObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20505func (cod ConcurObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
20506	return nil, false
20507}
20508
20509// AsPaypalObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20510func (cod ConcurObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
20511	return nil, false
20512}
20513
20514// AsMarketoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20515func (cod ConcurObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
20516	return nil, false
20517}
20518
20519// AsMariaDBTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20520func (cod ConcurObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
20521	return nil, false
20522}
20523
20524// AsMagentoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20525func (cod ConcurObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
20526	return nil, false
20527}
20528
20529// AsJiraObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20530func (cod ConcurObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
20531	return nil, false
20532}
20533
20534// AsImpalaObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20535func (cod ConcurObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
20536	return nil, false
20537}
20538
20539// AsHubspotObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20540func (cod ConcurObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
20541	return nil, false
20542}
20543
20544// AsHiveObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20545func (cod ConcurObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
20546	return nil, false
20547}
20548
20549// AsHBaseObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20550func (cod ConcurObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
20551	return nil, false
20552}
20553
20554// AsGreenplumTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20555func (cod ConcurObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
20556	return nil, false
20557}
20558
20559// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20560func (cod ConcurObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
20561	return nil, false
20562}
20563
20564// AsEloquaObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20565func (cod ConcurObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
20566	return nil, false
20567}
20568
20569// AsDrillTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20570func (cod ConcurObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
20571	return nil, false
20572}
20573
20574// AsCouchbaseTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20575func (cod ConcurObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
20576	return nil, false
20577}
20578
20579// AsConcurObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20580func (cod ConcurObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
20581	return &cod, true
20582}
20583
20584// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20585func (cod ConcurObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
20586	return nil, false
20587}
20588
20589// AsAmazonMWSObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20590func (cod ConcurObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
20591	return nil, false
20592}
20593
20594// AsHTTPDataset is the BasicDataset implementation for ConcurObjectDataset.
20595func (cod ConcurObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
20596	return nil, false
20597}
20598
20599// AsAzureSearchIndexDataset is the BasicDataset implementation for ConcurObjectDataset.
20600func (cod ConcurObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
20601	return nil, false
20602}
20603
20604// AsWebTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20605func (cod ConcurObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
20606	return nil, false
20607}
20608
20609// AsSQLServerTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20610func (cod ConcurObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
20611	return nil, false
20612}
20613
20614// AsSapEccResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
20615func (cod ConcurObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
20616	return nil, false
20617}
20618
20619// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
20620func (cod ConcurObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
20621	return nil, false
20622}
20623
20624// AsSalesforceObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20625func (cod ConcurObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
20626	return nil, false
20627}
20628
20629// AsRelationalTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20630func (cod ConcurObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
20631	return nil, false
20632}
20633
20634// AsAzureMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20635func (cod ConcurObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
20636	return nil, false
20637}
20638
20639// AsOracleTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20640func (cod ConcurObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
20641	return nil, false
20642}
20643
20644// AsODataResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
20645func (cod ConcurObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
20646	return nil, false
20647}
20648
20649// AsMongoDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
20650func (cod ConcurObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
20651	return nil, false
20652}
20653
20654// AsFileShareDataset is the BasicDataset implementation for ConcurObjectDataset.
20655func (cod ConcurObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
20656	return nil, false
20657}
20658
20659// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ConcurObjectDataset.
20660func (cod ConcurObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
20661	return nil, false
20662}
20663
20664// AsDynamicsEntityDataset is the BasicDataset implementation for ConcurObjectDataset.
20665func (cod ConcurObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
20666	return nil, false
20667}
20668
20669// AsDocumentDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
20670func (cod ConcurObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
20671	return nil, false
20672}
20673
20674// AsCustomDataset is the BasicDataset implementation for ConcurObjectDataset.
20675func (cod ConcurObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
20676	return nil, false
20677}
20678
20679// AsCassandraTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20680func (cod ConcurObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
20681	return nil, false
20682}
20683
20684// AsAzureSQLDWTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20685func (cod ConcurObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
20686	return nil, false
20687}
20688
20689// AsAzureSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20690func (cod ConcurObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
20691	return nil, false
20692}
20693
20694// AsAzureTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20695func (cod ConcurObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
20696	return nil, false
20697}
20698
20699// AsAzureBlobDataset is the BasicDataset implementation for ConcurObjectDataset.
20700func (cod ConcurObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
20701	return nil, false
20702}
20703
20704// AsAmazonS3Dataset is the BasicDataset implementation for ConcurObjectDataset.
20705func (cod ConcurObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
20706	return nil, false
20707}
20708
20709// AsDataset is the BasicDataset implementation for ConcurObjectDataset.
20710func (cod ConcurObjectDataset) AsDataset() (*Dataset, bool) {
20711	return nil, false
20712}
20713
20714// AsBasicDataset is the BasicDataset implementation for ConcurObjectDataset.
20715func (cod ConcurObjectDataset) AsBasicDataset() (BasicDataset, bool) {
20716	return &cod, true
20717}
20718
20719// UnmarshalJSON is the custom unmarshaler for ConcurObjectDataset struct.
20720func (cod *ConcurObjectDataset) UnmarshalJSON(body []byte) error {
20721	var m map[string]*json.RawMessage
20722	err := json.Unmarshal(body, &m)
20723	if err != nil {
20724		return err
20725	}
20726	for k, v := range m {
20727		switch k {
20728		default:
20729			if v != nil {
20730				var additionalProperties interface{}
20731				err = json.Unmarshal(*v, &additionalProperties)
20732				if err != nil {
20733					return err
20734				}
20735				if cod.AdditionalProperties == nil {
20736					cod.AdditionalProperties = make(map[string]interface{})
20737				}
20738				cod.AdditionalProperties[k] = additionalProperties
20739			}
20740		case "description":
20741			if v != nil {
20742				var description string
20743				err = json.Unmarshal(*v, &description)
20744				if err != nil {
20745					return err
20746				}
20747				cod.Description = &description
20748			}
20749		case "structure":
20750			if v != nil {
20751				var structure interface{}
20752				err = json.Unmarshal(*v, &structure)
20753				if err != nil {
20754					return err
20755				}
20756				cod.Structure = structure
20757			}
20758		case "linkedServiceName":
20759			if v != nil {
20760				var linkedServiceName LinkedServiceReference
20761				err = json.Unmarshal(*v, &linkedServiceName)
20762				if err != nil {
20763					return err
20764				}
20765				cod.LinkedServiceName = &linkedServiceName
20766			}
20767		case "parameters":
20768			if v != nil {
20769				var parameters map[string]*ParameterSpecification
20770				err = json.Unmarshal(*v, &parameters)
20771				if err != nil {
20772					return err
20773				}
20774				cod.Parameters = parameters
20775			}
20776		case "annotations":
20777			if v != nil {
20778				var annotations []interface{}
20779				err = json.Unmarshal(*v, &annotations)
20780				if err != nil {
20781					return err
20782				}
20783				cod.Annotations = &annotations
20784			}
20785		case "type":
20786			if v != nil {
20787				var typeVar TypeBasicDataset
20788				err = json.Unmarshal(*v, &typeVar)
20789				if err != nil {
20790					return err
20791				}
20792				cod.Type = typeVar
20793			}
20794		}
20795	}
20796
20797	return nil
20798}
20799
20800// ConcurSource a copy activity Concur Service source.
20801type ConcurSource struct {
20802	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
20803	Query interface{} `json:"query,omitempty"`
20804	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
20805	AdditionalProperties map[string]interface{} `json:""`
20806	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
20807	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
20808	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20809	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
20810	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
20811	Type TypeBasicCopySource `json:"type,omitempty"`
20812}
20813
20814// MarshalJSON is the custom marshaler for ConcurSource.
20815func (cs ConcurSource) MarshalJSON() ([]byte, error) {
20816	cs.Type = TypeConcurSource
20817	objectMap := make(map[string]interface{})
20818	if cs.Query != nil {
20819		objectMap["query"] = cs.Query
20820	}
20821	if cs.SourceRetryCount != nil {
20822		objectMap["sourceRetryCount"] = cs.SourceRetryCount
20823	}
20824	if cs.SourceRetryWait != nil {
20825		objectMap["sourceRetryWait"] = cs.SourceRetryWait
20826	}
20827	if cs.Type != "" {
20828		objectMap["type"] = cs.Type
20829	}
20830	for k, v := range cs.AdditionalProperties {
20831		objectMap[k] = v
20832	}
20833	return json.Marshal(objectMap)
20834}
20835
20836// AsAmazonRedshiftSource is the BasicCopySource implementation for ConcurSource.
20837func (cs ConcurSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
20838	return nil, false
20839}
20840
20841// AsResponsysSource is the BasicCopySource implementation for ConcurSource.
20842func (cs ConcurSource) AsResponsysSource() (*ResponsysSource, bool) {
20843	return nil, false
20844}
20845
20846// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ConcurSource.
20847func (cs ConcurSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
20848	return nil, false
20849}
20850
20851// AsVerticaSource is the BasicCopySource implementation for ConcurSource.
20852func (cs ConcurSource) AsVerticaSource() (*VerticaSource, bool) {
20853	return nil, false
20854}
20855
20856// AsNetezzaSource is the BasicCopySource implementation for ConcurSource.
20857func (cs ConcurSource) AsNetezzaSource() (*NetezzaSource, bool) {
20858	return nil, false
20859}
20860
20861// AsZohoSource is the BasicCopySource implementation for ConcurSource.
20862func (cs ConcurSource) AsZohoSource() (*ZohoSource, bool) {
20863	return nil, false
20864}
20865
20866// AsXeroSource is the BasicCopySource implementation for ConcurSource.
20867func (cs ConcurSource) AsXeroSource() (*XeroSource, bool) {
20868	return nil, false
20869}
20870
20871// AsSquareSource is the BasicCopySource implementation for ConcurSource.
20872func (cs ConcurSource) AsSquareSource() (*SquareSource, bool) {
20873	return nil, false
20874}
20875
20876// AsSparkSource is the BasicCopySource implementation for ConcurSource.
20877func (cs ConcurSource) AsSparkSource() (*SparkSource, bool) {
20878	return nil, false
20879}
20880
20881// AsShopifySource is the BasicCopySource implementation for ConcurSource.
20882func (cs ConcurSource) AsShopifySource() (*ShopifySource, bool) {
20883	return nil, false
20884}
20885
20886// AsServiceNowSource is the BasicCopySource implementation for ConcurSource.
20887func (cs ConcurSource) AsServiceNowSource() (*ServiceNowSource, bool) {
20888	return nil, false
20889}
20890
20891// AsQuickBooksSource is the BasicCopySource implementation for ConcurSource.
20892func (cs ConcurSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
20893	return nil, false
20894}
20895
20896// AsPrestoSource is the BasicCopySource implementation for ConcurSource.
20897func (cs ConcurSource) AsPrestoSource() (*PrestoSource, bool) {
20898	return nil, false
20899}
20900
20901// AsPhoenixSource is the BasicCopySource implementation for ConcurSource.
20902func (cs ConcurSource) AsPhoenixSource() (*PhoenixSource, bool) {
20903	return nil, false
20904}
20905
20906// AsPaypalSource is the BasicCopySource implementation for ConcurSource.
20907func (cs ConcurSource) AsPaypalSource() (*PaypalSource, bool) {
20908	return nil, false
20909}
20910
20911// AsMarketoSource is the BasicCopySource implementation for ConcurSource.
20912func (cs ConcurSource) AsMarketoSource() (*MarketoSource, bool) {
20913	return nil, false
20914}
20915
20916// AsMariaDBSource is the BasicCopySource implementation for ConcurSource.
20917func (cs ConcurSource) AsMariaDBSource() (*MariaDBSource, bool) {
20918	return nil, false
20919}
20920
20921// AsMagentoSource is the BasicCopySource implementation for ConcurSource.
20922func (cs ConcurSource) AsMagentoSource() (*MagentoSource, bool) {
20923	return nil, false
20924}
20925
20926// AsJiraSource is the BasicCopySource implementation for ConcurSource.
20927func (cs ConcurSource) AsJiraSource() (*JiraSource, bool) {
20928	return nil, false
20929}
20930
20931// AsImpalaSource is the BasicCopySource implementation for ConcurSource.
20932func (cs ConcurSource) AsImpalaSource() (*ImpalaSource, bool) {
20933	return nil, false
20934}
20935
20936// AsHubspotSource is the BasicCopySource implementation for ConcurSource.
20937func (cs ConcurSource) AsHubspotSource() (*HubspotSource, bool) {
20938	return nil, false
20939}
20940
20941// AsHiveSource is the BasicCopySource implementation for ConcurSource.
20942func (cs ConcurSource) AsHiveSource() (*HiveSource, bool) {
20943	return nil, false
20944}
20945
20946// AsHBaseSource is the BasicCopySource implementation for ConcurSource.
20947func (cs ConcurSource) AsHBaseSource() (*HBaseSource, bool) {
20948	return nil, false
20949}
20950
20951// AsGreenplumSource is the BasicCopySource implementation for ConcurSource.
20952func (cs ConcurSource) AsGreenplumSource() (*GreenplumSource, bool) {
20953	return nil, false
20954}
20955
20956// AsGoogleBigQuerySource is the BasicCopySource implementation for ConcurSource.
20957func (cs ConcurSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
20958	return nil, false
20959}
20960
20961// AsEloquaSource is the BasicCopySource implementation for ConcurSource.
20962func (cs ConcurSource) AsEloquaSource() (*EloquaSource, bool) {
20963	return nil, false
20964}
20965
20966// AsDrillSource is the BasicCopySource implementation for ConcurSource.
20967func (cs ConcurSource) AsDrillSource() (*DrillSource, bool) {
20968	return nil, false
20969}
20970
20971// AsCouchbaseSource is the BasicCopySource implementation for ConcurSource.
20972func (cs ConcurSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
20973	return nil, false
20974}
20975
20976// AsConcurSource is the BasicCopySource implementation for ConcurSource.
20977func (cs ConcurSource) AsConcurSource() (*ConcurSource, bool) {
20978	return &cs, true
20979}
20980
20981// AsAzurePostgreSQLSource is the BasicCopySource implementation for ConcurSource.
20982func (cs ConcurSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
20983	return nil, false
20984}
20985
20986// AsAmazonMWSSource is the BasicCopySource implementation for ConcurSource.
20987func (cs ConcurSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
20988	return nil, false
20989}
20990
20991// AsHTTPSource is the BasicCopySource implementation for ConcurSource.
20992func (cs ConcurSource) AsHTTPSource() (*HTTPSource, bool) {
20993	return nil, false
20994}
20995
20996// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ConcurSource.
20997func (cs ConcurSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
20998	return nil, false
20999}
21000
21001// AsMongoDbSource is the BasicCopySource implementation for ConcurSource.
21002func (cs ConcurSource) AsMongoDbSource() (*MongoDbSource, bool) {
21003	return nil, false
21004}
21005
21006// AsCassandraSource is the BasicCopySource implementation for ConcurSource.
21007func (cs ConcurSource) AsCassandraSource() (*CassandraSource, bool) {
21008	return nil, false
21009}
21010
21011// AsWebSource is the BasicCopySource implementation for ConcurSource.
21012func (cs ConcurSource) AsWebSource() (*WebSource, bool) {
21013	return nil, false
21014}
21015
21016// AsOracleSource is the BasicCopySource implementation for ConcurSource.
21017func (cs ConcurSource) AsOracleSource() (*OracleSource, bool) {
21018	return nil, false
21019}
21020
21021// AsAzureMySQLSource is the BasicCopySource implementation for ConcurSource.
21022func (cs ConcurSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
21023	return nil, false
21024}
21025
21026// AsHdfsSource is the BasicCopySource implementation for ConcurSource.
21027func (cs ConcurSource) AsHdfsSource() (*HdfsSource, bool) {
21028	return nil, false
21029}
21030
21031// AsFileSystemSource is the BasicCopySource implementation for ConcurSource.
21032func (cs ConcurSource) AsFileSystemSource() (*FileSystemSource, bool) {
21033	return nil, false
21034}
21035
21036// AsSQLDWSource is the BasicCopySource implementation for ConcurSource.
21037func (cs ConcurSource) AsSQLDWSource() (*SQLDWSource, bool) {
21038	return nil, false
21039}
21040
21041// AsSQLSource is the BasicCopySource implementation for ConcurSource.
21042func (cs ConcurSource) AsSQLSource() (*SQLSource, bool) {
21043	return nil, false
21044}
21045
21046// AsSapEccSource is the BasicCopySource implementation for ConcurSource.
21047func (cs ConcurSource) AsSapEccSource() (*SapEccSource, bool) {
21048	return nil, false
21049}
21050
21051// AsSapCloudForCustomerSource is the BasicCopySource implementation for ConcurSource.
21052func (cs ConcurSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
21053	return nil, false
21054}
21055
21056// AsSalesforceSource is the BasicCopySource implementation for ConcurSource.
21057func (cs ConcurSource) AsSalesforceSource() (*SalesforceSource, bool) {
21058	return nil, false
21059}
21060
21061// AsRelationalSource is the BasicCopySource implementation for ConcurSource.
21062func (cs ConcurSource) AsRelationalSource() (*RelationalSource, bool) {
21063	return nil, false
21064}
21065
21066// AsDynamicsSource is the BasicCopySource implementation for ConcurSource.
21067func (cs ConcurSource) AsDynamicsSource() (*DynamicsSource, bool) {
21068	return nil, false
21069}
21070
21071// AsDocumentDbCollectionSource is the BasicCopySource implementation for ConcurSource.
21072func (cs ConcurSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
21073	return nil, false
21074}
21075
21076// AsBlobSource is the BasicCopySource implementation for ConcurSource.
21077func (cs ConcurSource) AsBlobSource() (*BlobSource, bool) {
21078	return nil, false
21079}
21080
21081// AsAzureTableSource is the BasicCopySource implementation for ConcurSource.
21082func (cs ConcurSource) AsAzureTableSource() (*AzureTableSource, bool) {
21083	return nil, false
21084}
21085
21086// AsCopySource is the BasicCopySource implementation for ConcurSource.
21087func (cs ConcurSource) AsCopySource() (*CopySource, bool) {
21088	return nil, false
21089}
21090
21091// AsBasicCopySource is the BasicCopySource implementation for ConcurSource.
21092func (cs ConcurSource) AsBasicCopySource() (BasicCopySource, bool) {
21093	return &cs, true
21094}
21095
21096// UnmarshalJSON is the custom unmarshaler for ConcurSource struct.
21097func (cs *ConcurSource) UnmarshalJSON(body []byte) error {
21098	var m map[string]*json.RawMessage
21099	err := json.Unmarshal(body, &m)
21100	if err != nil {
21101		return err
21102	}
21103	for k, v := range m {
21104		switch k {
21105		case "query":
21106			if v != nil {
21107				var query interface{}
21108				err = json.Unmarshal(*v, &query)
21109				if err != nil {
21110					return err
21111				}
21112				cs.Query = query
21113			}
21114		default:
21115			if v != nil {
21116				var additionalProperties interface{}
21117				err = json.Unmarshal(*v, &additionalProperties)
21118				if err != nil {
21119					return err
21120				}
21121				if cs.AdditionalProperties == nil {
21122					cs.AdditionalProperties = make(map[string]interface{})
21123				}
21124				cs.AdditionalProperties[k] = additionalProperties
21125			}
21126		case "sourceRetryCount":
21127			if v != nil {
21128				var sourceRetryCount interface{}
21129				err = json.Unmarshal(*v, &sourceRetryCount)
21130				if err != nil {
21131					return err
21132				}
21133				cs.SourceRetryCount = sourceRetryCount
21134			}
21135		case "sourceRetryWait":
21136			if v != nil {
21137				var sourceRetryWait interface{}
21138				err = json.Unmarshal(*v, &sourceRetryWait)
21139				if err != nil {
21140					return err
21141				}
21142				cs.SourceRetryWait = sourceRetryWait
21143			}
21144		case "type":
21145			if v != nil {
21146				var typeVar TypeBasicCopySource
21147				err = json.Unmarshal(*v, &typeVar)
21148				if err != nil {
21149					return err
21150				}
21151				cs.Type = typeVar
21152			}
21153		}
21154	}
21155
21156	return nil
21157}
21158
21159// BasicControlActivity base class for all control activities like IfCondition, ForEach , Until.
21160type BasicControlActivity interface {
21161	AsFilterActivity() (*FilterActivity, bool)
21162	AsUntilActivity() (*UntilActivity, bool)
21163	AsWaitActivity() (*WaitActivity, bool)
21164	AsForEachActivity() (*ForEachActivity, bool)
21165	AsIfConditionActivity() (*IfConditionActivity, bool)
21166	AsExecutePipelineActivity() (*ExecutePipelineActivity, bool)
21167	AsControlActivity() (*ControlActivity, bool)
21168}
21169
21170// ControlActivity base class for all control activities like IfCondition, ForEach , Until.
21171type ControlActivity struct {
21172	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
21173	AdditionalProperties map[string]interface{} `json:""`
21174	// Name - Activity name.
21175	Name *string `json:"name,omitempty"`
21176	// Description - Activity description.
21177	Description *string `json:"description,omitempty"`
21178	// DependsOn - Activity depends on condition.
21179	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
21180	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
21181	Type TypeBasicActivity `json:"type,omitempty"`
21182}
21183
21184func unmarshalBasicControlActivity(body []byte) (BasicControlActivity, error) {
21185	var m map[string]interface{}
21186	err := json.Unmarshal(body, &m)
21187	if err != nil {
21188		return nil, err
21189	}
21190
21191	switch m["type"] {
21192	case string(TypeFilter):
21193		var fa FilterActivity
21194		err := json.Unmarshal(body, &fa)
21195		return fa, err
21196	case string(TypeUntil):
21197		var ua UntilActivity
21198		err := json.Unmarshal(body, &ua)
21199		return ua, err
21200	case string(TypeWait):
21201		var wa WaitActivity
21202		err := json.Unmarshal(body, &wa)
21203		return wa, err
21204	case string(TypeForEach):
21205		var fea ForEachActivity
21206		err := json.Unmarshal(body, &fea)
21207		return fea, err
21208	case string(TypeIfCondition):
21209		var ica IfConditionActivity
21210		err := json.Unmarshal(body, &ica)
21211		return ica, err
21212	case string(TypeExecutePipeline):
21213		var epa ExecutePipelineActivity
21214		err := json.Unmarshal(body, &epa)
21215		return epa, err
21216	default:
21217		var ca ControlActivity
21218		err := json.Unmarshal(body, &ca)
21219		return ca, err
21220	}
21221}
21222func unmarshalBasicControlActivityArray(body []byte) ([]BasicControlActivity, error) {
21223	var rawMessages []*json.RawMessage
21224	err := json.Unmarshal(body, &rawMessages)
21225	if err != nil {
21226		return nil, err
21227	}
21228
21229	caArray := make([]BasicControlActivity, len(rawMessages))
21230
21231	for index, rawMessage := range rawMessages {
21232		ca, err := unmarshalBasicControlActivity(*rawMessage)
21233		if err != nil {
21234			return nil, err
21235		}
21236		caArray[index] = ca
21237	}
21238	return caArray, nil
21239}
21240
21241// MarshalJSON is the custom marshaler for ControlActivity.
21242func (ca ControlActivity) MarshalJSON() ([]byte, error) {
21243	ca.Type = TypeContainer
21244	objectMap := make(map[string]interface{})
21245	if ca.Name != nil {
21246		objectMap["name"] = ca.Name
21247	}
21248	if ca.Description != nil {
21249		objectMap["description"] = ca.Description
21250	}
21251	if ca.DependsOn != nil {
21252		objectMap["dependsOn"] = ca.DependsOn
21253	}
21254	if ca.Type != "" {
21255		objectMap["type"] = ca.Type
21256	}
21257	for k, v := range ca.AdditionalProperties {
21258		objectMap[k] = v
21259	}
21260	return json.Marshal(objectMap)
21261}
21262
21263// AsDatabricksNotebookActivity is the BasicActivity implementation for ControlActivity.
21264func (ca ControlActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
21265	return nil, false
21266}
21267
21268// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ControlActivity.
21269func (ca ControlActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
21270	return nil, false
21271}
21272
21273// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ControlActivity.
21274func (ca ControlActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
21275	return nil, false
21276}
21277
21278// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ControlActivity.
21279func (ca ControlActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
21280	return nil, false
21281}
21282
21283// AsGetMetadataActivity is the BasicActivity implementation for ControlActivity.
21284func (ca ControlActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
21285	return nil, false
21286}
21287
21288// AsWebActivity is the BasicActivity implementation for ControlActivity.
21289func (ca ControlActivity) AsWebActivity() (*WebActivity, bool) {
21290	return nil, false
21291}
21292
21293// AsLookupActivity is the BasicActivity implementation for ControlActivity.
21294func (ca ControlActivity) AsLookupActivity() (*LookupActivity, bool) {
21295	return nil, false
21296}
21297
21298// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ControlActivity.
21299func (ca ControlActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
21300	return nil, false
21301}
21302
21303// AsCustomActivity is the BasicActivity implementation for ControlActivity.
21304func (ca ControlActivity) AsCustomActivity() (*CustomActivity, bool) {
21305	return nil, false
21306}
21307
21308// AsExecuteSSISPackageActivity is the BasicActivity implementation for ControlActivity.
21309func (ca ControlActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
21310	return nil, false
21311}
21312
21313// AsHDInsightSparkActivity is the BasicActivity implementation for ControlActivity.
21314func (ca ControlActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
21315	return nil, false
21316}
21317
21318// AsHDInsightStreamingActivity is the BasicActivity implementation for ControlActivity.
21319func (ca ControlActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
21320	return nil, false
21321}
21322
21323// AsHDInsightMapReduceActivity is the BasicActivity implementation for ControlActivity.
21324func (ca ControlActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
21325	return nil, false
21326}
21327
21328// AsHDInsightPigActivity is the BasicActivity implementation for ControlActivity.
21329func (ca ControlActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
21330	return nil, false
21331}
21332
21333// AsHDInsightHiveActivity is the BasicActivity implementation for ControlActivity.
21334func (ca ControlActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
21335	return nil, false
21336}
21337
21338// AsCopyActivity is the BasicActivity implementation for ControlActivity.
21339func (ca ControlActivity) AsCopyActivity() (*CopyActivity, bool) {
21340	return nil, false
21341}
21342
21343// AsExecutionActivity is the BasicActivity implementation for ControlActivity.
21344func (ca ControlActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
21345	return nil, false
21346}
21347
21348// AsBasicExecutionActivity is the BasicActivity implementation for ControlActivity.
21349func (ca ControlActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
21350	return nil, false
21351}
21352
21353// AsFilterActivity is the BasicActivity implementation for ControlActivity.
21354func (ca ControlActivity) AsFilterActivity() (*FilterActivity, bool) {
21355	return nil, false
21356}
21357
21358// AsUntilActivity is the BasicActivity implementation for ControlActivity.
21359func (ca ControlActivity) AsUntilActivity() (*UntilActivity, bool) {
21360	return nil, false
21361}
21362
21363// AsWaitActivity is the BasicActivity implementation for ControlActivity.
21364func (ca ControlActivity) AsWaitActivity() (*WaitActivity, bool) {
21365	return nil, false
21366}
21367
21368// AsForEachActivity is the BasicActivity implementation for ControlActivity.
21369func (ca ControlActivity) AsForEachActivity() (*ForEachActivity, bool) {
21370	return nil, false
21371}
21372
21373// AsIfConditionActivity is the BasicActivity implementation for ControlActivity.
21374func (ca ControlActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
21375	return nil, false
21376}
21377
21378// AsExecutePipelineActivity is the BasicActivity implementation for ControlActivity.
21379func (ca ControlActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
21380	return nil, false
21381}
21382
21383// AsControlActivity is the BasicActivity implementation for ControlActivity.
21384func (ca ControlActivity) AsControlActivity() (*ControlActivity, bool) {
21385	return &ca, true
21386}
21387
21388// AsBasicControlActivity is the BasicActivity implementation for ControlActivity.
21389func (ca ControlActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
21390	return &ca, true
21391}
21392
21393// AsActivity is the BasicActivity implementation for ControlActivity.
21394func (ca ControlActivity) AsActivity() (*Activity, bool) {
21395	return nil, false
21396}
21397
21398// AsBasicActivity is the BasicActivity implementation for ControlActivity.
21399func (ca ControlActivity) AsBasicActivity() (BasicActivity, bool) {
21400	return &ca, true
21401}
21402
21403// UnmarshalJSON is the custom unmarshaler for ControlActivity struct.
21404func (ca *ControlActivity) UnmarshalJSON(body []byte) error {
21405	var m map[string]*json.RawMessage
21406	err := json.Unmarshal(body, &m)
21407	if err != nil {
21408		return err
21409	}
21410	for k, v := range m {
21411		switch k {
21412		default:
21413			if v != nil {
21414				var additionalProperties interface{}
21415				err = json.Unmarshal(*v, &additionalProperties)
21416				if err != nil {
21417					return err
21418				}
21419				if ca.AdditionalProperties == nil {
21420					ca.AdditionalProperties = make(map[string]interface{})
21421				}
21422				ca.AdditionalProperties[k] = additionalProperties
21423			}
21424		case "name":
21425			if v != nil {
21426				var name string
21427				err = json.Unmarshal(*v, &name)
21428				if err != nil {
21429					return err
21430				}
21431				ca.Name = &name
21432			}
21433		case "description":
21434			if v != nil {
21435				var description string
21436				err = json.Unmarshal(*v, &description)
21437				if err != nil {
21438					return err
21439				}
21440				ca.Description = &description
21441			}
21442		case "dependsOn":
21443			if v != nil {
21444				var dependsOn []ActivityDependency
21445				err = json.Unmarshal(*v, &dependsOn)
21446				if err != nil {
21447					return err
21448				}
21449				ca.DependsOn = &dependsOn
21450			}
21451		case "type":
21452			if v != nil {
21453				var typeVar TypeBasicActivity
21454				err = json.Unmarshal(*v, &typeVar)
21455				if err != nil {
21456					return err
21457				}
21458				ca.Type = typeVar
21459			}
21460		}
21461	}
21462
21463	return nil
21464}
21465
21466// CopyActivity copy activity.
21467type CopyActivity struct {
21468	// CopyActivityTypeProperties - Copy activity properties.
21469	*CopyActivityTypeProperties `json:"typeProperties,omitempty"`
21470	// Inputs - List of inputs for the activity.
21471	Inputs *[]DatasetReference `json:"inputs,omitempty"`
21472	// Outputs - List of outputs for the activity.
21473	Outputs *[]DatasetReference `json:"outputs,omitempty"`
21474	// LinkedServiceName - Linked service reference.
21475	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
21476	// Policy - Activity policy.
21477	Policy *ActivityPolicy `json:"policy,omitempty"`
21478	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
21479	AdditionalProperties map[string]interface{} `json:""`
21480	// Name - Activity name.
21481	Name *string `json:"name,omitempty"`
21482	// Description - Activity description.
21483	Description *string `json:"description,omitempty"`
21484	// DependsOn - Activity depends on condition.
21485	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
21486	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
21487	Type TypeBasicActivity `json:"type,omitempty"`
21488}
21489
21490// MarshalJSON is the custom marshaler for CopyActivity.
21491func (ca CopyActivity) MarshalJSON() ([]byte, error) {
21492	ca.Type = TypeCopy
21493	objectMap := make(map[string]interface{})
21494	if ca.CopyActivityTypeProperties != nil {
21495		objectMap["typeProperties"] = ca.CopyActivityTypeProperties
21496	}
21497	if ca.Inputs != nil {
21498		objectMap["inputs"] = ca.Inputs
21499	}
21500	if ca.Outputs != nil {
21501		objectMap["outputs"] = ca.Outputs
21502	}
21503	if ca.LinkedServiceName != nil {
21504		objectMap["linkedServiceName"] = ca.LinkedServiceName
21505	}
21506	if ca.Policy != nil {
21507		objectMap["policy"] = ca.Policy
21508	}
21509	if ca.Name != nil {
21510		objectMap["name"] = ca.Name
21511	}
21512	if ca.Description != nil {
21513		objectMap["description"] = ca.Description
21514	}
21515	if ca.DependsOn != nil {
21516		objectMap["dependsOn"] = ca.DependsOn
21517	}
21518	if ca.Type != "" {
21519		objectMap["type"] = ca.Type
21520	}
21521	for k, v := range ca.AdditionalProperties {
21522		objectMap[k] = v
21523	}
21524	return json.Marshal(objectMap)
21525}
21526
21527// AsDatabricksNotebookActivity is the BasicActivity implementation for CopyActivity.
21528func (ca CopyActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
21529	return nil, false
21530}
21531
21532// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CopyActivity.
21533func (ca CopyActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
21534	return nil, false
21535}
21536
21537// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CopyActivity.
21538func (ca CopyActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
21539	return nil, false
21540}
21541
21542// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CopyActivity.
21543func (ca CopyActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
21544	return nil, false
21545}
21546
21547// AsGetMetadataActivity is the BasicActivity implementation for CopyActivity.
21548func (ca CopyActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
21549	return nil, false
21550}
21551
21552// AsWebActivity is the BasicActivity implementation for CopyActivity.
21553func (ca CopyActivity) AsWebActivity() (*WebActivity, bool) {
21554	return nil, false
21555}
21556
21557// AsLookupActivity is the BasicActivity implementation for CopyActivity.
21558func (ca CopyActivity) AsLookupActivity() (*LookupActivity, bool) {
21559	return nil, false
21560}
21561
21562// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CopyActivity.
21563func (ca CopyActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
21564	return nil, false
21565}
21566
21567// AsCustomActivity is the BasicActivity implementation for CopyActivity.
21568func (ca CopyActivity) AsCustomActivity() (*CustomActivity, bool) {
21569	return nil, false
21570}
21571
21572// AsExecuteSSISPackageActivity is the BasicActivity implementation for CopyActivity.
21573func (ca CopyActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
21574	return nil, false
21575}
21576
21577// AsHDInsightSparkActivity is the BasicActivity implementation for CopyActivity.
21578func (ca CopyActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
21579	return nil, false
21580}
21581
21582// AsHDInsightStreamingActivity is the BasicActivity implementation for CopyActivity.
21583func (ca CopyActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
21584	return nil, false
21585}
21586
21587// AsHDInsightMapReduceActivity is the BasicActivity implementation for CopyActivity.
21588func (ca CopyActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
21589	return nil, false
21590}
21591
21592// AsHDInsightPigActivity is the BasicActivity implementation for CopyActivity.
21593func (ca CopyActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
21594	return nil, false
21595}
21596
21597// AsHDInsightHiveActivity is the BasicActivity implementation for CopyActivity.
21598func (ca CopyActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
21599	return nil, false
21600}
21601
21602// AsCopyActivity is the BasicActivity implementation for CopyActivity.
21603func (ca CopyActivity) AsCopyActivity() (*CopyActivity, bool) {
21604	return &ca, true
21605}
21606
21607// AsExecutionActivity is the BasicActivity implementation for CopyActivity.
21608func (ca CopyActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
21609	return nil, false
21610}
21611
21612// AsBasicExecutionActivity is the BasicActivity implementation for CopyActivity.
21613func (ca CopyActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
21614	return &ca, true
21615}
21616
21617// AsFilterActivity is the BasicActivity implementation for CopyActivity.
21618func (ca CopyActivity) AsFilterActivity() (*FilterActivity, bool) {
21619	return nil, false
21620}
21621
21622// AsUntilActivity is the BasicActivity implementation for CopyActivity.
21623func (ca CopyActivity) AsUntilActivity() (*UntilActivity, bool) {
21624	return nil, false
21625}
21626
21627// AsWaitActivity is the BasicActivity implementation for CopyActivity.
21628func (ca CopyActivity) AsWaitActivity() (*WaitActivity, bool) {
21629	return nil, false
21630}
21631
21632// AsForEachActivity is the BasicActivity implementation for CopyActivity.
21633func (ca CopyActivity) AsForEachActivity() (*ForEachActivity, bool) {
21634	return nil, false
21635}
21636
21637// AsIfConditionActivity is the BasicActivity implementation for CopyActivity.
21638func (ca CopyActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
21639	return nil, false
21640}
21641
21642// AsExecutePipelineActivity is the BasicActivity implementation for CopyActivity.
21643func (ca CopyActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
21644	return nil, false
21645}
21646
21647// AsControlActivity is the BasicActivity implementation for CopyActivity.
21648func (ca CopyActivity) AsControlActivity() (*ControlActivity, bool) {
21649	return nil, false
21650}
21651
21652// AsBasicControlActivity is the BasicActivity implementation for CopyActivity.
21653func (ca CopyActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
21654	return nil, false
21655}
21656
21657// AsActivity is the BasicActivity implementation for CopyActivity.
21658func (ca CopyActivity) AsActivity() (*Activity, bool) {
21659	return nil, false
21660}
21661
21662// AsBasicActivity is the BasicActivity implementation for CopyActivity.
21663func (ca CopyActivity) AsBasicActivity() (BasicActivity, bool) {
21664	return &ca, true
21665}
21666
21667// UnmarshalJSON is the custom unmarshaler for CopyActivity struct.
21668func (ca *CopyActivity) UnmarshalJSON(body []byte) error {
21669	var m map[string]*json.RawMessage
21670	err := json.Unmarshal(body, &m)
21671	if err != nil {
21672		return err
21673	}
21674	for k, v := range m {
21675		switch k {
21676		case "typeProperties":
21677			if v != nil {
21678				var copyActivityTypeProperties CopyActivityTypeProperties
21679				err = json.Unmarshal(*v, &copyActivityTypeProperties)
21680				if err != nil {
21681					return err
21682				}
21683				ca.CopyActivityTypeProperties = &copyActivityTypeProperties
21684			}
21685		case "inputs":
21686			if v != nil {
21687				var inputs []DatasetReference
21688				err = json.Unmarshal(*v, &inputs)
21689				if err != nil {
21690					return err
21691				}
21692				ca.Inputs = &inputs
21693			}
21694		case "outputs":
21695			if v != nil {
21696				var outputs []DatasetReference
21697				err = json.Unmarshal(*v, &outputs)
21698				if err != nil {
21699					return err
21700				}
21701				ca.Outputs = &outputs
21702			}
21703		case "linkedServiceName":
21704			if v != nil {
21705				var linkedServiceName LinkedServiceReference
21706				err = json.Unmarshal(*v, &linkedServiceName)
21707				if err != nil {
21708					return err
21709				}
21710				ca.LinkedServiceName = &linkedServiceName
21711			}
21712		case "policy":
21713			if v != nil {
21714				var policy ActivityPolicy
21715				err = json.Unmarshal(*v, &policy)
21716				if err != nil {
21717					return err
21718				}
21719				ca.Policy = &policy
21720			}
21721		default:
21722			if v != nil {
21723				var additionalProperties interface{}
21724				err = json.Unmarshal(*v, &additionalProperties)
21725				if err != nil {
21726					return err
21727				}
21728				if ca.AdditionalProperties == nil {
21729					ca.AdditionalProperties = make(map[string]interface{})
21730				}
21731				ca.AdditionalProperties[k] = additionalProperties
21732			}
21733		case "name":
21734			if v != nil {
21735				var name string
21736				err = json.Unmarshal(*v, &name)
21737				if err != nil {
21738					return err
21739				}
21740				ca.Name = &name
21741			}
21742		case "description":
21743			if v != nil {
21744				var description string
21745				err = json.Unmarshal(*v, &description)
21746				if err != nil {
21747					return err
21748				}
21749				ca.Description = &description
21750			}
21751		case "dependsOn":
21752			if v != nil {
21753				var dependsOn []ActivityDependency
21754				err = json.Unmarshal(*v, &dependsOn)
21755				if err != nil {
21756					return err
21757				}
21758				ca.DependsOn = &dependsOn
21759			}
21760		case "type":
21761			if v != nil {
21762				var typeVar TypeBasicActivity
21763				err = json.Unmarshal(*v, &typeVar)
21764				if err != nil {
21765					return err
21766				}
21767				ca.Type = typeVar
21768			}
21769		}
21770	}
21771
21772	return nil
21773}
21774
21775// CopyActivityTypeProperties copy activity properties.
21776type CopyActivityTypeProperties struct {
21777	// Source - Copy activity source.
21778	Source BasicCopySource `json:"source,omitempty"`
21779	// Sink - Copy activity sink.
21780	Sink BasicCopySink `json:"sink,omitempty"`
21781	// Translator - Copy activity translator. If not specified, tabular translator is used.
21782	Translator interface{} `json:"translator,omitempty"`
21783	// EnableStaging - Specifies whether to copy data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
21784	EnableStaging interface{} `json:"enableStaging,omitempty"`
21785	// StagingSettings - Specifies interim staging settings when EnableStaging is true.
21786	StagingSettings *StagingSettings `json:"stagingSettings,omitempty"`
21787	// ParallelCopies - Maximum number of concurrent sessions opened on the source or sink to avoid overloading the data store. Type: integer (or Expression with resultType integer), minimum: 0.
21788	ParallelCopies interface{} `json:"parallelCopies,omitempty"`
21789	// CloudDataMovementUnits - Maximum number of cloud data movement units that can be used to perform this data movement. Type: integer (or Expression with resultType integer), minimum: 0.
21790	CloudDataMovementUnits interface{} `json:"cloudDataMovementUnits,omitempty"`
21791	// EnableSkipIncompatibleRow - Whether to skip incompatible row. Default value is false. Type: boolean (or Expression with resultType boolean).
21792	EnableSkipIncompatibleRow interface{} `json:"enableSkipIncompatibleRow,omitempty"`
21793	// RedirectIncompatibleRowSettings - Redirect incompatible row settings when EnableSkipIncompatibleRow is true.
21794	RedirectIncompatibleRowSettings *RedirectIncompatibleRowSettings `json:"redirectIncompatibleRowSettings,omitempty"`
21795}
21796
21797// UnmarshalJSON is the custom unmarshaler for CopyActivityTypeProperties struct.
21798func (catp *CopyActivityTypeProperties) UnmarshalJSON(body []byte) error {
21799	var m map[string]*json.RawMessage
21800	err := json.Unmarshal(body, &m)
21801	if err != nil {
21802		return err
21803	}
21804	for k, v := range m {
21805		switch k {
21806		case "source":
21807			if v != nil {
21808				source, err := unmarshalBasicCopySource(*v)
21809				if err != nil {
21810					return err
21811				}
21812				catp.Source = source
21813			}
21814		case "sink":
21815			if v != nil {
21816				sink, err := unmarshalBasicCopySink(*v)
21817				if err != nil {
21818					return err
21819				}
21820				catp.Sink = sink
21821			}
21822		case "translator":
21823			if v != nil {
21824				var translator interface{}
21825				err = json.Unmarshal(*v, &translator)
21826				if err != nil {
21827					return err
21828				}
21829				catp.Translator = translator
21830			}
21831		case "enableStaging":
21832			if v != nil {
21833				var enableStaging interface{}
21834				err = json.Unmarshal(*v, &enableStaging)
21835				if err != nil {
21836					return err
21837				}
21838				catp.EnableStaging = enableStaging
21839			}
21840		case "stagingSettings":
21841			if v != nil {
21842				var stagingSettings StagingSettings
21843				err = json.Unmarshal(*v, &stagingSettings)
21844				if err != nil {
21845					return err
21846				}
21847				catp.StagingSettings = &stagingSettings
21848			}
21849		case "parallelCopies":
21850			if v != nil {
21851				var parallelCopies interface{}
21852				err = json.Unmarshal(*v, &parallelCopies)
21853				if err != nil {
21854					return err
21855				}
21856				catp.ParallelCopies = parallelCopies
21857			}
21858		case "cloudDataMovementUnits":
21859			if v != nil {
21860				var cloudDataMovementUnits interface{}
21861				err = json.Unmarshal(*v, &cloudDataMovementUnits)
21862				if err != nil {
21863					return err
21864				}
21865				catp.CloudDataMovementUnits = cloudDataMovementUnits
21866			}
21867		case "enableSkipIncompatibleRow":
21868			if v != nil {
21869				var enableSkipIncompatibleRow interface{}
21870				err = json.Unmarshal(*v, &enableSkipIncompatibleRow)
21871				if err != nil {
21872					return err
21873				}
21874				catp.EnableSkipIncompatibleRow = enableSkipIncompatibleRow
21875			}
21876		case "redirectIncompatibleRowSettings":
21877			if v != nil {
21878				var redirectIncompatibleRowSettings RedirectIncompatibleRowSettings
21879				err = json.Unmarshal(*v, &redirectIncompatibleRowSettings)
21880				if err != nil {
21881					return err
21882				}
21883				catp.RedirectIncompatibleRowSettings = &redirectIncompatibleRowSettings
21884			}
21885		}
21886	}
21887
21888	return nil
21889}
21890
21891// BasicCopySink a copy activity sink.
21892type BasicCopySink interface {
21893	AsSalesforceSink() (*SalesforceSink, bool)
21894	AsDynamicsSink() (*DynamicsSink, bool)
21895	AsOdbcSink() (*OdbcSink, bool)
21896	AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool)
21897	AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool)
21898	AsOracleSink() (*OracleSink, bool)
21899	AsSQLDWSink() (*SQLDWSink, bool)
21900	AsSQLSink() (*SQLSink, bool)
21901	AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool)
21902	AsFileSystemSink() (*FileSystemSink, bool)
21903	AsBlobSink() (*BlobSink, bool)
21904	AsAzureTableSink() (*AzureTableSink, bool)
21905	AsAzureQueueSink() (*AzureQueueSink, bool)
21906	AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool)
21907	AsCopySink() (*CopySink, bool)
21908}
21909
21910// CopySink a copy activity sink.
21911type CopySink struct {
21912	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
21913	AdditionalProperties map[string]interface{} `json:""`
21914	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
21915	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
21916	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21917	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
21918	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
21919	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
21920	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21921	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
21922	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
21923	Type TypeBasicCopySink `json:"type,omitempty"`
21924}
21925
21926func unmarshalBasicCopySink(body []byte) (BasicCopySink, error) {
21927	var m map[string]interface{}
21928	err := json.Unmarshal(body, &m)
21929	if err != nil {
21930		return nil, err
21931	}
21932
21933	switch m["type"] {
21934	case string(TypeSalesforceSink):
21935		var ss SalesforceSink
21936		err := json.Unmarshal(body, &ss)
21937		return ss, err
21938	case string(TypeDynamicsSink):
21939		var ds DynamicsSink
21940		err := json.Unmarshal(body, &ds)
21941		return ds, err
21942	case string(TypeOdbcSink):
21943		var osVar OdbcSink
21944		err := json.Unmarshal(body, &osVar)
21945		return osVar, err
21946	case string(TypeAzureSearchIndexSink):
21947		var asis AzureSearchIndexSink
21948		err := json.Unmarshal(body, &asis)
21949		return asis, err
21950	case string(TypeAzureDataLakeStoreSink):
21951		var adlss AzureDataLakeStoreSink
21952		err := json.Unmarshal(body, &adlss)
21953		return adlss, err
21954	case string(TypeOracleSink):
21955		var osVar OracleSink
21956		err := json.Unmarshal(body, &osVar)
21957		return osVar, err
21958	case string(TypeSQLDWSink):
21959		var sds SQLDWSink
21960		err := json.Unmarshal(body, &sds)
21961		return sds, err
21962	case string(TypeSQLSink):
21963		var ss SQLSink
21964		err := json.Unmarshal(body, &ss)
21965		return ss, err
21966	case string(TypeDocumentDbCollectionSink):
21967		var ddcs DocumentDbCollectionSink
21968		err := json.Unmarshal(body, &ddcs)
21969		return ddcs, err
21970	case string(TypeFileSystemSink):
21971		var fss FileSystemSink
21972		err := json.Unmarshal(body, &fss)
21973		return fss, err
21974	case string(TypeBlobSink):
21975		var bs BlobSink
21976		err := json.Unmarshal(body, &bs)
21977		return bs, err
21978	case string(TypeAzureTableSink):
21979		var ats AzureTableSink
21980		err := json.Unmarshal(body, &ats)
21981		return ats, err
21982	case string(TypeAzureQueueSink):
21983		var aqs AzureQueueSink
21984		err := json.Unmarshal(body, &aqs)
21985		return aqs, err
21986	case string(TypeSapCloudForCustomerSink):
21987		var scfcs SapCloudForCustomerSink
21988		err := json.Unmarshal(body, &scfcs)
21989		return scfcs, err
21990	default:
21991		var cs CopySink
21992		err := json.Unmarshal(body, &cs)
21993		return cs, err
21994	}
21995}
21996func unmarshalBasicCopySinkArray(body []byte) ([]BasicCopySink, error) {
21997	var rawMessages []*json.RawMessage
21998	err := json.Unmarshal(body, &rawMessages)
21999	if err != nil {
22000		return nil, err
22001	}
22002
22003	csArray := make([]BasicCopySink, len(rawMessages))
22004
22005	for index, rawMessage := range rawMessages {
22006		cs, err := unmarshalBasicCopySink(*rawMessage)
22007		if err != nil {
22008			return nil, err
22009		}
22010		csArray[index] = cs
22011	}
22012	return csArray, nil
22013}
22014
22015// MarshalJSON is the custom marshaler for CopySink.
22016func (cs CopySink) MarshalJSON() ([]byte, error) {
22017	cs.Type = TypeCopySink
22018	objectMap := make(map[string]interface{})
22019	if cs.WriteBatchSize != nil {
22020		objectMap["writeBatchSize"] = cs.WriteBatchSize
22021	}
22022	if cs.WriteBatchTimeout != nil {
22023		objectMap["writeBatchTimeout"] = cs.WriteBatchTimeout
22024	}
22025	if cs.SinkRetryCount != nil {
22026		objectMap["sinkRetryCount"] = cs.SinkRetryCount
22027	}
22028	if cs.SinkRetryWait != nil {
22029		objectMap["sinkRetryWait"] = cs.SinkRetryWait
22030	}
22031	if cs.Type != "" {
22032		objectMap["type"] = cs.Type
22033	}
22034	for k, v := range cs.AdditionalProperties {
22035		objectMap[k] = v
22036	}
22037	return json.Marshal(objectMap)
22038}
22039
22040// AsSalesforceSink is the BasicCopySink implementation for CopySink.
22041func (cs CopySink) AsSalesforceSink() (*SalesforceSink, bool) {
22042	return nil, false
22043}
22044
22045// AsDynamicsSink is the BasicCopySink implementation for CopySink.
22046func (cs CopySink) AsDynamicsSink() (*DynamicsSink, bool) {
22047	return nil, false
22048}
22049
22050// AsOdbcSink is the BasicCopySink implementation for CopySink.
22051func (cs CopySink) AsOdbcSink() (*OdbcSink, bool) {
22052	return nil, false
22053}
22054
22055// AsAzureSearchIndexSink is the BasicCopySink implementation for CopySink.
22056func (cs CopySink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
22057	return nil, false
22058}
22059
22060// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CopySink.
22061func (cs CopySink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
22062	return nil, false
22063}
22064
22065// AsOracleSink is the BasicCopySink implementation for CopySink.
22066func (cs CopySink) AsOracleSink() (*OracleSink, bool) {
22067	return nil, false
22068}
22069
22070// AsSQLDWSink is the BasicCopySink implementation for CopySink.
22071func (cs CopySink) AsSQLDWSink() (*SQLDWSink, bool) {
22072	return nil, false
22073}
22074
22075// AsSQLSink is the BasicCopySink implementation for CopySink.
22076func (cs CopySink) AsSQLSink() (*SQLSink, bool) {
22077	return nil, false
22078}
22079
22080// AsDocumentDbCollectionSink is the BasicCopySink implementation for CopySink.
22081func (cs CopySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
22082	return nil, false
22083}
22084
22085// AsFileSystemSink is the BasicCopySink implementation for CopySink.
22086func (cs CopySink) AsFileSystemSink() (*FileSystemSink, bool) {
22087	return nil, false
22088}
22089
22090// AsBlobSink is the BasicCopySink implementation for CopySink.
22091func (cs CopySink) AsBlobSink() (*BlobSink, bool) {
22092	return nil, false
22093}
22094
22095// AsAzureTableSink is the BasicCopySink implementation for CopySink.
22096func (cs CopySink) AsAzureTableSink() (*AzureTableSink, bool) {
22097	return nil, false
22098}
22099
22100// AsAzureQueueSink is the BasicCopySink implementation for CopySink.
22101func (cs CopySink) AsAzureQueueSink() (*AzureQueueSink, bool) {
22102	return nil, false
22103}
22104
22105// AsSapCloudForCustomerSink is the BasicCopySink implementation for CopySink.
22106func (cs CopySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
22107	return nil, false
22108}
22109
22110// AsCopySink is the BasicCopySink implementation for CopySink.
22111func (cs CopySink) AsCopySink() (*CopySink, bool) {
22112	return &cs, true
22113}
22114
22115// AsBasicCopySink is the BasicCopySink implementation for CopySink.
22116func (cs CopySink) AsBasicCopySink() (BasicCopySink, bool) {
22117	return &cs, true
22118}
22119
22120// UnmarshalJSON is the custom unmarshaler for CopySink struct.
22121func (cs *CopySink) UnmarshalJSON(body []byte) error {
22122	var m map[string]*json.RawMessage
22123	err := json.Unmarshal(body, &m)
22124	if err != nil {
22125		return err
22126	}
22127	for k, v := range m {
22128		switch k {
22129		default:
22130			if v != nil {
22131				var additionalProperties interface{}
22132				err = json.Unmarshal(*v, &additionalProperties)
22133				if err != nil {
22134					return err
22135				}
22136				if cs.AdditionalProperties == nil {
22137					cs.AdditionalProperties = make(map[string]interface{})
22138				}
22139				cs.AdditionalProperties[k] = additionalProperties
22140			}
22141		case "writeBatchSize":
22142			if v != nil {
22143				var writeBatchSize interface{}
22144				err = json.Unmarshal(*v, &writeBatchSize)
22145				if err != nil {
22146					return err
22147				}
22148				cs.WriteBatchSize = writeBatchSize
22149			}
22150		case "writeBatchTimeout":
22151			if v != nil {
22152				var writeBatchTimeout interface{}
22153				err = json.Unmarshal(*v, &writeBatchTimeout)
22154				if err != nil {
22155					return err
22156				}
22157				cs.WriteBatchTimeout = writeBatchTimeout
22158			}
22159		case "sinkRetryCount":
22160			if v != nil {
22161				var sinkRetryCount interface{}
22162				err = json.Unmarshal(*v, &sinkRetryCount)
22163				if err != nil {
22164					return err
22165				}
22166				cs.SinkRetryCount = sinkRetryCount
22167			}
22168		case "sinkRetryWait":
22169			if v != nil {
22170				var sinkRetryWait interface{}
22171				err = json.Unmarshal(*v, &sinkRetryWait)
22172				if err != nil {
22173					return err
22174				}
22175				cs.SinkRetryWait = sinkRetryWait
22176			}
22177		case "type":
22178			if v != nil {
22179				var typeVar TypeBasicCopySink
22180				err = json.Unmarshal(*v, &typeVar)
22181				if err != nil {
22182					return err
22183				}
22184				cs.Type = typeVar
22185			}
22186		}
22187	}
22188
22189	return nil
22190}
22191
22192// BasicCopySource a copy activity source.
22193type BasicCopySource interface {
22194	AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool)
22195	AsResponsysSource() (*ResponsysSource, bool)
22196	AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool)
22197	AsVerticaSource() (*VerticaSource, bool)
22198	AsNetezzaSource() (*NetezzaSource, bool)
22199	AsZohoSource() (*ZohoSource, bool)
22200	AsXeroSource() (*XeroSource, bool)
22201	AsSquareSource() (*SquareSource, bool)
22202	AsSparkSource() (*SparkSource, bool)
22203	AsShopifySource() (*ShopifySource, bool)
22204	AsServiceNowSource() (*ServiceNowSource, bool)
22205	AsQuickBooksSource() (*QuickBooksSource, bool)
22206	AsPrestoSource() (*PrestoSource, bool)
22207	AsPhoenixSource() (*PhoenixSource, bool)
22208	AsPaypalSource() (*PaypalSource, bool)
22209	AsMarketoSource() (*MarketoSource, bool)
22210	AsMariaDBSource() (*MariaDBSource, bool)
22211	AsMagentoSource() (*MagentoSource, bool)
22212	AsJiraSource() (*JiraSource, bool)
22213	AsImpalaSource() (*ImpalaSource, bool)
22214	AsHubspotSource() (*HubspotSource, bool)
22215	AsHiveSource() (*HiveSource, bool)
22216	AsHBaseSource() (*HBaseSource, bool)
22217	AsGreenplumSource() (*GreenplumSource, bool)
22218	AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool)
22219	AsEloquaSource() (*EloquaSource, bool)
22220	AsDrillSource() (*DrillSource, bool)
22221	AsCouchbaseSource() (*CouchbaseSource, bool)
22222	AsConcurSource() (*ConcurSource, bool)
22223	AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool)
22224	AsAmazonMWSSource() (*AmazonMWSSource, bool)
22225	AsHTTPSource() (*HTTPSource, bool)
22226	AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool)
22227	AsMongoDbSource() (*MongoDbSource, bool)
22228	AsCassandraSource() (*CassandraSource, bool)
22229	AsWebSource() (*WebSource, bool)
22230	AsOracleSource() (*OracleSource, bool)
22231	AsAzureMySQLSource() (*AzureMySQLSource, bool)
22232	AsHdfsSource() (*HdfsSource, bool)
22233	AsFileSystemSource() (*FileSystemSource, bool)
22234	AsSQLDWSource() (*SQLDWSource, bool)
22235	AsSQLSource() (*SQLSource, bool)
22236	AsSapEccSource() (*SapEccSource, bool)
22237	AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool)
22238	AsSalesforceSource() (*SalesforceSource, bool)
22239	AsRelationalSource() (*RelationalSource, bool)
22240	AsDynamicsSource() (*DynamicsSource, bool)
22241	AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool)
22242	AsBlobSource() (*BlobSource, bool)
22243	AsAzureTableSource() (*AzureTableSource, bool)
22244	AsCopySource() (*CopySource, bool)
22245}
22246
22247// CopySource a copy activity source.
22248type CopySource struct {
22249	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
22250	AdditionalProperties map[string]interface{} `json:""`
22251	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
22252	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
22253	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
22254	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
22255	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
22256	Type TypeBasicCopySource `json:"type,omitempty"`
22257}
22258
22259func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) {
22260	var m map[string]interface{}
22261	err := json.Unmarshal(body, &m)
22262	if err != nil {
22263		return nil, err
22264	}
22265
22266	switch m["type"] {
22267	case string(TypeAmazonRedshiftSource):
22268		var ars AmazonRedshiftSource
22269		err := json.Unmarshal(body, &ars)
22270		return ars, err
22271	case string(TypeResponsysSource):
22272		var rs ResponsysSource
22273		err := json.Unmarshal(body, &rs)
22274		return rs, err
22275	case string(TypeSalesforceMarketingCloudSource):
22276		var smcs SalesforceMarketingCloudSource
22277		err := json.Unmarshal(body, &smcs)
22278		return smcs, err
22279	case string(TypeVerticaSource):
22280		var vs VerticaSource
22281		err := json.Unmarshal(body, &vs)
22282		return vs, err
22283	case string(TypeNetezzaSource):
22284		var ns NetezzaSource
22285		err := json.Unmarshal(body, &ns)
22286		return ns, err
22287	case string(TypeZohoSource):
22288		var zs ZohoSource
22289		err := json.Unmarshal(body, &zs)
22290		return zs, err
22291	case string(TypeXeroSource):
22292		var xs XeroSource
22293		err := json.Unmarshal(body, &xs)
22294		return xs, err
22295	case string(TypeSquareSource):
22296		var ss SquareSource
22297		err := json.Unmarshal(body, &ss)
22298		return ss, err
22299	case string(TypeSparkSource):
22300		var ss SparkSource
22301		err := json.Unmarshal(body, &ss)
22302		return ss, err
22303	case string(TypeShopifySource):
22304		var ss ShopifySource
22305		err := json.Unmarshal(body, &ss)
22306		return ss, err
22307	case string(TypeServiceNowSource):
22308		var sns ServiceNowSource
22309		err := json.Unmarshal(body, &sns)
22310		return sns, err
22311	case string(TypeQuickBooksSource):
22312		var qbs QuickBooksSource
22313		err := json.Unmarshal(body, &qbs)
22314		return qbs, err
22315	case string(TypePrestoSource):
22316		var ps PrestoSource
22317		err := json.Unmarshal(body, &ps)
22318		return ps, err
22319	case string(TypePhoenixSource):
22320		var ps PhoenixSource
22321		err := json.Unmarshal(body, &ps)
22322		return ps, err
22323	case string(TypePaypalSource):
22324		var ps PaypalSource
22325		err := json.Unmarshal(body, &ps)
22326		return ps, err
22327	case string(TypeMarketoSource):
22328		var ms MarketoSource
22329		err := json.Unmarshal(body, &ms)
22330		return ms, err
22331	case string(TypeMariaDBSource):
22332		var mds MariaDBSource
22333		err := json.Unmarshal(body, &mds)
22334		return mds, err
22335	case string(TypeMagentoSource):
22336		var ms MagentoSource
22337		err := json.Unmarshal(body, &ms)
22338		return ms, err
22339	case string(TypeJiraSource):
22340		var js JiraSource
22341		err := json.Unmarshal(body, &js)
22342		return js, err
22343	case string(TypeImpalaSource):
22344		var is ImpalaSource
22345		err := json.Unmarshal(body, &is)
22346		return is, err
22347	case string(TypeHubspotSource):
22348		var hs HubspotSource
22349		err := json.Unmarshal(body, &hs)
22350		return hs, err
22351	case string(TypeHiveSource):
22352		var hs HiveSource
22353		err := json.Unmarshal(body, &hs)
22354		return hs, err
22355	case string(TypeHBaseSource):
22356		var hbs HBaseSource
22357		err := json.Unmarshal(body, &hbs)
22358		return hbs, err
22359	case string(TypeGreenplumSource):
22360		var gs GreenplumSource
22361		err := json.Unmarshal(body, &gs)
22362		return gs, err
22363	case string(TypeGoogleBigQuerySource):
22364		var gbqs GoogleBigQuerySource
22365		err := json.Unmarshal(body, &gbqs)
22366		return gbqs, err
22367	case string(TypeEloquaSource):
22368		var es EloquaSource
22369		err := json.Unmarshal(body, &es)
22370		return es, err
22371	case string(TypeDrillSource):
22372		var ds DrillSource
22373		err := json.Unmarshal(body, &ds)
22374		return ds, err
22375	case string(TypeCouchbaseSource):
22376		var cs CouchbaseSource
22377		err := json.Unmarshal(body, &cs)
22378		return cs, err
22379	case string(TypeConcurSource):
22380		var cs ConcurSource
22381		err := json.Unmarshal(body, &cs)
22382		return cs, err
22383	case string(TypeAzurePostgreSQLSource):
22384		var apss AzurePostgreSQLSource
22385		err := json.Unmarshal(body, &apss)
22386		return apss, err
22387	case string(TypeAmazonMWSSource):
22388		var ams AmazonMWSSource
22389		err := json.Unmarshal(body, &ams)
22390		return ams, err
22391	case string(TypeHTTPSource):
22392		var hs HTTPSource
22393		err := json.Unmarshal(body, &hs)
22394		return hs, err
22395	case string(TypeAzureDataLakeStoreSource):
22396		var adlss AzureDataLakeStoreSource
22397		err := json.Unmarshal(body, &adlss)
22398		return adlss, err
22399	case string(TypeMongoDbSource):
22400		var mds MongoDbSource
22401		err := json.Unmarshal(body, &mds)
22402		return mds, err
22403	case string(TypeCassandraSource):
22404		var cs CassandraSource
22405		err := json.Unmarshal(body, &cs)
22406		return cs, err
22407	case string(TypeWebSource):
22408		var ws WebSource
22409		err := json.Unmarshal(body, &ws)
22410		return ws, err
22411	case string(TypeOracleSource):
22412		var osVar OracleSource
22413		err := json.Unmarshal(body, &osVar)
22414		return osVar, err
22415	case string(TypeAzureMySQLSource):
22416		var amss AzureMySQLSource
22417		err := json.Unmarshal(body, &amss)
22418		return amss, err
22419	case string(TypeHdfsSource):
22420		var hs HdfsSource
22421		err := json.Unmarshal(body, &hs)
22422		return hs, err
22423	case string(TypeFileSystemSource):
22424		var fss FileSystemSource
22425		err := json.Unmarshal(body, &fss)
22426		return fss, err
22427	case string(TypeSQLDWSource):
22428		var sds SQLDWSource
22429		err := json.Unmarshal(body, &sds)
22430		return sds, err
22431	case string(TypeSQLSource):
22432		var ss SQLSource
22433		err := json.Unmarshal(body, &ss)
22434		return ss, err
22435	case string(TypeSapEccSource):
22436		var ses SapEccSource
22437		err := json.Unmarshal(body, &ses)
22438		return ses, err
22439	case string(TypeSapCloudForCustomerSource):
22440		var scfcs SapCloudForCustomerSource
22441		err := json.Unmarshal(body, &scfcs)
22442		return scfcs, err
22443	case string(TypeSalesforceSource):
22444		var ss SalesforceSource
22445		err := json.Unmarshal(body, &ss)
22446		return ss, err
22447	case string(TypeRelationalSource):
22448		var rs RelationalSource
22449		err := json.Unmarshal(body, &rs)
22450		return rs, err
22451	case string(TypeDynamicsSource):
22452		var ds DynamicsSource
22453		err := json.Unmarshal(body, &ds)
22454		return ds, err
22455	case string(TypeDocumentDbCollectionSource):
22456		var ddcs DocumentDbCollectionSource
22457		err := json.Unmarshal(body, &ddcs)
22458		return ddcs, err
22459	case string(TypeBlobSource):
22460		var bs BlobSource
22461		err := json.Unmarshal(body, &bs)
22462		return bs, err
22463	case string(TypeAzureTableSource):
22464		var ats AzureTableSource
22465		err := json.Unmarshal(body, &ats)
22466		return ats, err
22467	default:
22468		var cs CopySource
22469		err := json.Unmarshal(body, &cs)
22470		return cs, err
22471	}
22472}
22473func unmarshalBasicCopySourceArray(body []byte) ([]BasicCopySource, error) {
22474	var rawMessages []*json.RawMessage
22475	err := json.Unmarshal(body, &rawMessages)
22476	if err != nil {
22477		return nil, err
22478	}
22479
22480	csArray := make([]BasicCopySource, len(rawMessages))
22481
22482	for index, rawMessage := range rawMessages {
22483		cs, err := unmarshalBasicCopySource(*rawMessage)
22484		if err != nil {
22485			return nil, err
22486		}
22487		csArray[index] = cs
22488	}
22489	return csArray, nil
22490}
22491
22492// MarshalJSON is the custom marshaler for CopySource.
22493func (cs CopySource) MarshalJSON() ([]byte, error) {
22494	cs.Type = TypeCopySource
22495	objectMap := make(map[string]interface{})
22496	if cs.SourceRetryCount != nil {
22497		objectMap["sourceRetryCount"] = cs.SourceRetryCount
22498	}
22499	if cs.SourceRetryWait != nil {
22500		objectMap["sourceRetryWait"] = cs.SourceRetryWait
22501	}
22502	if cs.Type != "" {
22503		objectMap["type"] = cs.Type
22504	}
22505	for k, v := range cs.AdditionalProperties {
22506		objectMap[k] = v
22507	}
22508	return json.Marshal(objectMap)
22509}
22510
22511// AsAmazonRedshiftSource is the BasicCopySource implementation for CopySource.
22512func (cs CopySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
22513	return nil, false
22514}
22515
22516// AsResponsysSource is the BasicCopySource implementation for CopySource.
22517func (cs CopySource) AsResponsysSource() (*ResponsysSource, bool) {
22518	return nil, false
22519}
22520
22521// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CopySource.
22522func (cs CopySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
22523	return nil, false
22524}
22525
22526// AsVerticaSource is the BasicCopySource implementation for CopySource.
22527func (cs CopySource) AsVerticaSource() (*VerticaSource, bool) {
22528	return nil, false
22529}
22530
22531// AsNetezzaSource is the BasicCopySource implementation for CopySource.
22532func (cs CopySource) AsNetezzaSource() (*NetezzaSource, bool) {
22533	return nil, false
22534}
22535
22536// AsZohoSource is the BasicCopySource implementation for CopySource.
22537func (cs CopySource) AsZohoSource() (*ZohoSource, bool) {
22538	return nil, false
22539}
22540
22541// AsXeroSource is the BasicCopySource implementation for CopySource.
22542func (cs CopySource) AsXeroSource() (*XeroSource, bool) {
22543	return nil, false
22544}
22545
22546// AsSquareSource is the BasicCopySource implementation for CopySource.
22547func (cs CopySource) AsSquareSource() (*SquareSource, bool) {
22548	return nil, false
22549}
22550
22551// AsSparkSource is the BasicCopySource implementation for CopySource.
22552func (cs CopySource) AsSparkSource() (*SparkSource, bool) {
22553	return nil, false
22554}
22555
22556// AsShopifySource is the BasicCopySource implementation for CopySource.
22557func (cs CopySource) AsShopifySource() (*ShopifySource, bool) {
22558	return nil, false
22559}
22560
22561// AsServiceNowSource is the BasicCopySource implementation for CopySource.
22562func (cs CopySource) AsServiceNowSource() (*ServiceNowSource, bool) {
22563	return nil, false
22564}
22565
22566// AsQuickBooksSource is the BasicCopySource implementation for CopySource.
22567func (cs CopySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
22568	return nil, false
22569}
22570
22571// AsPrestoSource is the BasicCopySource implementation for CopySource.
22572func (cs CopySource) AsPrestoSource() (*PrestoSource, bool) {
22573	return nil, false
22574}
22575
22576// AsPhoenixSource is the BasicCopySource implementation for CopySource.
22577func (cs CopySource) AsPhoenixSource() (*PhoenixSource, bool) {
22578	return nil, false
22579}
22580
22581// AsPaypalSource is the BasicCopySource implementation for CopySource.
22582func (cs CopySource) AsPaypalSource() (*PaypalSource, bool) {
22583	return nil, false
22584}
22585
22586// AsMarketoSource is the BasicCopySource implementation for CopySource.
22587func (cs CopySource) AsMarketoSource() (*MarketoSource, bool) {
22588	return nil, false
22589}
22590
22591// AsMariaDBSource is the BasicCopySource implementation for CopySource.
22592func (cs CopySource) AsMariaDBSource() (*MariaDBSource, bool) {
22593	return nil, false
22594}
22595
22596// AsMagentoSource is the BasicCopySource implementation for CopySource.
22597func (cs CopySource) AsMagentoSource() (*MagentoSource, bool) {
22598	return nil, false
22599}
22600
22601// AsJiraSource is the BasicCopySource implementation for CopySource.
22602func (cs CopySource) AsJiraSource() (*JiraSource, bool) {
22603	return nil, false
22604}
22605
22606// AsImpalaSource is the BasicCopySource implementation for CopySource.
22607func (cs CopySource) AsImpalaSource() (*ImpalaSource, bool) {
22608	return nil, false
22609}
22610
22611// AsHubspotSource is the BasicCopySource implementation for CopySource.
22612func (cs CopySource) AsHubspotSource() (*HubspotSource, bool) {
22613	return nil, false
22614}
22615
22616// AsHiveSource is the BasicCopySource implementation for CopySource.
22617func (cs CopySource) AsHiveSource() (*HiveSource, bool) {
22618	return nil, false
22619}
22620
22621// AsHBaseSource is the BasicCopySource implementation for CopySource.
22622func (cs CopySource) AsHBaseSource() (*HBaseSource, bool) {
22623	return nil, false
22624}
22625
22626// AsGreenplumSource is the BasicCopySource implementation for CopySource.
22627func (cs CopySource) AsGreenplumSource() (*GreenplumSource, bool) {
22628	return nil, false
22629}
22630
22631// AsGoogleBigQuerySource is the BasicCopySource implementation for CopySource.
22632func (cs CopySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
22633	return nil, false
22634}
22635
22636// AsEloquaSource is the BasicCopySource implementation for CopySource.
22637func (cs CopySource) AsEloquaSource() (*EloquaSource, bool) {
22638	return nil, false
22639}
22640
22641// AsDrillSource is the BasicCopySource implementation for CopySource.
22642func (cs CopySource) AsDrillSource() (*DrillSource, bool) {
22643	return nil, false
22644}
22645
22646// AsCouchbaseSource is the BasicCopySource implementation for CopySource.
22647func (cs CopySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
22648	return nil, false
22649}
22650
22651// AsConcurSource is the BasicCopySource implementation for CopySource.
22652func (cs CopySource) AsConcurSource() (*ConcurSource, bool) {
22653	return nil, false
22654}
22655
22656// AsAzurePostgreSQLSource is the BasicCopySource implementation for CopySource.
22657func (cs CopySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
22658	return nil, false
22659}
22660
22661// AsAmazonMWSSource is the BasicCopySource implementation for CopySource.
22662func (cs CopySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
22663	return nil, false
22664}
22665
22666// AsHTTPSource is the BasicCopySource implementation for CopySource.
22667func (cs CopySource) AsHTTPSource() (*HTTPSource, bool) {
22668	return nil, false
22669}
22670
22671// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CopySource.
22672func (cs CopySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
22673	return nil, false
22674}
22675
22676// AsMongoDbSource is the BasicCopySource implementation for CopySource.
22677func (cs CopySource) AsMongoDbSource() (*MongoDbSource, bool) {
22678	return nil, false
22679}
22680
22681// AsCassandraSource is the BasicCopySource implementation for CopySource.
22682func (cs CopySource) AsCassandraSource() (*CassandraSource, bool) {
22683	return nil, false
22684}
22685
22686// AsWebSource is the BasicCopySource implementation for CopySource.
22687func (cs CopySource) AsWebSource() (*WebSource, bool) {
22688	return nil, false
22689}
22690
22691// AsOracleSource is the BasicCopySource implementation for CopySource.
22692func (cs CopySource) AsOracleSource() (*OracleSource, bool) {
22693	return nil, false
22694}
22695
22696// AsAzureMySQLSource is the BasicCopySource implementation for CopySource.
22697func (cs CopySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
22698	return nil, false
22699}
22700
22701// AsHdfsSource is the BasicCopySource implementation for CopySource.
22702func (cs CopySource) AsHdfsSource() (*HdfsSource, bool) {
22703	return nil, false
22704}
22705
22706// AsFileSystemSource is the BasicCopySource implementation for CopySource.
22707func (cs CopySource) AsFileSystemSource() (*FileSystemSource, bool) {
22708	return nil, false
22709}
22710
22711// AsSQLDWSource is the BasicCopySource implementation for CopySource.
22712func (cs CopySource) AsSQLDWSource() (*SQLDWSource, bool) {
22713	return nil, false
22714}
22715
22716// AsSQLSource is the BasicCopySource implementation for CopySource.
22717func (cs CopySource) AsSQLSource() (*SQLSource, bool) {
22718	return nil, false
22719}
22720
22721// AsSapEccSource is the BasicCopySource implementation for CopySource.
22722func (cs CopySource) AsSapEccSource() (*SapEccSource, bool) {
22723	return nil, false
22724}
22725
22726// AsSapCloudForCustomerSource is the BasicCopySource implementation for CopySource.
22727func (cs CopySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
22728	return nil, false
22729}
22730
22731// AsSalesforceSource is the BasicCopySource implementation for CopySource.
22732func (cs CopySource) AsSalesforceSource() (*SalesforceSource, bool) {
22733	return nil, false
22734}
22735
22736// AsRelationalSource is the BasicCopySource implementation for CopySource.
22737func (cs CopySource) AsRelationalSource() (*RelationalSource, bool) {
22738	return nil, false
22739}
22740
22741// AsDynamicsSource is the BasicCopySource implementation for CopySource.
22742func (cs CopySource) AsDynamicsSource() (*DynamicsSource, bool) {
22743	return nil, false
22744}
22745
22746// AsDocumentDbCollectionSource is the BasicCopySource implementation for CopySource.
22747func (cs CopySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
22748	return nil, false
22749}
22750
22751// AsBlobSource is the BasicCopySource implementation for CopySource.
22752func (cs CopySource) AsBlobSource() (*BlobSource, bool) {
22753	return nil, false
22754}
22755
22756// AsAzureTableSource is the BasicCopySource implementation for CopySource.
22757func (cs CopySource) AsAzureTableSource() (*AzureTableSource, bool) {
22758	return nil, false
22759}
22760
22761// AsCopySource is the BasicCopySource implementation for CopySource.
22762func (cs CopySource) AsCopySource() (*CopySource, bool) {
22763	return &cs, true
22764}
22765
22766// AsBasicCopySource is the BasicCopySource implementation for CopySource.
22767func (cs CopySource) AsBasicCopySource() (BasicCopySource, bool) {
22768	return &cs, true
22769}
22770
22771// UnmarshalJSON is the custom unmarshaler for CopySource struct.
22772func (cs *CopySource) UnmarshalJSON(body []byte) error {
22773	var m map[string]*json.RawMessage
22774	err := json.Unmarshal(body, &m)
22775	if err != nil {
22776		return err
22777	}
22778	for k, v := range m {
22779		switch k {
22780		default:
22781			if v != nil {
22782				var additionalProperties interface{}
22783				err = json.Unmarshal(*v, &additionalProperties)
22784				if err != nil {
22785					return err
22786				}
22787				if cs.AdditionalProperties == nil {
22788					cs.AdditionalProperties = make(map[string]interface{})
22789				}
22790				cs.AdditionalProperties[k] = additionalProperties
22791			}
22792		case "sourceRetryCount":
22793			if v != nil {
22794				var sourceRetryCount interface{}
22795				err = json.Unmarshal(*v, &sourceRetryCount)
22796				if err != nil {
22797					return err
22798				}
22799				cs.SourceRetryCount = sourceRetryCount
22800			}
22801		case "sourceRetryWait":
22802			if v != nil {
22803				var sourceRetryWait interface{}
22804				err = json.Unmarshal(*v, &sourceRetryWait)
22805				if err != nil {
22806					return err
22807				}
22808				cs.SourceRetryWait = sourceRetryWait
22809			}
22810		case "type":
22811			if v != nil {
22812				var typeVar TypeBasicCopySource
22813				err = json.Unmarshal(*v, &typeVar)
22814				if err != nil {
22815					return err
22816				}
22817				cs.Type = typeVar
22818			}
22819		}
22820	}
22821
22822	return nil
22823}
22824
22825// CosmosDbLinkedService microsoft Azure Cosmos Database (CosmosDB) linked service.
22826type CosmosDbLinkedService struct {
22827	// CosmosDbLinkedServiceTypeProperties - CosmosDB linked service properties.
22828	*CosmosDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
22829	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
22830	AdditionalProperties map[string]interface{} `json:""`
22831	// ConnectVia - The integration runtime reference.
22832	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
22833	// Description - Linked service description.
22834	Description *string `json:"description,omitempty"`
22835	// Parameters - Parameters for linked service.
22836	Parameters map[string]*ParameterSpecification `json:"parameters"`
22837	// Annotations - List of tags that can be used for describing the Dataset.
22838	Annotations *[]interface{} `json:"annotations,omitempty"`
22839	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
22840	Type TypeBasicLinkedService `json:"type,omitempty"`
22841}
22842
22843// MarshalJSON is the custom marshaler for CosmosDbLinkedService.
22844func (cdls CosmosDbLinkedService) MarshalJSON() ([]byte, error) {
22845	cdls.Type = TypeCosmosDb
22846	objectMap := make(map[string]interface{})
22847	if cdls.CosmosDbLinkedServiceTypeProperties != nil {
22848		objectMap["typeProperties"] = cdls.CosmosDbLinkedServiceTypeProperties
22849	}
22850	if cdls.ConnectVia != nil {
22851		objectMap["connectVia"] = cdls.ConnectVia
22852	}
22853	if cdls.Description != nil {
22854		objectMap["description"] = cdls.Description
22855	}
22856	if cdls.Parameters != nil {
22857		objectMap["parameters"] = cdls.Parameters
22858	}
22859	if cdls.Annotations != nil {
22860		objectMap["annotations"] = cdls.Annotations
22861	}
22862	if cdls.Type != "" {
22863		objectMap["type"] = cdls.Type
22864	}
22865	for k, v := range cdls.AdditionalProperties {
22866		objectMap[k] = v
22867	}
22868	return json.Marshal(objectMap)
22869}
22870
22871// AsResponsysLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22872func (cdls CosmosDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
22873	return nil, false
22874}
22875
22876// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22877func (cdls CosmosDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
22878	return nil, false
22879}
22880
22881// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22882func (cdls CosmosDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
22883	return nil, false
22884}
22885
22886// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22887func (cdls CosmosDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
22888	return nil, false
22889}
22890
22891// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22892func (cdls CosmosDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
22893	return nil, false
22894}
22895
22896// AsNetezzaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22897func (cdls CosmosDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
22898	return nil, false
22899}
22900
22901// AsVerticaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22902func (cdls CosmosDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
22903	return nil, false
22904}
22905
22906// AsZohoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22907func (cdls CosmosDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
22908	return nil, false
22909}
22910
22911// AsXeroLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22912func (cdls CosmosDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
22913	return nil, false
22914}
22915
22916// AsSquareLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22917func (cdls CosmosDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
22918	return nil, false
22919}
22920
22921// AsSparkLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22922func (cdls CosmosDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
22923	return nil, false
22924}
22925
22926// AsShopifyLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22927func (cdls CosmosDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
22928	return nil, false
22929}
22930
22931// AsServiceNowLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22932func (cdls CosmosDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
22933	return nil, false
22934}
22935
22936// AsQuickBooksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22937func (cdls CosmosDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
22938	return nil, false
22939}
22940
22941// AsPrestoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22942func (cdls CosmosDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
22943	return nil, false
22944}
22945
22946// AsPhoenixLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22947func (cdls CosmosDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
22948	return nil, false
22949}
22950
22951// AsPaypalLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22952func (cdls CosmosDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
22953	return nil, false
22954}
22955
22956// AsMarketoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22957func (cdls CosmosDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
22958	return nil, false
22959}
22960
22961// AsMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22962func (cdls CosmosDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
22963	return nil, false
22964}
22965
22966// AsMagentoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22967func (cdls CosmosDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
22968	return nil, false
22969}
22970
22971// AsJiraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22972func (cdls CosmosDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
22973	return nil, false
22974}
22975
22976// AsImpalaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22977func (cdls CosmosDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
22978	return nil, false
22979}
22980
22981// AsHubspotLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22982func (cdls CosmosDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
22983	return nil, false
22984}
22985
22986// AsHiveLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22987func (cdls CosmosDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
22988	return nil, false
22989}
22990
22991// AsHBaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22992func (cdls CosmosDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
22993	return nil, false
22994}
22995
22996// AsGreenplumLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22997func (cdls CosmosDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
22998	return nil, false
22999}
23000
23001// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23002func (cdls CosmosDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
23003	return nil, false
23004}
23005
23006// AsEloquaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23007func (cdls CosmosDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
23008	return nil, false
23009}
23010
23011// AsDrillLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23012func (cdls CosmosDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
23013	return nil, false
23014}
23015
23016// AsCouchbaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23017func (cdls CosmosDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
23018	return nil, false
23019}
23020
23021// AsConcurLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23022func (cdls CosmosDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
23023	return nil, false
23024}
23025
23026// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23027func (cdls CosmosDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
23028	return nil, false
23029}
23030
23031// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23032func (cdls CosmosDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
23033	return nil, false
23034}
23035
23036// AsSapHanaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23037func (cdls CosmosDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
23038	return nil, false
23039}
23040
23041// AsSapBWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23042func (cdls CosmosDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
23043	return nil, false
23044}
23045
23046// AsSftpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23047func (cdls CosmosDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
23048	return nil, false
23049}
23050
23051// AsFtpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23052func (cdls CosmosDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
23053	return nil, false
23054}
23055
23056// AsHTTPLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23057func (cdls CosmosDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
23058	return nil, false
23059}
23060
23061// AsAzureSearchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23062func (cdls CosmosDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
23063	return nil, false
23064}
23065
23066// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23067func (cdls CosmosDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
23068	return nil, false
23069}
23070
23071// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23072func (cdls CosmosDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
23073	return nil, false
23074}
23075
23076// AsAmazonS3LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23077func (cdls CosmosDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
23078	return nil, false
23079}
23080
23081// AsSapEccLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23082func (cdls CosmosDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
23083	return nil, false
23084}
23085
23086// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23087func (cdls CosmosDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
23088	return nil, false
23089}
23090
23091// AsSalesforceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23092func (cdls CosmosDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
23093	return nil, false
23094}
23095
23096// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23097func (cdls CosmosDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
23098	return nil, false
23099}
23100
23101// AsMongoDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23102func (cdls CosmosDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
23103	return nil, false
23104}
23105
23106// AsCassandraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23107func (cdls CosmosDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
23108	return nil, false
23109}
23110
23111// AsWebLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23112func (cdls CosmosDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
23113	return nil, false
23114}
23115
23116// AsODataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23117func (cdls CosmosDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
23118	return nil, false
23119}
23120
23121// AsHdfsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23122func (cdls CosmosDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
23123	return nil, false
23124}
23125
23126// AsOdbcLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23127func (cdls CosmosDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
23128	return nil, false
23129}
23130
23131// AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23132func (cdls CosmosDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
23133	return nil, false
23134}
23135
23136// AsTeradataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23137func (cdls CosmosDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
23138	return nil, false
23139}
23140
23141// AsDb2LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23142func (cdls CosmosDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
23143	return nil, false
23144}
23145
23146// AsSybaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23147func (cdls CosmosDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
23148	return nil, false
23149}
23150
23151// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23152func (cdls CosmosDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
23153	return nil, false
23154}
23155
23156// AsMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23157func (cdls CosmosDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
23158	return nil, false
23159}
23160
23161// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23162func (cdls CosmosDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
23163	return nil, false
23164}
23165
23166// AsOracleLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23167func (cdls CosmosDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
23168	return nil, false
23169}
23170
23171// AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23172func (cdls CosmosDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
23173	return nil, false
23174}
23175
23176// AsHDInsightLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23177func (cdls CosmosDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
23178	return nil, false
23179}
23180
23181// AsDynamicsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23182func (cdls CosmosDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
23183	return nil, false
23184}
23185
23186// AsCosmosDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23187func (cdls CosmosDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
23188	return &cdls, true
23189}
23190
23191// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23192func (cdls CosmosDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
23193	return nil, false
23194}
23195
23196// AsAzureBatchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23197func (cdls CosmosDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
23198	return nil, false
23199}
23200
23201// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23202func (cdls CosmosDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
23203	return nil, false
23204}
23205
23206// AsSQLServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23207func (cdls CosmosDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
23208	return nil, false
23209}
23210
23211// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23212func (cdls CosmosDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
23213	return nil, false
23214}
23215
23216// AsAzureStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23217func (cdls CosmosDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
23218	return nil, false
23219}
23220
23221// AsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23222func (cdls CosmosDbLinkedService) AsLinkedService() (*LinkedService, bool) {
23223	return nil, false
23224}
23225
23226// AsBasicLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23227func (cdls CosmosDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
23228	return &cdls, true
23229}
23230
23231// UnmarshalJSON is the custom unmarshaler for CosmosDbLinkedService struct.
23232func (cdls *CosmosDbLinkedService) UnmarshalJSON(body []byte) error {
23233	var m map[string]*json.RawMessage
23234	err := json.Unmarshal(body, &m)
23235	if err != nil {
23236		return err
23237	}
23238	for k, v := range m {
23239		switch k {
23240		case "typeProperties":
23241			if v != nil {
23242				var cosmosDbLinkedServiceTypeProperties CosmosDbLinkedServiceTypeProperties
23243				err = json.Unmarshal(*v, &cosmosDbLinkedServiceTypeProperties)
23244				if err != nil {
23245					return err
23246				}
23247				cdls.CosmosDbLinkedServiceTypeProperties = &cosmosDbLinkedServiceTypeProperties
23248			}
23249		default:
23250			if v != nil {
23251				var additionalProperties interface{}
23252				err = json.Unmarshal(*v, &additionalProperties)
23253				if err != nil {
23254					return err
23255				}
23256				if cdls.AdditionalProperties == nil {
23257					cdls.AdditionalProperties = make(map[string]interface{})
23258				}
23259				cdls.AdditionalProperties[k] = additionalProperties
23260			}
23261		case "connectVia":
23262			if v != nil {
23263				var connectVia IntegrationRuntimeReference
23264				err = json.Unmarshal(*v, &connectVia)
23265				if err != nil {
23266					return err
23267				}
23268				cdls.ConnectVia = &connectVia
23269			}
23270		case "description":
23271			if v != nil {
23272				var description string
23273				err = json.Unmarshal(*v, &description)
23274				if err != nil {
23275					return err
23276				}
23277				cdls.Description = &description
23278			}
23279		case "parameters":
23280			if v != nil {
23281				var parameters map[string]*ParameterSpecification
23282				err = json.Unmarshal(*v, &parameters)
23283				if err != nil {
23284					return err
23285				}
23286				cdls.Parameters = parameters
23287			}
23288		case "annotations":
23289			if v != nil {
23290				var annotations []interface{}
23291				err = json.Unmarshal(*v, &annotations)
23292				if err != nil {
23293					return err
23294				}
23295				cdls.Annotations = &annotations
23296			}
23297		case "type":
23298			if v != nil {
23299				var typeVar TypeBasicLinkedService
23300				err = json.Unmarshal(*v, &typeVar)
23301				if err != nil {
23302					return err
23303				}
23304				cdls.Type = typeVar
23305			}
23306		}
23307	}
23308
23309	return nil
23310}
23311
23312// CosmosDbLinkedServiceTypeProperties cosmosDB linked service properties.
23313type CosmosDbLinkedServiceTypeProperties struct {
23314	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
23315	ConnectionString interface{} `json:"connectionString,omitempty"`
23316	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
23317	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
23318}
23319
23320// CouchbaseLinkedService couchbase server linked service.
23321type CouchbaseLinkedService struct {
23322	// CouchbaseLinkedServiceTypeProperties - Couchbase server linked service properties.
23323	*CouchbaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
23324	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
23325	AdditionalProperties map[string]interface{} `json:""`
23326	// ConnectVia - The integration runtime reference.
23327	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
23328	// Description - Linked service description.
23329	Description *string `json:"description,omitempty"`
23330	// Parameters - Parameters for linked service.
23331	Parameters map[string]*ParameterSpecification `json:"parameters"`
23332	// Annotations - List of tags that can be used for describing the Dataset.
23333	Annotations *[]interface{} `json:"annotations,omitempty"`
23334	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
23335	Type TypeBasicLinkedService `json:"type,omitempty"`
23336}
23337
23338// MarshalJSON is the custom marshaler for CouchbaseLinkedService.
23339func (cls CouchbaseLinkedService) MarshalJSON() ([]byte, error) {
23340	cls.Type = TypeCouchbase
23341	objectMap := make(map[string]interface{})
23342	if cls.CouchbaseLinkedServiceTypeProperties != nil {
23343		objectMap["typeProperties"] = cls.CouchbaseLinkedServiceTypeProperties
23344	}
23345	if cls.ConnectVia != nil {
23346		objectMap["connectVia"] = cls.ConnectVia
23347	}
23348	if cls.Description != nil {
23349		objectMap["description"] = cls.Description
23350	}
23351	if cls.Parameters != nil {
23352		objectMap["parameters"] = cls.Parameters
23353	}
23354	if cls.Annotations != nil {
23355		objectMap["annotations"] = cls.Annotations
23356	}
23357	if cls.Type != "" {
23358		objectMap["type"] = cls.Type
23359	}
23360	for k, v := range cls.AdditionalProperties {
23361		objectMap[k] = v
23362	}
23363	return json.Marshal(objectMap)
23364}
23365
23366// AsResponsysLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23367func (cls CouchbaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
23368	return nil, false
23369}
23370
23371// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23372func (cls CouchbaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
23373	return nil, false
23374}
23375
23376// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23377func (cls CouchbaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
23378	return nil, false
23379}
23380
23381// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23382func (cls CouchbaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
23383	return nil, false
23384}
23385
23386// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23387func (cls CouchbaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
23388	return nil, false
23389}
23390
23391// AsNetezzaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23392func (cls CouchbaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
23393	return nil, false
23394}
23395
23396// AsVerticaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23397func (cls CouchbaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
23398	return nil, false
23399}
23400
23401// AsZohoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23402func (cls CouchbaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
23403	return nil, false
23404}
23405
23406// AsXeroLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23407func (cls CouchbaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
23408	return nil, false
23409}
23410
23411// AsSquareLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23412func (cls CouchbaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
23413	return nil, false
23414}
23415
23416// AsSparkLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23417func (cls CouchbaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
23418	return nil, false
23419}
23420
23421// AsShopifyLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23422func (cls CouchbaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
23423	return nil, false
23424}
23425
23426// AsServiceNowLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23427func (cls CouchbaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
23428	return nil, false
23429}
23430
23431// AsQuickBooksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23432func (cls CouchbaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
23433	return nil, false
23434}
23435
23436// AsPrestoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23437func (cls CouchbaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
23438	return nil, false
23439}
23440
23441// AsPhoenixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23442func (cls CouchbaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
23443	return nil, false
23444}
23445
23446// AsPaypalLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23447func (cls CouchbaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
23448	return nil, false
23449}
23450
23451// AsMarketoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23452func (cls CouchbaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
23453	return nil, false
23454}
23455
23456// AsMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23457func (cls CouchbaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
23458	return nil, false
23459}
23460
23461// AsMagentoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23462func (cls CouchbaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
23463	return nil, false
23464}
23465
23466// AsJiraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23467func (cls CouchbaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
23468	return nil, false
23469}
23470
23471// AsImpalaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23472func (cls CouchbaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
23473	return nil, false
23474}
23475
23476// AsHubspotLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23477func (cls CouchbaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
23478	return nil, false
23479}
23480
23481// AsHiveLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23482func (cls CouchbaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
23483	return nil, false
23484}
23485
23486// AsHBaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23487func (cls CouchbaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
23488	return nil, false
23489}
23490
23491// AsGreenplumLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23492func (cls CouchbaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
23493	return nil, false
23494}
23495
23496// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23497func (cls CouchbaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
23498	return nil, false
23499}
23500
23501// AsEloquaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23502func (cls CouchbaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
23503	return nil, false
23504}
23505
23506// AsDrillLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23507func (cls CouchbaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
23508	return nil, false
23509}
23510
23511// AsCouchbaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23512func (cls CouchbaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
23513	return &cls, true
23514}
23515
23516// AsConcurLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23517func (cls CouchbaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
23518	return nil, false
23519}
23520
23521// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23522func (cls CouchbaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
23523	return nil, false
23524}
23525
23526// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23527func (cls CouchbaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
23528	return nil, false
23529}
23530
23531// AsSapHanaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23532func (cls CouchbaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
23533	return nil, false
23534}
23535
23536// AsSapBWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23537func (cls CouchbaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
23538	return nil, false
23539}
23540
23541// AsSftpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23542func (cls CouchbaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
23543	return nil, false
23544}
23545
23546// AsFtpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23547func (cls CouchbaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
23548	return nil, false
23549}
23550
23551// AsHTTPLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23552func (cls CouchbaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
23553	return nil, false
23554}
23555
23556// AsAzureSearchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23557func (cls CouchbaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
23558	return nil, false
23559}
23560
23561// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23562func (cls CouchbaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
23563	return nil, false
23564}
23565
23566// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23567func (cls CouchbaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
23568	return nil, false
23569}
23570
23571// AsAmazonS3LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23572func (cls CouchbaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
23573	return nil, false
23574}
23575
23576// AsSapEccLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23577func (cls CouchbaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
23578	return nil, false
23579}
23580
23581// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23582func (cls CouchbaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
23583	return nil, false
23584}
23585
23586// AsSalesforceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23587func (cls CouchbaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
23588	return nil, false
23589}
23590
23591// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23592func (cls CouchbaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
23593	return nil, false
23594}
23595
23596// AsMongoDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23597func (cls CouchbaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
23598	return nil, false
23599}
23600
23601// AsCassandraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23602func (cls CouchbaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
23603	return nil, false
23604}
23605
23606// AsWebLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23607func (cls CouchbaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
23608	return nil, false
23609}
23610
23611// AsODataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23612func (cls CouchbaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
23613	return nil, false
23614}
23615
23616// AsHdfsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23617func (cls CouchbaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
23618	return nil, false
23619}
23620
23621// AsOdbcLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23622func (cls CouchbaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
23623	return nil, false
23624}
23625
23626// AsAzureMLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23627func (cls CouchbaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
23628	return nil, false
23629}
23630
23631// AsTeradataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23632func (cls CouchbaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
23633	return nil, false
23634}
23635
23636// AsDb2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23637func (cls CouchbaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
23638	return nil, false
23639}
23640
23641// AsSybaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23642func (cls CouchbaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
23643	return nil, false
23644}
23645
23646// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23647func (cls CouchbaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
23648	return nil, false
23649}
23650
23651// AsMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23652func (cls CouchbaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
23653	return nil, false
23654}
23655
23656// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23657func (cls CouchbaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
23658	return nil, false
23659}
23660
23661// AsOracleLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23662func (cls CouchbaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
23663	return nil, false
23664}
23665
23666// AsFileServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23667func (cls CouchbaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
23668	return nil, false
23669}
23670
23671// AsHDInsightLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23672func (cls CouchbaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
23673	return nil, false
23674}
23675
23676// AsDynamicsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23677func (cls CouchbaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
23678	return nil, false
23679}
23680
23681// AsCosmosDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23682func (cls CouchbaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
23683	return nil, false
23684}
23685
23686// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23687func (cls CouchbaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
23688	return nil, false
23689}
23690
23691// AsAzureBatchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23692func (cls CouchbaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
23693	return nil, false
23694}
23695
23696// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23697func (cls CouchbaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
23698	return nil, false
23699}
23700
23701// AsSQLServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23702func (cls CouchbaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
23703	return nil, false
23704}
23705
23706// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23707func (cls CouchbaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
23708	return nil, false
23709}
23710
23711// AsAzureStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23712func (cls CouchbaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
23713	return nil, false
23714}
23715
23716// AsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23717func (cls CouchbaseLinkedService) AsLinkedService() (*LinkedService, bool) {
23718	return nil, false
23719}
23720
23721// AsBasicLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23722func (cls CouchbaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
23723	return &cls, true
23724}
23725
23726// UnmarshalJSON is the custom unmarshaler for CouchbaseLinkedService struct.
23727func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error {
23728	var m map[string]*json.RawMessage
23729	err := json.Unmarshal(body, &m)
23730	if err != nil {
23731		return err
23732	}
23733	for k, v := range m {
23734		switch k {
23735		case "typeProperties":
23736			if v != nil {
23737				var couchbaseLinkedServiceTypeProperties CouchbaseLinkedServiceTypeProperties
23738				err = json.Unmarshal(*v, &couchbaseLinkedServiceTypeProperties)
23739				if err != nil {
23740					return err
23741				}
23742				cls.CouchbaseLinkedServiceTypeProperties = &couchbaseLinkedServiceTypeProperties
23743			}
23744		default:
23745			if v != nil {
23746				var additionalProperties interface{}
23747				err = json.Unmarshal(*v, &additionalProperties)
23748				if err != nil {
23749					return err
23750				}
23751				if cls.AdditionalProperties == nil {
23752					cls.AdditionalProperties = make(map[string]interface{})
23753				}
23754				cls.AdditionalProperties[k] = additionalProperties
23755			}
23756		case "connectVia":
23757			if v != nil {
23758				var connectVia IntegrationRuntimeReference
23759				err = json.Unmarshal(*v, &connectVia)
23760				if err != nil {
23761					return err
23762				}
23763				cls.ConnectVia = &connectVia
23764			}
23765		case "description":
23766			if v != nil {
23767				var description string
23768				err = json.Unmarshal(*v, &description)
23769				if err != nil {
23770					return err
23771				}
23772				cls.Description = &description
23773			}
23774		case "parameters":
23775			if v != nil {
23776				var parameters map[string]*ParameterSpecification
23777				err = json.Unmarshal(*v, &parameters)
23778				if err != nil {
23779					return err
23780				}
23781				cls.Parameters = parameters
23782			}
23783		case "annotations":
23784			if v != nil {
23785				var annotations []interface{}
23786				err = json.Unmarshal(*v, &annotations)
23787				if err != nil {
23788					return err
23789				}
23790				cls.Annotations = &annotations
23791			}
23792		case "type":
23793			if v != nil {
23794				var typeVar TypeBasicLinkedService
23795				err = json.Unmarshal(*v, &typeVar)
23796				if err != nil {
23797					return err
23798				}
23799				cls.Type = typeVar
23800			}
23801		}
23802	}
23803
23804	return nil
23805}
23806
23807// CouchbaseLinkedServiceTypeProperties couchbase server linked service properties.
23808type CouchbaseLinkedServiceTypeProperties struct {
23809	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
23810	ConnectionString interface{} `json:"connectionString,omitempty"`
23811	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
23812	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
23813}
23814
23815// CouchbaseSource a copy activity Couchbase server source.
23816type CouchbaseSource struct {
23817	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
23818	Query interface{} `json:"query,omitempty"`
23819	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
23820	AdditionalProperties map[string]interface{} `json:""`
23821	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
23822	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
23823	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23824	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
23825	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
23826	Type TypeBasicCopySource `json:"type,omitempty"`
23827}
23828
23829// MarshalJSON is the custom marshaler for CouchbaseSource.
23830func (cs CouchbaseSource) MarshalJSON() ([]byte, error) {
23831	cs.Type = TypeCouchbaseSource
23832	objectMap := make(map[string]interface{})
23833	if cs.Query != nil {
23834		objectMap["query"] = cs.Query
23835	}
23836	if cs.SourceRetryCount != nil {
23837		objectMap["sourceRetryCount"] = cs.SourceRetryCount
23838	}
23839	if cs.SourceRetryWait != nil {
23840		objectMap["sourceRetryWait"] = cs.SourceRetryWait
23841	}
23842	if cs.Type != "" {
23843		objectMap["type"] = cs.Type
23844	}
23845	for k, v := range cs.AdditionalProperties {
23846		objectMap[k] = v
23847	}
23848	return json.Marshal(objectMap)
23849}
23850
23851// AsAmazonRedshiftSource is the BasicCopySource implementation for CouchbaseSource.
23852func (cs CouchbaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
23853	return nil, false
23854}
23855
23856// AsResponsysSource is the BasicCopySource implementation for CouchbaseSource.
23857func (cs CouchbaseSource) AsResponsysSource() (*ResponsysSource, bool) {
23858	return nil, false
23859}
23860
23861// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CouchbaseSource.
23862func (cs CouchbaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
23863	return nil, false
23864}
23865
23866// AsVerticaSource is the BasicCopySource implementation for CouchbaseSource.
23867func (cs CouchbaseSource) AsVerticaSource() (*VerticaSource, bool) {
23868	return nil, false
23869}
23870
23871// AsNetezzaSource is the BasicCopySource implementation for CouchbaseSource.
23872func (cs CouchbaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
23873	return nil, false
23874}
23875
23876// AsZohoSource is the BasicCopySource implementation for CouchbaseSource.
23877func (cs CouchbaseSource) AsZohoSource() (*ZohoSource, bool) {
23878	return nil, false
23879}
23880
23881// AsXeroSource is the BasicCopySource implementation for CouchbaseSource.
23882func (cs CouchbaseSource) AsXeroSource() (*XeroSource, bool) {
23883	return nil, false
23884}
23885
23886// AsSquareSource is the BasicCopySource implementation for CouchbaseSource.
23887func (cs CouchbaseSource) AsSquareSource() (*SquareSource, bool) {
23888	return nil, false
23889}
23890
23891// AsSparkSource is the BasicCopySource implementation for CouchbaseSource.
23892func (cs CouchbaseSource) AsSparkSource() (*SparkSource, bool) {
23893	return nil, false
23894}
23895
23896// AsShopifySource is the BasicCopySource implementation for CouchbaseSource.
23897func (cs CouchbaseSource) AsShopifySource() (*ShopifySource, bool) {
23898	return nil, false
23899}
23900
23901// AsServiceNowSource is the BasicCopySource implementation for CouchbaseSource.
23902func (cs CouchbaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
23903	return nil, false
23904}
23905
23906// AsQuickBooksSource is the BasicCopySource implementation for CouchbaseSource.
23907func (cs CouchbaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
23908	return nil, false
23909}
23910
23911// AsPrestoSource is the BasicCopySource implementation for CouchbaseSource.
23912func (cs CouchbaseSource) AsPrestoSource() (*PrestoSource, bool) {
23913	return nil, false
23914}
23915
23916// AsPhoenixSource is the BasicCopySource implementation for CouchbaseSource.
23917func (cs CouchbaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
23918	return nil, false
23919}
23920
23921// AsPaypalSource is the BasicCopySource implementation for CouchbaseSource.
23922func (cs CouchbaseSource) AsPaypalSource() (*PaypalSource, bool) {
23923	return nil, false
23924}
23925
23926// AsMarketoSource is the BasicCopySource implementation for CouchbaseSource.
23927func (cs CouchbaseSource) AsMarketoSource() (*MarketoSource, bool) {
23928	return nil, false
23929}
23930
23931// AsMariaDBSource is the BasicCopySource implementation for CouchbaseSource.
23932func (cs CouchbaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
23933	return nil, false
23934}
23935
23936// AsMagentoSource is the BasicCopySource implementation for CouchbaseSource.
23937func (cs CouchbaseSource) AsMagentoSource() (*MagentoSource, bool) {
23938	return nil, false
23939}
23940
23941// AsJiraSource is the BasicCopySource implementation for CouchbaseSource.
23942func (cs CouchbaseSource) AsJiraSource() (*JiraSource, bool) {
23943	return nil, false
23944}
23945
23946// AsImpalaSource is the BasicCopySource implementation for CouchbaseSource.
23947func (cs CouchbaseSource) AsImpalaSource() (*ImpalaSource, bool) {
23948	return nil, false
23949}
23950
23951// AsHubspotSource is the BasicCopySource implementation for CouchbaseSource.
23952func (cs CouchbaseSource) AsHubspotSource() (*HubspotSource, bool) {
23953	return nil, false
23954}
23955
23956// AsHiveSource is the BasicCopySource implementation for CouchbaseSource.
23957func (cs CouchbaseSource) AsHiveSource() (*HiveSource, bool) {
23958	return nil, false
23959}
23960
23961// AsHBaseSource is the BasicCopySource implementation for CouchbaseSource.
23962func (cs CouchbaseSource) AsHBaseSource() (*HBaseSource, bool) {
23963	return nil, false
23964}
23965
23966// AsGreenplumSource is the BasicCopySource implementation for CouchbaseSource.
23967func (cs CouchbaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
23968	return nil, false
23969}
23970
23971// AsGoogleBigQuerySource is the BasicCopySource implementation for CouchbaseSource.
23972func (cs CouchbaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
23973	return nil, false
23974}
23975
23976// AsEloquaSource is the BasicCopySource implementation for CouchbaseSource.
23977func (cs CouchbaseSource) AsEloquaSource() (*EloquaSource, bool) {
23978	return nil, false
23979}
23980
23981// AsDrillSource is the BasicCopySource implementation for CouchbaseSource.
23982func (cs CouchbaseSource) AsDrillSource() (*DrillSource, bool) {
23983	return nil, false
23984}
23985
23986// AsCouchbaseSource is the BasicCopySource implementation for CouchbaseSource.
23987func (cs CouchbaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
23988	return &cs, true
23989}
23990
23991// AsConcurSource is the BasicCopySource implementation for CouchbaseSource.
23992func (cs CouchbaseSource) AsConcurSource() (*ConcurSource, bool) {
23993	return nil, false
23994}
23995
23996// AsAzurePostgreSQLSource is the BasicCopySource implementation for CouchbaseSource.
23997func (cs CouchbaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
23998	return nil, false
23999}
24000
24001// AsAmazonMWSSource is the BasicCopySource implementation for CouchbaseSource.
24002func (cs CouchbaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
24003	return nil, false
24004}
24005
24006// AsHTTPSource is the BasicCopySource implementation for CouchbaseSource.
24007func (cs CouchbaseSource) AsHTTPSource() (*HTTPSource, bool) {
24008	return nil, false
24009}
24010
24011// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CouchbaseSource.
24012func (cs CouchbaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
24013	return nil, false
24014}
24015
24016// AsMongoDbSource is the BasicCopySource implementation for CouchbaseSource.
24017func (cs CouchbaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
24018	return nil, false
24019}
24020
24021// AsCassandraSource is the BasicCopySource implementation for CouchbaseSource.
24022func (cs CouchbaseSource) AsCassandraSource() (*CassandraSource, bool) {
24023	return nil, false
24024}
24025
24026// AsWebSource is the BasicCopySource implementation for CouchbaseSource.
24027func (cs CouchbaseSource) AsWebSource() (*WebSource, bool) {
24028	return nil, false
24029}
24030
24031// AsOracleSource is the BasicCopySource implementation for CouchbaseSource.
24032func (cs CouchbaseSource) AsOracleSource() (*OracleSource, bool) {
24033	return nil, false
24034}
24035
24036// AsAzureMySQLSource is the BasicCopySource implementation for CouchbaseSource.
24037func (cs CouchbaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
24038	return nil, false
24039}
24040
24041// AsHdfsSource is the BasicCopySource implementation for CouchbaseSource.
24042func (cs CouchbaseSource) AsHdfsSource() (*HdfsSource, bool) {
24043	return nil, false
24044}
24045
24046// AsFileSystemSource is the BasicCopySource implementation for CouchbaseSource.
24047func (cs CouchbaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
24048	return nil, false
24049}
24050
24051// AsSQLDWSource is the BasicCopySource implementation for CouchbaseSource.
24052func (cs CouchbaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
24053	return nil, false
24054}
24055
24056// AsSQLSource is the BasicCopySource implementation for CouchbaseSource.
24057func (cs CouchbaseSource) AsSQLSource() (*SQLSource, bool) {
24058	return nil, false
24059}
24060
24061// AsSapEccSource is the BasicCopySource implementation for CouchbaseSource.
24062func (cs CouchbaseSource) AsSapEccSource() (*SapEccSource, bool) {
24063	return nil, false
24064}
24065
24066// AsSapCloudForCustomerSource is the BasicCopySource implementation for CouchbaseSource.
24067func (cs CouchbaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
24068	return nil, false
24069}
24070
24071// AsSalesforceSource is the BasicCopySource implementation for CouchbaseSource.
24072func (cs CouchbaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
24073	return nil, false
24074}
24075
24076// AsRelationalSource is the BasicCopySource implementation for CouchbaseSource.
24077func (cs CouchbaseSource) AsRelationalSource() (*RelationalSource, bool) {
24078	return nil, false
24079}
24080
24081// AsDynamicsSource is the BasicCopySource implementation for CouchbaseSource.
24082func (cs CouchbaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
24083	return nil, false
24084}
24085
24086// AsDocumentDbCollectionSource is the BasicCopySource implementation for CouchbaseSource.
24087func (cs CouchbaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
24088	return nil, false
24089}
24090
24091// AsBlobSource is the BasicCopySource implementation for CouchbaseSource.
24092func (cs CouchbaseSource) AsBlobSource() (*BlobSource, bool) {
24093	return nil, false
24094}
24095
24096// AsAzureTableSource is the BasicCopySource implementation for CouchbaseSource.
24097func (cs CouchbaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
24098	return nil, false
24099}
24100
24101// AsCopySource is the BasicCopySource implementation for CouchbaseSource.
24102func (cs CouchbaseSource) AsCopySource() (*CopySource, bool) {
24103	return nil, false
24104}
24105
24106// AsBasicCopySource is the BasicCopySource implementation for CouchbaseSource.
24107func (cs CouchbaseSource) AsBasicCopySource() (BasicCopySource, bool) {
24108	return &cs, true
24109}
24110
24111// UnmarshalJSON is the custom unmarshaler for CouchbaseSource struct.
24112func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error {
24113	var m map[string]*json.RawMessage
24114	err := json.Unmarshal(body, &m)
24115	if err != nil {
24116		return err
24117	}
24118	for k, v := range m {
24119		switch k {
24120		case "query":
24121			if v != nil {
24122				var query interface{}
24123				err = json.Unmarshal(*v, &query)
24124				if err != nil {
24125					return err
24126				}
24127				cs.Query = query
24128			}
24129		default:
24130			if v != nil {
24131				var additionalProperties interface{}
24132				err = json.Unmarshal(*v, &additionalProperties)
24133				if err != nil {
24134					return err
24135				}
24136				if cs.AdditionalProperties == nil {
24137					cs.AdditionalProperties = make(map[string]interface{})
24138				}
24139				cs.AdditionalProperties[k] = additionalProperties
24140			}
24141		case "sourceRetryCount":
24142			if v != nil {
24143				var sourceRetryCount interface{}
24144				err = json.Unmarshal(*v, &sourceRetryCount)
24145				if err != nil {
24146					return err
24147				}
24148				cs.SourceRetryCount = sourceRetryCount
24149			}
24150		case "sourceRetryWait":
24151			if v != nil {
24152				var sourceRetryWait interface{}
24153				err = json.Unmarshal(*v, &sourceRetryWait)
24154				if err != nil {
24155					return err
24156				}
24157				cs.SourceRetryWait = sourceRetryWait
24158			}
24159		case "type":
24160			if v != nil {
24161				var typeVar TypeBasicCopySource
24162				err = json.Unmarshal(*v, &typeVar)
24163				if err != nil {
24164					return err
24165				}
24166				cs.Type = typeVar
24167			}
24168		}
24169	}
24170
24171	return nil
24172}
24173
24174// CouchbaseTableDataset couchbase server dataset.
24175type CouchbaseTableDataset struct {
24176	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
24177	AdditionalProperties map[string]interface{} `json:""`
24178	// Description - Dataset description.
24179	Description *string `json:"description,omitempty"`
24180	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
24181	Structure interface{} `json:"structure,omitempty"`
24182	// LinkedServiceName - Linked service reference.
24183	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
24184	// Parameters - Parameters for dataset.
24185	Parameters map[string]*ParameterSpecification `json:"parameters"`
24186	// Annotations - List of tags that can be used for describing the Dataset.
24187	Annotations *[]interface{} `json:"annotations,omitempty"`
24188	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
24189	Type TypeBasicDataset `json:"type,omitempty"`
24190}
24191
24192// MarshalJSON is the custom marshaler for CouchbaseTableDataset.
24193func (ctd CouchbaseTableDataset) MarshalJSON() ([]byte, error) {
24194	ctd.Type = TypeCouchbaseTable
24195	objectMap := make(map[string]interface{})
24196	if ctd.Description != nil {
24197		objectMap["description"] = ctd.Description
24198	}
24199	if ctd.Structure != nil {
24200		objectMap["structure"] = ctd.Structure
24201	}
24202	if ctd.LinkedServiceName != nil {
24203		objectMap["linkedServiceName"] = ctd.LinkedServiceName
24204	}
24205	if ctd.Parameters != nil {
24206		objectMap["parameters"] = ctd.Parameters
24207	}
24208	if ctd.Annotations != nil {
24209		objectMap["annotations"] = ctd.Annotations
24210	}
24211	if ctd.Type != "" {
24212		objectMap["type"] = ctd.Type
24213	}
24214	for k, v := range ctd.AdditionalProperties {
24215		objectMap[k] = v
24216	}
24217	return json.Marshal(objectMap)
24218}
24219
24220// AsResponsysObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24221func (ctd CouchbaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
24222	return nil, false
24223}
24224
24225// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24226func (ctd CouchbaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
24227	return nil, false
24228}
24229
24230// AsVerticaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24231func (ctd CouchbaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
24232	return nil, false
24233}
24234
24235// AsNetezzaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24236func (ctd CouchbaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
24237	return nil, false
24238}
24239
24240// AsZohoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24241func (ctd CouchbaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
24242	return nil, false
24243}
24244
24245// AsXeroObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24246func (ctd CouchbaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
24247	return nil, false
24248}
24249
24250// AsSquareObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24251func (ctd CouchbaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
24252	return nil, false
24253}
24254
24255// AsSparkObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24256func (ctd CouchbaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
24257	return nil, false
24258}
24259
24260// AsShopifyObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24261func (ctd CouchbaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
24262	return nil, false
24263}
24264
24265// AsServiceNowObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24266func (ctd CouchbaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
24267	return nil, false
24268}
24269
24270// AsQuickBooksObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24271func (ctd CouchbaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
24272	return nil, false
24273}
24274
24275// AsPrestoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24276func (ctd CouchbaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
24277	return nil, false
24278}
24279
24280// AsPhoenixObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24281func (ctd CouchbaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
24282	return nil, false
24283}
24284
24285// AsPaypalObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24286func (ctd CouchbaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
24287	return nil, false
24288}
24289
24290// AsMarketoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24291func (ctd CouchbaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
24292	return nil, false
24293}
24294
24295// AsMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24296func (ctd CouchbaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
24297	return nil, false
24298}
24299
24300// AsMagentoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24301func (ctd CouchbaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
24302	return nil, false
24303}
24304
24305// AsJiraObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24306func (ctd CouchbaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
24307	return nil, false
24308}
24309
24310// AsImpalaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24311func (ctd CouchbaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
24312	return nil, false
24313}
24314
24315// AsHubspotObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24316func (ctd CouchbaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
24317	return nil, false
24318}
24319
24320// AsHiveObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24321func (ctd CouchbaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
24322	return nil, false
24323}
24324
24325// AsHBaseObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24326func (ctd CouchbaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
24327	return nil, false
24328}
24329
24330// AsGreenplumTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24331func (ctd CouchbaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
24332	return nil, false
24333}
24334
24335// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24336func (ctd CouchbaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
24337	return nil, false
24338}
24339
24340// AsEloquaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24341func (ctd CouchbaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
24342	return nil, false
24343}
24344
24345// AsDrillTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24346func (ctd CouchbaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
24347	return nil, false
24348}
24349
24350// AsCouchbaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24351func (ctd CouchbaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
24352	return &ctd, true
24353}
24354
24355// AsConcurObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24356func (ctd CouchbaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
24357	return nil, false
24358}
24359
24360// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24361func (ctd CouchbaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
24362	return nil, false
24363}
24364
24365// AsAmazonMWSObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24366func (ctd CouchbaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
24367	return nil, false
24368}
24369
24370// AsHTTPDataset is the BasicDataset implementation for CouchbaseTableDataset.
24371func (ctd CouchbaseTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
24372	return nil, false
24373}
24374
24375// AsAzureSearchIndexDataset is the BasicDataset implementation for CouchbaseTableDataset.
24376func (ctd CouchbaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
24377	return nil, false
24378}
24379
24380// AsWebTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24381func (ctd CouchbaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
24382	return nil, false
24383}
24384
24385// AsSQLServerTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24386func (ctd CouchbaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
24387	return nil, false
24388}
24389
24390// AsSapEccResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
24391func (ctd CouchbaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
24392	return nil, false
24393}
24394
24395// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
24396func (ctd CouchbaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
24397	return nil, false
24398}
24399
24400// AsSalesforceObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24401func (ctd CouchbaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
24402	return nil, false
24403}
24404
24405// AsRelationalTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24406func (ctd CouchbaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
24407	return nil, false
24408}
24409
24410// AsAzureMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24411func (ctd CouchbaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
24412	return nil, false
24413}
24414
24415// AsOracleTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24416func (ctd CouchbaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
24417	return nil, false
24418}
24419
24420// AsODataResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
24421func (ctd CouchbaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
24422	return nil, false
24423}
24424
24425// AsMongoDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
24426func (ctd CouchbaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
24427	return nil, false
24428}
24429
24430// AsFileShareDataset is the BasicDataset implementation for CouchbaseTableDataset.
24431func (ctd CouchbaseTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
24432	return nil, false
24433}
24434
24435// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CouchbaseTableDataset.
24436func (ctd CouchbaseTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
24437	return nil, false
24438}
24439
24440// AsDynamicsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset.
24441func (ctd CouchbaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
24442	return nil, false
24443}
24444
24445// AsDocumentDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
24446func (ctd CouchbaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
24447	return nil, false
24448}
24449
24450// AsCustomDataset is the BasicDataset implementation for CouchbaseTableDataset.
24451func (ctd CouchbaseTableDataset) AsCustomDataset() (*CustomDataset, bool) {
24452	return nil, false
24453}
24454
24455// AsCassandraTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24456func (ctd CouchbaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
24457	return nil, false
24458}
24459
24460// AsAzureSQLDWTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24461func (ctd CouchbaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
24462	return nil, false
24463}
24464
24465// AsAzureSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24466func (ctd CouchbaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
24467	return nil, false
24468}
24469
24470// AsAzureTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24471func (ctd CouchbaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
24472	return nil, false
24473}
24474
24475// AsAzureBlobDataset is the BasicDataset implementation for CouchbaseTableDataset.
24476func (ctd CouchbaseTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
24477	return nil, false
24478}
24479
24480// AsAmazonS3Dataset is the BasicDataset implementation for CouchbaseTableDataset.
24481func (ctd CouchbaseTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
24482	return nil, false
24483}
24484
24485// AsDataset is the BasicDataset implementation for CouchbaseTableDataset.
24486func (ctd CouchbaseTableDataset) AsDataset() (*Dataset, bool) {
24487	return nil, false
24488}
24489
24490// AsBasicDataset is the BasicDataset implementation for CouchbaseTableDataset.
24491func (ctd CouchbaseTableDataset) AsBasicDataset() (BasicDataset, bool) {
24492	return &ctd, true
24493}
24494
24495// UnmarshalJSON is the custom unmarshaler for CouchbaseTableDataset struct.
24496func (ctd *CouchbaseTableDataset) UnmarshalJSON(body []byte) error {
24497	var m map[string]*json.RawMessage
24498	err := json.Unmarshal(body, &m)
24499	if err != nil {
24500		return err
24501	}
24502	for k, v := range m {
24503		switch k {
24504		default:
24505			if v != nil {
24506				var additionalProperties interface{}
24507				err = json.Unmarshal(*v, &additionalProperties)
24508				if err != nil {
24509					return err
24510				}
24511				if ctd.AdditionalProperties == nil {
24512					ctd.AdditionalProperties = make(map[string]interface{})
24513				}
24514				ctd.AdditionalProperties[k] = additionalProperties
24515			}
24516		case "description":
24517			if v != nil {
24518				var description string
24519				err = json.Unmarshal(*v, &description)
24520				if err != nil {
24521					return err
24522				}
24523				ctd.Description = &description
24524			}
24525		case "structure":
24526			if v != nil {
24527				var structure interface{}
24528				err = json.Unmarshal(*v, &structure)
24529				if err != nil {
24530					return err
24531				}
24532				ctd.Structure = structure
24533			}
24534		case "linkedServiceName":
24535			if v != nil {
24536				var linkedServiceName LinkedServiceReference
24537				err = json.Unmarshal(*v, &linkedServiceName)
24538				if err != nil {
24539					return err
24540				}
24541				ctd.LinkedServiceName = &linkedServiceName
24542			}
24543		case "parameters":
24544			if v != nil {
24545				var parameters map[string]*ParameterSpecification
24546				err = json.Unmarshal(*v, &parameters)
24547				if err != nil {
24548					return err
24549				}
24550				ctd.Parameters = parameters
24551			}
24552		case "annotations":
24553			if v != nil {
24554				var annotations []interface{}
24555				err = json.Unmarshal(*v, &annotations)
24556				if err != nil {
24557					return err
24558				}
24559				ctd.Annotations = &annotations
24560			}
24561		case "type":
24562			if v != nil {
24563				var typeVar TypeBasicDataset
24564				err = json.Unmarshal(*v, &typeVar)
24565				if err != nil {
24566					return err
24567				}
24568				ctd.Type = typeVar
24569			}
24570		}
24571	}
24572
24573	return nil
24574}
24575
24576// CreateRunResponse response body with a run identifier.
24577type CreateRunResponse struct {
24578	autorest.Response `json:"-"`
24579	// RunID - Identifier of a run.
24580	RunID *string `json:"runId,omitempty"`
24581}
24582
24583// CustomActivity custom activity type.
24584type CustomActivity struct {
24585	// CustomActivityTypeProperties - Custom activity properties.
24586	*CustomActivityTypeProperties `json:"typeProperties,omitempty"`
24587	// LinkedServiceName - Linked service reference.
24588	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
24589	// Policy - Activity policy.
24590	Policy *ActivityPolicy `json:"policy,omitempty"`
24591	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
24592	AdditionalProperties map[string]interface{} `json:""`
24593	// Name - Activity name.
24594	Name *string `json:"name,omitempty"`
24595	// Description - Activity description.
24596	Description *string `json:"description,omitempty"`
24597	// DependsOn - Activity depends on condition.
24598	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
24599	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
24600	Type TypeBasicActivity `json:"type,omitempty"`
24601}
24602
24603// MarshalJSON is the custom marshaler for CustomActivity.
24604func (ca CustomActivity) MarshalJSON() ([]byte, error) {
24605	ca.Type = TypeCustom
24606	objectMap := make(map[string]interface{})
24607	if ca.CustomActivityTypeProperties != nil {
24608		objectMap["typeProperties"] = ca.CustomActivityTypeProperties
24609	}
24610	if ca.LinkedServiceName != nil {
24611		objectMap["linkedServiceName"] = ca.LinkedServiceName
24612	}
24613	if ca.Policy != nil {
24614		objectMap["policy"] = ca.Policy
24615	}
24616	if ca.Name != nil {
24617		objectMap["name"] = ca.Name
24618	}
24619	if ca.Description != nil {
24620		objectMap["description"] = ca.Description
24621	}
24622	if ca.DependsOn != nil {
24623		objectMap["dependsOn"] = ca.DependsOn
24624	}
24625	if ca.Type != "" {
24626		objectMap["type"] = ca.Type
24627	}
24628	for k, v := range ca.AdditionalProperties {
24629		objectMap[k] = v
24630	}
24631	return json.Marshal(objectMap)
24632}
24633
24634// AsDatabricksNotebookActivity is the BasicActivity implementation for CustomActivity.
24635func (ca CustomActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
24636	return nil, false
24637}
24638
24639// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CustomActivity.
24640func (ca CustomActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
24641	return nil, false
24642}
24643
24644// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CustomActivity.
24645func (ca CustomActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
24646	return nil, false
24647}
24648
24649// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CustomActivity.
24650func (ca CustomActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
24651	return nil, false
24652}
24653
24654// AsGetMetadataActivity is the BasicActivity implementation for CustomActivity.
24655func (ca CustomActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
24656	return nil, false
24657}
24658
24659// AsWebActivity is the BasicActivity implementation for CustomActivity.
24660func (ca CustomActivity) AsWebActivity() (*WebActivity, bool) {
24661	return nil, false
24662}
24663
24664// AsLookupActivity is the BasicActivity implementation for CustomActivity.
24665func (ca CustomActivity) AsLookupActivity() (*LookupActivity, bool) {
24666	return nil, false
24667}
24668
24669// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CustomActivity.
24670func (ca CustomActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
24671	return nil, false
24672}
24673
24674// AsCustomActivity is the BasicActivity implementation for CustomActivity.
24675func (ca CustomActivity) AsCustomActivity() (*CustomActivity, bool) {
24676	return &ca, true
24677}
24678
24679// AsExecuteSSISPackageActivity is the BasicActivity implementation for CustomActivity.
24680func (ca CustomActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
24681	return nil, false
24682}
24683
24684// AsHDInsightSparkActivity is the BasicActivity implementation for CustomActivity.
24685func (ca CustomActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
24686	return nil, false
24687}
24688
24689// AsHDInsightStreamingActivity is the BasicActivity implementation for CustomActivity.
24690func (ca CustomActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
24691	return nil, false
24692}
24693
24694// AsHDInsightMapReduceActivity is the BasicActivity implementation for CustomActivity.
24695func (ca CustomActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
24696	return nil, false
24697}
24698
24699// AsHDInsightPigActivity is the BasicActivity implementation for CustomActivity.
24700func (ca CustomActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
24701	return nil, false
24702}
24703
24704// AsHDInsightHiveActivity is the BasicActivity implementation for CustomActivity.
24705func (ca CustomActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
24706	return nil, false
24707}
24708
24709// AsCopyActivity is the BasicActivity implementation for CustomActivity.
24710func (ca CustomActivity) AsCopyActivity() (*CopyActivity, bool) {
24711	return nil, false
24712}
24713
24714// AsExecutionActivity is the BasicActivity implementation for CustomActivity.
24715func (ca CustomActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
24716	return nil, false
24717}
24718
24719// AsBasicExecutionActivity is the BasicActivity implementation for CustomActivity.
24720func (ca CustomActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
24721	return &ca, true
24722}
24723
24724// AsFilterActivity is the BasicActivity implementation for CustomActivity.
24725func (ca CustomActivity) AsFilterActivity() (*FilterActivity, bool) {
24726	return nil, false
24727}
24728
24729// AsUntilActivity is the BasicActivity implementation for CustomActivity.
24730func (ca CustomActivity) AsUntilActivity() (*UntilActivity, bool) {
24731	return nil, false
24732}
24733
24734// AsWaitActivity is the BasicActivity implementation for CustomActivity.
24735func (ca CustomActivity) AsWaitActivity() (*WaitActivity, bool) {
24736	return nil, false
24737}
24738
24739// AsForEachActivity is the BasicActivity implementation for CustomActivity.
24740func (ca CustomActivity) AsForEachActivity() (*ForEachActivity, bool) {
24741	return nil, false
24742}
24743
24744// AsIfConditionActivity is the BasicActivity implementation for CustomActivity.
24745func (ca CustomActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
24746	return nil, false
24747}
24748
24749// AsExecutePipelineActivity is the BasicActivity implementation for CustomActivity.
24750func (ca CustomActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
24751	return nil, false
24752}
24753
24754// AsControlActivity is the BasicActivity implementation for CustomActivity.
24755func (ca CustomActivity) AsControlActivity() (*ControlActivity, bool) {
24756	return nil, false
24757}
24758
24759// AsBasicControlActivity is the BasicActivity implementation for CustomActivity.
24760func (ca CustomActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
24761	return nil, false
24762}
24763
24764// AsActivity is the BasicActivity implementation for CustomActivity.
24765func (ca CustomActivity) AsActivity() (*Activity, bool) {
24766	return nil, false
24767}
24768
24769// AsBasicActivity is the BasicActivity implementation for CustomActivity.
24770func (ca CustomActivity) AsBasicActivity() (BasicActivity, bool) {
24771	return &ca, true
24772}
24773
24774// UnmarshalJSON is the custom unmarshaler for CustomActivity struct.
24775func (ca *CustomActivity) UnmarshalJSON(body []byte) error {
24776	var m map[string]*json.RawMessage
24777	err := json.Unmarshal(body, &m)
24778	if err != nil {
24779		return err
24780	}
24781	for k, v := range m {
24782		switch k {
24783		case "typeProperties":
24784			if v != nil {
24785				var customActivityTypeProperties CustomActivityTypeProperties
24786				err = json.Unmarshal(*v, &customActivityTypeProperties)
24787				if err != nil {
24788					return err
24789				}
24790				ca.CustomActivityTypeProperties = &customActivityTypeProperties
24791			}
24792		case "linkedServiceName":
24793			if v != nil {
24794				var linkedServiceName LinkedServiceReference
24795				err = json.Unmarshal(*v, &linkedServiceName)
24796				if err != nil {
24797					return err
24798				}
24799				ca.LinkedServiceName = &linkedServiceName
24800			}
24801		case "policy":
24802			if v != nil {
24803				var policy ActivityPolicy
24804				err = json.Unmarshal(*v, &policy)
24805				if err != nil {
24806					return err
24807				}
24808				ca.Policy = &policy
24809			}
24810		default:
24811			if v != nil {
24812				var additionalProperties interface{}
24813				err = json.Unmarshal(*v, &additionalProperties)
24814				if err != nil {
24815					return err
24816				}
24817				if ca.AdditionalProperties == nil {
24818					ca.AdditionalProperties = make(map[string]interface{})
24819				}
24820				ca.AdditionalProperties[k] = additionalProperties
24821			}
24822		case "name":
24823			if v != nil {
24824				var name string
24825				err = json.Unmarshal(*v, &name)
24826				if err != nil {
24827					return err
24828				}
24829				ca.Name = &name
24830			}
24831		case "description":
24832			if v != nil {
24833				var description string
24834				err = json.Unmarshal(*v, &description)
24835				if err != nil {
24836					return err
24837				}
24838				ca.Description = &description
24839			}
24840		case "dependsOn":
24841			if v != nil {
24842				var dependsOn []ActivityDependency
24843				err = json.Unmarshal(*v, &dependsOn)
24844				if err != nil {
24845					return err
24846				}
24847				ca.DependsOn = &dependsOn
24848			}
24849		case "type":
24850			if v != nil {
24851				var typeVar TypeBasicActivity
24852				err = json.Unmarshal(*v, &typeVar)
24853				if err != nil {
24854					return err
24855				}
24856				ca.Type = typeVar
24857			}
24858		}
24859	}
24860
24861	return nil
24862}
24863
24864// CustomActivityReferenceObject reference objects for custom activity
24865type CustomActivityReferenceObject struct {
24866	// LinkedServices - Linked service references.
24867	LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"`
24868	// Datasets - Dataset references.
24869	Datasets *[]DatasetReference `json:"datasets,omitempty"`
24870}
24871
24872// CustomActivityTypeProperties custom activity properties.
24873type CustomActivityTypeProperties struct {
24874	// Command - Command for custom activity Type: string (or Expression with resultType string).
24875	Command interface{} `json:"command,omitempty"`
24876	// ResourceLinkedService - Resource linked service reference.
24877	ResourceLinkedService *LinkedServiceReference `json:"resourceLinkedService,omitempty"`
24878	// FolderPath - Folder path for resource files Type: string (or Expression with resultType string).
24879	FolderPath interface{} `json:"folderPath,omitempty"`
24880	// ReferenceObjects - Reference objects
24881	ReferenceObjects *CustomActivityReferenceObject `json:"referenceObjects,omitempty"`
24882	// ExtendedProperties - User defined property bag. There is no restriction on the keys or values that can be used. The user specified custom activity has the full responsibility to consume and interpret the content defined.
24883	ExtendedProperties map[string]interface{} `json:"extendedProperties"`
24884}
24885
24886// MarshalJSON is the custom marshaler for CustomActivityTypeProperties.
24887func (catp CustomActivityTypeProperties) MarshalJSON() ([]byte, error) {
24888	objectMap := make(map[string]interface{})
24889	if catp.Command != nil {
24890		objectMap["command"] = catp.Command
24891	}
24892	if catp.ResourceLinkedService != nil {
24893		objectMap["resourceLinkedService"] = catp.ResourceLinkedService
24894	}
24895	if catp.FolderPath != nil {
24896		objectMap["folderPath"] = catp.FolderPath
24897	}
24898	if catp.ReferenceObjects != nil {
24899		objectMap["referenceObjects"] = catp.ReferenceObjects
24900	}
24901	if catp.ExtendedProperties != nil {
24902		objectMap["extendedProperties"] = catp.ExtendedProperties
24903	}
24904	return json.Marshal(objectMap)
24905}
24906
24907// CustomDataset the custom dataset.
24908type CustomDataset struct {
24909	// TypeProperties - Custom dataset properties.
24910	TypeProperties interface{} `json:"typeProperties,omitempty"`
24911	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
24912	AdditionalProperties map[string]interface{} `json:""`
24913	// Description - Dataset description.
24914	Description *string `json:"description,omitempty"`
24915	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
24916	Structure interface{} `json:"structure,omitempty"`
24917	// LinkedServiceName - Linked service reference.
24918	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
24919	// Parameters - Parameters for dataset.
24920	Parameters map[string]*ParameterSpecification `json:"parameters"`
24921	// Annotations - List of tags that can be used for describing the Dataset.
24922	Annotations *[]interface{} `json:"annotations,omitempty"`
24923	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
24924	Type TypeBasicDataset `json:"type,omitempty"`
24925}
24926
24927// MarshalJSON is the custom marshaler for CustomDataset.
24928func (cd CustomDataset) MarshalJSON() ([]byte, error) {
24929	cd.Type = TypeCustomDataset
24930	objectMap := make(map[string]interface{})
24931	if cd.TypeProperties != nil {
24932		objectMap["typeProperties"] = cd.TypeProperties
24933	}
24934	if cd.Description != nil {
24935		objectMap["description"] = cd.Description
24936	}
24937	if cd.Structure != nil {
24938		objectMap["structure"] = cd.Structure
24939	}
24940	if cd.LinkedServiceName != nil {
24941		objectMap["linkedServiceName"] = cd.LinkedServiceName
24942	}
24943	if cd.Parameters != nil {
24944		objectMap["parameters"] = cd.Parameters
24945	}
24946	if cd.Annotations != nil {
24947		objectMap["annotations"] = cd.Annotations
24948	}
24949	if cd.Type != "" {
24950		objectMap["type"] = cd.Type
24951	}
24952	for k, v := range cd.AdditionalProperties {
24953		objectMap[k] = v
24954	}
24955	return json.Marshal(objectMap)
24956}
24957
24958// AsResponsysObjectDataset is the BasicDataset implementation for CustomDataset.
24959func (cd CustomDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
24960	return nil, false
24961}
24962
24963// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CustomDataset.
24964func (cd CustomDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
24965	return nil, false
24966}
24967
24968// AsVerticaTableDataset is the BasicDataset implementation for CustomDataset.
24969func (cd CustomDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
24970	return nil, false
24971}
24972
24973// AsNetezzaTableDataset is the BasicDataset implementation for CustomDataset.
24974func (cd CustomDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
24975	return nil, false
24976}
24977
24978// AsZohoObjectDataset is the BasicDataset implementation for CustomDataset.
24979func (cd CustomDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
24980	return nil, false
24981}
24982
24983// AsXeroObjectDataset is the BasicDataset implementation for CustomDataset.
24984func (cd CustomDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
24985	return nil, false
24986}
24987
24988// AsSquareObjectDataset is the BasicDataset implementation for CustomDataset.
24989func (cd CustomDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
24990	return nil, false
24991}
24992
24993// AsSparkObjectDataset is the BasicDataset implementation for CustomDataset.
24994func (cd CustomDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
24995	return nil, false
24996}
24997
24998// AsShopifyObjectDataset is the BasicDataset implementation for CustomDataset.
24999func (cd CustomDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
25000	return nil, false
25001}
25002
25003// AsServiceNowObjectDataset is the BasicDataset implementation for CustomDataset.
25004func (cd CustomDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
25005	return nil, false
25006}
25007
25008// AsQuickBooksObjectDataset is the BasicDataset implementation for CustomDataset.
25009func (cd CustomDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
25010	return nil, false
25011}
25012
25013// AsPrestoObjectDataset is the BasicDataset implementation for CustomDataset.
25014func (cd CustomDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
25015	return nil, false
25016}
25017
25018// AsPhoenixObjectDataset is the BasicDataset implementation for CustomDataset.
25019func (cd CustomDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
25020	return nil, false
25021}
25022
25023// AsPaypalObjectDataset is the BasicDataset implementation for CustomDataset.
25024func (cd CustomDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
25025	return nil, false
25026}
25027
25028// AsMarketoObjectDataset is the BasicDataset implementation for CustomDataset.
25029func (cd CustomDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
25030	return nil, false
25031}
25032
25033// AsMariaDBTableDataset is the BasicDataset implementation for CustomDataset.
25034func (cd CustomDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
25035	return nil, false
25036}
25037
25038// AsMagentoObjectDataset is the BasicDataset implementation for CustomDataset.
25039func (cd CustomDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
25040	return nil, false
25041}
25042
25043// AsJiraObjectDataset is the BasicDataset implementation for CustomDataset.
25044func (cd CustomDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
25045	return nil, false
25046}
25047
25048// AsImpalaObjectDataset is the BasicDataset implementation for CustomDataset.
25049func (cd CustomDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
25050	return nil, false
25051}
25052
25053// AsHubspotObjectDataset is the BasicDataset implementation for CustomDataset.
25054func (cd CustomDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
25055	return nil, false
25056}
25057
25058// AsHiveObjectDataset is the BasicDataset implementation for CustomDataset.
25059func (cd CustomDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
25060	return nil, false
25061}
25062
25063// AsHBaseObjectDataset is the BasicDataset implementation for CustomDataset.
25064func (cd CustomDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
25065	return nil, false
25066}
25067
25068// AsGreenplumTableDataset is the BasicDataset implementation for CustomDataset.
25069func (cd CustomDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
25070	return nil, false
25071}
25072
25073// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CustomDataset.
25074func (cd CustomDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
25075	return nil, false
25076}
25077
25078// AsEloquaObjectDataset is the BasicDataset implementation for CustomDataset.
25079func (cd CustomDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
25080	return nil, false
25081}
25082
25083// AsDrillTableDataset is the BasicDataset implementation for CustomDataset.
25084func (cd CustomDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
25085	return nil, false
25086}
25087
25088// AsCouchbaseTableDataset is the BasicDataset implementation for CustomDataset.
25089func (cd CustomDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
25090	return nil, false
25091}
25092
25093// AsConcurObjectDataset is the BasicDataset implementation for CustomDataset.
25094func (cd CustomDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
25095	return nil, false
25096}
25097
25098// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CustomDataset.
25099func (cd CustomDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
25100	return nil, false
25101}
25102
25103// AsAmazonMWSObjectDataset is the BasicDataset implementation for CustomDataset.
25104func (cd CustomDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
25105	return nil, false
25106}
25107
25108// AsHTTPDataset is the BasicDataset implementation for CustomDataset.
25109func (cd CustomDataset) AsHTTPDataset() (*HTTPDataset, bool) {
25110	return nil, false
25111}
25112
25113// AsAzureSearchIndexDataset is the BasicDataset implementation for CustomDataset.
25114func (cd CustomDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
25115	return nil, false
25116}
25117
25118// AsWebTableDataset is the BasicDataset implementation for CustomDataset.
25119func (cd CustomDataset) AsWebTableDataset() (*WebTableDataset, bool) {
25120	return nil, false
25121}
25122
25123// AsSQLServerTableDataset is the BasicDataset implementation for CustomDataset.
25124func (cd CustomDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
25125	return nil, false
25126}
25127
25128// AsSapEccResourceDataset is the BasicDataset implementation for CustomDataset.
25129func (cd CustomDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
25130	return nil, false
25131}
25132
25133// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CustomDataset.
25134func (cd CustomDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
25135	return nil, false
25136}
25137
25138// AsSalesforceObjectDataset is the BasicDataset implementation for CustomDataset.
25139func (cd CustomDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
25140	return nil, false
25141}
25142
25143// AsRelationalTableDataset is the BasicDataset implementation for CustomDataset.
25144func (cd CustomDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
25145	return nil, false
25146}
25147
25148// AsAzureMySQLTableDataset is the BasicDataset implementation for CustomDataset.
25149func (cd CustomDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
25150	return nil, false
25151}
25152
25153// AsOracleTableDataset is the BasicDataset implementation for CustomDataset.
25154func (cd CustomDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
25155	return nil, false
25156}
25157
25158// AsODataResourceDataset is the BasicDataset implementation for CustomDataset.
25159func (cd CustomDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
25160	return nil, false
25161}
25162
25163// AsMongoDbCollectionDataset is the BasicDataset implementation for CustomDataset.
25164func (cd CustomDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
25165	return nil, false
25166}
25167
25168// AsFileShareDataset is the BasicDataset implementation for CustomDataset.
25169func (cd CustomDataset) AsFileShareDataset() (*FileShareDataset, bool) {
25170	return nil, false
25171}
25172
25173// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CustomDataset.
25174func (cd CustomDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
25175	return nil, false
25176}
25177
25178// AsDynamicsEntityDataset is the BasicDataset implementation for CustomDataset.
25179func (cd CustomDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
25180	return nil, false
25181}
25182
25183// AsDocumentDbCollectionDataset is the BasicDataset implementation for CustomDataset.
25184func (cd CustomDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
25185	return nil, false
25186}
25187
25188// AsCustomDataset is the BasicDataset implementation for CustomDataset.
25189func (cd CustomDataset) AsCustomDataset() (*CustomDataset, bool) {
25190	return &cd, true
25191}
25192
25193// AsCassandraTableDataset is the BasicDataset implementation for CustomDataset.
25194func (cd CustomDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
25195	return nil, false
25196}
25197
25198// AsAzureSQLDWTableDataset is the BasicDataset implementation for CustomDataset.
25199func (cd CustomDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
25200	return nil, false
25201}
25202
25203// AsAzureSQLTableDataset is the BasicDataset implementation for CustomDataset.
25204func (cd CustomDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
25205	return nil, false
25206}
25207
25208// AsAzureTableDataset is the BasicDataset implementation for CustomDataset.
25209func (cd CustomDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
25210	return nil, false
25211}
25212
25213// AsAzureBlobDataset is the BasicDataset implementation for CustomDataset.
25214func (cd CustomDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
25215	return nil, false
25216}
25217
25218// AsAmazonS3Dataset is the BasicDataset implementation for CustomDataset.
25219func (cd CustomDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
25220	return nil, false
25221}
25222
25223// AsDataset is the BasicDataset implementation for CustomDataset.
25224func (cd CustomDataset) AsDataset() (*Dataset, bool) {
25225	return nil, false
25226}
25227
25228// AsBasicDataset is the BasicDataset implementation for CustomDataset.
25229func (cd CustomDataset) AsBasicDataset() (BasicDataset, bool) {
25230	return &cd, true
25231}
25232
25233// UnmarshalJSON is the custom unmarshaler for CustomDataset struct.
25234func (cd *CustomDataset) UnmarshalJSON(body []byte) error {
25235	var m map[string]*json.RawMessage
25236	err := json.Unmarshal(body, &m)
25237	if err != nil {
25238		return err
25239	}
25240	for k, v := range m {
25241		switch k {
25242		case "typeProperties":
25243			if v != nil {
25244				var typeProperties interface{}
25245				err = json.Unmarshal(*v, &typeProperties)
25246				if err != nil {
25247					return err
25248				}
25249				cd.TypeProperties = typeProperties
25250			}
25251		default:
25252			if v != nil {
25253				var additionalProperties interface{}
25254				err = json.Unmarshal(*v, &additionalProperties)
25255				if err != nil {
25256					return err
25257				}
25258				if cd.AdditionalProperties == nil {
25259					cd.AdditionalProperties = make(map[string]interface{})
25260				}
25261				cd.AdditionalProperties[k] = additionalProperties
25262			}
25263		case "description":
25264			if v != nil {
25265				var description string
25266				err = json.Unmarshal(*v, &description)
25267				if err != nil {
25268					return err
25269				}
25270				cd.Description = &description
25271			}
25272		case "structure":
25273			if v != nil {
25274				var structure interface{}
25275				err = json.Unmarshal(*v, &structure)
25276				if err != nil {
25277					return err
25278				}
25279				cd.Structure = structure
25280			}
25281		case "linkedServiceName":
25282			if v != nil {
25283				var linkedServiceName LinkedServiceReference
25284				err = json.Unmarshal(*v, &linkedServiceName)
25285				if err != nil {
25286					return err
25287				}
25288				cd.LinkedServiceName = &linkedServiceName
25289			}
25290		case "parameters":
25291			if v != nil {
25292				var parameters map[string]*ParameterSpecification
25293				err = json.Unmarshal(*v, &parameters)
25294				if err != nil {
25295					return err
25296				}
25297				cd.Parameters = parameters
25298			}
25299		case "annotations":
25300			if v != nil {
25301				var annotations []interface{}
25302				err = json.Unmarshal(*v, &annotations)
25303				if err != nil {
25304					return err
25305				}
25306				cd.Annotations = &annotations
25307			}
25308		case "type":
25309			if v != nil {
25310				var typeVar TypeBasicDataset
25311				err = json.Unmarshal(*v, &typeVar)
25312				if err != nil {
25313					return err
25314				}
25315				cd.Type = typeVar
25316			}
25317		}
25318	}
25319
25320	return nil
25321}
25322
25323// CustomDataSourceLinkedService custom linked service.
25324type CustomDataSourceLinkedService struct {
25325	// TypeProperties - Custom linked service properties.
25326	TypeProperties interface{} `json:"typeProperties,omitempty"`
25327	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
25328	AdditionalProperties map[string]interface{} `json:""`
25329	// ConnectVia - The integration runtime reference.
25330	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
25331	// Description - Linked service description.
25332	Description *string `json:"description,omitempty"`
25333	// Parameters - Parameters for linked service.
25334	Parameters map[string]*ParameterSpecification `json:"parameters"`
25335	// Annotations - List of tags that can be used for describing the Dataset.
25336	Annotations *[]interface{} `json:"annotations,omitempty"`
25337	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
25338	Type TypeBasicLinkedService `json:"type,omitempty"`
25339}
25340
25341// MarshalJSON is the custom marshaler for CustomDataSourceLinkedService.
25342func (cdsls CustomDataSourceLinkedService) MarshalJSON() ([]byte, error) {
25343	cdsls.Type = TypeCustomDataSource
25344	objectMap := make(map[string]interface{})
25345	if cdsls.TypeProperties != nil {
25346		objectMap["typeProperties"] = cdsls.TypeProperties
25347	}
25348	if cdsls.ConnectVia != nil {
25349		objectMap["connectVia"] = cdsls.ConnectVia
25350	}
25351	if cdsls.Description != nil {
25352		objectMap["description"] = cdsls.Description
25353	}
25354	if cdsls.Parameters != nil {
25355		objectMap["parameters"] = cdsls.Parameters
25356	}
25357	if cdsls.Annotations != nil {
25358		objectMap["annotations"] = cdsls.Annotations
25359	}
25360	if cdsls.Type != "" {
25361		objectMap["type"] = cdsls.Type
25362	}
25363	for k, v := range cdsls.AdditionalProperties {
25364		objectMap[k] = v
25365	}
25366	return json.Marshal(objectMap)
25367}
25368
25369// AsResponsysLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25370func (cdsls CustomDataSourceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
25371	return nil, false
25372}
25373
25374// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25375func (cdsls CustomDataSourceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
25376	return nil, false
25377}
25378
25379// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25380func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
25381	return nil, false
25382}
25383
25384// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25385func (cdsls CustomDataSourceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
25386	return nil, false
25387}
25388
25389// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25390func (cdsls CustomDataSourceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
25391	return nil, false
25392}
25393
25394// AsNetezzaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25395func (cdsls CustomDataSourceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
25396	return nil, false
25397}
25398
25399// AsVerticaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25400func (cdsls CustomDataSourceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
25401	return nil, false
25402}
25403
25404// AsZohoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25405func (cdsls CustomDataSourceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
25406	return nil, false
25407}
25408
25409// AsXeroLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25410func (cdsls CustomDataSourceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
25411	return nil, false
25412}
25413
25414// AsSquareLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25415func (cdsls CustomDataSourceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
25416	return nil, false
25417}
25418
25419// AsSparkLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25420func (cdsls CustomDataSourceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
25421	return nil, false
25422}
25423
25424// AsShopifyLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25425func (cdsls CustomDataSourceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
25426	return nil, false
25427}
25428
25429// AsServiceNowLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25430func (cdsls CustomDataSourceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
25431	return nil, false
25432}
25433
25434// AsQuickBooksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25435func (cdsls CustomDataSourceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
25436	return nil, false
25437}
25438
25439// AsPrestoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25440func (cdsls CustomDataSourceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
25441	return nil, false
25442}
25443
25444// AsPhoenixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25445func (cdsls CustomDataSourceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
25446	return nil, false
25447}
25448
25449// AsPaypalLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25450func (cdsls CustomDataSourceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
25451	return nil, false
25452}
25453
25454// AsMarketoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25455func (cdsls CustomDataSourceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
25456	return nil, false
25457}
25458
25459// AsMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25460func (cdsls CustomDataSourceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
25461	return nil, false
25462}
25463
25464// AsMagentoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25465func (cdsls CustomDataSourceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
25466	return nil, false
25467}
25468
25469// AsJiraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25470func (cdsls CustomDataSourceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
25471	return nil, false
25472}
25473
25474// AsImpalaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25475func (cdsls CustomDataSourceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
25476	return nil, false
25477}
25478
25479// AsHubspotLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25480func (cdsls CustomDataSourceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
25481	return nil, false
25482}
25483
25484// AsHiveLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25485func (cdsls CustomDataSourceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
25486	return nil, false
25487}
25488
25489// AsHBaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25490func (cdsls CustomDataSourceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
25491	return nil, false
25492}
25493
25494// AsGreenplumLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25495func (cdsls CustomDataSourceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
25496	return nil, false
25497}
25498
25499// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25500func (cdsls CustomDataSourceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
25501	return nil, false
25502}
25503
25504// AsEloquaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25505func (cdsls CustomDataSourceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
25506	return nil, false
25507}
25508
25509// AsDrillLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25510func (cdsls CustomDataSourceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
25511	return nil, false
25512}
25513
25514// AsCouchbaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25515func (cdsls CustomDataSourceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
25516	return nil, false
25517}
25518
25519// AsConcurLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25520func (cdsls CustomDataSourceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
25521	return nil, false
25522}
25523
25524// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25525func (cdsls CustomDataSourceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
25526	return nil, false
25527}
25528
25529// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25530func (cdsls CustomDataSourceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
25531	return nil, false
25532}
25533
25534// AsSapHanaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25535func (cdsls CustomDataSourceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
25536	return nil, false
25537}
25538
25539// AsSapBWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25540func (cdsls CustomDataSourceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
25541	return nil, false
25542}
25543
25544// AsSftpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25545func (cdsls CustomDataSourceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
25546	return nil, false
25547}
25548
25549// AsFtpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25550func (cdsls CustomDataSourceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
25551	return nil, false
25552}
25553
25554// AsHTTPLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25555func (cdsls CustomDataSourceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
25556	return nil, false
25557}
25558
25559// AsAzureSearchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25560func (cdsls CustomDataSourceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
25561	return nil, false
25562}
25563
25564// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25565func (cdsls CustomDataSourceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
25566	return &cdsls, true
25567}
25568
25569// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25570func (cdsls CustomDataSourceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
25571	return nil, false
25572}
25573
25574// AsAmazonS3LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25575func (cdsls CustomDataSourceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
25576	return nil, false
25577}
25578
25579// AsSapEccLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25580func (cdsls CustomDataSourceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
25581	return nil, false
25582}
25583
25584// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25585func (cdsls CustomDataSourceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
25586	return nil, false
25587}
25588
25589// AsSalesforceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25590func (cdsls CustomDataSourceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
25591	return nil, false
25592}
25593
25594// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25595func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
25596	return nil, false
25597}
25598
25599// AsMongoDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25600func (cdsls CustomDataSourceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
25601	return nil, false
25602}
25603
25604// AsCassandraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25605func (cdsls CustomDataSourceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
25606	return nil, false
25607}
25608
25609// AsWebLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25610func (cdsls CustomDataSourceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
25611	return nil, false
25612}
25613
25614// AsODataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25615func (cdsls CustomDataSourceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
25616	return nil, false
25617}
25618
25619// AsHdfsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25620func (cdsls CustomDataSourceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
25621	return nil, false
25622}
25623
25624// AsOdbcLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25625func (cdsls CustomDataSourceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
25626	return nil, false
25627}
25628
25629// AsAzureMLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25630func (cdsls CustomDataSourceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
25631	return nil, false
25632}
25633
25634// AsTeradataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25635func (cdsls CustomDataSourceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
25636	return nil, false
25637}
25638
25639// AsDb2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25640func (cdsls CustomDataSourceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
25641	return nil, false
25642}
25643
25644// AsSybaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25645func (cdsls CustomDataSourceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
25646	return nil, false
25647}
25648
25649// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25650func (cdsls CustomDataSourceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
25651	return nil, false
25652}
25653
25654// AsMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25655func (cdsls CustomDataSourceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
25656	return nil, false
25657}
25658
25659// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25660func (cdsls CustomDataSourceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
25661	return nil, false
25662}
25663
25664// AsOracleLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25665func (cdsls CustomDataSourceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
25666	return nil, false
25667}
25668
25669// AsFileServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25670func (cdsls CustomDataSourceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
25671	return nil, false
25672}
25673
25674// AsHDInsightLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25675func (cdsls CustomDataSourceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
25676	return nil, false
25677}
25678
25679// AsDynamicsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25680func (cdsls CustomDataSourceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
25681	return nil, false
25682}
25683
25684// AsCosmosDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25685func (cdsls CustomDataSourceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
25686	return nil, false
25687}
25688
25689// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25690func (cdsls CustomDataSourceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
25691	return nil, false
25692}
25693
25694// AsAzureBatchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25695func (cdsls CustomDataSourceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
25696	return nil, false
25697}
25698
25699// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25700func (cdsls CustomDataSourceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
25701	return nil, false
25702}
25703
25704// AsSQLServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25705func (cdsls CustomDataSourceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
25706	return nil, false
25707}
25708
25709// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25710func (cdsls CustomDataSourceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
25711	return nil, false
25712}
25713
25714// AsAzureStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25715func (cdsls CustomDataSourceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
25716	return nil, false
25717}
25718
25719// AsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25720func (cdsls CustomDataSourceLinkedService) AsLinkedService() (*LinkedService, bool) {
25721	return nil, false
25722}
25723
25724// AsBasicLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25725func (cdsls CustomDataSourceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
25726	return &cdsls, true
25727}
25728
25729// UnmarshalJSON is the custom unmarshaler for CustomDataSourceLinkedService struct.
25730func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error {
25731	var m map[string]*json.RawMessage
25732	err := json.Unmarshal(body, &m)
25733	if err != nil {
25734		return err
25735	}
25736	for k, v := range m {
25737		switch k {
25738		case "typeProperties":
25739			if v != nil {
25740				var typeProperties interface{}
25741				err = json.Unmarshal(*v, &typeProperties)
25742				if err != nil {
25743					return err
25744				}
25745				cdsls.TypeProperties = typeProperties
25746			}
25747		default:
25748			if v != nil {
25749				var additionalProperties interface{}
25750				err = json.Unmarshal(*v, &additionalProperties)
25751				if err != nil {
25752					return err
25753				}
25754				if cdsls.AdditionalProperties == nil {
25755					cdsls.AdditionalProperties = make(map[string]interface{})
25756				}
25757				cdsls.AdditionalProperties[k] = additionalProperties
25758			}
25759		case "connectVia":
25760			if v != nil {
25761				var connectVia IntegrationRuntimeReference
25762				err = json.Unmarshal(*v, &connectVia)
25763				if err != nil {
25764					return err
25765				}
25766				cdsls.ConnectVia = &connectVia
25767			}
25768		case "description":
25769			if v != nil {
25770				var description string
25771				err = json.Unmarshal(*v, &description)
25772				if err != nil {
25773					return err
25774				}
25775				cdsls.Description = &description
25776			}
25777		case "parameters":
25778			if v != nil {
25779				var parameters map[string]*ParameterSpecification
25780				err = json.Unmarshal(*v, &parameters)
25781				if err != nil {
25782					return err
25783				}
25784				cdsls.Parameters = parameters
25785			}
25786		case "annotations":
25787			if v != nil {
25788				var annotations []interface{}
25789				err = json.Unmarshal(*v, &annotations)
25790				if err != nil {
25791					return err
25792				}
25793				cdsls.Annotations = &annotations
25794			}
25795		case "type":
25796			if v != nil {
25797				var typeVar TypeBasicLinkedService
25798				err = json.Unmarshal(*v, &typeVar)
25799				if err != nil {
25800					return err
25801				}
25802				cdsls.Type = typeVar
25803			}
25804		}
25805	}
25806
25807	return nil
25808}
25809
25810// DatabricksNotebookActivity databricksNotebook activity.
25811type DatabricksNotebookActivity struct {
25812	// DatabricksNotebookActivityTypeProperties - Databricks Notebook activity properties.
25813	*DatabricksNotebookActivityTypeProperties `json:"typeProperties,omitempty"`
25814	// LinkedServiceName - Linked service reference.
25815	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
25816	// Policy - Activity policy.
25817	Policy *ActivityPolicy `json:"policy,omitempty"`
25818	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
25819	AdditionalProperties map[string]interface{} `json:""`
25820	// Name - Activity name.
25821	Name *string `json:"name,omitempty"`
25822	// Description - Activity description.
25823	Description *string `json:"description,omitempty"`
25824	// DependsOn - Activity depends on condition.
25825	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
25826	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
25827	Type TypeBasicActivity `json:"type,omitempty"`
25828}
25829
25830// MarshalJSON is the custom marshaler for DatabricksNotebookActivity.
25831func (dna DatabricksNotebookActivity) MarshalJSON() ([]byte, error) {
25832	dna.Type = TypeDatabricksNotebook
25833	objectMap := make(map[string]interface{})
25834	if dna.DatabricksNotebookActivityTypeProperties != nil {
25835		objectMap["typeProperties"] = dna.DatabricksNotebookActivityTypeProperties
25836	}
25837	if dna.LinkedServiceName != nil {
25838		objectMap["linkedServiceName"] = dna.LinkedServiceName
25839	}
25840	if dna.Policy != nil {
25841		objectMap["policy"] = dna.Policy
25842	}
25843	if dna.Name != nil {
25844		objectMap["name"] = dna.Name
25845	}
25846	if dna.Description != nil {
25847		objectMap["description"] = dna.Description
25848	}
25849	if dna.DependsOn != nil {
25850		objectMap["dependsOn"] = dna.DependsOn
25851	}
25852	if dna.Type != "" {
25853		objectMap["type"] = dna.Type
25854	}
25855	for k, v := range dna.AdditionalProperties {
25856		objectMap[k] = v
25857	}
25858	return json.Marshal(objectMap)
25859}
25860
25861// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25862func (dna DatabricksNotebookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
25863	return &dna, true
25864}
25865
25866// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25867func (dna DatabricksNotebookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
25868	return nil, false
25869}
25870
25871// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25872func (dna DatabricksNotebookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
25873	return nil, false
25874}
25875
25876// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25877func (dna DatabricksNotebookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
25878	return nil, false
25879}
25880
25881// AsGetMetadataActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25882func (dna DatabricksNotebookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
25883	return nil, false
25884}
25885
25886// AsWebActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25887func (dna DatabricksNotebookActivity) AsWebActivity() (*WebActivity, bool) {
25888	return nil, false
25889}
25890
25891// AsLookupActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25892func (dna DatabricksNotebookActivity) AsLookupActivity() (*LookupActivity, bool) {
25893	return nil, false
25894}
25895
25896// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25897func (dna DatabricksNotebookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
25898	return nil, false
25899}
25900
25901// AsCustomActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25902func (dna DatabricksNotebookActivity) AsCustomActivity() (*CustomActivity, bool) {
25903	return nil, false
25904}
25905
25906// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25907func (dna DatabricksNotebookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
25908	return nil, false
25909}
25910
25911// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25912func (dna DatabricksNotebookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
25913	return nil, false
25914}
25915
25916// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25917func (dna DatabricksNotebookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
25918	return nil, false
25919}
25920
25921// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25922func (dna DatabricksNotebookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
25923	return nil, false
25924}
25925
25926// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25927func (dna DatabricksNotebookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
25928	return nil, false
25929}
25930
25931// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25932func (dna DatabricksNotebookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
25933	return nil, false
25934}
25935
25936// AsCopyActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25937func (dna DatabricksNotebookActivity) AsCopyActivity() (*CopyActivity, bool) {
25938	return nil, false
25939}
25940
25941// AsExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25942func (dna DatabricksNotebookActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
25943	return nil, false
25944}
25945
25946// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25947func (dna DatabricksNotebookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
25948	return &dna, true
25949}
25950
25951// AsFilterActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25952func (dna DatabricksNotebookActivity) AsFilterActivity() (*FilterActivity, bool) {
25953	return nil, false
25954}
25955
25956// AsUntilActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25957func (dna DatabricksNotebookActivity) AsUntilActivity() (*UntilActivity, bool) {
25958	return nil, false
25959}
25960
25961// AsWaitActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25962func (dna DatabricksNotebookActivity) AsWaitActivity() (*WaitActivity, bool) {
25963	return nil, false
25964}
25965
25966// AsForEachActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25967func (dna DatabricksNotebookActivity) AsForEachActivity() (*ForEachActivity, bool) {
25968	return nil, false
25969}
25970
25971// AsIfConditionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25972func (dna DatabricksNotebookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
25973	return nil, false
25974}
25975
25976// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25977func (dna DatabricksNotebookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
25978	return nil, false
25979}
25980
25981// AsControlActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25982func (dna DatabricksNotebookActivity) AsControlActivity() (*ControlActivity, bool) {
25983	return nil, false
25984}
25985
25986// AsBasicControlActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25987func (dna DatabricksNotebookActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
25988	return nil, false
25989}
25990
25991// AsActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25992func (dna DatabricksNotebookActivity) AsActivity() (*Activity, bool) {
25993	return nil, false
25994}
25995
25996// AsBasicActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25997func (dna DatabricksNotebookActivity) AsBasicActivity() (BasicActivity, bool) {
25998	return &dna, true
25999}
26000
26001// UnmarshalJSON is the custom unmarshaler for DatabricksNotebookActivity struct.
26002func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error {
26003	var m map[string]*json.RawMessage
26004	err := json.Unmarshal(body, &m)
26005	if err != nil {
26006		return err
26007	}
26008	for k, v := range m {
26009		switch k {
26010		case "typeProperties":
26011			if v != nil {
26012				var databricksNotebookActivityTypeProperties DatabricksNotebookActivityTypeProperties
26013				err = json.Unmarshal(*v, &databricksNotebookActivityTypeProperties)
26014				if err != nil {
26015					return err
26016				}
26017				dna.DatabricksNotebookActivityTypeProperties = &databricksNotebookActivityTypeProperties
26018			}
26019		case "linkedServiceName":
26020			if v != nil {
26021				var linkedServiceName LinkedServiceReference
26022				err = json.Unmarshal(*v, &linkedServiceName)
26023				if err != nil {
26024					return err
26025				}
26026				dna.LinkedServiceName = &linkedServiceName
26027			}
26028		case "policy":
26029			if v != nil {
26030				var policy ActivityPolicy
26031				err = json.Unmarshal(*v, &policy)
26032				if err != nil {
26033					return err
26034				}
26035				dna.Policy = &policy
26036			}
26037		default:
26038			if v != nil {
26039				var additionalProperties interface{}
26040				err = json.Unmarshal(*v, &additionalProperties)
26041				if err != nil {
26042					return err
26043				}
26044				if dna.AdditionalProperties == nil {
26045					dna.AdditionalProperties = make(map[string]interface{})
26046				}
26047				dna.AdditionalProperties[k] = additionalProperties
26048			}
26049		case "name":
26050			if v != nil {
26051				var name string
26052				err = json.Unmarshal(*v, &name)
26053				if err != nil {
26054					return err
26055				}
26056				dna.Name = &name
26057			}
26058		case "description":
26059			if v != nil {
26060				var description string
26061				err = json.Unmarshal(*v, &description)
26062				if err != nil {
26063					return err
26064				}
26065				dna.Description = &description
26066			}
26067		case "dependsOn":
26068			if v != nil {
26069				var dependsOn []ActivityDependency
26070				err = json.Unmarshal(*v, &dependsOn)
26071				if err != nil {
26072					return err
26073				}
26074				dna.DependsOn = &dependsOn
26075			}
26076		case "type":
26077			if v != nil {
26078				var typeVar TypeBasicActivity
26079				err = json.Unmarshal(*v, &typeVar)
26080				if err != nil {
26081					return err
26082				}
26083				dna.Type = typeVar
26084			}
26085		}
26086	}
26087
26088	return nil
26089}
26090
26091// DatabricksNotebookActivityTypeProperties databricks Notebook activity properties.
26092type DatabricksNotebookActivityTypeProperties struct {
26093	// NotebookPath - The absolute path of the notebook to be run in the Databricks Workspace. This path must begin with a slash. Type: string (or Expression with resultType string).
26094	NotebookPath interface{} `json:"notebookPath,omitempty"`
26095	// BaseParameters - Base parameters to be used for each run of this job.If the notebook takes a parameter that is not specified, the default value from the notebook will be used.
26096	BaseParameters map[string]interface{} `json:"baseParameters"`
26097}
26098
26099// MarshalJSON is the custom marshaler for DatabricksNotebookActivityTypeProperties.
26100func (dnatp DatabricksNotebookActivityTypeProperties) MarshalJSON() ([]byte, error) {
26101	objectMap := make(map[string]interface{})
26102	if dnatp.NotebookPath != nil {
26103		objectMap["notebookPath"] = dnatp.NotebookPath
26104	}
26105	if dnatp.BaseParameters != nil {
26106		objectMap["baseParameters"] = dnatp.BaseParameters
26107	}
26108	return json.Marshal(objectMap)
26109}
26110
26111// DataLakeAnalyticsUSQLActivity data Lake Analytics U-SQL activity.
26112type DataLakeAnalyticsUSQLActivity struct {
26113	// DataLakeAnalyticsUSQLActivityTypeProperties - Data Lake Analytics U-SQL activity properties.
26114	*DataLakeAnalyticsUSQLActivityTypeProperties `json:"typeProperties,omitempty"`
26115	// LinkedServiceName - Linked service reference.
26116	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
26117	// Policy - Activity policy.
26118	Policy *ActivityPolicy `json:"policy,omitempty"`
26119	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
26120	AdditionalProperties map[string]interface{} `json:""`
26121	// Name - Activity name.
26122	Name *string `json:"name,omitempty"`
26123	// Description - Activity description.
26124	Description *string `json:"description,omitempty"`
26125	// DependsOn - Activity depends on condition.
26126	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
26127	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
26128	Type TypeBasicActivity `json:"type,omitempty"`
26129}
26130
26131// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivity.
26132func (dlaua DataLakeAnalyticsUSQLActivity) MarshalJSON() ([]byte, error) {
26133	dlaua.Type = TypeDataLakeAnalyticsUSQL
26134	objectMap := make(map[string]interface{})
26135	if dlaua.DataLakeAnalyticsUSQLActivityTypeProperties != nil {
26136		objectMap["typeProperties"] = dlaua.DataLakeAnalyticsUSQLActivityTypeProperties
26137	}
26138	if dlaua.LinkedServiceName != nil {
26139		objectMap["linkedServiceName"] = dlaua.LinkedServiceName
26140	}
26141	if dlaua.Policy != nil {
26142		objectMap["policy"] = dlaua.Policy
26143	}
26144	if dlaua.Name != nil {
26145		objectMap["name"] = dlaua.Name
26146	}
26147	if dlaua.Description != nil {
26148		objectMap["description"] = dlaua.Description
26149	}
26150	if dlaua.DependsOn != nil {
26151		objectMap["dependsOn"] = dlaua.DependsOn
26152	}
26153	if dlaua.Type != "" {
26154		objectMap["type"] = dlaua.Type
26155	}
26156	for k, v := range dlaua.AdditionalProperties {
26157		objectMap[k] = v
26158	}
26159	return json.Marshal(objectMap)
26160}
26161
26162// AsDatabricksNotebookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26163func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
26164	return nil, false
26165}
26166
26167// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26168func (dlaua DataLakeAnalyticsUSQLActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
26169	return &dlaua, true
26170}
26171
26172// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26173func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
26174	return nil, false
26175}
26176
26177// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26178func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
26179	return nil, false
26180}
26181
26182// AsGetMetadataActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26183func (dlaua DataLakeAnalyticsUSQLActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
26184	return nil, false
26185}
26186
26187// AsWebActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26188func (dlaua DataLakeAnalyticsUSQLActivity) AsWebActivity() (*WebActivity, bool) {
26189	return nil, false
26190}
26191
26192// AsLookupActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26193func (dlaua DataLakeAnalyticsUSQLActivity) AsLookupActivity() (*LookupActivity, bool) {
26194	return nil, false
26195}
26196
26197// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26198func (dlaua DataLakeAnalyticsUSQLActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
26199	return nil, false
26200}
26201
26202// AsCustomActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26203func (dlaua DataLakeAnalyticsUSQLActivity) AsCustomActivity() (*CustomActivity, bool) {
26204	return nil, false
26205}
26206
26207// AsExecuteSSISPackageActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26208func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
26209	return nil, false
26210}
26211
26212// AsHDInsightSparkActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26213func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
26214	return nil, false
26215}
26216
26217// AsHDInsightStreamingActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26218func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
26219	return nil, false
26220}
26221
26222// AsHDInsightMapReduceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26223func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
26224	return nil, false
26225}
26226
26227// AsHDInsightPigActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26228func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
26229	return nil, false
26230}
26231
26232// AsHDInsightHiveActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26233func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
26234	return nil, false
26235}
26236
26237// AsCopyActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26238func (dlaua DataLakeAnalyticsUSQLActivity) AsCopyActivity() (*CopyActivity, bool) {
26239	return nil, false
26240}
26241
26242// AsExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26243func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
26244	return nil, false
26245}
26246
26247// AsBasicExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26248func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
26249	return &dlaua, true
26250}
26251
26252// AsFilterActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26253func (dlaua DataLakeAnalyticsUSQLActivity) AsFilterActivity() (*FilterActivity, bool) {
26254	return nil, false
26255}
26256
26257// AsUntilActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26258func (dlaua DataLakeAnalyticsUSQLActivity) AsUntilActivity() (*UntilActivity, bool) {
26259	return nil, false
26260}
26261
26262// AsWaitActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26263func (dlaua DataLakeAnalyticsUSQLActivity) AsWaitActivity() (*WaitActivity, bool) {
26264	return nil, false
26265}
26266
26267// AsForEachActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26268func (dlaua DataLakeAnalyticsUSQLActivity) AsForEachActivity() (*ForEachActivity, bool) {
26269	return nil, false
26270}
26271
26272// AsIfConditionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26273func (dlaua DataLakeAnalyticsUSQLActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
26274	return nil, false
26275}
26276
26277// AsExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26278func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
26279	return nil, false
26280}
26281
26282// AsControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26283func (dlaua DataLakeAnalyticsUSQLActivity) AsControlActivity() (*ControlActivity, bool) {
26284	return nil, false
26285}
26286
26287// AsBasicControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26288func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
26289	return nil, false
26290}
26291
26292// AsActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26293func (dlaua DataLakeAnalyticsUSQLActivity) AsActivity() (*Activity, bool) {
26294	return nil, false
26295}
26296
26297// AsBasicActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26298func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicActivity() (BasicActivity, bool) {
26299	return &dlaua, true
26300}
26301
26302// UnmarshalJSON is the custom unmarshaler for DataLakeAnalyticsUSQLActivity struct.
26303func (dlaua *DataLakeAnalyticsUSQLActivity) UnmarshalJSON(body []byte) error {
26304	var m map[string]*json.RawMessage
26305	err := json.Unmarshal(body, &m)
26306	if err != nil {
26307		return err
26308	}
26309	for k, v := range m {
26310		switch k {
26311		case "typeProperties":
26312			if v != nil {
26313				var dataLakeAnalyticsUSQLActivityTypeProperties DataLakeAnalyticsUSQLActivityTypeProperties
26314				err = json.Unmarshal(*v, &dataLakeAnalyticsUSQLActivityTypeProperties)
26315				if err != nil {
26316					return err
26317				}
26318				dlaua.DataLakeAnalyticsUSQLActivityTypeProperties = &dataLakeAnalyticsUSQLActivityTypeProperties
26319			}
26320		case "linkedServiceName":
26321			if v != nil {
26322				var linkedServiceName LinkedServiceReference
26323				err = json.Unmarshal(*v, &linkedServiceName)
26324				if err != nil {
26325					return err
26326				}
26327				dlaua.LinkedServiceName = &linkedServiceName
26328			}
26329		case "policy":
26330			if v != nil {
26331				var policy ActivityPolicy
26332				err = json.Unmarshal(*v, &policy)
26333				if err != nil {
26334					return err
26335				}
26336				dlaua.Policy = &policy
26337			}
26338		default:
26339			if v != nil {
26340				var additionalProperties interface{}
26341				err = json.Unmarshal(*v, &additionalProperties)
26342				if err != nil {
26343					return err
26344				}
26345				if dlaua.AdditionalProperties == nil {
26346					dlaua.AdditionalProperties = make(map[string]interface{})
26347				}
26348				dlaua.AdditionalProperties[k] = additionalProperties
26349			}
26350		case "name":
26351			if v != nil {
26352				var name string
26353				err = json.Unmarshal(*v, &name)
26354				if err != nil {
26355					return err
26356				}
26357				dlaua.Name = &name
26358			}
26359		case "description":
26360			if v != nil {
26361				var description string
26362				err = json.Unmarshal(*v, &description)
26363				if err != nil {
26364					return err
26365				}
26366				dlaua.Description = &description
26367			}
26368		case "dependsOn":
26369			if v != nil {
26370				var dependsOn []ActivityDependency
26371				err = json.Unmarshal(*v, &dependsOn)
26372				if err != nil {
26373					return err
26374				}
26375				dlaua.DependsOn = &dependsOn
26376			}
26377		case "type":
26378			if v != nil {
26379				var typeVar TypeBasicActivity
26380				err = json.Unmarshal(*v, &typeVar)
26381				if err != nil {
26382					return err
26383				}
26384				dlaua.Type = typeVar
26385			}
26386		}
26387	}
26388
26389	return nil
26390}
26391
26392// DataLakeAnalyticsUSQLActivityTypeProperties dataLakeAnalyticsU-SQL activity properties.
26393type DataLakeAnalyticsUSQLActivityTypeProperties struct {
26394	// ScriptPath - Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
26395	ScriptPath interface{} `json:"scriptPath,omitempty"`
26396	// ScriptLinkedService - Script linked service reference.
26397	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
26398	// DegreeOfParallelism - The maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
26399	DegreeOfParallelism interface{} `json:"degreeOfParallelism,omitempty"`
26400	// Priority - Determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1.
26401	Priority interface{} `json:"priority,omitempty"`
26402	// Parameters - Parameters for U-SQL job request.
26403	Parameters map[string]interface{} `json:"parameters"`
26404	// RuntimeVersion - Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
26405	RuntimeVersion interface{} `json:"runtimeVersion,omitempty"`
26406	// CompilationMode - Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
26407	CompilationMode interface{} `json:"compilationMode,omitempty"`
26408}
26409
26410// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivityTypeProperties.
26411func (dlauatp DataLakeAnalyticsUSQLActivityTypeProperties) MarshalJSON() ([]byte, error) {
26412	objectMap := make(map[string]interface{})
26413	if dlauatp.ScriptPath != nil {
26414		objectMap["scriptPath"] = dlauatp.ScriptPath
26415	}
26416	if dlauatp.ScriptLinkedService != nil {
26417		objectMap["scriptLinkedService"] = dlauatp.ScriptLinkedService
26418	}
26419	if dlauatp.DegreeOfParallelism != nil {
26420		objectMap["degreeOfParallelism"] = dlauatp.DegreeOfParallelism
26421	}
26422	if dlauatp.Priority != nil {
26423		objectMap["priority"] = dlauatp.Priority
26424	}
26425	if dlauatp.Parameters != nil {
26426		objectMap["parameters"] = dlauatp.Parameters
26427	}
26428	if dlauatp.RuntimeVersion != nil {
26429		objectMap["runtimeVersion"] = dlauatp.RuntimeVersion
26430	}
26431	if dlauatp.CompilationMode != nil {
26432		objectMap["compilationMode"] = dlauatp.CompilationMode
26433	}
26434	return json.Marshal(objectMap)
26435}
26436
26437// BasicDataset the Azure Data Factory nested object which identifies data within different data stores, such as
26438// tables, files, folders, and documents.
26439type BasicDataset interface {
26440	AsResponsysObjectDataset() (*ResponsysObjectDataset, bool)
26441	AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool)
26442	AsVerticaTableDataset() (*VerticaTableDataset, bool)
26443	AsNetezzaTableDataset() (*NetezzaTableDataset, bool)
26444	AsZohoObjectDataset() (*ZohoObjectDataset, bool)
26445	AsXeroObjectDataset() (*XeroObjectDataset, bool)
26446	AsSquareObjectDataset() (*SquareObjectDataset, bool)
26447	AsSparkObjectDataset() (*SparkObjectDataset, bool)
26448	AsShopifyObjectDataset() (*ShopifyObjectDataset, bool)
26449	AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool)
26450	AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool)
26451	AsPrestoObjectDataset() (*PrestoObjectDataset, bool)
26452	AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool)
26453	AsPaypalObjectDataset() (*PaypalObjectDataset, bool)
26454	AsMarketoObjectDataset() (*MarketoObjectDataset, bool)
26455	AsMariaDBTableDataset() (*MariaDBTableDataset, bool)
26456	AsMagentoObjectDataset() (*MagentoObjectDataset, bool)
26457	AsJiraObjectDataset() (*JiraObjectDataset, bool)
26458	AsImpalaObjectDataset() (*ImpalaObjectDataset, bool)
26459	AsHubspotObjectDataset() (*HubspotObjectDataset, bool)
26460	AsHiveObjectDataset() (*HiveObjectDataset, bool)
26461	AsHBaseObjectDataset() (*HBaseObjectDataset, bool)
26462	AsGreenplumTableDataset() (*GreenplumTableDataset, bool)
26463	AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool)
26464	AsEloquaObjectDataset() (*EloquaObjectDataset, bool)
26465	AsDrillTableDataset() (*DrillTableDataset, bool)
26466	AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool)
26467	AsConcurObjectDataset() (*ConcurObjectDataset, bool)
26468	AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool)
26469	AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool)
26470	AsHTTPDataset() (*HTTPDataset, bool)
26471	AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool)
26472	AsWebTableDataset() (*WebTableDataset, bool)
26473	AsSQLServerTableDataset() (*SQLServerTableDataset, bool)
26474	AsSapEccResourceDataset() (*SapEccResourceDataset, bool)
26475	AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool)
26476	AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool)
26477	AsRelationalTableDataset() (*RelationalTableDataset, bool)
26478	AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool)
26479	AsOracleTableDataset() (*OracleTableDataset, bool)
26480	AsODataResourceDataset() (*ODataResourceDataset, bool)
26481	AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool)
26482	AsFileShareDataset() (*FileShareDataset, bool)
26483	AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool)
26484	AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool)
26485	AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool)
26486	AsCustomDataset() (*CustomDataset, bool)
26487	AsCassandraTableDataset() (*CassandraTableDataset, bool)
26488	AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool)
26489	AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool)
26490	AsAzureTableDataset() (*AzureTableDataset, bool)
26491	AsAzureBlobDataset() (*AzureBlobDataset, bool)
26492	AsAmazonS3Dataset() (*AmazonS3Dataset, bool)
26493	AsDataset() (*Dataset, bool)
26494}
26495
26496// Dataset the Azure Data Factory nested object which identifies data within different data stores, such as
26497// tables, files, folders, and documents.
26498type Dataset struct {
26499	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
26500	AdditionalProperties map[string]interface{} `json:""`
26501	// Description - Dataset description.
26502	Description *string `json:"description,omitempty"`
26503	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
26504	Structure interface{} `json:"structure,omitempty"`
26505	// LinkedServiceName - Linked service reference.
26506	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
26507	// Parameters - Parameters for dataset.
26508	Parameters map[string]*ParameterSpecification `json:"parameters"`
26509	// Annotations - List of tags that can be used for describing the Dataset.
26510	Annotations *[]interface{} `json:"annotations,omitempty"`
26511	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
26512	Type TypeBasicDataset `json:"type,omitempty"`
26513}
26514
26515func unmarshalBasicDataset(body []byte) (BasicDataset, error) {
26516	var m map[string]interface{}
26517	err := json.Unmarshal(body, &m)
26518	if err != nil {
26519		return nil, err
26520	}
26521
26522	switch m["type"] {
26523	case string(TypeResponsysObject):
26524		var rod ResponsysObjectDataset
26525		err := json.Unmarshal(body, &rod)
26526		return rod, err
26527	case string(TypeSalesforceMarketingCloudObject):
26528		var smcod SalesforceMarketingCloudObjectDataset
26529		err := json.Unmarshal(body, &smcod)
26530		return smcod, err
26531	case string(TypeVerticaTable):
26532		var vtd VerticaTableDataset
26533		err := json.Unmarshal(body, &vtd)
26534		return vtd, err
26535	case string(TypeNetezzaTable):
26536		var ntd NetezzaTableDataset
26537		err := json.Unmarshal(body, &ntd)
26538		return ntd, err
26539	case string(TypeZohoObject):
26540		var zod ZohoObjectDataset
26541		err := json.Unmarshal(body, &zod)
26542		return zod, err
26543	case string(TypeXeroObject):
26544		var xod XeroObjectDataset
26545		err := json.Unmarshal(body, &xod)
26546		return xod, err
26547	case string(TypeSquareObject):
26548		var sod SquareObjectDataset
26549		err := json.Unmarshal(body, &sod)
26550		return sod, err
26551	case string(TypeSparkObject):
26552		var sod SparkObjectDataset
26553		err := json.Unmarshal(body, &sod)
26554		return sod, err
26555	case string(TypeShopifyObject):
26556		var sod ShopifyObjectDataset
26557		err := json.Unmarshal(body, &sod)
26558		return sod, err
26559	case string(TypeServiceNowObject):
26560		var snod ServiceNowObjectDataset
26561		err := json.Unmarshal(body, &snod)
26562		return snod, err
26563	case string(TypeQuickBooksObject):
26564		var qbod QuickBooksObjectDataset
26565		err := json.Unmarshal(body, &qbod)
26566		return qbod, err
26567	case string(TypePrestoObject):
26568		var pod PrestoObjectDataset
26569		err := json.Unmarshal(body, &pod)
26570		return pod, err
26571	case string(TypePhoenixObject):
26572		var pod PhoenixObjectDataset
26573		err := json.Unmarshal(body, &pod)
26574		return pod, err
26575	case string(TypePaypalObject):
26576		var pod PaypalObjectDataset
26577		err := json.Unmarshal(body, &pod)
26578		return pod, err
26579	case string(TypeMarketoObject):
26580		var mod MarketoObjectDataset
26581		err := json.Unmarshal(body, &mod)
26582		return mod, err
26583	case string(TypeMariaDBTable):
26584		var mdtd MariaDBTableDataset
26585		err := json.Unmarshal(body, &mdtd)
26586		return mdtd, err
26587	case string(TypeMagentoObject):
26588		var mod MagentoObjectDataset
26589		err := json.Unmarshal(body, &mod)
26590		return mod, err
26591	case string(TypeJiraObject):
26592		var jod JiraObjectDataset
26593		err := json.Unmarshal(body, &jod)
26594		return jod, err
26595	case string(TypeImpalaObject):
26596		var iod ImpalaObjectDataset
26597		err := json.Unmarshal(body, &iod)
26598		return iod, err
26599	case string(TypeHubspotObject):
26600		var hod HubspotObjectDataset
26601		err := json.Unmarshal(body, &hod)
26602		return hod, err
26603	case string(TypeHiveObject):
26604		var hod HiveObjectDataset
26605		err := json.Unmarshal(body, &hod)
26606		return hod, err
26607	case string(TypeHBaseObject):
26608		var hbod HBaseObjectDataset
26609		err := json.Unmarshal(body, &hbod)
26610		return hbod, err
26611	case string(TypeGreenplumTable):
26612		var gtd GreenplumTableDataset
26613		err := json.Unmarshal(body, &gtd)
26614		return gtd, err
26615	case string(TypeGoogleBigQueryObject):
26616		var gbqod GoogleBigQueryObjectDataset
26617		err := json.Unmarshal(body, &gbqod)
26618		return gbqod, err
26619	case string(TypeEloquaObject):
26620		var eod EloquaObjectDataset
26621		err := json.Unmarshal(body, &eod)
26622		return eod, err
26623	case string(TypeDrillTable):
26624		var dtd DrillTableDataset
26625		err := json.Unmarshal(body, &dtd)
26626		return dtd, err
26627	case string(TypeCouchbaseTable):
26628		var ctd CouchbaseTableDataset
26629		err := json.Unmarshal(body, &ctd)
26630		return ctd, err
26631	case string(TypeConcurObject):
26632		var cod ConcurObjectDataset
26633		err := json.Unmarshal(body, &cod)
26634		return cod, err
26635	case string(TypeAzurePostgreSQLTable):
26636		var apstd AzurePostgreSQLTableDataset
26637		err := json.Unmarshal(body, &apstd)
26638		return apstd, err
26639	case string(TypeAmazonMWSObject):
26640		var amod AmazonMWSObjectDataset
26641		err := json.Unmarshal(body, &amod)
26642		return amod, err
26643	case string(TypeHTTPFile):
26644		var hd HTTPDataset
26645		err := json.Unmarshal(body, &hd)
26646		return hd, err
26647	case string(TypeAzureSearchIndex):
26648		var asid AzureSearchIndexDataset
26649		err := json.Unmarshal(body, &asid)
26650		return asid, err
26651	case string(TypeWebTable):
26652		var wtd WebTableDataset
26653		err := json.Unmarshal(body, &wtd)
26654		return wtd, err
26655	case string(TypeSQLServerTable):
26656		var sstd SQLServerTableDataset
26657		err := json.Unmarshal(body, &sstd)
26658		return sstd, err
26659	case string(TypeSapEccResource):
26660		var serd SapEccResourceDataset
26661		err := json.Unmarshal(body, &serd)
26662		return serd, err
26663	case string(TypeSapCloudForCustomerResource):
26664		var scfcrd SapCloudForCustomerResourceDataset
26665		err := json.Unmarshal(body, &scfcrd)
26666		return scfcrd, err
26667	case string(TypeSalesforceObject):
26668		var sod SalesforceObjectDataset
26669		err := json.Unmarshal(body, &sod)
26670		return sod, err
26671	case string(TypeRelationalTable):
26672		var rtd RelationalTableDataset
26673		err := json.Unmarshal(body, &rtd)
26674		return rtd, err
26675	case string(TypeAzureMySQLTable):
26676		var amstd AzureMySQLTableDataset
26677		err := json.Unmarshal(body, &amstd)
26678		return amstd, err
26679	case string(TypeOracleTable):
26680		var otd OracleTableDataset
26681		err := json.Unmarshal(body, &otd)
26682		return otd, err
26683	case string(TypeODataResource):
26684		var odrd ODataResourceDataset
26685		err := json.Unmarshal(body, &odrd)
26686		return odrd, err
26687	case string(TypeMongoDbCollection):
26688		var mdcd MongoDbCollectionDataset
26689		err := json.Unmarshal(body, &mdcd)
26690		return mdcd, err
26691	case string(TypeFileShare):
26692		var fsd FileShareDataset
26693		err := json.Unmarshal(body, &fsd)
26694		return fsd, err
26695	case string(TypeAzureDataLakeStoreFile):
26696		var adlsd AzureDataLakeStoreDataset
26697		err := json.Unmarshal(body, &adlsd)
26698		return adlsd, err
26699	case string(TypeDynamicsEntity):
26700		var ded DynamicsEntityDataset
26701		err := json.Unmarshal(body, &ded)
26702		return ded, err
26703	case string(TypeDocumentDbCollection):
26704		var ddcd DocumentDbCollectionDataset
26705		err := json.Unmarshal(body, &ddcd)
26706		return ddcd, err
26707	case string(TypeCustomDataset):
26708		var cd CustomDataset
26709		err := json.Unmarshal(body, &cd)
26710		return cd, err
26711	case string(TypeCassandraTable):
26712		var ctd CassandraTableDataset
26713		err := json.Unmarshal(body, &ctd)
26714		return ctd, err
26715	case string(TypeAzureSQLDWTable):
26716		var asdtd AzureSQLDWTableDataset
26717		err := json.Unmarshal(body, &asdtd)
26718		return asdtd, err
26719	case string(TypeAzureSQLTable):
26720		var astd AzureSQLTableDataset
26721		err := json.Unmarshal(body, &astd)
26722		return astd, err
26723	case string(TypeAzureTable):
26724		var atd AzureTableDataset
26725		err := json.Unmarshal(body, &atd)
26726		return atd, err
26727	case string(TypeAzureBlob):
26728		var abd AzureBlobDataset
26729		err := json.Unmarshal(body, &abd)
26730		return abd, err
26731	case string(TypeAmazonS3Object):
26732		var asd AmazonS3Dataset
26733		err := json.Unmarshal(body, &asd)
26734		return asd, err
26735	default:
26736		var d Dataset
26737		err := json.Unmarshal(body, &d)
26738		return d, err
26739	}
26740}
26741func unmarshalBasicDatasetArray(body []byte) ([]BasicDataset, error) {
26742	var rawMessages []*json.RawMessage
26743	err := json.Unmarshal(body, &rawMessages)
26744	if err != nil {
26745		return nil, err
26746	}
26747
26748	dArray := make([]BasicDataset, len(rawMessages))
26749
26750	for index, rawMessage := range rawMessages {
26751		d, err := unmarshalBasicDataset(*rawMessage)
26752		if err != nil {
26753			return nil, err
26754		}
26755		dArray[index] = d
26756	}
26757	return dArray, nil
26758}
26759
26760// MarshalJSON is the custom marshaler for Dataset.
26761func (d Dataset) MarshalJSON() ([]byte, error) {
26762	d.Type = TypeDataset
26763	objectMap := make(map[string]interface{})
26764	if d.Description != nil {
26765		objectMap["description"] = d.Description
26766	}
26767	if d.Structure != nil {
26768		objectMap["structure"] = d.Structure
26769	}
26770	if d.LinkedServiceName != nil {
26771		objectMap["linkedServiceName"] = d.LinkedServiceName
26772	}
26773	if d.Parameters != nil {
26774		objectMap["parameters"] = d.Parameters
26775	}
26776	if d.Annotations != nil {
26777		objectMap["annotations"] = d.Annotations
26778	}
26779	if d.Type != "" {
26780		objectMap["type"] = d.Type
26781	}
26782	for k, v := range d.AdditionalProperties {
26783		objectMap[k] = v
26784	}
26785	return json.Marshal(objectMap)
26786}
26787
26788// AsResponsysObjectDataset is the BasicDataset implementation for Dataset.
26789func (d Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
26790	return nil, false
26791}
26792
26793// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Dataset.
26794func (d Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
26795	return nil, false
26796}
26797
26798// AsVerticaTableDataset is the BasicDataset implementation for Dataset.
26799func (d Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
26800	return nil, false
26801}
26802
26803// AsNetezzaTableDataset is the BasicDataset implementation for Dataset.
26804func (d Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
26805	return nil, false
26806}
26807
26808// AsZohoObjectDataset is the BasicDataset implementation for Dataset.
26809func (d Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
26810	return nil, false
26811}
26812
26813// AsXeroObjectDataset is the BasicDataset implementation for Dataset.
26814func (d Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
26815	return nil, false
26816}
26817
26818// AsSquareObjectDataset is the BasicDataset implementation for Dataset.
26819func (d Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
26820	return nil, false
26821}
26822
26823// AsSparkObjectDataset is the BasicDataset implementation for Dataset.
26824func (d Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
26825	return nil, false
26826}
26827
26828// AsShopifyObjectDataset is the BasicDataset implementation for Dataset.
26829func (d Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
26830	return nil, false
26831}
26832
26833// AsServiceNowObjectDataset is the BasicDataset implementation for Dataset.
26834func (d Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
26835	return nil, false
26836}
26837
26838// AsQuickBooksObjectDataset is the BasicDataset implementation for Dataset.
26839func (d Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
26840	return nil, false
26841}
26842
26843// AsPrestoObjectDataset is the BasicDataset implementation for Dataset.
26844func (d Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
26845	return nil, false
26846}
26847
26848// AsPhoenixObjectDataset is the BasicDataset implementation for Dataset.
26849func (d Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
26850	return nil, false
26851}
26852
26853// AsPaypalObjectDataset is the BasicDataset implementation for Dataset.
26854func (d Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
26855	return nil, false
26856}
26857
26858// AsMarketoObjectDataset is the BasicDataset implementation for Dataset.
26859func (d Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
26860	return nil, false
26861}
26862
26863// AsMariaDBTableDataset is the BasicDataset implementation for Dataset.
26864func (d Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
26865	return nil, false
26866}
26867
26868// AsMagentoObjectDataset is the BasicDataset implementation for Dataset.
26869func (d Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
26870	return nil, false
26871}
26872
26873// AsJiraObjectDataset is the BasicDataset implementation for Dataset.
26874func (d Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
26875	return nil, false
26876}
26877
26878// AsImpalaObjectDataset is the BasicDataset implementation for Dataset.
26879func (d Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
26880	return nil, false
26881}
26882
26883// AsHubspotObjectDataset is the BasicDataset implementation for Dataset.
26884func (d Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
26885	return nil, false
26886}
26887
26888// AsHiveObjectDataset is the BasicDataset implementation for Dataset.
26889func (d Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
26890	return nil, false
26891}
26892
26893// AsHBaseObjectDataset is the BasicDataset implementation for Dataset.
26894func (d Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
26895	return nil, false
26896}
26897
26898// AsGreenplumTableDataset is the BasicDataset implementation for Dataset.
26899func (d Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
26900	return nil, false
26901}
26902
26903// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Dataset.
26904func (d Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
26905	return nil, false
26906}
26907
26908// AsEloquaObjectDataset is the BasicDataset implementation for Dataset.
26909func (d Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
26910	return nil, false
26911}
26912
26913// AsDrillTableDataset is the BasicDataset implementation for Dataset.
26914func (d Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
26915	return nil, false
26916}
26917
26918// AsCouchbaseTableDataset is the BasicDataset implementation for Dataset.
26919func (d Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
26920	return nil, false
26921}
26922
26923// AsConcurObjectDataset is the BasicDataset implementation for Dataset.
26924func (d Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
26925	return nil, false
26926}
26927
26928// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Dataset.
26929func (d Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
26930	return nil, false
26931}
26932
26933// AsAmazonMWSObjectDataset is the BasicDataset implementation for Dataset.
26934func (d Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
26935	return nil, false
26936}
26937
26938// AsHTTPDataset is the BasicDataset implementation for Dataset.
26939func (d Dataset) AsHTTPDataset() (*HTTPDataset, bool) {
26940	return nil, false
26941}
26942
26943// AsAzureSearchIndexDataset is the BasicDataset implementation for Dataset.
26944func (d Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
26945	return nil, false
26946}
26947
26948// AsWebTableDataset is the BasicDataset implementation for Dataset.
26949func (d Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
26950	return nil, false
26951}
26952
26953// AsSQLServerTableDataset is the BasicDataset implementation for Dataset.
26954func (d Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
26955	return nil, false
26956}
26957
26958// AsSapEccResourceDataset is the BasicDataset implementation for Dataset.
26959func (d Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
26960	return nil, false
26961}
26962
26963// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Dataset.
26964func (d Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
26965	return nil, false
26966}
26967
26968// AsSalesforceObjectDataset is the BasicDataset implementation for Dataset.
26969func (d Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
26970	return nil, false
26971}
26972
26973// AsRelationalTableDataset is the BasicDataset implementation for Dataset.
26974func (d Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
26975	return nil, false
26976}
26977
26978// AsAzureMySQLTableDataset is the BasicDataset implementation for Dataset.
26979func (d Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
26980	return nil, false
26981}
26982
26983// AsOracleTableDataset is the BasicDataset implementation for Dataset.
26984func (d Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
26985	return nil, false
26986}
26987
26988// AsODataResourceDataset is the BasicDataset implementation for Dataset.
26989func (d Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
26990	return nil, false
26991}
26992
26993// AsMongoDbCollectionDataset is the BasicDataset implementation for Dataset.
26994func (d Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
26995	return nil, false
26996}
26997
26998// AsFileShareDataset is the BasicDataset implementation for Dataset.
26999func (d Dataset) AsFileShareDataset() (*FileShareDataset, bool) {
27000	return nil, false
27001}
27002
27003// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Dataset.
27004func (d Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
27005	return nil, false
27006}
27007
27008// AsDynamicsEntityDataset is the BasicDataset implementation for Dataset.
27009func (d Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
27010	return nil, false
27011}
27012
27013// AsDocumentDbCollectionDataset is the BasicDataset implementation for Dataset.
27014func (d Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
27015	return nil, false
27016}
27017
27018// AsCustomDataset is the BasicDataset implementation for Dataset.
27019func (d Dataset) AsCustomDataset() (*CustomDataset, bool) {
27020	return nil, false
27021}
27022
27023// AsCassandraTableDataset is the BasicDataset implementation for Dataset.
27024func (d Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
27025	return nil, false
27026}
27027
27028// AsAzureSQLDWTableDataset is the BasicDataset implementation for Dataset.
27029func (d Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
27030	return nil, false
27031}
27032
27033// AsAzureSQLTableDataset is the BasicDataset implementation for Dataset.
27034func (d Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
27035	return nil, false
27036}
27037
27038// AsAzureTableDataset is the BasicDataset implementation for Dataset.
27039func (d Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
27040	return nil, false
27041}
27042
27043// AsAzureBlobDataset is the BasicDataset implementation for Dataset.
27044func (d Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
27045	return nil, false
27046}
27047
27048// AsAmazonS3Dataset is the BasicDataset implementation for Dataset.
27049func (d Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
27050	return nil, false
27051}
27052
27053// AsDataset is the BasicDataset implementation for Dataset.
27054func (d Dataset) AsDataset() (*Dataset, bool) {
27055	return &d, true
27056}
27057
27058// AsBasicDataset is the BasicDataset implementation for Dataset.
27059func (d Dataset) AsBasicDataset() (BasicDataset, bool) {
27060	return &d, true
27061}
27062
27063// UnmarshalJSON is the custom unmarshaler for Dataset struct.
27064func (d *Dataset) UnmarshalJSON(body []byte) error {
27065	var m map[string]*json.RawMessage
27066	err := json.Unmarshal(body, &m)
27067	if err != nil {
27068		return err
27069	}
27070	for k, v := range m {
27071		switch k {
27072		default:
27073			if v != nil {
27074				var additionalProperties interface{}
27075				err = json.Unmarshal(*v, &additionalProperties)
27076				if err != nil {
27077					return err
27078				}
27079				if d.AdditionalProperties == nil {
27080					d.AdditionalProperties = make(map[string]interface{})
27081				}
27082				d.AdditionalProperties[k] = additionalProperties
27083			}
27084		case "description":
27085			if v != nil {
27086				var description string
27087				err = json.Unmarshal(*v, &description)
27088				if err != nil {
27089					return err
27090				}
27091				d.Description = &description
27092			}
27093		case "structure":
27094			if v != nil {
27095				var structure interface{}
27096				err = json.Unmarshal(*v, &structure)
27097				if err != nil {
27098					return err
27099				}
27100				d.Structure = structure
27101			}
27102		case "linkedServiceName":
27103			if v != nil {
27104				var linkedServiceName LinkedServiceReference
27105				err = json.Unmarshal(*v, &linkedServiceName)
27106				if err != nil {
27107					return err
27108				}
27109				d.LinkedServiceName = &linkedServiceName
27110			}
27111		case "parameters":
27112			if v != nil {
27113				var parameters map[string]*ParameterSpecification
27114				err = json.Unmarshal(*v, &parameters)
27115				if err != nil {
27116					return err
27117				}
27118				d.Parameters = parameters
27119			}
27120		case "annotations":
27121			if v != nil {
27122				var annotations []interface{}
27123				err = json.Unmarshal(*v, &annotations)
27124				if err != nil {
27125					return err
27126				}
27127				d.Annotations = &annotations
27128			}
27129		case "type":
27130			if v != nil {
27131				var typeVar TypeBasicDataset
27132				err = json.Unmarshal(*v, &typeVar)
27133				if err != nil {
27134					return err
27135				}
27136				d.Type = typeVar
27137			}
27138		}
27139	}
27140
27141	return nil
27142}
27143
27144// DatasetBZip2Compression the BZip2 compression method used on a dataset.
27145type DatasetBZip2Compression struct {
27146	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27147	AdditionalProperties map[string]interface{} `json:""`
27148	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
27149	Type TypeBasicDatasetCompression `json:"type,omitempty"`
27150}
27151
27152// MarshalJSON is the custom marshaler for DatasetBZip2Compression.
27153func (dbz2c DatasetBZip2Compression) MarshalJSON() ([]byte, error) {
27154	dbz2c.Type = TypeBZip2
27155	objectMap := make(map[string]interface{})
27156	if dbz2c.Type != "" {
27157		objectMap["type"] = dbz2c.Type
27158	}
27159	for k, v := range dbz2c.AdditionalProperties {
27160		objectMap[k] = v
27161	}
27162	return json.Marshal(objectMap)
27163}
27164
27165// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27166func (dbz2c DatasetBZip2Compression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
27167	return nil, false
27168}
27169
27170// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27171func (dbz2c DatasetBZip2Compression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
27172	return nil, false
27173}
27174
27175// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27176func (dbz2c DatasetBZip2Compression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
27177	return nil, false
27178}
27179
27180// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27181func (dbz2c DatasetBZip2Compression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
27182	return &dbz2c, true
27183}
27184
27185// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27186func (dbz2c DatasetBZip2Compression) AsDatasetCompression() (*DatasetCompression, bool) {
27187	return nil, false
27188}
27189
27190// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27191func (dbz2c DatasetBZip2Compression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
27192	return &dbz2c, true
27193}
27194
27195// UnmarshalJSON is the custom unmarshaler for DatasetBZip2Compression struct.
27196func (dbz2c *DatasetBZip2Compression) UnmarshalJSON(body []byte) error {
27197	var m map[string]*json.RawMessage
27198	err := json.Unmarshal(body, &m)
27199	if err != nil {
27200		return err
27201	}
27202	for k, v := range m {
27203		switch k {
27204		default:
27205			if v != nil {
27206				var additionalProperties interface{}
27207				err = json.Unmarshal(*v, &additionalProperties)
27208				if err != nil {
27209					return err
27210				}
27211				if dbz2c.AdditionalProperties == nil {
27212					dbz2c.AdditionalProperties = make(map[string]interface{})
27213				}
27214				dbz2c.AdditionalProperties[k] = additionalProperties
27215			}
27216		case "type":
27217			if v != nil {
27218				var typeVar TypeBasicDatasetCompression
27219				err = json.Unmarshal(*v, &typeVar)
27220				if err != nil {
27221					return err
27222				}
27223				dbz2c.Type = typeVar
27224			}
27225		}
27226	}
27227
27228	return nil
27229}
27230
27231// BasicDatasetCompression the compression method used on a dataset.
27232type BasicDatasetCompression interface {
27233	AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool)
27234	AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool)
27235	AsDatasetGZipCompression() (*DatasetGZipCompression, bool)
27236	AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool)
27237	AsDatasetCompression() (*DatasetCompression, bool)
27238}
27239
27240// DatasetCompression the compression method used on a dataset.
27241type DatasetCompression struct {
27242	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27243	AdditionalProperties map[string]interface{} `json:""`
27244	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
27245	Type TypeBasicDatasetCompression `json:"type,omitempty"`
27246}
27247
27248func unmarshalBasicDatasetCompression(body []byte) (BasicDatasetCompression, error) {
27249	var m map[string]interface{}
27250	err := json.Unmarshal(body, &m)
27251	if err != nil {
27252		return nil, err
27253	}
27254
27255	switch m["type"] {
27256	case string(TypeZipDeflate):
27257		var dzdc DatasetZipDeflateCompression
27258		err := json.Unmarshal(body, &dzdc)
27259		return dzdc, err
27260	case string(TypeDeflate):
27261		var ddc DatasetDeflateCompression
27262		err := json.Unmarshal(body, &ddc)
27263		return ddc, err
27264	case string(TypeGZip):
27265		var dgzc DatasetGZipCompression
27266		err := json.Unmarshal(body, &dgzc)
27267		return dgzc, err
27268	case string(TypeBZip2):
27269		var dbz2c DatasetBZip2Compression
27270		err := json.Unmarshal(body, &dbz2c)
27271		return dbz2c, err
27272	default:
27273		var dc DatasetCompression
27274		err := json.Unmarshal(body, &dc)
27275		return dc, err
27276	}
27277}
27278func unmarshalBasicDatasetCompressionArray(body []byte) ([]BasicDatasetCompression, error) {
27279	var rawMessages []*json.RawMessage
27280	err := json.Unmarshal(body, &rawMessages)
27281	if err != nil {
27282		return nil, err
27283	}
27284
27285	dcArray := make([]BasicDatasetCompression, len(rawMessages))
27286
27287	for index, rawMessage := range rawMessages {
27288		dc, err := unmarshalBasicDatasetCompression(*rawMessage)
27289		if err != nil {
27290			return nil, err
27291		}
27292		dcArray[index] = dc
27293	}
27294	return dcArray, nil
27295}
27296
27297// MarshalJSON is the custom marshaler for DatasetCompression.
27298func (dc DatasetCompression) MarshalJSON() ([]byte, error) {
27299	dc.Type = TypeDatasetCompression
27300	objectMap := make(map[string]interface{})
27301	if dc.Type != "" {
27302		objectMap["type"] = dc.Type
27303	}
27304	for k, v := range dc.AdditionalProperties {
27305		objectMap[k] = v
27306	}
27307	return json.Marshal(objectMap)
27308}
27309
27310// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression.
27311func (dc DatasetCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
27312	return nil, false
27313}
27314
27315// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression.
27316func (dc DatasetCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
27317	return nil, false
27318}
27319
27320// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetCompression.
27321func (dc DatasetCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
27322	return nil, false
27323}
27324
27325// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetCompression.
27326func (dc DatasetCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
27327	return nil, false
27328}
27329
27330// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression.
27331func (dc DatasetCompression) AsDatasetCompression() (*DatasetCompression, bool) {
27332	return &dc, true
27333}
27334
27335// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression.
27336func (dc DatasetCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
27337	return &dc, true
27338}
27339
27340// UnmarshalJSON is the custom unmarshaler for DatasetCompression struct.
27341func (dc *DatasetCompression) UnmarshalJSON(body []byte) error {
27342	var m map[string]*json.RawMessage
27343	err := json.Unmarshal(body, &m)
27344	if err != nil {
27345		return err
27346	}
27347	for k, v := range m {
27348		switch k {
27349		default:
27350			if v != nil {
27351				var additionalProperties interface{}
27352				err = json.Unmarshal(*v, &additionalProperties)
27353				if err != nil {
27354					return err
27355				}
27356				if dc.AdditionalProperties == nil {
27357					dc.AdditionalProperties = make(map[string]interface{})
27358				}
27359				dc.AdditionalProperties[k] = additionalProperties
27360			}
27361		case "type":
27362			if v != nil {
27363				var typeVar TypeBasicDatasetCompression
27364				err = json.Unmarshal(*v, &typeVar)
27365				if err != nil {
27366					return err
27367				}
27368				dc.Type = typeVar
27369			}
27370		}
27371	}
27372
27373	return nil
27374}
27375
27376// DatasetDeflateCompression the Deflate compression method used on a dataset.
27377type DatasetDeflateCompression struct {
27378	// Level - The Deflate compression level.
27379	Level interface{} `json:"level,omitempty"`
27380	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27381	AdditionalProperties map[string]interface{} `json:""`
27382	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
27383	Type TypeBasicDatasetCompression `json:"type,omitempty"`
27384}
27385
27386// MarshalJSON is the custom marshaler for DatasetDeflateCompression.
27387func (ddc DatasetDeflateCompression) MarshalJSON() ([]byte, error) {
27388	ddc.Type = TypeDeflate
27389	objectMap := make(map[string]interface{})
27390	if ddc.Level != nil {
27391		objectMap["level"] = ddc.Level
27392	}
27393	if ddc.Type != "" {
27394		objectMap["type"] = ddc.Type
27395	}
27396	for k, v := range ddc.AdditionalProperties {
27397		objectMap[k] = v
27398	}
27399	return json.Marshal(objectMap)
27400}
27401
27402// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27403func (ddc DatasetDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
27404	return nil, false
27405}
27406
27407// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27408func (ddc DatasetDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
27409	return &ddc, true
27410}
27411
27412// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27413func (ddc DatasetDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
27414	return nil, false
27415}
27416
27417// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27418func (ddc DatasetDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
27419	return nil, false
27420}
27421
27422// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27423func (ddc DatasetDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) {
27424	return nil, false
27425}
27426
27427// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27428func (ddc DatasetDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
27429	return &ddc, true
27430}
27431
27432// UnmarshalJSON is the custom unmarshaler for DatasetDeflateCompression struct.
27433func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error {
27434	var m map[string]*json.RawMessage
27435	err := json.Unmarshal(body, &m)
27436	if err != nil {
27437		return err
27438	}
27439	for k, v := range m {
27440		switch k {
27441		case "level":
27442			if v != nil {
27443				var level interface{}
27444				err = json.Unmarshal(*v, &level)
27445				if err != nil {
27446					return err
27447				}
27448				ddc.Level = level
27449			}
27450		default:
27451			if v != nil {
27452				var additionalProperties interface{}
27453				err = json.Unmarshal(*v, &additionalProperties)
27454				if err != nil {
27455					return err
27456				}
27457				if ddc.AdditionalProperties == nil {
27458					ddc.AdditionalProperties = make(map[string]interface{})
27459				}
27460				ddc.AdditionalProperties[k] = additionalProperties
27461			}
27462		case "type":
27463			if v != nil {
27464				var typeVar TypeBasicDatasetCompression
27465				err = json.Unmarshal(*v, &typeVar)
27466				if err != nil {
27467					return err
27468				}
27469				ddc.Type = typeVar
27470			}
27471		}
27472	}
27473
27474	return nil
27475}
27476
27477// DatasetGZipCompression the GZip compression method used on a dataset.
27478type DatasetGZipCompression struct {
27479	// Level - The GZip compression level.
27480	Level interface{} `json:"level,omitempty"`
27481	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27482	AdditionalProperties map[string]interface{} `json:""`
27483	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
27484	Type TypeBasicDatasetCompression `json:"type,omitempty"`
27485}
27486
27487// MarshalJSON is the custom marshaler for DatasetGZipCompression.
27488func (dgzc DatasetGZipCompression) MarshalJSON() ([]byte, error) {
27489	dgzc.Type = TypeGZip
27490	objectMap := make(map[string]interface{})
27491	if dgzc.Level != nil {
27492		objectMap["level"] = dgzc.Level
27493	}
27494	if dgzc.Type != "" {
27495		objectMap["type"] = dgzc.Type
27496	}
27497	for k, v := range dgzc.AdditionalProperties {
27498		objectMap[k] = v
27499	}
27500	return json.Marshal(objectMap)
27501}
27502
27503// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27504func (dgzc DatasetGZipCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
27505	return nil, false
27506}
27507
27508// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27509func (dgzc DatasetGZipCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
27510	return nil, false
27511}
27512
27513// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27514func (dgzc DatasetGZipCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
27515	return &dgzc, true
27516}
27517
27518// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27519func (dgzc DatasetGZipCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
27520	return nil, false
27521}
27522
27523// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27524func (dgzc DatasetGZipCompression) AsDatasetCompression() (*DatasetCompression, bool) {
27525	return nil, false
27526}
27527
27528// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27529func (dgzc DatasetGZipCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
27530	return &dgzc, true
27531}
27532
27533// UnmarshalJSON is the custom unmarshaler for DatasetGZipCompression struct.
27534func (dgzc *DatasetGZipCompression) UnmarshalJSON(body []byte) error {
27535	var m map[string]*json.RawMessage
27536	err := json.Unmarshal(body, &m)
27537	if err != nil {
27538		return err
27539	}
27540	for k, v := range m {
27541		switch k {
27542		case "level":
27543			if v != nil {
27544				var level interface{}
27545				err = json.Unmarshal(*v, &level)
27546				if err != nil {
27547					return err
27548				}
27549				dgzc.Level = level
27550			}
27551		default:
27552			if v != nil {
27553				var additionalProperties interface{}
27554				err = json.Unmarshal(*v, &additionalProperties)
27555				if err != nil {
27556					return err
27557				}
27558				if dgzc.AdditionalProperties == nil {
27559					dgzc.AdditionalProperties = make(map[string]interface{})
27560				}
27561				dgzc.AdditionalProperties[k] = additionalProperties
27562			}
27563		case "type":
27564			if v != nil {
27565				var typeVar TypeBasicDatasetCompression
27566				err = json.Unmarshal(*v, &typeVar)
27567				if err != nil {
27568					return err
27569				}
27570				dgzc.Type = typeVar
27571			}
27572		}
27573	}
27574
27575	return nil
27576}
27577
27578// DatasetListResponse a list of dataset resources.
27579type DatasetListResponse struct {
27580	autorest.Response `json:"-"`
27581	// Value - List of datasets.
27582	Value *[]DatasetResource `json:"value,omitempty"`
27583	// NextLink - The link to the next page of results, if any remaining results exist.
27584	NextLink *string `json:"nextLink,omitempty"`
27585}
27586
27587// DatasetListResponseIterator provides access to a complete listing of DatasetResource values.
27588type DatasetListResponseIterator struct {
27589	i    int
27590	page DatasetListResponsePage
27591}
27592
27593// NextWithContext advances to the next value.  If there was an error making
27594// the request the iterator does not advance and the error is returned.
27595func (iter *DatasetListResponseIterator) NextWithContext(ctx context.Context) (err error) {
27596	if tracing.IsEnabled() {
27597		ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponseIterator.NextWithContext")
27598		defer func() {
27599			sc := -1
27600			if iter.Response().Response.Response != nil {
27601				sc = iter.Response().Response.Response.StatusCode
27602			}
27603			tracing.EndSpan(ctx, sc, err)
27604		}()
27605	}
27606	iter.i++
27607	if iter.i < len(iter.page.Values()) {
27608		return nil
27609	}
27610	err = iter.page.NextWithContext(ctx)
27611	if err != nil {
27612		iter.i--
27613		return err
27614	}
27615	iter.i = 0
27616	return nil
27617}
27618
27619// Next advances to the next value.  If there was an error making
27620// the request the iterator does not advance and the error is returned.
27621// Deprecated: Use NextWithContext() instead.
27622func (iter *DatasetListResponseIterator) Next() error {
27623	return iter.NextWithContext(context.Background())
27624}
27625
27626// NotDone returns true if the enumeration should be started or is not yet complete.
27627func (iter DatasetListResponseIterator) NotDone() bool {
27628	return iter.page.NotDone() && iter.i < len(iter.page.Values())
27629}
27630
27631// Response returns the raw server response from the last page request.
27632func (iter DatasetListResponseIterator) Response() DatasetListResponse {
27633	return iter.page.Response()
27634}
27635
27636// Value returns the current value or a zero-initialized value if the
27637// iterator has advanced beyond the end of the collection.
27638func (iter DatasetListResponseIterator) Value() DatasetResource {
27639	if !iter.page.NotDone() {
27640		return DatasetResource{}
27641	}
27642	return iter.page.Values()[iter.i]
27643}
27644
27645// Creates a new instance of the DatasetListResponseIterator type.
27646func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator {
27647	return DatasetListResponseIterator{page: page}
27648}
27649
27650// IsEmpty returns true if the ListResult contains no values.
27651func (dlr DatasetListResponse) IsEmpty() bool {
27652	return dlr.Value == nil || len(*dlr.Value) == 0
27653}
27654
27655// hasNextLink returns true if the NextLink is not empty.
27656func (dlr DatasetListResponse) hasNextLink() bool {
27657	return dlr.NextLink != nil && len(*dlr.NextLink) != 0
27658}
27659
27660// datasetListResponsePreparer prepares a request to retrieve the next set of results.
27661// It returns nil if no more results exist.
27662func (dlr DatasetListResponse) datasetListResponsePreparer(ctx context.Context) (*http.Request, error) {
27663	if !dlr.hasNextLink() {
27664		return nil, nil
27665	}
27666	return autorest.Prepare((&http.Request{}).WithContext(ctx),
27667		autorest.AsJSON(),
27668		autorest.AsGet(),
27669		autorest.WithBaseURL(to.String(dlr.NextLink)))
27670}
27671
27672// DatasetListResponsePage contains a page of DatasetResource values.
27673type DatasetListResponsePage struct {
27674	fn  func(context.Context, DatasetListResponse) (DatasetListResponse, error)
27675	dlr DatasetListResponse
27676}
27677
27678// NextWithContext advances to the next page of values.  If there was an error making
27679// the request the page does not advance and the error is returned.
27680func (page *DatasetListResponsePage) NextWithContext(ctx context.Context) (err error) {
27681	if tracing.IsEnabled() {
27682		ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponsePage.NextWithContext")
27683		defer func() {
27684			sc := -1
27685			if page.Response().Response.Response != nil {
27686				sc = page.Response().Response.Response.StatusCode
27687			}
27688			tracing.EndSpan(ctx, sc, err)
27689		}()
27690	}
27691	for {
27692		next, err := page.fn(ctx, page.dlr)
27693		if err != nil {
27694			return err
27695		}
27696		page.dlr = next
27697		if !next.hasNextLink() || !next.IsEmpty() {
27698			break
27699		}
27700	}
27701	return nil
27702}
27703
27704// Next advances to the next page of values.  If there was an error making
27705// the request the page does not advance and the error is returned.
27706// Deprecated: Use NextWithContext() instead.
27707func (page *DatasetListResponsePage) Next() error {
27708	return page.NextWithContext(context.Background())
27709}
27710
27711// NotDone returns true if the page enumeration should be started or is not yet complete.
27712func (page DatasetListResponsePage) NotDone() bool {
27713	return !page.dlr.IsEmpty()
27714}
27715
27716// Response returns the raw server response from the last page request.
27717func (page DatasetListResponsePage) Response() DatasetListResponse {
27718	return page.dlr
27719}
27720
27721// Values returns the slice of values for the current page or nil if there are no values.
27722func (page DatasetListResponsePage) Values() []DatasetResource {
27723	if page.dlr.IsEmpty() {
27724		return nil
27725	}
27726	return *page.dlr.Value
27727}
27728
27729// Creates a new instance of the DatasetListResponsePage type.
27730func NewDatasetListResponsePage(cur DatasetListResponse, getNextPage func(context.Context, DatasetListResponse) (DatasetListResponse, error)) DatasetListResponsePage {
27731	return DatasetListResponsePage{
27732		fn:  getNextPage,
27733		dlr: cur,
27734	}
27735}
27736
27737// DatasetReference dataset reference type.
27738type DatasetReference struct {
27739	// Type - Dataset reference type.
27740	Type *string `json:"type,omitempty"`
27741	// ReferenceName - Reference dataset name.
27742	ReferenceName *string `json:"referenceName,omitempty"`
27743	// Parameters - Arguments for dataset.
27744	Parameters map[string]interface{} `json:"parameters"`
27745}
27746
27747// MarshalJSON is the custom marshaler for DatasetReference.
27748func (dr DatasetReference) MarshalJSON() ([]byte, error) {
27749	objectMap := make(map[string]interface{})
27750	if dr.Type != nil {
27751		objectMap["type"] = dr.Type
27752	}
27753	if dr.ReferenceName != nil {
27754		objectMap["referenceName"] = dr.ReferenceName
27755	}
27756	if dr.Parameters != nil {
27757		objectMap["parameters"] = dr.Parameters
27758	}
27759	return json.Marshal(objectMap)
27760}
27761
27762// DatasetResource dataset resource type.
27763type DatasetResource struct {
27764	autorest.Response `json:"-"`
27765	// Properties - Dataset properties.
27766	Properties BasicDataset `json:"properties,omitempty"`
27767	// ID - READ-ONLY; The resource identifier.
27768	ID *string `json:"id,omitempty"`
27769	// Name - READ-ONLY; The resource name.
27770	Name *string `json:"name,omitempty"`
27771	// Type - READ-ONLY; The resource type.
27772	Type *string `json:"type,omitempty"`
27773	// Etag - READ-ONLY; Etag identifies change in the resource.
27774	Etag *string `json:"etag,omitempty"`
27775}
27776
27777// MarshalJSON is the custom marshaler for DatasetResource.
27778func (dr DatasetResource) MarshalJSON() ([]byte, error) {
27779	objectMap := make(map[string]interface{})
27780	objectMap["properties"] = dr.Properties
27781	return json.Marshal(objectMap)
27782}
27783
27784// UnmarshalJSON is the custom unmarshaler for DatasetResource struct.
27785func (dr *DatasetResource) UnmarshalJSON(body []byte) error {
27786	var m map[string]*json.RawMessage
27787	err := json.Unmarshal(body, &m)
27788	if err != nil {
27789		return err
27790	}
27791	for k, v := range m {
27792		switch k {
27793		case "properties":
27794			if v != nil {
27795				properties, err := unmarshalBasicDataset(*v)
27796				if err != nil {
27797					return err
27798				}
27799				dr.Properties = properties
27800			}
27801		case "id":
27802			if v != nil {
27803				var ID string
27804				err = json.Unmarshal(*v, &ID)
27805				if err != nil {
27806					return err
27807				}
27808				dr.ID = &ID
27809			}
27810		case "name":
27811			if v != nil {
27812				var name string
27813				err = json.Unmarshal(*v, &name)
27814				if err != nil {
27815					return err
27816				}
27817				dr.Name = &name
27818			}
27819		case "type":
27820			if v != nil {
27821				var typeVar string
27822				err = json.Unmarshal(*v, &typeVar)
27823				if err != nil {
27824					return err
27825				}
27826				dr.Type = &typeVar
27827			}
27828		case "etag":
27829			if v != nil {
27830				var etag string
27831				err = json.Unmarshal(*v, &etag)
27832				if err != nil {
27833					return err
27834				}
27835				dr.Etag = &etag
27836			}
27837		}
27838	}
27839
27840	return nil
27841}
27842
27843// BasicDatasetStorageFormat the format definition of a storage.
27844type BasicDatasetStorageFormat interface {
27845	AsParquetFormat() (*ParquetFormat, bool)
27846	AsOrcFormat() (*OrcFormat, bool)
27847	AsAvroFormat() (*AvroFormat, bool)
27848	AsJSONFormat() (*JSONFormat, bool)
27849	AsTextFormat() (*TextFormat, bool)
27850	AsDatasetStorageFormat() (*DatasetStorageFormat, bool)
27851}
27852
27853// DatasetStorageFormat the format definition of a storage.
27854type DatasetStorageFormat struct {
27855	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27856	AdditionalProperties map[string]interface{} `json:""`
27857	// Serializer - Serializer. Type: string (or Expression with resultType string).
27858	Serializer interface{} `json:"serializer,omitempty"`
27859	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
27860	Deserializer interface{} `json:"deserializer,omitempty"`
27861	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
27862	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
27863}
27864
27865func unmarshalBasicDatasetStorageFormat(body []byte) (BasicDatasetStorageFormat, error) {
27866	var m map[string]interface{}
27867	err := json.Unmarshal(body, &m)
27868	if err != nil {
27869		return nil, err
27870	}
27871
27872	switch m["type"] {
27873	case string(TypeParquetFormat):
27874		var pf ParquetFormat
27875		err := json.Unmarshal(body, &pf)
27876		return pf, err
27877	case string(TypeOrcFormat):
27878		var of OrcFormat
27879		err := json.Unmarshal(body, &of)
27880		return of, err
27881	case string(TypeAvroFormat):
27882		var af AvroFormat
27883		err := json.Unmarshal(body, &af)
27884		return af, err
27885	case string(TypeJSONFormat):
27886		var jf JSONFormat
27887		err := json.Unmarshal(body, &jf)
27888		return jf, err
27889	case string(TypeTextFormat):
27890		var tf TextFormat
27891		err := json.Unmarshal(body, &tf)
27892		return tf, err
27893	default:
27894		var dsf DatasetStorageFormat
27895		err := json.Unmarshal(body, &dsf)
27896		return dsf, err
27897	}
27898}
27899func unmarshalBasicDatasetStorageFormatArray(body []byte) ([]BasicDatasetStorageFormat, error) {
27900	var rawMessages []*json.RawMessage
27901	err := json.Unmarshal(body, &rawMessages)
27902	if err != nil {
27903		return nil, err
27904	}
27905
27906	dsfArray := make([]BasicDatasetStorageFormat, len(rawMessages))
27907
27908	for index, rawMessage := range rawMessages {
27909		dsf, err := unmarshalBasicDatasetStorageFormat(*rawMessage)
27910		if err != nil {
27911			return nil, err
27912		}
27913		dsfArray[index] = dsf
27914	}
27915	return dsfArray, nil
27916}
27917
27918// MarshalJSON is the custom marshaler for DatasetStorageFormat.
27919func (dsf DatasetStorageFormat) MarshalJSON() ([]byte, error) {
27920	dsf.Type = TypeDatasetStorageFormat
27921	objectMap := make(map[string]interface{})
27922	if dsf.Serializer != nil {
27923		objectMap["serializer"] = dsf.Serializer
27924	}
27925	if dsf.Deserializer != nil {
27926		objectMap["deserializer"] = dsf.Deserializer
27927	}
27928	if dsf.Type != "" {
27929		objectMap["type"] = dsf.Type
27930	}
27931	for k, v := range dsf.AdditionalProperties {
27932		objectMap[k] = v
27933	}
27934	return json.Marshal(objectMap)
27935}
27936
27937// AsParquetFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27938func (dsf DatasetStorageFormat) AsParquetFormat() (*ParquetFormat, bool) {
27939	return nil, false
27940}
27941
27942// AsOrcFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27943func (dsf DatasetStorageFormat) AsOrcFormat() (*OrcFormat, bool) {
27944	return nil, false
27945}
27946
27947// AsAvroFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27948func (dsf DatasetStorageFormat) AsAvroFormat() (*AvroFormat, bool) {
27949	return nil, false
27950}
27951
27952// AsJSONFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27953func (dsf DatasetStorageFormat) AsJSONFormat() (*JSONFormat, bool) {
27954	return nil, false
27955}
27956
27957// AsTextFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27958func (dsf DatasetStorageFormat) AsTextFormat() (*TextFormat, bool) {
27959	return nil, false
27960}
27961
27962// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27963func (dsf DatasetStorageFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
27964	return &dsf, true
27965}
27966
27967// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27968func (dsf DatasetStorageFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
27969	return &dsf, true
27970}
27971
27972// UnmarshalJSON is the custom unmarshaler for DatasetStorageFormat struct.
27973func (dsf *DatasetStorageFormat) UnmarshalJSON(body []byte) error {
27974	var m map[string]*json.RawMessage
27975	err := json.Unmarshal(body, &m)
27976	if err != nil {
27977		return err
27978	}
27979	for k, v := range m {
27980		switch k {
27981		default:
27982			if v != nil {
27983				var additionalProperties interface{}
27984				err = json.Unmarshal(*v, &additionalProperties)
27985				if err != nil {
27986					return err
27987				}
27988				if dsf.AdditionalProperties == nil {
27989					dsf.AdditionalProperties = make(map[string]interface{})
27990				}
27991				dsf.AdditionalProperties[k] = additionalProperties
27992			}
27993		case "serializer":
27994			if v != nil {
27995				var serializer interface{}
27996				err = json.Unmarshal(*v, &serializer)
27997				if err != nil {
27998					return err
27999				}
28000				dsf.Serializer = serializer
28001			}
28002		case "deserializer":
28003			if v != nil {
28004				var deserializer interface{}
28005				err = json.Unmarshal(*v, &deserializer)
28006				if err != nil {
28007					return err
28008				}
28009				dsf.Deserializer = deserializer
28010			}
28011		case "type":
28012			if v != nil {
28013				var typeVar TypeBasicDatasetStorageFormat
28014				err = json.Unmarshal(*v, &typeVar)
28015				if err != nil {
28016					return err
28017				}
28018				dsf.Type = typeVar
28019			}
28020		}
28021	}
28022
28023	return nil
28024}
28025
28026// DatasetZipDeflateCompression the ZipDeflate compression method used on a dataset.
28027type DatasetZipDeflateCompression struct {
28028	// Level - The ZipDeflate compression level.
28029	Level interface{} `json:"level,omitempty"`
28030	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
28031	AdditionalProperties map[string]interface{} `json:""`
28032	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
28033	Type TypeBasicDatasetCompression `json:"type,omitempty"`
28034}
28035
28036// MarshalJSON is the custom marshaler for DatasetZipDeflateCompression.
28037func (dzdc DatasetZipDeflateCompression) MarshalJSON() ([]byte, error) {
28038	dzdc.Type = TypeZipDeflate
28039	objectMap := make(map[string]interface{})
28040	if dzdc.Level != nil {
28041		objectMap["level"] = dzdc.Level
28042	}
28043	if dzdc.Type != "" {
28044		objectMap["type"] = dzdc.Type
28045	}
28046	for k, v := range dzdc.AdditionalProperties {
28047		objectMap[k] = v
28048	}
28049	return json.Marshal(objectMap)
28050}
28051
28052// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28053func (dzdc DatasetZipDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
28054	return &dzdc, true
28055}
28056
28057// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28058func (dzdc DatasetZipDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
28059	return nil, false
28060}
28061
28062// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28063func (dzdc DatasetZipDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
28064	return nil, false
28065}
28066
28067// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28068func (dzdc DatasetZipDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
28069	return nil, false
28070}
28071
28072// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28073func (dzdc DatasetZipDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) {
28074	return nil, false
28075}
28076
28077// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28078func (dzdc DatasetZipDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
28079	return &dzdc, true
28080}
28081
28082// UnmarshalJSON is the custom unmarshaler for DatasetZipDeflateCompression struct.
28083func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error {
28084	var m map[string]*json.RawMessage
28085	err := json.Unmarshal(body, &m)
28086	if err != nil {
28087		return err
28088	}
28089	for k, v := range m {
28090		switch k {
28091		case "level":
28092			if v != nil {
28093				var level interface{}
28094				err = json.Unmarshal(*v, &level)
28095				if err != nil {
28096					return err
28097				}
28098				dzdc.Level = level
28099			}
28100		default:
28101			if v != nil {
28102				var additionalProperties interface{}
28103				err = json.Unmarshal(*v, &additionalProperties)
28104				if err != nil {
28105					return err
28106				}
28107				if dzdc.AdditionalProperties == nil {
28108					dzdc.AdditionalProperties = make(map[string]interface{})
28109				}
28110				dzdc.AdditionalProperties[k] = additionalProperties
28111			}
28112		case "type":
28113			if v != nil {
28114				var typeVar TypeBasicDatasetCompression
28115				err = json.Unmarshal(*v, &typeVar)
28116				if err != nil {
28117					return err
28118				}
28119				dzdc.Type = typeVar
28120			}
28121		}
28122	}
28123
28124	return nil
28125}
28126
28127// Db2LinkedService linked service for DB2 data source.
28128type Db2LinkedService struct {
28129	// Db2LinkedServiceTypeProperties - DB2 linked service properties.
28130	*Db2LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
28131	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
28132	AdditionalProperties map[string]interface{} `json:""`
28133	// ConnectVia - The integration runtime reference.
28134	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
28135	// Description - Linked service description.
28136	Description *string `json:"description,omitempty"`
28137	// Parameters - Parameters for linked service.
28138	Parameters map[string]*ParameterSpecification `json:"parameters"`
28139	// Annotations - List of tags that can be used for describing the Dataset.
28140	Annotations *[]interface{} `json:"annotations,omitempty"`
28141	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
28142	Type TypeBasicLinkedService `json:"type,omitempty"`
28143}
28144
28145// MarshalJSON is the custom marshaler for Db2LinkedService.
28146func (d2ls Db2LinkedService) MarshalJSON() ([]byte, error) {
28147	d2ls.Type = TypeDb2
28148	objectMap := make(map[string]interface{})
28149	if d2ls.Db2LinkedServiceTypeProperties != nil {
28150		objectMap["typeProperties"] = d2ls.Db2LinkedServiceTypeProperties
28151	}
28152	if d2ls.ConnectVia != nil {
28153		objectMap["connectVia"] = d2ls.ConnectVia
28154	}
28155	if d2ls.Description != nil {
28156		objectMap["description"] = d2ls.Description
28157	}
28158	if d2ls.Parameters != nil {
28159		objectMap["parameters"] = d2ls.Parameters
28160	}
28161	if d2ls.Annotations != nil {
28162		objectMap["annotations"] = d2ls.Annotations
28163	}
28164	if d2ls.Type != "" {
28165		objectMap["type"] = d2ls.Type
28166	}
28167	for k, v := range d2ls.AdditionalProperties {
28168		objectMap[k] = v
28169	}
28170	return json.Marshal(objectMap)
28171}
28172
28173// AsResponsysLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28174func (d2ls Db2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
28175	return nil, false
28176}
28177
28178// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28179func (d2ls Db2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
28180	return nil, false
28181}
28182
28183// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28184func (d2ls Db2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
28185	return nil, false
28186}
28187
28188// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28189func (d2ls Db2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
28190	return nil, false
28191}
28192
28193// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28194func (d2ls Db2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
28195	return nil, false
28196}
28197
28198// AsNetezzaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28199func (d2ls Db2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
28200	return nil, false
28201}
28202
28203// AsVerticaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28204func (d2ls Db2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
28205	return nil, false
28206}
28207
28208// AsZohoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28209func (d2ls Db2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
28210	return nil, false
28211}
28212
28213// AsXeroLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28214func (d2ls Db2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
28215	return nil, false
28216}
28217
28218// AsSquareLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28219func (d2ls Db2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
28220	return nil, false
28221}
28222
28223// AsSparkLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28224func (d2ls Db2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
28225	return nil, false
28226}
28227
28228// AsShopifyLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28229func (d2ls Db2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
28230	return nil, false
28231}
28232
28233// AsServiceNowLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28234func (d2ls Db2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
28235	return nil, false
28236}
28237
28238// AsQuickBooksLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28239func (d2ls Db2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
28240	return nil, false
28241}
28242
28243// AsPrestoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28244func (d2ls Db2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
28245	return nil, false
28246}
28247
28248// AsPhoenixLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28249func (d2ls Db2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
28250	return nil, false
28251}
28252
28253// AsPaypalLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28254func (d2ls Db2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
28255	return nil, false
28256}
28257
28258// AsMarketoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28259func (d2ls Db2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
28260	return nil, false
28261}
28262
28263// AsMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28264func (d2ls Db2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
28265	return nil, false
28266}
28267
28268// AsMagentoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28269func (d2ls Db2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
28270	return nil, false
28271}
28272
28273// AsJiraLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28274func (d2ls Db2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
28275	return nil, false
28276}
28277
28278// AsImpalaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28279func (d2ls Db2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
28280	return nil, false
28281}
28282
28283// AsHubspotLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28284func (d2ls Db2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
28285	return nil, false
28286}
28287
28288// AsHiveLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28289func (d2ls Db2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
28290	return nil, false
28291}
28292
28293// AsHBaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28294func (d2ls Db2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
28295	return nil, false
28296}
28297
28298// AsGreenplumLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28299func (d2ls Db2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
28300	return nil, false
28301}
28302
28303// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28304func (d2ls Db2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
28305	return nil, false
28306}
28307
28308// AsEloquaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28309func (d2ls Db2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
28310	return nil, false
28311}
28312
28313// AsDrillLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28314func (d2ls Db2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
28315	return nil, false
28316}
28317
28318// AsCouchbaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28319func (d2ls Db2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
28320	return nil, false
28321}
28322
28323// AsConcurLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28324func (d2ls Db2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
28325	return nil, false
28326}
28327
28328// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28329func (d2ls Db2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
28330	return nil, false
28331}
28332
28333// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28334func (d2ls Db2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
28335	return nil, false
28336}
28337
28338// AsSapHanaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28339func (d2ls Db2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
28340	return nil, false
28341}
28342
28343// AsSapBWLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28344func (d2ls Db2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
28345	return nil, false
28346}
28347
28348// AsSftpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28349func (d2ls Db2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
28350	return nil, false
28351}
28352
28353// AsFtpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28354func (d2ls Db2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
28355	return nil, false
28356}
28357
28358// AsHTTPLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28359func (d2ls Db2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
28360	return nil, false
28361}
28362
28363// AsAzureSearchLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28364func (d2ls Db2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
28365	return nil, false
28366}
28367
28368// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28369func (d2ls Db2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
28370	return nil, false
28371}
28372
28373// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28374func (d2ls Db2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
28375	return nil, false
28376}
28377
28378// AsAmazonS3LinkedService is the BasicLinkedService implementation for Db2LinkedService.
28379func (d2ls Db2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
28380	return nil, false
28381}
28382
28383// AsSapEccLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28384func (d2ls Db2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
28385	return nil, false
28386}
28387
28388// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28389func (d2ls Db2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
28390	return nil, false
28391}
28392
28393// AsSalesforceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28394func (d2ls Db2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
28395	return nil, false
28396}
28397
28398// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28399func (d2ls Db2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
28400	return nil, false
28401}
28402
28403// AsMongoDbLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28404func (d2ls Db2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
28405	return nil, false
28406}
28407
28408// AsCassandraLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28409func (d2ls Db2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
28410	return nil, false
28411}
28412
28413// AsWebLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28414func (d2ls Db2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
28415	return nil, false
28416}
28417
28418// AsODataLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28419func (d2ls Db2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
28420	return nil, false
28421}
28422
28423// AsHdfsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28424func (d2ls Db2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
28425	return nil, false
28426}
28427
28428// AsOdbcLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28429func (d2ls Db2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
28430	return nil, false
28431}
28432
28433// AsAzureMLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28434func (d2ls Db2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
28435	return nil, false
28436}
28437
28438// AsTeradataLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28439func (d2ls Db2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
28440	return nil, false
28441}
28442
28443// AsDb2LinkedService is the BasicLinkedService implementation for Db2LinkedService.
28444func (d2ls Db2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
28445	return &d2ls, true
28446}
28447
28448// AsSybaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28449func (d2ls Db2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
28450	return nil, false
28451}
28452
28453// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28454func (d2ls Db2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
28455	return nil, false
28456}
28457
28458// AsMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28459func (d2ls Db2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
28460	return nil, false
28461}
28462
28463// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28464func (d2ls Db2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
28465	return nil, false
28466}
28467
28468// AsOracleLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28469func (d2ls Db2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
28470	return nil, false
28471}
28472
28473// AsFileServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28474func (d2ls Db2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
28475	return nil, false
28476}
28477
28478// AsHDInsightLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28479func (d2ls Db2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
28480	return nil, false
28481}
28482
28483// AsDynamicsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28484func (d2ls Db2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
28485	return nil, false
28486}
28487
28488// AsCosmosDbLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28489func (d2ls Db2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
28490	return nil, false
28491}
28492
28493// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28494func (d2ls Db2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
28495	return nil, false
28496}
28497
28498// AsAzureBatchLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28499func (d2ls Db2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
28500	return nil, false
28501}
28502
28503// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28504func (d2ls Db2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
28505	return nil, false
28506}
28507
28508// AsSQLServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28509func (d2ls Db2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
28510	return nil, false
28511}
28512
28513// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28514func (d2ls Db2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
28515	return nil, false
28516}
28517
28518// AsAzureStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28519func (d2ls Db2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
28520	return nil, false
28521}
28522
28523// AsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28524func (d2ls Db2LinkedService) AsLinkedService() (*LinkedService, bool) {
28525	return nil, false
28526}
28527
28528// AsBasicLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28529func (d2ls Db2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
28530	return &d2ls, true
28531}
28532
28533// UnmarshalJSON is the custom unmarshaler for Db2LinkedService struct.
28534func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error {
28535	var m map[string]*json.RawMessage
28536	err := json.Unmarshal(body, &m)
28537	if err != nil {
28538		return err
28539	}
28540	for k, v := range m {
28541		switch k {
28542		case "typeProperties":
28543			if v != nil {
28544				var db2LinkedServiceTypeProperties Db2LinkedServiceTypeProperties
28545				err = json.Unmarshal(*v, &db2LinkedServiceTypeProperties)
28546				if err != nil {
28547					return err
28548				}
28549				d2ls.Db2LinkedServiceTypeProperties = &db2LinkedServiceTypeProperties
28550			}
28551		default:
28552			if v != nil {
28553				var additionalProperties interface{}
28554				err = json.Unmarshal(*v, &additionalProperties)
28555				if err != nil {
28556					return err
28557				}
28558				if d2ls.AdditionalProperties == nil {
28559					d2ls.AdditionalProperties = make(map[string]interface{})
28560				}
28561				d2ls.AdditionalProperties[k] = additionalProperties
28562			}
28563		case "connectVia":
28564			if v != nil {
28565				var connectVia IntegrationRuntimeReference
28566				err = json.Unmarshal(*v, &connectVia)
28567				if err != nil {
28568					return err
28569				}
28570				d2ls.ConnectVia = &connectVia
28571			}
28572		case "description":
28573			if v != nil {
28574				var description string
28575				err = json.Unmarshal(*v, &description)
28576				if err != nil {
28577					return err
28578				}
28579				d2ls.Description = &description
28580			}
28581		case "parameters":
28582			if v != nil {
28583				var parameters map[string]*ParameterSpecification
28584				err = json.Unmarshal(*v, &parameters)
28585				if err != nil {
28586					return err
28587				}
28588				d2ls.Parameters = parameters
28589			}
28590		case "annotations":
28591			if v != nil {
28592				var annotations []interface{}
28593				err = json.Unmarshal(*v, &annotations)
28594				if err != nil {
28595					return err
28596				}
28597				d2ls.Annotations = &annotations
28598			}
28599		case "type":
28600			if v != nil {
28601				var typeVar TypeBasicLinkedService
28602				err = json.Unmarshal(*v, &typeVar)
28603				if err != nil {
28604					return err
28605				}
28606				d2ls.Type = typeVar
28607			}
28608		}
28609	}
28610
28611	return nil
28612}
28613
28614// Db2LinkedServiceTypeProperties dB2 linked service properties.
28615type Db2LinkedServiceTypeProperties struct {
28616	// Server - Server name for connection. Type: string (or Expression with resultType string).
28617	Server interface{} `json:"server,omitempty"`
28618	// Database - Database name for connection. Type: string (or Expression with resultType string).
28619	Database interface{} `json:"database,omitempty"`
28620	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'Basic'
28621	AuthenticationType Db2AuthenticationType `json:"authenticationType,omitempty"`
28622	// Username - Username for authentication. Type: string (or Expression with resultType string).
28623	Username interface{} `json:"username,omitempty"`
28624	// Password - Password for authentication.
28625	Password BasicSecretBase `json:"password,omitempty"`
28626	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
28627	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
28628}
28629
28630// UnmarshalJSON is the custom unmarshaler for Db2LinkedServiceTypeProperties struct.
28631func (d2lstp *Db2LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
28632	var m map[string]*json.RawMessage
28633	err := json.Unmarshal(body, &m)
28634	if err != nil {
28635		return err
28636	}
28637	for k, v := range m {
28638		switch k {
28639		case "server":
28640			if v != nil {
28641				var server interface{}
28642				err = json.Unmarshal(*v, &server)
28643				if err != nil {
28644					return err
28645				}
28646				d2lstp.Server = server
28647			}
28648		case "database":
28649			if v != nil {
28650				var databaseVar interface{}
28651				err = json.Unmarshal(*v, &databaseVar)
28652				if err != nil {
28653					return err
28654				}
28655				d2lstp.Database = databaseVar
28656			}
28657		case "authenticationType":
28658			if v != nil {
28659				var authenticationType Db2AuthenticationType
28660				err = json.Unmarshal(*v, &authenticationType)
28661				if err != nil {
28662					return err
28663				}
28664				d2lstp.AuthenticationType = authenticationType
28665			}
28666		case "username":
28667			if v != nil {
28668				var username interface{}
28669				err = json.Unmarshal(*v, &username)
28670				if err != nil {
28671					return err
28672				}
28673				d2lstp.Username = username
28674			}
28675		case "password":
28676			if v != nil {
28677				password, err := unmarshalBasicSecretBase(*v)
28678				if err != nil {
28679					return err
28680				}
28681				d2lstp.Password = password
28682			}
28683		case "encryptedCredential":
28684			if v != nil {
28685				var encryptedCredential interface{}
28686				err = json.Unmarshal(*v, &encryptedCredential)
28687				if err != nil {
28688					return err
28689				}
28690				d2lstp.EncryptedCredential = encryptedCredential
28691			}
28692		}
28693	}
28694
28695	return nil
28696}
28697
28698// DistcpSettings distcp settings.
28699type DistcpSettings struct {
28700	// ResourceManagerEndpoint - Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string).
28701	ResourceManagerEndpoint interface{} `json:"resourceManagerEndpoint,omitempty"`
28702	// TempScriptPath - Specifies an existing folder path which will be used to store temp Distcp command script. The script file is generated by ADF and will be removed after Copy job finished. Type: string (or Expression with resultType string).
28703	TempScriptPath interface{} `json:"tempScriptPath,omitempty"`
28704	// DistcpOptions - Specifies the Distcp options. Type: string (or Expression with resultType string).
28705	DistcpOptions interface{} `json:"distcpOptions,omitempty"`
28706}
28707
28708// DocumentDbCollectionDataset microsoft Azure Document Database Collection dataset.
28709type DocumentDbCollectionDataset struct {
28710	// DocumentDbCollectionDatasetTypeProperties - DocumentDB Collection dataset properties.
28711	*DocumentDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
28712	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
28713	AdditionalProperties map[string]interface{} `json:""`
28714	// Description - Dataset description.
28715	Description *string `json:"description,omitempty"`
28716	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
28717	Structure interface{} `json:"structure,omitempty"`
28718	// LinkedServiceName - Linked service reference.
28719	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
28720	// Parameters - Parameters for dataset.
28721	Parameters map[string]*ParameterSpecification `json:"parameters"`
28722	// Annotations - List of tags that can be used for describing the Dataset.
28723	Annotations *[]interface{} `json:"annotations,omitempty"`
28724	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
28725	Type TypeBasicDataset `json:"type,omitempty"`
28726}
28727
28728// MarshalJSON is the custom marshaler for DocumentDbCollectionDataset.
28729func (ddcd DocumentDbCollectionDataset) MarshalJSON() ([]byte, error) {
28730	ddcd.Type = TypeDocumentDbCollection
28731	objectMap := make(map[string]interface{})
28732	if ddcd.DocumentDbCollectionDatasetTypeProperties != nil {
28733		objectMap["typeProperties"] = ddcd.DocumentDbCollectionDatasetTypeProperties
28734	}
28735	if ddcd.Description != nil {
28736		objectMap["description"] = ddcd.Description
28737	}
28738	if ddcd.Structure != nil {
28739		objectMap["structure"] = ddcd.Structure
28740	}
28741	if ddcd.LinkedServiceName != nil {
28742		objectMap["linkedServiceName"] = ddcd.LinkedServiceName
28743	}
28744	if ddcd.Parameters != nil {
28745		objectMap["parameters"] = ddcd.Parameters
28746	}
28747	if ddcd.Annotations != nil {
28748		objectMap["annotations"] = ddcd.Annotations
28749	}
28750	if ddcd.Type != "" {
28751		objectMap["type"] = ddcd.Type
28752	}
28753	for k, v := range ddcd.AdditionalProperties {
28754		objectMap[k] = v
28755	}
28756	return json.Marshal(objectMap)
28757}
28758
28759// AsResponsysObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28760func (ddcd DocumentDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
28761	return nil, false
28762}
28763
28764// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28765func (ddcd DocumentDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
28766	return nil, false
28767}
28768
28769// AsVerticaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28770func (ddcd DocumentDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
28771	return nil, false
28772}
28773
28774// AsNetezzaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28775func (ddcd DocumentDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
28776	return nil, false
28777}
28778
28779// AsZohoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28780func (ddcd DocumentDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
28781	return nil, false
28782}
28783
28784// AsXeroObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28785func (ddcd DocumentDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
28786	return nil, false
28787}
28788
28789// AsSquareObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28790func (ddcd DocumentDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
28791	return nil, false
28792}
28793
28794// AsSparkObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28795func (ddcd DocumentDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
28796	return nil, false
28797}
28798
28799// AsShopifyObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28800func (ddcd DocumentDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
28801	return nil, false
28802}
28803
28804// AsServiceNowObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28805func (ddcd DocumentDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
28806	return nil, false
28807}
28808
28809// AsQuickBooksObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28810func (ddcd DocumentDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
28811	return nil, false
28812}
28813
28814// AsPrestoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28815func (ddcd DocumentDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
28816	return nil, false
28817}
28818
28819// AsPhoenixObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28820func (ddcd DocumentDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
28821	return nil, false
28822}
28823
28824// AsPaypalObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28825func (ddcd DocumentDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
28826	return nil, false
28827}
28828
28829// AsMarketoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28830func (ddcd DocumentDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
28831	return nil, false
28832}
28833
28834// AsMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28835func (ddcd DocumentDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
28836	return nil, false
28837}
28838
28839// AsMagentoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28840func (ddcd DocumentDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
28841	return nil, false
28842}
28843
28844// AsJiraObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28845func (ddcd DocumentDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
28846	return nil, false
28847}
28848
28849// AsImpalaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28850func (ddcd DocumentDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
28851	return nil, false
28852}
28853
28854// AsHubspotObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28855func (ddcd DocumentDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
28856	return nil, false
28857}
28858
28859// AsHiveObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28860func (ddcd DocumentDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
28861	return nil, false
28862}
28863
28864// AsHBaseObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28865func (ddcd DocumentDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
28866	return nil, false
28867}
28868
28869// AsGreenplumTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28870func (ddcd DocumentDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
28871	return nil, false
28872}
28873
28874// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28875func (ddcd DocumentDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
28876	return nil, false
28877}
28878
28879// AsEloquaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28880func (ddcd DocumentDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
28881	return nil, false
28882}
28883
28884// AsDrillTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28885func (ddcd DocumentDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
28886	return nil, false
28887}
28888
28889// AsCouchbaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28890func (ddcd DocumentDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
28891	return nil, false
28892}
28893
28894// AsConcurObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28895func (ddcd DocumentDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
28896	return nil, false
28897}
28898
28899// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28900func (ddcd DocumentDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
28901	return nil, false
28902}
28903
28904// AsAmazonMWSObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28905func (ddcd DocumentDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
28906	return nil, false
28907}
28908
28909// AsHTTPDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28910func (ddcd DocumentDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) {
28911	return nil, false
28912}
28913
28914// AsAzureSearchIndexDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28915func (ddcd DocumentDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
28916	return nil, false
28917}
28918
28919// AsWebTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28920func (ddcd DocumentDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
28921	return nil, false
28922}
28923
28924// AsSQLServerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28925func (ddcd DocumentDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
28926	return nil, false
28927}
28928
28929// AsSapEccResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28930func (ddcd DocumentDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
28931	return nil, false
28932}
28933
28934// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28935func (ddcd DocumentDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
28936	return nil, false
28937}
28938
28939// AsSalesforceObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28940func (ddcd DocumentDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
28941	return nil, false
28942}
28943
28944// AsRelationalTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28945func (ddcd DocumentDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
28946	return nil, false
28947}
28948
28949// AsAzureMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28950func (ddcd DocumentDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
28951	return nil, false
28952}
28953
28954// AsOracleTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28955func (ddcd DocumentDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
28956	return nil, false
28957}
28958
28959// AsODataResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28960func (ddcd DocumentDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
28961	return nil, false
28962}
28963
28964// AsMongoDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28965func (ddcd DocumentDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
28966	return nil, false
28967}
28968
28969// AsFileShareDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28970func (ddcd DocumentDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) {
28971	return nil, false
28972}
28973
28974// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28975func (ddcd DocumentDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
28976	return nil, false
28977}
28978
28979// AsDynamicsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28980func (ddcd DocumentDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
28981	return nil, false
28982}
28983
28984// AsDocumentDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28985func (ddcd DocumentDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
28986	return &ddcd, true
28987}
28988
28989// AsCustomDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28990func (ddcd DocumentDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
28991	return nil, false
28992}
28993
28994// AsCassandraTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28995func (ddcd DocumentDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
28996	return nil, false
28997}
28998
28999// AsAzureSQLDWTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29000func (ddcd DocumentDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
29001	return nil, false
29002}
29003
29004// AsAzureSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29005func (ddcd DocumentDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
29006	return nil, false
29007}
29008
29009// AsAzureTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29010func (ddcd DocumentDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
29011	return nil, false
29012}
29013
29014// AsAzureBlobDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29015func (ddcd DocumentDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
29016	return nil, false
29017}
29018
29019// AsAmazonS3Dataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29020func (ddcd DocumentDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
29021	return nil, false
29022}
29023
29024// AsDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29025func (ddcd DocumentDbCollectionDataset) AsDataset() (*Dataset, bool) {
29026	return nil, false
29027}
29028
29029// AsBasicDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29030func (ddcd DocumentDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) {
29031	return &ddcd, true
29032}
29033
29034// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionDataset struct.
29035func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error {
29036	var m map[string]*json.RawMessage
29037	err := json.Unmarshal(body, &m)
29038	if err != nil {
29039		return err
29040	}
29041	for k, v := range m {
29042		switch k {
29043		case "typeProperties":
29044			if v != nil {
29045				var documentDbCollectionDatasetTypeProperties DocumentDbCollectionDatasetTypeProperties
29046				err = json.Unmarshal(*v, &documentDbCollectionDatasetTypeProperties)
29047				if err != nil {
29048					return err
29049				}
29050				ddcd.DocumentDbCollectionDatasetTypeProperties = &documentDbCollectionDatasetTypeProperties
29051			}
29052		default:
29053			if v != nil {
29054				var additionalProperties interface{}
29055				err = json.Unmarshal(*v, &additionalProperties)
29056				if err != nil {
29057					return err
29058				}
29059				if ddcd.AdditionalProperties == nil {
29060					ddcd.AdditionalProperties = make(map[string]interface{})
29061				}
29062				ddcd.AdditionalProperties[k] = additionalProperties
29063			}
29064		case "description":
29065			if v != nil {
29066				var description string
29067				err = json.Unmarshal(*v, &description)
29068				if err != nil {
29069					return err
29070				}
29071				ddcd.Description = &description
29072			}
29073		case "structure":
29074			if v != nil {
29075				var structure interface{}
29076				err = json.Unmarshal(*v, &structure)
29077				if err != nil {
29078					return err
29079				}
29080				ddcd.Structure = structure
29081			}
29082		case "linkedServiceName":
29083			if v != nil {
29084				var linkedServiceName LinkedServiceReference
29085				err = json.Unmarshal(*v, &linkedServiceName)
29086				if err != nil {
29087					return err
29088				}
29089				ddcd.LinkedServiceName = &linkedServiceName
29090			}
29091		case "parameters":
29092			if v != nil {
29093				var parameters map[string]*ParameterSpecification
29094				err = json.Unmarshal(*v, &parameters)
29095				if err != nil {
29096					return err
29097				}
29098				ddcd.Parameters = parameters
29099			}
29100		case "annotations":
29101			if v != nil {
29102				var annotations []interface{}
29103				err = json.Unmarshal(*v, &annotations)
29104				if err != nil {
29105					return err
29106				}
29107				ddcd.Annotations = &annotations
29108			}
29109		case "type":
29110			if v != nil {
29111				var typeVar TypeBasicDataset
29112				err = json.Unmarshal(*v, &typeVar)
29113				if err != nil {
29114					return err
29115				}
29116				ddcd.Type = typeVar
29117			}
29118		}
29119	}
29120
29121	return nil
29122}
29123
29124// DocumentDbCollectionDatasetTypeProperties documentDB Collection dataset properties.
29125type DocumentDbCollectionDatasetTypeProperties struct {
29126	// CollectionName - Document Database collection name. Type: string (or Expression with resultType string).
29127	CollectionName interface{} `json:"collectionName,omitempty"`
29128}
29129
29130// DocumentDbCollectionSink a copy activity Document Database Collection sink.
29131type DocumentDbCollectionSink struct {
29132	// NestingSeparator - Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string).
29133	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
29134	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
29135	AdditionalProperties map[string]interface{} `json:""`
29136	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
29137	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
29138	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29139	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
29140	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
29141	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
29142	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29143	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
29144	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
29145	Type TypeBasicCopySink `json:"type,omitempty"`
29146}
29147
29148// MarshalJSON is the custom marshaler for DocumentDbCollectionSink.
29149func (ddcs DocumentDbCollectionSink) MarshalJSON() ([]byte, error) {
29150	ddcs.Type = TypeDocumentDbCollectionSink
29151	objectMap := make(map[string]interface{})
29152	if ddcs.NestingSeparator != nil {
29153		objectMap["nestingSeparator"] = ddcs.NestingSeparator
29154	}
29155	if ddcs.WriteBatchSize != nil {
29156		objectMap["writeBatchSize"] = ddcs.WriteBatchSize
29157	}
29158	if ddcs.WriteBatchTimeout != nil {
29159		objectMap["writeBatchTimeout"] = ddcs.WriteBatchTimeout
29160	}
29161	if ddcs.SinkRetryCount != nil {
29162		objectMap["sinkRetryCount"] = ddcs.SinkRetryCount
29163	}
29164	if ddcs.SinkRetryWait != nil {
29165		objectMap["sinkRetryWait"] = ddcs.SinkRetryWait
29166	}
29167	if ddcs.Type != "" {
29168		objectMap["type"] = ddcs.Type
29169	}
29170	for k, v := range ddcs.AdditionalProperties {
29171		objectMap[k] = v
29172	}
29173	return json.Marshal(objectMap)
29174}
29175
29176// AsSalesforceSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29177func (ddcs DocumentDbCollectionSink) AsSalesforceSink() (*SalesforceSink, bool) {
29178	return nil, false
29179}
29180
29181// AsDynamicsSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29182func (ddcs DocumentDbCollectionSink) AsDynamicsSink() (*DynamicsSink, bool) {
29183	return nil, false
29184}
29185
29186// AsOdbcSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29187func (ddcs DocumentDbCollectionSink) AsOdbcSink() (*OdbcSink, bool) {
29188	return nil, false
29189}
29190
29191// AsAzureSearchIndexSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29192func (ddcs DocumentDbCollectionSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
29193	return nil, false
29194}
29195
29196// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29197func (ddcs DocumentDbCollectionSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
29198	return nil, false
29199}
29200
29201// AsOracleSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29202func (ddcs DocumentDbCollectionSink) AsOracleSink() (*OracleSink, bool) {
29203	return nil, false
29204}
29205
29206// AsSQLDWSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29207func (ddcs DocumentDbCollectionSink) AsSQLDWSink() (*SQLDWSink, bool) {
29208	return nil, false
29209}
29210
29211// AsSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29212func (ddcs DocumentDbCollectionSink) AsSQLSink() (*SQLSink, bool) {
29213	return nil, false
29214}
29215
29216// AsDocumentDbCollectionSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29217func (ddcs DocumentDbCollectionSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
29218	return &ddcs, true
29219}
29220
29221// AsFileSystemSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29222func (ddcs DocumentDbCollectionSink) AsFileSystemSink() (*FileSystemSink, bool) {
29223	return nil, false
29224}
29225
29226// AsBlobSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29227func (ddcs DocumentDbCollectionSink) AsBlobSink() (*BlobSink, bool) {
29228	return nil, false
29229}
29230
29231// AsAzureTableSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29232func (ddcs DocumentDbCollectionSink) AsAzureTableSink() (*AzureTableSink, bool) {
29233	return nil, false
29234}
29235
29236// AsAzureQueueSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29237func (ddcs DocumentDbCollectionSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
29238	return nil, false
29239}
29240
29241// AsSapCloudForCustomerSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29242func (ddcs DocumentDbCollectionSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
29243	return nil, false
29244}
29245
29246// AsCopySink is the BasicCopySink implementation for DocumentDbCollectionSink.
29247func (ddcs DocumentDbCollectionSink) AsCopySink() (*CopySink, bool) {
29248	return nil, false
29249}
29250
29251// AsBasicCopySink is the BasicCopySink implementation for DocumentDbCollectionSink.
29252func (ddcs DocumentDbCollectionSink) AsBasicCopySink() (BasicCopySink, bool) {
29253	return &ddcs, true
29254}
29255
29256// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSink struct.
29257func (ddcs *DocumentDbCollectionSink) UnmarshalJSON(body []byte) error {
29258	var m map[string]*json.RawMessage
29259	err := json.Unmarshal(body, &m)
29260	if err != nil {
29261		return err
29262	}
29263	for k, v := range m {
29264		switch k {
29265		case "nestingSeparator":
29266			if v != nil {
29267				var nestingSeparator interface{}
29268				err = json.Unmarshal(*v, &nestingSeparator)
29269				if err != nil {
29270					return err
29271				}
29272				ddcs.NestingSeparator = nestingSeparator
29273			}
29274		default:
29275			if v != nil {
29276				var additionalProperties interface{}
29277				err = json.Unmarshal(*v, &additionalProperties)
29278				if err != nil {
29279					return err
29280				}
29281				if ddcs.AdditionalProperties == nil {
29282					ddcs.AdditionalProperties = make(map[string]interface{})
29283				}
29284				ddcs.AdditionalProperties[k] = additionalProperties
29285			}
29286		case "writeBatchSize":
29287			if v != nil {
29288				var writeBatchSize interface{}
29289				err = json.Unmarshal(*v, &writeBatchSize)
29290				if err != nil {
29291					return err
29292				}
29293				ddcs.WriteBatchSize = writeBatchSize
29294			}
29295		case "writeBatchTimeout":
29296			if v != nil {
29297				var writeBatchTimeout interface{}
29298				err = json.Unmarshal(*v, &writeBatchTimeout)
29299				if err != nil {
29300					return err
29301				}
29302				ddcs.WriteBatchTimeout = writeBatchTimeout
29303			}
29304		case "sinkRetryCount":
29305			if v != nil {
29306				var sinkRetryCount interface{}
29307				err = json.Unmarshal(*v, &sinkRetryCount)
29308				if err != nil {
29309					return err
29310				}
29311				ddcs.SinkRetryCount = sinkRetryCount
29312			}
29313		case "sinkRetryWait":
29314			if v != nil {
29315				var sinkRetryWait interface{}
29316				err = json.Unmarshal(*v, &sinkRetryWait)
29317				if err != nil {
29318					return err
29319				}
29320				ddcs.SinkRetryWait = sinkRetryWait
29321			}
29322		case "type":
29323			if v != nil {
29324				var typeVar TypeBasicCopySink
29325				err = json.Unmarshal(*v, &typeVar)
29326				if err != nil {
29327					return err
29328				}
29329				ddcs.Type = typeVar
29330			}
29331		}
29332	}
29333
29334	return nil
29335}
29336
29337// DocumentDbCollectionSource a copy activity Document Database Collection source.
29338type DocumentDbCollectionSource struct {
29339	// Query - Documents query. Type: string (or Expression with resultType string).
29340	Query interface{} `json:"query,omitempty"`
29341	// NestingSeparator - Nested properties separator. Type: string (or Expression with resultType string).
29342	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
29343	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
29344	AdditionalProperties map[string]interface{} `json:""`
29345	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
29346	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
29347	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29348	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
29349	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
29350	Type TypeBasicCopySource `json:"type,omitempty"`
29351}
29352
29353// MarshalJSON is the custom marshaler for DocumentDbCollectionSource.
29354func (ddcs DocumentDbCollectionSource) MarshalJSON() ([]byte, error) {
29355	ddcs.Type = TypeDocumentDbCollectionSource
29356	objectMap := make(map[string]interface{})
29357	if ddcs.Query != nil {
29358		objectMap["query"] = ddcs.Query
29359	}
29360	if ddcs.NestingSeparator != nil {
29361		objectMap["nestingSeparator"] = ddcs.NestingSeparator
29362	}
29363	if ddcs.SourceRetryCount != nil {
29364		objectMap["sourceRetryCount"] = ddcs.SourceRetryCount
29365	}
29366	if ddcs.SourceRetryWait != nil {
29367		objectMap["sourceRetryWait"] = ddcs.SourceRetryWait
29368	}
29369	if ddcs.Type != "" {
29370		objectMap["type"] = ddcs.Type
29371	}
29372	for k, v := range ddcs.AdditionalProperties {
29373		objectMap[k] = v
29374	}
29375	return json.Marshal(objectMap)
29376}
29377
29378// AsAmazonRedshiftSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29379func (ddcs DocumentDbCollectionSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
29380	return nil, false
29381}
29382
29383// AsResponsysSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29384func (ddcs DocumentDbCollectionSource) AsResponsysSource() (*ResponsysSource, bool) {
29385	return nil, false
29386}
29387
29388// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29389func (ddcs DocumentDbCollectionSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
29390	return nil, false
29391}
29392
29393// AsVerticaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29394func (ddcs DocumentDbCollectionSource) AsVerticaSource() (*VerticaSource, bool) {
29395	return nil, false
29396}
29397
29398// AsNetezzaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29399func (ddcs DocumentDbCollectionSource) AsNetezzaSource() (*NetezzaSource, bool) {
29400	return nil, false
29401}
29402
29403// AsZohoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29404func (ddcs DocumentDbCollectionSource) AsZohoSource() (*ZohoSource, bool) {
29405	return nil, false
29406}
29407
29408// AsXeroSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29409func (ddcs DocumentDbCollectionSource) AsXeroSource() (*XeroSource, bool) {
29410	return nil, false
29411}
29412
29413// AsSquareSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29414func (ddcs DocumentDbCollectionSource) AsSquareSource() (*SquareSource, bool) {
29415	return nil, false
29416}
29417
29418// AsSparkSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29419func (ddcs DocumentDbCollectionSource) AsSparkSource() (*SparkSource, bool) {
29420	return nil, false
29421}
29422
29423// AsShopifySource is the BasicCopySource implementation for DocumentDbCollectionSource.
29424func (ddcs DocumentDbCollectionSource) AsShopifySource() (*ShopifySource, bool) {
29425	return nil, false
29426}
29427
29428// AsServiceNowSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29429func (ddcs DocumentDbCollectionSource) AsServiceNowSource() (*ServiceNowSource, bool) {
29430	return nil, false
29431}
29432
29433// AsQuickBooksSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29434func (ddcs DocumentDbCollectionSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
29435	return nil, false
29436}
29437
29438// AsPrestoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29439func (ddcs DocumentDbCollectionSource) AsPrestoSource() (*PrestoSource, bool) {
29440	return nil, false
29441}
29442
29443// AsPhoenixSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29444func (ddcs DocumentDbCollectionSource) AsPhoenixSource() (*PhoenixSource, bool) {
29445	return nil, false
29446}
29447
29448// AsPaypalSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29449func (ddcs DocumentDbCollectionSource) AsPaypalSource() (*PaypalSource, bool) {
29450	return nil, false
29451}
29452
29453// AsMarketoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29454func (ddcs DocumentDbCollectionSource) AsMarketoSource() (*MarketoSource, bool) {
29455	return nil, false
29456}
29457
29458// AsMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29459func (ddcs DocumentDbCollectionSource) AsMariaDBSource() (*MariaDBSource, bool) {
29460	return nil, false
29461}
29462
29463// AsMagentoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29464func (ddcs DocumentDbCollectionSource) AsMagentoSource() (*MagentoSource, bool) {
29465	return nil, false
29466}
29467
29468// AsJiraSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29469func (ddcs DocumentDbCollectionSource) AsJiraSource() (*JiraSource, bool) {
29470	return nil, false
29471}
29472
29473// AsImpalaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29474func (ddcs DocumentDbCollectionSource) AsImpalaSource() (*ImpalaSource, bool) {
29475	return nil, false
29476}
29477
29478// AsHubspotSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29479func (ddcs DocumentDbCollectionSource) AsHubspotSource() (*HubspotSource, bool) {
29480	return nil, false
29481}
29482
29483// AsHiveSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29484func (ddcs DocumentDbCollectionSource) AsHiveSource() (*HiveSource, bool) {
29485	return nil, false
29486}
29487
29488// AsHBaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29489func (ddcs DocumentDbCollectionSource) AsHBaseSource() (*HBaseSource, bool) {
29490	return nil, false
29491}
29492
29493// AsGreenplumSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29494func (ddcs DocumentDbCollectionSource) AsGreenplumSource() (*GreenplumSource, bool) {
29495	return nil, false
29496}
29497
29498// AsGoogleBigQuerySource is the BasicCopySource implementation for DocumentDbCollectionSource.
29499func (ddcs DocumentDbCollectionSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
29500	return nil, false
29501}
29502
29503// AsEloquaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29504func (ddcs DocumentDbCollectionSource) AsEloquaSource() (*EloquaSource, bool) {
29505	return nil, false
29506}
29507
29508// AsDrillSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29509func (ddcs DocumentDbCollectionSource) AsDrillSource() (*DrillSource, bool) {
29510	return nil, false
29511}
29512
29513// AsCouchbaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29514func (ddcs DocumentDbCollectionSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
29515	return nil, false
29516}
29517
29518// AsConcurSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29519func (ddcs DocumentDbCollectionSource) AsConcurSource() (*ConcurSource, bool) {
29520	return nil, false
29521}
29522
29523// AsAzurePostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29524func (ddcs DocumentDbCollectionSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
29525	return nil, false
29526}
29527
29528// AsAmazonMWSSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29529func (ddcs DocumentDbCollectionSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
29530	return nil, false
29531}
29532
29533// AsHTTPSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29534func (ddcs DocumentDbCollectionSource) AsHTTPSource() (*HTTPSource, bool) {
29535	return nil, false
29536}
29537
29538// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29539func (ddcs DocumentDbCollectionSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
29540	return nil, false
29541}
29542
29543// AsMongoDbSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29544func (ddcs DocumentDbCollectionSource) AsMongoDbSource() (*MongoDbSource, bool) {
29545	return nil, false
29546}
29547
29548// AsCassandraSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29549func (ddcs DocumentDbCollectionSource) AsCassandraSource() (*CassandraSource, bool) {
29550	return nil, false
29551}
29552
29553// AsWebSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29554func (ddcs DocumentDbCollectionSource) AsWebSource() (*WebSource, bool) {
29555	return nil, false
29556}
29557
29558// AsOracleSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29559func (ddcs DocumentDbCollectionSource) AsOracleSource() (*OracleSource, bool) {
29560	return nil, false
29561}
29562
29563// AsAzureMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29564func (ddcs DocumentDbCollectionSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
29565	return nil, false
29566}
29567
29568// AsHdfsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29569func (ddcs DocumentDbCollectionSource) AsHdfsSource() (*HdfsSource, bool) {
29570	return nil, false
29571}
29572
29573// AsFileSystemSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29574func (ddcs DocumentDbCollectionSource) AsFileSystemSource() (*FileSystemSource, bool) {
29575	return nil, false
29576}
29577
29578// AsSQLDWSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29579func (ddcs DocumentDbCollectionSource) AsSQLDWSource() (*SQLDWSource, bool) {
29580	return nil, false
29581}
29582
29583// AsSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29584func (ddcs DocumentDbCollectionSource) AsSQLSource() (*SQLSource, bool) {
29585	return nil, false
29586}
29587
29588// AsSapEccSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29589func (ddcs DocumentDbCollectionSource) AsSapEccSource() (*SapEccSource, bool) {
29590	return nil, false
29591}
29592
29593// AsSapCloudForCustomerSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29594func (ddcs DocumentDbCollectionSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
29595	return nil, false
29596}
29597
29598// AsSalesforceSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29599func (ddcs DocumentDbCollectionSource) AsSalesforceSource() (*SalesforceSource, bool) {
29600	return nil, false
29601}
29602
29603// AsRelationalSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29604func (ddcs DocumentDbCollectionSource) AsRelationalSource() (*RelationalSource, bool) {
29605	return nil, false
29606}
29607
29608// AsDynamicsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29609func (ddcs DocumentDbCollectionSource) AsDynamicsSource() (*DynamicsSource, bool) {
29610	return nil, false
29611}
29612
29613// AsDocumentDbCollectionSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29614func (ddcs DocumentDbCollectionSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
29615	return &ddcs, true
29616}
29617
29618// AsBlobSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29619func (ddcs DocumentDbCollectionSource) AsBlobSource() (*BlobSource, bool) {
29620	return nil, false
29621}
29622
29623// AsAzureTableSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29624func (ddcs DocumentDbCollectionSource) AsAzureTableSource() (*AzureTableSource, bool) {
29625	return nil, false
29626}
29627
29628// AsCopySource is the BasicCopySource implementation for DocumentDbCollectionSource.
29629func (ddcs DocumentDbCollectionSource) AsCopySource() (*CopySource, bool) {
29630	return nil, false
29631}
29632
29633// AsBasicCopySource is the BasicCopySource implementation for DocumentDbCollectionSource.
29634func (ddcs DocumentDbCollectionSource) AsBasicCopySource() (BasicCopySource, bool) {
29635	return &ddcs, true
29636}
29637
29638// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSource struct.
29639func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error {
29640	var m map[string]*json.RawMessage
29641	err := json.Unmarshal(body, &m)
29642	if err != nil {
29643		return err
29644	}
29645	for k, v := range m {
29646		switch k {
29647		case "query":
29648			if v != nil {
29649				var query interface{}
29650				err = json.Unmarshal(*v, &query)
29651				if err != nil {
29652					return err
29653				}
29654				ddcs.Query = query
29655			}
29656		case "nestingSeparator":
29657			if v != nil {
29658				var nestingSeparator interface{}
29659				err = json.Unmarshal(*v, &nestingSeparator)
29660				if err != nil {
29661					return err
29662				}
29663				ddcs.NestingSeparator = nestingSeparator
29664			}
29665		default:
29666			if v != nil {
29667				var additionalProperties interface{}
29668				err = json.Unmarshal(*v, &additionalProperties)
29669				if err != nil {
29670					return err
29671				}
29672				if ddcs.AdditionalProperties == nil {
29673					ddcs.AdditionalProperties = make(map[string]interface{})
29674				}
29675				ddcs.AdditionalProperties[k] = additionalProperties
29676			}
29677		case "sourceRetryCount":
29678			if v != nil {
29679				var sourceRetryCount interface{}
29680				err = json.Unmarshal(*v, &sourceRetryCount)
29681				if err != nil {
29682					return err
29683				}
29684				ddcs.SourceRetryCount = sourceRetryCount
29685			}
29686		case "sourceRetryWait":
29687			if v != nil {
29688				var sourceRetryWait interface{}
29689				err = json.Unmarshal(*v, &sourceRetryWait)
29690				if err != nil {
29691					return err
29692				}
29693				ddcs.SourceRetryWait = sourceRetryWait
29694			}
29695		case "type":
29696			if v != nil {
29697				var typeVar TypeBasicCopySource
29698				err = json.Unmarshal(*v, &typeVar)
29699				if err != nil {
29700					return err
29701				}
29702				ddcs.Type = typeVar
29703			}
29704		}
29705	}
29706
29707	return nil
29708}
29709
29710// DrillLinkedService drill server linked service.
29711type DrillLinkedService struct {
29712	// DrillLinkedServiceTypeProperties - Drill server linked service properties.
29713	*DrillLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
29714	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
29715	AdditionalProperties map[string]interface{} `json:""`
29716	// ConnectVia - The integration runtime reference.
29717	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
29718	// Description - Linked service description.
29719	Description *string `json:"description,omitempty"`
29720	// Parameters - Parameters for linked service.
29721	Parameters map[string]*ParameterSpecification `json:"parameters"`
29722	// Annotations - List of tags that can be used for describing the Dataset.
29723	Annotations *[]interface{} `json:"annotations,omitempty"`
29724	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
29725	Type TypeBasicLinkedService `json:"type,omitempty"`
29726}
29727
29728// MarshalJSON is the custom marshaler for DrillLinkedService.
29729func (dls DrillLinkedService) MarshalJSON() ([]byte, error) {
29730	dls.Type = TypeDrill
29731	objectMap := make(map[string]interface{})
29732	if dls.DrillLinkedServiceTypeProperties != nil {
29733		objectMap["typeProperties"] = dls.DrillLinkedServiceTypeProperties
29734	}
29735	if dls.ConnectVia != nil {
29736		objectMap["connectVia"] = dls.ConnectVia
29737	}
29738	if dls.Description != nil {
29739		objectMap["description"] = dls.Description
29740	}
29741	if dls.Parameters != nil {
29742		objectMap["parameters"] = dls.Parameters
29743	}
29744	if dls.Annotations != nil {
29745		objectMap["annotations"] = dls.Annotations
29746	}
29747	if dls.Type != "" {
29748		objectMap["type"] = dls.Type
29749	}
29750	for k, v := range dls.AdditionalProperties {
29751		objectMap[k] = v
29752	}
29753	return json.Marshal(objectMap)
29754}
29755
29756// AsResponsysLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29757func (dls DrillLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
29758	return nil, false
29759}
29760
29761// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29762func (dls DrillLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
29763	return nil, false
29764}
29765
29766// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29767func (dls DrillLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
29768	return nil, false
29769}
29770
29771// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29772func (dls DrillLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
29773	return nil, false
29774}
29775
29776// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29777func (dls DrillLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
29778	return nil, false
29779}
29780
29781// AsNetezzaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29782func (dls DrillLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
29783	return nil, false
29784}
29785
29786// AsVerticaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29787func (dls DrillLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
29788	return nil, false
29789}
29790
29791// AsZohoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29792func (dls DrillLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
29793	return nil, false
29794}
29795
29796// AsXeroLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29797func (dls DrillLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
29798	return nil, false
29799}
29800
29801// AsSquareLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29802func (dls DrillLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
29803	return nil, false
29804}
29805
29806// AsSparkLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29807func (dls DrillLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
29808	return nil, false
29809}
29810
29811// AsShopifyLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29812func (dls DrillLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
29813	return nil, false
29814}
29815
29816// AsServiceNowLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29817func (dls DrillLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
29818	return nil, false
29819}
29820
29821// AsQuickBooksLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29822func (dls DrillLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
29823	return nil, false
29824}
29825
29826// AsPrestoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29827func (dls DrillLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
29828	return nil, false
29829}
29830
29831// AsPhoenixLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29832func (dls DrillLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
29833	return nil, false
29834}
29835
29836// AsPaypalLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29837func (dls DrillLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
29838	return nil, false
29839}
29840
29841// AsMarketoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29842func (dls DrillLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
29843	return nil, false
29844}
29845
29846// AsMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29847func (dls DrillLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
29848	return nil, false
29849}
29850
29851// AsMagentoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29852func (dls DrillLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
29853	return nil, false
29854}
29855
29856// AsJiraLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29857func (dls DrillLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
29858	return nil, false
29859}
29860
29861// AsImpalaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29862func (dls DrillLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
29863	return nil, false
29864}
29865
29866// AsHubspotLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29867func (dls DrillLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
29868	return nil, false
29869}
29870
29871// AsHiveLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29872func (dls DrillLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
29873	return nil, false
29874}
29875
29876// AsHBaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29877func (dls DrillLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
29878	return nil, false
29879}
29880
29881// AsGreenplumLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29882func (dls DrillLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
29883	return nil, false
29884}
29885
29886// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29887func (dls DrillLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
29888	return nil, false
29889}
29890
29891// AsEloquaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29892func (dls DrillLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
29893	return nil, false
29894}
29895
29896// AsDrillLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29897func (dls DrillLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
29898	return &dls, true
29899}
29900
29901// AsCouchbaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29902func (dls DrillLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
29903	return nil, false
29904}
29905
29906// AsConcurLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29907func (dls DrillLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
29908	return nil, false
29909}
29910
29911// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29912func (dls DrillLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
29913	return nil, false
29914}
29915
29916// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29917func (dls DrillLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
29918	return nil, false
29919}
29920
29921// AsSapHanaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29922func (dls DrillLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
29923	return nil, false
29924}
29925
29926// AsSapBWLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29927func (dls DrillLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
29928	return nil, false
29929}
29930
29931// AsSftpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29932func (dls DrillLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
29933	return nil, false
29934}
29935
29936// AsFtpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29937func (dls DrillLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
29938	return nil, false
29939}
29940
29941// AsHTTPLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29942func (dls DrillLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
29943	return nil, false
29944}
29945
29946// AsAzureSearchLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29947func (dls DrillLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
29948	return nil, false
29949}
29950
29951// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29952func (dls DrillLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
29953	return nil, false
29954}
29955
29956// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29957func (dls DrillLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
29958	return nil, false
29959}
29960
29961// AsAmazonS3LinkedService is the BasicLinkedService implementation for DrillLinkedService.
29962func (dls DrillLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
29963	return nil, false
29964}
29965
29966// AsSapEccLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29967func (dls DrillLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
29968	return nil, false
29969}
29970
29971// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29972func (dls DrillLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
29973	return nil, false
29974}
29975
29976// AsSalesforceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29977func (dls DrillLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
29978	return nil, false
29979}
29980
29981// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29982func (dls DrillLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
29983	return nil, false
29984}
29985
29986// AsMongoDbLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29987func (dls DrillLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
29988	return nil, false
29989}
29990
29991// AsCassandraLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29992func (dls DrillLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
29993	return nil, false
29994}
29995
29996// AsWebLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29997func (dls DrillLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
29998	return nil, false
29999}
30000
30001// AsODataLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30002func (dls DrillLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
30003	return nil, false
30004}
30005
30006// AsHdfsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30007func (dls DrillLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
30008	return nil, false
30009}
30010
30011// AsOdbcLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30012func (dls DrillLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
30013	return nil, false
30014}
30015
30016// AsAzureMLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30017func (dls DrillLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
30018	return nil, false
30019}
30020
30021// AsTeradataLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30022func (dls DrillLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
30023	return nil, false
30024}
30025
30026// AsDb2LinkedService is the BasicLinkedService implementation for DrillLinkedService.
30027func (dls DrillLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
30028	return nil, false
30029}
30030
30031// AsSybaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30032func (dls DrillLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
30033	return nil, false
30034}
30035
30036// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30037func (dls DrillLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
30038	return nil, false
30039}
30040
30041// AsMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30042func (dls DrillLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
30043	return nil, false
30044}
30045
30046// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30047func (dls DrillLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
30048	return nil, false
30049}
30050
30051// AsOracleLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30052func (dls DrillLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
30053	return nil, false
30054}
30055
30056// AsFileServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30057func (dls DrillLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
30058	return nil, false
30059}
30060
30061// AsHDInsightLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30062func (dls DrillLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
30063	return nil, false
30064}
30065
30066// AsDynamicsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30067func (dls DrillLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
30068	return nil, false
30069}
30070
30071// AsCosmosDbLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30072func (dls DrillLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
30073	return nil, false
30074}
30075
30076// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30077func (dls DrillLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
30078	return nil, false
30079}
30080
30081// AsAzureBatchLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30082func (dls DrillLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
30083	return nil, false
30084}
30085
30086// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30087func (dls DrillLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
30088	return nil, false
30089}
30090
30091// AsSQLServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30092func (dls DrillLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
30093	return nil, false
30094}
30095
30096// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30097func (dls DrillLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
30098	return nil, false
30099}
30100
30101// AsAzureStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30102func (dls DrillLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
30103	return nil, false
30104}
30105
30106// AsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30107func (dls DrillLinkedService) AsLinkedService() (*LinkedService, bool) {
30108	return nil, false
30109}
30110
30111// AsBasicLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30112func (dls DrillLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
30113	return &dls, true
30114}
30115
30116// UnmarshalJSON is the custom unmarshaler for DrillLinkedService struct.
30117func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error {
30118	var m map[string]*json.RawMessage
30119	err := json.Unmarshal(body, &m)
30120	if err != nil {
30121		return err
30122	}
30123	for k, v := range m {
30124		switch k {
30125		case "typeProperties":
30126			if v != nil {
30127				var drillLinkedServiceTypeProperties DrillLinkedServiceTypeProperties
30128				err = json.Unmarshal(*v, &drillLinkedServiceTypeProperties)
30129				if err != nil {
30130					return err
30131				}
30132				dls.DrillLinkedServiceTypeProperties = &drillLinkedServiceTypeProperties
30133			}
30134		default:
30135			if v != nil {
30136				var additionalProperties interface{}
30137				err = json.Unmarshal(*v, &additionalProperties)
30138				if err != nil {
30139					return err
30140				}
30141				if dls.AdditionalProperties == nil {
30142					dls.AdditionalProperties = make(map[string]interface{})
30143				}
30144				dls.AdditionalProperties[k] = additionalProperties
30145			}
30146		case "connectVia":
30147			if v != nil {
30148				var connectVia IntegrationRuntimeReference
30149				err = json.Unmarshal(*v, &connectVia)
30150				if err != nil {
30151					return err
30152				}
30153				dls.ConnectVia = &connectVia
30154			}
30155		case "description":
30156			if v != nil {
30157				var description string
30158				err = json.Unmarshal(*v, &description)
30159				if err != nil {
30160					return err
30161				}
30162				dls.Description = &description
30163			}
30164		case "parameters":
30165			if v != nil {
30166				var parameters map[string]*ParameterSpecification
30167				err = json.Unmarshal(*v, &parameters)
30168				if err != nil {
30169					return err
30170				}
30171				dls.Parameters = parameters
30172			}
30173		case "annotations":
30174			if v != nil {
30175				var annotations []interface{}
30176				err = json.Unmarshal(*v, &annotations)
30177				if err != nil {
30178					return err
30179				}
30180				dls.Annotations = &annotations
30181			}
30182		case "type":
30183			if v != nil {
30184				var typeVar TypeBasicLinkedService
30185				err = json.Unmarshal(*v, &typeVar)
30186				if err != nil {
30187					return err
30188				}
30189				dls.Type = typeVar
30190			}
30191		}
30192	}
30193
30194	return nil
30195}
30196
30197// DrillLinkedServiceTypeProperties drill server linked service properties.
30198type DrillLinkedServiceTypeProperties struct {
30199	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
30200	ConnectionString interface{} `json:"connectionString,omitempty"`
30201	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
30202	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
30203}
30204
30205// DrillSource a copy activity Drill server source.
30206type DrillSource struct {
30207	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
30208	Query interface{} `json:"query,omitempty"`
30209	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
30210	AdditionalProperties map[string]interface{} `json:""`
30211	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
30212	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
30213	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30214	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
30215	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
30216	Type TypeBasicCopySource `json:"type,omitempty"`
30217}
30218
30219// MarshalJSON is the custom marshaler for DrillSource.
30220func (ds DrillSource) MarshalJSON() ([]byte, error) {
30221	ds.Type = TypeDrillSource
30222	objectMap := make(map[string]interface{})
30223	if ds.Query != nil {
30224		objectMap["query"] = ds.Query
30225	}
30226	if ds.SourceRetryCount != nil {
30227		objectMap["sourceRetryCount"] = ds.SourceRetryCount
30228	}
30229	if ds.SourceRetryWait != nil {
30230		objectMap["sourceRetryWait"] = ds.SourceRetryWait
30231	}
30232	if ds.Type != "" {
30233		objectMap["type"] = ds.Type
30234	}
30235	for k, v := range ds.AdditionalProperties {
30236		objectMap[k] = v
30237	}
30238	return json.Marshal(objectMap)
30239}
30240
30241// AsAmazonRedshiftSource is the BasicCopySource implementation for DrillSource.
30242func (ds DrillSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
30243	return nil, false
30244}
30245
30246// AsResponsysSource is the BasicCopySource implementation for DrillSource.
30247func (ds DrillSource) AsResponsysSource() (*ResponsysSource, bool) {
30248	return nil, false
30249}
30250
30251// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DrillSource.
30252func (ds DrillSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
30253	return nil, false
30254}
30255
30256// AsVerticaSource is the BasicCopySource implementation for DrillSource.
30257func (ds DrillSource) AsVerticaSource() (*VerticaSource, bool) {
30258	return nil, false
30259}
30260
30261// AsNetezzaSource is the BasicCopySource implementation for DrillSource.
30262func (ds DrillSource) AsNetezzaSource() (*NetezzaSource, bool) {
30263	return nil, false
30264}
30265
30266// AsZohoSource is the BasicCopySource implementation for DrillSource.
30267func (ds DrillSource) AsZohoSource() (*ZohoSource, bool) {
30268	return nil, false
30269}
30270
30271// AsXeroSource is the BasicCopySource implementation for DrillSource.
30272func (ds DrillSource) AsXeroSource() (*XeroSource, bool) {
30273	return nil, false
30274}
30275
30276// AsSquareSource is the BasicCopySource implementation for DrillSource.
30277func (ds DrillSource) AsSquareSource() (*SquareSource, bool) {
30278	return nil, false
30279}
30280
30281// AsSparkSource is the BasicCopySource implementation for DrillSource.
30282func (ds DrillSource) AsSparkSource() (*SparkSource, bool) {
30283	return nil, false
30284}
30285
30286// AsShopifySource is the BasicCopySource implementation for DrillSource.
30287func (ds DrillSource) AsShopifySource() (*ShopifySource, bool) {
30288	return nil, false
30289}
30290
30291// AsServiceNowSource is the BasicCopySource implementation for DrillSource.
30292func (ds DrillSource) AsServiceNowSource() (*ServiceNowSource, bool) {
30293	return nil, false
30294}
30295
30296// AsQuickBooksSource is the BasicCopySource implementation for DrillSource.
30297func (ds DrillSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
30298	return nil, false
30299}
30300
30301// AsPrestoSource is the BasicCopySource implementation for DrillSource.
30302func (ds DrillSource) AsPrestoSource() (*PrestoSource, bool) {
30303	return nil, false
30304}
30305
30306// AsPhoenixSource is the BasicCopySource implementation for DrillSource.
30307func (ds DrillSource) AsPhoenixSource() (*PhoenixSource, bool) {
30308	return nil, false
30309}
30310
30311// AsPaypalSource is the BasicCopySource implementation for DrillSource.
30312func (ds DrillSource) AsPaypalSource() (*PaypalSource, bool) {
30313	return nil, false
30314}
30315
30316// AsMarketoSource is the BasicCopySource implementation for DrillSource.
30317func (ds DrillSource) AsMarketoSource() (*MarketoSource, bool) {
30318	return nil, false
30319}
30320
30321// AsMariaDBSource is the BasicCopySource implementation for DrillSource.
30322func (ds DrillSource) AsMariaDBSource() (*MariaDBSource, bool) {
30323	return nil, false
30324}
30325
30326// AsMagentoSource is the BasicCopySource implementation for DrillSource.
30327func (ds DrillSource) AsMagentoSource() (*MagentoSource, bool) {
30328	return nil, false
30329}
30330
30331// AsJiraSource is the BasicCopySource implementation for DrillSource.
30332func (ds DrillSource) AsJiraSource() (*JiraSource, bool) {
30333	return nil, false
30334}
30335
30336// AsImpalaSource is the BasicCopySource implementation for DrillSource.
30337func (ds DrillSource) AsImpalaSource() (*ImpalaSource, bool) {
30338	return nil, false
30339}
30340
30341// AsHubspotSource is the BasicCopySource implementation for DrillSource.
30342func (ds DrillSource) AsHubspotSource() (*HubspotSource, bool) {
30343	return nil, false
30344}
30345
30346// AsHiveSource is the BasicCopySource implementation for DrillSource.
30347func (ds DrillSource) AsHiveSource() (*HiveSource, bool) {
30348	return nil, false
30349}
30350
30351// AsHBaseSource is the BasicCopySource implementation for DrillSource.
30352func (ds DrillSource) AsHBaseSource() (*HBaseSource, bool) {
30353	return nil, false
30354}
30355
30356// AsGreenplumSource is the BasicCopySource implementation for DrillSource.
30357func (ds DrillSource) AsGreenplumSource() (*GreenplumSource, bool) {
30358	return nil, false
30359}
30360
30361// AsGoogleBigQuerySource is the BasicCopySource implementation for DrillSource.
30362func (ds DrillSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
30363	return nil, false
30364}
30365
30366// AsEloquaSource is the BasicCopySource implementation for DrillSource.
30367func (ds DrillSource) AsEloquaSource() (*EloquaSource, bool) {
30368	return nil, false
30369}
30370
30371// AsDrillSource is the BasicCopySource implementation for DrillSource.
30372func (ds DrillSource) AsDrillSource() (*DrillSource, bool) {
30373	return &ds, true
30374}
30375
30376// AsCouchbaseSource is the BasicCopySource implementation for DrillSource.
30377func (ds DrillSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
30378	return nil, false
30379}
30380
30381// AsConcurSource is the BasicCopySource implementation for DrillSource.
30382func (ds DrillSource) AsConcurSource() (*ConcurSource, bool) {
30383	return nil, false
30384}
30385
30386// AsAzurePostgreSQLSource is the BasicCopySource implementation for DrillSource.
30387func (ds DrillSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
30388	return nil, false
30389}
30390
30391// AsAmazonMWSSource is the BasicCopySource implementation for DrillSource.
30392func (ds DrillSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
30393	return nil, false
30394}
30395
30396// AsHTTPSource is the BasicCopySource implementation for DrillSource.
30397func (ds DrillSource) AsHTTPSource() (*HTTPSource, bool) {
30398	return nil, false
30399}
30400
30401// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DrillSource.
30402func (ds DrillSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
30403	return nil, false
30404}
30405
30406// AsMongoDbSource is the BasicCopySource implementation for DrillSource.
30407func (ds DrillSource) AsMongoDbSource() (*MongoDbSource, bool) {
30408	return nil, false
30409}
30410
30411// AsCassandraSource is the BasicCopySource implementation for DrillSource.
30412func (ds DrillSource) AsCassandraSource() (*CassandraSource, bool) {
30413	return nil, false
30414}
30415
30416// AsWebSource is the BasicCopySource implementation for DrillSource.
30417func (ds DrillSource) AsWebSource() (*WebSource, bool) {
30418	return nil, false
30419}
30420
30421// AsOracleSource is the BasicCopySource implementation for DrillSource.
30422func (ds DrillSource) AsOracleSource() (*OracleSource, bool) {
30423	return nil, false
30424}
30425
30426// AsAzureMySQLSource is the BasicCopySource implementation for DrillSource.
30427func (ds DrillSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
30428	return nil, false
30429}
30430
30431// AsHdfsSource is the BasicCopySource implementation for DrillSource.
30432func (ds DrillSource) AsHdfsSource() (*HdfsSource, bool) {
30433	return nil, false
30434}
30435
30436// AsFileSystemSource is the BasicCopySource implementation for DrillSource.
30437func (ds DrillSource) AsFileSystemSource() (*FileSystemSource, bool) {
30438	return nil, false
30439}
30440
30441// AsSQLDWSource is the BasicCopySource implementation for DrillSource.
30442func (ds DrillSource) AsSQLDWSource() (*SQLDWSource, bool) {
30443	return nil, false
30444}
30445
30446// AsSQLSource is the BasicCopySource implementation for DrillSource.
30447func (ds DrillSource) AsSQLSource() (*SQLSource, bool) {
30448	return nil, false
30449}
30450
30451// AsSapEccSource is the BasicCopySource implementation for DrillSource.
30452func (ds DrillSource) AsSapEccSource() (*SapEccSource, bool) {
30453	return nil, false
30454}
30455
30456// AsSapCloudForCustomerSource is the BasicCopySource implementation for DrillSource.
30457func (ds DrillSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
30458	return nil, false
30459}
30460
30461// AsSalesforceSource is the BasicCopySource implementation for DrillSource.
30462func (ds DrillSource) AsSalesforceSource() (*SalesforceSource, bool) {
30463	return nil, false
30464}
30465
30466// AsRelationalSource is the BasicCopySource implementation for DrillSource.
30467func (ds DrillSource) AsRelationalSource() (*RelationalSource, bool) {
30468	return nil, false
30469}
30470
30471// AsDynamicsSource is the BasicCopySource implementation for DrillSource.
30472func (ds DrillSource) AsDynamicsSource() (*DynamicsSource, bool) {
30473	return nil, false
30474}
30475
30476// AsDocumentDbCollectionSource is the BasicCopySource implementation for DrillSource.
30477func (ds DrillSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
30478	return nil, false
30479}
30480
30481// AsBlobSource is the BasicCopySource implementation for DrillSource.
30482func (ds DrillSource) AsBlobSource() (*BlobSource, bool) {
30483	return nil, false
30484}
30485
30486// AsAzureTableSource is the BasicCopySource implementation for DrillSource.
30487func (ds DrillSource) AsAzureTableSource() (*AzureTableSource, bool) {
30488	return nil, false
30489}
30490
30491// AsCopySource is the BasicCopySource implementation for DrillSource.
30492func (ds DrillSource) AsCopySource() (*CopySource, bool) {
30493	return nil, false
30494}
30495
30496// AsBasicCopySource is the BasicCopySource implementation for DrillSource.
30497func (ds DrillSource) AsBasicCopySource() (BasicCopySource, bool) {
30498	return &ds, true
30499}
30500
30501// UnmarshalJSON is the custom unmarshaler for DrillSource struct.
30502func (ds *DrillSource) UnmarshalJSON(body []byte) error {
30503	var m map[string]*json.RawMessage
30504	err := json.Unmarshal(body, &m)
30505	if err != nil {
30506		return err
30507	}
30508	for k, v := range m {
30509		switch k {
30510		case "query":
30511			if v != nil {
30512				var query interface{}
30513				err = json.Unmarshal(*v, &query)
30514				if err != nil {
30515					return err
30516				}
30517				ds.Query = query
30518			}
30519		default:
30520			if v != nil {
30521				var additionalProperties interface{}
30522				err = json.Unmarshal(*v, &additionalProperties)
30523				if err != nil {
30524					return err
30525				}
30526				if ds.AdditionalProperties == nil {
30527					ds.AdditionalProperties = make(map[string]interface{})
30528				}
30529				ds.AdditionalProperties[k] = additionalProperties
30530			}
30531		case "sourceRetryCount":
30532			if v != nil {
30533				var sourceRetryCount interface{}
30534				err = json.Unmarshal(*v, &sourceRetryCount)
30535				if err != nil {
30536					return err
30537				}
30538				ds.SourceRetryCount = sourceRetryCount
30539			}
30540		case "sourceRetryWait":
30541			if v != nil {
30542				var sourceRetryWait interface{}
30543				err = json.Unmarshal(*v, &sourceRetryWait)
30544				if err != nil {
30545					return err
30546				}
30547				ds.SourceRetryWait = sourceRetryWait
30548			}
30549		case "type":
30550			if v != nil {
30551				var typeVar TypeBasicCopySource
30552				err = json.Unmarshal(*v, &typeVar)
30553				if err != nil {
30554					return err
30555				}
30556				ds.Type = typeVar
30557			}
30558		}
30559	}
30560
30561	return nil
30562}
30563
30564// DrillTableDataset drill server dataset.
30565type DrillTableDataset struct {
30566	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
30567	AdditionalProperties map[string]interface{} `json:""`
30568	// Description - Dataset description.
30569	Description *string `json:"description,omitempty"`
30570	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
30571	Structure interface{} `json:"structure,omitempty"`
30572	// LinkedServiceName - Linked service reference.
30573	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
30574	// Parameters - Parameters for dataset.
30575	Parameters map[string]*ParameterSpecification `json:"parameters"`
30576	// Annotations - List of tags that can be used for describing the Dataset.
30577	Annotations *[]interface{} `json:"annotations,omitempty"`
30578	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
30579	Type TypeBasicDataset `json:"type,omitempty"`
30580}
30581
30582// MarshalJSON is the custom marshaler for DrillTableDataset.
30583func (dtd DrillTableDataset) MarshalJSON() ([]byte, error) {
30584	dtd.Type = TypeDrillTable
30585	objectMap := make(map[string]interface{})
30586	if dtd.Description != nil {
30587		objectMap["description"] = dtd.Description
30588	}
30589	if dtd.Structure != nil {
30590		objectMap["structure"] = dtd.Structure
30591	}
30592	if dtd.LinkedServiceName != nil {
30593		objectMap["linkedServiceName"] = dtd.LinkedServiceName
30594	}
30595	if dtd.Parameters != nil {
30596		objectMap["parameters"] = dtd.Parameters
30597	}
30598	if dtd.Annotations != nil {
30599		objectMap["annotations"] = dtd.Annotations
30600	}
30601	if dtd.Type != "" {
30602		objectMap["type"] = dtd.Type
30603	}
30604	for k, v := range dtd.AdditionalProperties {
30605		objectMap[k] = v
30606	}
30607	return json.Marshal(objectMap)
30608}
30609
30610// AsResponsysObjectDataset is the BasicDataset implementation for DrillTableDataset.
30611func (dtd DrillTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
30612	return nil, false
30613}
30614
30615// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DrillTableDataset.
30616func (dtd DrillTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
30617	return nil, false
30618}
30619
30620// AsVerticaTableDataset is the BasicDataset implementation for DrillTableDataset.
30621func (dtd DrillTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
30622	return nil, false
30623}
30624
30625// AsNetezzaTableDataset is the BasicDataset implementation for DrillTableDataset.
30626func (dtd DrillTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
30627	return nil, false
30628}
30629
30630// AsZohoObjectDataset is the BasicDataset implementation for DrillTableDataset.
30631func (dtd DrillTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
30632	return nil, false
30633}
30634
30635// AsXeroObjectDataset is the BasicDataset implementation for DrillTableDataset.
30636func (dtd DrillTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
30637	return nil, false
30638}
30639
30640// AsSquareObjectDataset is the BasicDataset implementation for DrillTableDataset.
30641func (dtd DrillTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
30642	return nil, false
30643}
30644
30645// AsSparkObjectDataset is the BasicDataset implementation for DrillTableDataset.
30646func (dtd DrillTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
30647	return nil, false
30648}
30649
30650// AsShopifyObjectDataset is the BasicDataset implementation for DrillTableDataset.
30651func (dtd DrillTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
30652	return nil, false
30653}
30654
30655// AsServiceNowObjectDataset is the BasicDataset implementation for DrillTableDataset.
30656func (dtd DrillTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
30657	return nil, false
30658}
30659
30660// AsQuickBooksObjectDataset is the BasicDataset implementation for DrillTableDataset.
30661func (dtd DrillTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
30662	return nil, false
30663}
30664
30665// AsPrestoObjectDataset is the BasicDataset implementation for DrillTableDataset.
30666func (dtd DrillTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
30667	return nil, false
30668}
30669
30670// AsPhoenixObjectDataset is the BasicDataset implementation for DrillTableDataset.
30671func (dtd DrillTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
30672	return nil, false
30673}
30674
30675// AsPaypalObjectDataset is the BasicDataset implementation for DrillTableDataset.
30676func (dtd DrillTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
30677	return nil, false
30678}
30679
30680// AsMarketoObjectDataset is the BasicDataset implementation for DrillTableDataset.
30681func (dtd DrillTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
30682	return nil, false
30683}
30684
30685// AsMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset.
30686func (dtd DrillTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
30687	return nil, false
30688}
30689
30690// AsMagentoObjectDataset is the BasicDataset implementation for DrillTableDataset.
30691func (dtd DrillTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
30692	return nil, false
30693}
30694
30695// AsJiraObjectDataset is the BasicDataset implementation for DrillTableDataset.
30696func (dtd DrillTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
30697	return nil, false
30698}
30699
30700// AsImpalaObjectDataset is the BasicDataset implementation for DrillTableDataset.
30701func (dtd DrillTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
30702	return nil, false
30703}
30704
30705// AsHubspotObjectDataset is the BasicDataset implementation for DrillTableDataset.
30706func (dtd DrillTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
30707	return nil, false
30708}
30709
30710// AsHiveObjectDataset is the BasicDataset implementation for DrillTableDataset.
30711func (dtd DrillTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
30712	return nil, false
30713}
30714
30715// AsHBaseObjectDataset is the BasicDataset implementation for DrillTableDataset.
30716func (dtd DrillTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
30717	return nil, false
30718}
30719
30720// AsGreenplumTableDataset is the BasicDataset implementation for DrillTableDataset.
30721func (dtd DrillTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
30722	return nil, false
30723}
30724
30725// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DrillTableDataset.
30726func (dtd DrillTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
30727	return nil, false
30728}
30729
30730// AsEloquaObjectDataset is the BasicDataset implementation for DrillTableDataset.
30731func (dtd DrillTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
30732	return nil, false
30733}
30734
30735// AsDrillTableDataset is the BasicDataset implementation for DrillTableDataset.
30736func (dtd DrillTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
30737	return &dtd, true
30738}
30739
30740// AsCouchbaseTableDataset is the BasicDataset implementation for DrillTableDataset.
30741func (dtd DrillTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
30742	return nil, false
30743}
30744
30745// AsConcurObjectDataset is the BasicDataset implementation for DrillTableDataset.
30746func (dtd DrillTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
30747	return nil, false
30748}
30749
30750// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
30751func (dtd DrillTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
30752	return nil, false
30753}
30754
30755// AsAmazonMWSObjectDataset is the BasicDataset implementation for DrillTableDataset.
30756func (dtd DrillTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
30757	return nil, false
30758}
30759
30760// AsHTTPDataset is the BasicDataset implementation for DrillTableDataset.
30761func (dtd DrillTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
30762	return nil, false
30763}
30764
30765// AsAzureSearchIndexDataset is the BasicDataset implementation for DrillTableDataset.
30766func (dtd DrillTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
30767	return nil, false
30768}
30769
30770// AsWebTableDataset is the BasicDataset implementation for DrillTableDataset.
30771func (dtd DrillTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
30772	return nil, false
30773}
30774
30775// AsSQLServerTableDataset is the BasicDataset implementation for DrillTableDataset.
30776func (dtd DrillTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
30777	return nil, false
30778}
30779
30780// AsSapEccResourceDataset is the BasicDataset implementation for DrillTableDataset.
30781func (dtd DrillTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
30782	return nil, false
30783}
30784
30785// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DrillTableDataset.
30786func (dtd DrillTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
30787	return nil, false
30788}
30789
30790// AsSalesforceObjectDataset is the BasicDataset implementation for DrillTableDataset.
30791func (dtd DrillTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
30792	return nil, false
30793}
30794
30795// AsRelationalTableDataset is the BasicDataset implementation for DrillTableDataset.
30796func (dtd DrillTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
30797	return nil, false
30798}
30799
30800// AsAzureMySQLTableDataset is the BasicDataset implementation for DrillTableDataset.
30801func (dtd DrillTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
30802	return nil, false
30803}
30804
30805// AsOracleTableDataset is the BasicDataset implementation for DrillTableDataset.
30806func (dtd DrillTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
30807	return nil, false
30808}
30809
30810// AsODataResourceDataset is the BasicDataset implementation for DrillTableDataset.
30811func (dtd DrillTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
30812	return nil, false
30813}
30814
30815// AsMongoDbCollectionDataset is the BasicDataset implementation for DrillTableDataset.
30816func (dtd DrillTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
30817	return nil, false
30818}
30819
30820// AsFileShareDataset is the BasicDataset implementation for DrillTableDataset.
30821func (dtd DrillTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
30822	return nil, false
30823}
30824
30825// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DrillTableDataset.
30826func (dtd DrillTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
30827	return nil, false
30828}
30829
30830// AsDynamicsEntityDataset is the BasicDataset implementation for DrillTableDataset.
30831func (dtd DrillTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
30832	return nil, false
30833}
30834
30835// AsDocumentDbCollectionDataset is the BasicDataset implementation for DrillTableDataset.
30836func (dtd DrillTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
30837	return nil, false
30838}
30839
30840// AsCustomDataset is the BasicDataset implementation for DrillTableDataset.
30841func (dtd DrillTableDataset) AsCustomDataset() (*CustomDataset, bool) {
30842	return nil, false
30843}
30844
30845// AsCassandraTableDataset is the BasicDataset implementation for DrillTableDataset.
30846func (dtd DrillTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
30847	return nil, false
30848}
30849
30850// AsAzureSQLDWTableDataset is the BasicDataset implementation for DrillTableDataset.
30851func (dtd DrillTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
30852	return nil, false
30853}
30854
30855// AsAzureSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
30856func (dtd DrillTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
30857	return nil, false
30858}
30859
30860// AsAzureTableDataset is the BasicDataset implementation for DrillTableDataset.
30861func (dtd DrillTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
30862	return nil, false
30863}
30864
30865// AsAzureBlobDataset is the BasicDataset implementation for DrillTableDataset.
30866func (dtd DrillTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
30867	return nil, false
30868}
30869
30870// AsAmazonS3Dataset is the BasicDataset implementation for DrillTableDataset.
30871func (dtd DrillTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
30872	return nil, false
30873}
30874
30875// AsDataset is the BasicDataset implementation for DrillTableDataset.
30876func (dtd DrillTableDataset) AsDataset() (*Dataset, bool) {
30877	return nil, false
30878}
30879
30880// AsBasicDataset is the BasicDataset implementation for DrillTableDataset.
30881func (dtd DrillTableDataset) AsBasicDataset() (BasicDataset, bool) {
30882	return &dtd, true
30883}
30884
30885// UnmarshalJSON is the custom unmarshaler for DrillTableDataset struct.
30886func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error {
30887	var m map[string]*json.RawMessage
30888	err := json.Unmarshal(body, &m)
30889	if err != nil {
30890		return err
30891	}
30892	for k, v := range m {
30893		switch k {
30894		default:
30895			if v != nil {
30896				var additionalProperties interface{}
30897				err = json.Unmarshal(*v, &additionalProperties)
30898				if err != nil {
30899					return err
30900				}
30901				if dtd.AdditionalProperties == nil {
30902					dtd.AdditionalProperties = make(map[string]interface{})
30903				}
30904				dtd.AdditionalProperties[k] = additionalProperties
30905			}
30906		case "description":
30907			if v != nil {
30908				var description string
30909				err = json.Unmarshal(*v, &description)
30910				if err != nil {
30911					return err
30912				}
30913				dtd.Description = &description
30914			}
30915		case "structure":
30916			if v != nil {
30917				var structure interface{}
30918				err = json.Unmarshal(*v, &structure)
30919				if err != nil {
30920					return err
30921				}
30922				dtd.Structure = structure
30923			}
30924		case "linkedServiceName":
30925			if v != nil {
30926				var linkedServiceName LinkedServiceReference
30927				err = json.Unmarshal(*v, &linkedServiceName)
30928				if err != nil {
30929					return err
30930				}
30931				dtd.LinkedServiceName = &linkedServiceName
30932			}
30933		case "parameters":
30934			if v != nil {
30935				var parameters map[string]*ParameterSpecification
30936				err = json.Unmarshal(*v, &parameters)
30937				if err != nil {
30938					return err
30939				}
30940				dtd.Parameters = parameters
30941			}
30942		case "annotations":
30943			if v != nil {
30944				var annotations []interface{}
30945				err = json.Unmarshal(*v, &annotations)
30946				if err != nil {
30947					return err
30948				}
30949				dtd.Annotations = &annotations
30950			}
30951		case "type":
30952			if v != nil {
30953				var typeVar TypeBasicDataset
30954				err = json.Unmarshal(*v, &typeVar)
30955				if err != nil {
30956					return err
30957				}
30958				dtd.Type = typeVar
30959			}
30960		}
30961	}
30962
30963	return nil
30964}
30965
30966// DynamicsEntityDataset the Dynamics entity dataset.
30967type DynamicsEntityDataset struct {
30968	// DynamicsEntityDatasetTypeProperties - Dynamics entity dataset properties.
30969	*DynamicsEntityDatasetTypeProperties `json:"typeProperties,omitempty"`
30970	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
30971	AdditionalProperties map[string]interface{} `json:""`
30972	// Description - Dataset description.
30973	Description *string `json:"description,omitempty"`
30974	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
30975	Structure interface{} `json:"structure,omitempty"`
30976	// LinkedServiceName - Linked service reference.
30977	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
30978	// Parameters - Parameters for dataset.
30979	Parameters map[string]*ParameterSpecification `json:"parameters"`
30980	// Annotations - List of tags that can be used for describing the Dataset.
30981	Annotations *[]interface{} `json:"annotations,omitempty"`
30982	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
30983	Type TypeBasicDataset `json:"type,omitempty"`
30984}
30985
30986// MarshalJSON is the custom marshaler for DynamicsEntityDataset.
30987func (ded DynamicsEntityDataset) MarshalJSON() ([]byte, error) {
30988	ded.Type = TypeDynamicsEntity
30989	objectMap := make(map[string]interface{})
30990	if ded.DynamicsEntityDatasetTypeProperties != nil {
30991		objectMap["typeProperties"] = ded.DynamicsEntityDatasetTypeProperties
30992	}
30993	if ded.Description != nil {
30994		objectMap["description"] = ded.Description
30995	}
30996	if ded.Structure != nil {
30997		objectMap["structure"] = ded.Structure
30998	}
30999	if ded.LinkedServiceName != nil {
31000		objectMap["linkedServiceName"] = ded.LinkedServiceName
31001	}
31002	if ded.Parameters != nil {
31003		objectMap["parameters"] = ded.Parameters
31004	}
31005	if ded.Annotations != nil {
31006		objectMap["annotations"] = ded.Annotations
31007	}
31008	if ded.Type != "" {
31009		objectMap["type"] = ded.Type
31010	}
31011	for k, v := range ded.AdditionalProperties {
31012		objectMap[k] = v
31013	}
31014	return json.Marshal(objectMap)
31015}
31016
31017// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31018func (ded DynamicsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
31019	return nil, false
31020}
31021
31022// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31023func (ded DynamicsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
31024	return nil, false
31025}
31026
31027// AsVerticaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31028func (ded DynamicsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
31029	return nil, false
31030}
31031
31032// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31033func (ded DynamicsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
31034	return nil, false
31035}
31036
31037// AsZohoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31038func (ded DynamicsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
31039	return nil, false
31040}
31041
31042// AsXeroObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31043func (ded DynamicsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
31044	return nil, false
31045}
31046
31047// AsSquareObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31048func (ded DynamicsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
31049	return nil, false
31050}
31051
31052// AsSparkObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31053func (ded DynamicsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
31054	return nil, false
31055}
31056
31057// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31058func (ded DynamicsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
31059	return nil, false
31060}
31061
31062// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31063func (ded DynamicsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
31064	return nil, false
31065}
31066
31067// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31068func (ded DynamicsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
31069	return nil, false
31070}
31071
31072// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31073func (ded DynamicsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
31074	return nil, false
31075}
31076
31077// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31078func (ded DynamicsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
31079	return nil, false
31080}
31081
31082// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31083func (ded DynamicsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
31084	return nil, false
31085}
31086
31087// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31088func (ded DynamicsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
31089	return nil, false
31090}
31091
31092// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31093func (ded DynamicsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
31094	return nil, false
31095}
31096
31097// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31098func (ded DynamicsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
31099	return nil, false
31100}
31101
31102// AsJiraObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31103func (ded DynamicsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
31104	return nil, false
31105}
31106
31107// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31108func (ded DynamicsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
31109	return nil, false
31110}
31111
31112// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31113func (ded DynamicsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
31114	return nil, false
31115}
31116
31117// AsHiveObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31118func (ded DynamicsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
31119	return nil, false
31120}
31121
31122// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31123func (ded DynamicsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
31124	return nil, false
31125}
31126
31127// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31128func (ded DynamicsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
31129	return nil, false
31130}
31131
31132// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31133func (ded DynamicsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
31134	return nil, false
31135}
31136
31137// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31138func (ded DynamicsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
31139	return nil, false
31140}
31141
31142// AsDrillTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31143func (ded DynamicsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
31144	return nil, false
31145}
31146
31147// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31148func (ded DynamicsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
31149	return nil, false
31150}
31151
31152// AsConcurObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31153func (ded DynamicsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
31154	return nil, false
31155}
31156
31157// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31158func (ded DynamicsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
31159	return nil, false
31160}
31161
31162// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31163func (ded DynamicsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
31164	return nil, false
31165}
31166
31167// AsHTTPDataset is the BasicDataset implementation for DynamicsEntityDataset.
31168func (ded DynamicsEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) {
31169	return nil, false
31170}
31171
31172// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsEntityDataset.
31173func (ded DynamicsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
31174	return nil, false
31175}
31176
31177// AsWebTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31178func (ded DynamicsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) {
31179	return nil, false
31180}
31181
31182// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31183func (ded DynamicsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
31184	return nil, false
31185}
31186
31187// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
31188func (ded DynamicsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
31189	return nil, false
31190}
31191
31192// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
31193func (ded DynamicsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
31194	return nil, false
31195}
31196
31197// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31198func (ded DynamicsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
31199	return nil, false
31200}
31201
31202// AsRelationalTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31203func (ded DynamicsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
31204	return nil, false
31205}
31206
31207// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31208func (ded DynamicsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
31209	return nil, false
31210}
31211
31212// AsOracleTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31213func (ded DynamicsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
31214	return nil, false
31215}
31216
31217// AsODataResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
31218func (ded DynamicsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
31219	return nil, false
31220}
31221
31222// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
31223func (ded DynamicsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
31224	return nil, false
31225}
31226
31227// AsFileShareDataset is the BasicDataset implementation for DynamicsEntityDataset.
31228func (ded DynamicsEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) {
31229	return nil, false
31230}
31231
31232// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsEntityDataset.
31233func (ded DynamicsEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
31234	return nil, false
31235}
31236
31237// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset.
31238func (ded DynamicsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
31239	return &ded, true
31240}
31241
31242// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
31243func (ded DynamicsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
31244	return nil, false
31245}
31246
31247// AsCustomDataset is the BasicDataset implementation for DynamicsEntityDataset.
31248func (ded DynamicsEntityDataset) AsCustomDataset() (*CustomDataset, bool) {
31249	return nil, false
31250}
31251
31252// AsCassandraTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31253func (ded DynamicsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
31254	return nil, false
31255}
31256
31257// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31258func (ded DynamicsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
31259	return nil, false
31260}
31261
31262// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31263func (ded DynamicsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
31264	return nil, false
31265}
31266
31267// AsAzureTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31268func (ded DynamicsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
31269	return nil, false
31270}
31271
31272// AsAzureBlobDataset is the BasicDataset implementation for DynamicsEntityDataset.
31273func (ded DynamicsEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
31274	return nil, false
31275}
31276
31277// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsEntityDataset.
31278func (ded DynamicsEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
31279	return nil, false
31280}
31281
31282// AsDataset is the BasicDataset implementation for DynamicsEntityDataset.
31283func (ded DynamicsEntityDataset) AsDataset() (*Dataset, bool) {
31284	return nil, false
31285}
31286
31287// AsBasicDataset is the BasicDataset implementation for DynamicsEntityDataset.
31288func (ded DynamicsEntityDataset) AsBasicDataset() (BasicDataset, bool) {
31289	return &ded, true
31290}
31291
31292// UnmarshalJSON is the custom unmarshaler for DynamicsEntityDataset struct.
31293func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error {
31294	var m map[string]*json.RawMessage
31295	err := json.Unmarshal(body, &m)
31296	if err != nil {
31297		return err
31298	}
31299	for k, v := range m {
31300		switch k {
31301		case "typeProperties":
31302			if v != nil {
31303				var dynamicsEntityDatasetTypeProperties DynamicsEntityDatasetTypeProperties
31304				err = json.Unmarshal(*v, &dynamicsEntityDatasetTypeProperties)
31305				if err != nil {
31306					return err
31307				}
31308				ded.DynamicsEntityDatasetTypeProperties = &dynamicsEntityDatasetTypeProperties
31309			}
31310		default:
31311			if v != nil {
31312				var additionalProperties interface{}
31313				err = json.Unmarshal(*v, &additionalProperties)
31314				if err != nil {
31315					return err
31316				}
31317				if ded.AdditionalProperties == nil {
31318					ded.AdditionalProperties = make(map[string]interface{})
31319				}
31320				ded.AdditionalProperties[k] = additionalProperties
31321			}
31322		case "description":
31323			if v != nil {
31324				var description string
31325				err = json.Unmarshal(*v, &description)
31326				if err != nil {
31327					return err
31328				}
31329				ded.Description = &description
31330			}
31331		case "structure":
31332			if v != nil {
31333				var structure interface{}
31334				err = json.Unmarshal(*v, &structure)
31335				if err != nil {
31336					return err
31337				}
31338				ded.Structure = structure
31339			}
31340		case "linkedServiceName":
31341			if v != nil {
31342				var linkedServiceName LinkedServiceReference
31343				err = json.Unmarshal(*v, &linkedServiceName)
31344				if err != nil {
31345					return err
31346				}
31347				ded.LinkedServiceName = &linkedServiceName
31348			}
31349		case "parameters":
31350			if v != nil {
31351				var parameters map[string]*ParameterSpecification
31352				err = json.Unmarshal(*v, &parameters)
31353				if err != nil {
31354					return err
31355				}
31356				ded.Parameters = parameters
31357			}
31358		case "annotations":
31359			if v != nil {
31360				var annotations []interface{}
31361				err = json.Unmarshal(*v, &annotations)
31362				if err != nil {
31363					return err
31364				}
31365				ded.Annotations = &annotations
31366			}
31367		case "type":
31368			if v != nil {
31369				var typeVar TypeBasicDataset
31370				err = json.Unmarshal(*v, &typeVar)
31371				if err != nil {
31372					return err
31373				}
31374				ded.Type = typeVar
31375			}
31376		}
31377	}
31378
31379	return nil
31380}
31381
31382// DynamicsEntityDatasetTypeProperties dynamics entity dataset properties.
31383type DynamicsEntityDatasetTypeProperties struct {
31384	// EntityName - The logical name of the entity. Type: string (or Expression with resultType string).
31385	EntityName interface{} `json:"entityName,omitempty"`
31386}
31387
31388// DynamicsLinkedService dynamics linked service.
31389type DynamicsLinkedService struct {
31390	// DynamicsLinkedServiceTypeProperties - Dynamics linked service properties.
31391	*DynamicsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
31392	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
31393	AdditionalProperties map[string]interface{} `json:""`
31394	// ConnectVia - The integration runtime reference.
31395	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
31396	// Description - Linked service description.
31397	Description *string `json:"description,omitempty"`
31398	// Parameters - Parameters for linked service.
31399	Parameters map[string]*ParameterSpecification `json:"parameters"`
31400	// Annotations - List of tags that can be used for describing the Dataset.
31401	Annotations *[]interface{} `json:"annotations,omitempty"`
31402	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
31403	Type TypeBasicLinkedService `json:"type,omitempty"`
31404}
31405
31406// MarshalJSON is the custom marshaler for DynamicsLinkedService.
31407func (dls DynamicsLinkedService) MarshalJSON() ([]byte, error) {
31408	dls.Type = TypeDynamics
31409	objectMap := make(map[string]interface{})
31410	if dls.DynamicsLinkedServiceTypeProperties != nil {
31411		objectMap["typeProperties"] = dls.DynamicsLinkedServiceTypeProperties
31412	}
31413	if dls.ConnectVia != nil {
31414		objectMap["connectVia"] = dls.ConnectVia
31415	}
31416	if dls.Description != nil {
31417		objectMap["description"] = dls.Description
31418	}
31419	if dls.Parameters != nil {
31420		objectMap["parameters"] = dls.Parameters
31421	}
31422	if dls.Annotations != nil {
31423		objectMap["annotations"] = dls.Annotations
31424	}
31425	if dls.Type != "" {
31426		objectMap["type"] = dls.Type
31427	}
31428	for k, v := range dls.AdditionalProperties {
31429		objectMap[k] = v
31430	}
31431	return json.Marshal(objectMap)
31432}
31433
31434// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31435func (dls DynamicsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
31436	return nil, false
31437}
31438
31439// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31440func (dls DynamicsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
31441	return nil, false
31442}
31443
31444// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31445func (dls DynamicsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
31446	return nil, false
31447}
31448
31449// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31450func (dls DynamicsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
31451	return nil, false
31452}
31453
31454// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31455func (dls DynamicsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
31456	return nil, false
31457}
31458
31459// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31460func (dls DynamicsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
31461	return nil, false
31462}
31463
31464// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31465func (dls DynamicsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
31466	return nil, false
31467}
31468
31469// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31470func (dls DynamicsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
31471	return nil, false
31472}
31473
31474// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31475func (dls DynamicsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
31476	return nil, false
31477}
31478
31479// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31480func (dls DynamicsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
31481	return nil, false
31482}
31483
31484// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31485func (dls DynamicsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
31486	return nil, false
31487}
31488
31489// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31490func (dls DynamicsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
31491	return nil, false
31492}
31493
31494// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31495func (dls DynamicsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
31496	return nil, false
31497}
31498
31499// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31500func (dls DynamicsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
31501	return nil, false
31502}
31503
31504// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31505func (dls DynamicsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
31506	return nil, false
31507}
31508
31509// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31510func (dls DynamicsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
31511	return nil, false
31512}
31513
31514// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31515func (dls DynamicsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
31516	return nil, false
31517}
31518
31519// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31520func (dls DynamicsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
31521	return nil, false
31522}
31523
31524// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31525func (dls DynamicsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
31526	return nil, false
31527}
31528
31529// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31530func (dls DynamicsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
31531	return nil, false
31532}
31533
31534// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31535func (dls DynamicsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
31536	return nil, false
31537}
31538
31539// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31540func (dls DynamicsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
31541	return nil, false
31542}
31543
31544// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31545func (dls DynamicsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
31546	return nil, false
31547}
31548
31549// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31550func (dls DynamicsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
31551	return nil, false
31552}
31553
31554// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31555func (dls DynamicsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
31556	return nil, false
31557}
31558
31559// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31560func (dls DynamicsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
31561	return nil, false
31562}
31563
31564// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31565func (dls DynamicsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
31566	return nil, false
31567}
31568
31569// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31570func (dls DynamicsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
31571	return nil, false
31572}
31573
31574// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31575func (dls DynamicsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
31576	return nil, false
31577}
31578
31579// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31580func (dls DynamicsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
31581	return nil, false
31582}
31583
31584// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31585func (dls DynamicsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
31586	return nil, false
31587}
31588
31589// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31590func (dls DynamicsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
31591	return nil, false
31592}
31593
31594// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31595func (dls DynamicsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
31596	return nil, false
31597}
31598
31599// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31600func (dls DynamicsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
31601	return nil, false
31602}
31603
31604// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31605func (dls DynamicsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
31606	return nil, false
31607}
31608
31609// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31610func (dls DynamicsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
31611	return nil, false
31612}
31613
31614// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31615func (dls DynamicsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
31616	return nil, false
31617}
31618
31619// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31620func (dls DynamicsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
31621	return nil, false
31622}
31623
31624// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31625func (dls DynamicsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
31626	return nil, false
31627}
31628
31629// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31630func (dls DynamicsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
31631	return nil, false
31632}
31633
31634// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31635func (dls DynamicsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
31636	return nil, false
31637}
31638
31639// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31640func (dls DynamicsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
31641	return nil, false
31642}
31643
31644// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31645func (dls DynamicsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
31646	return nil, false
31647}
31648
31649// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31650func (dls DynamicsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
31651	return nil, false
31652}
31653
31654// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31655func (dls DynamicsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
31656	return nil, false
31657}
31658
31659// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31660func (dls DynamicsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
31661	return nil, false
31662}
31663
31664// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31665func (dls DynamicsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
31666	return nil, false
31667}
31668
31669// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31670func (dls DynamicsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
31671	return nil, false
31672}
31673
31674// AsWebLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31675func (dls DynamicsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
31676	return nil, false
31677}
31678
31679// AsODataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31680func (dls DynamicsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
31681	return nil, false
31682}
31683
31684// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31685func (dls DynamicsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
31686	return nil, false
31687}
31688
31689// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31690func (dls DynamicsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
31691	return nil, false
31692}
31693
31694// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31695func (dls DynamicsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
31696	return nil, false
31697}
31698
31699// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31700func (dls DynamicsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
31701	return nil, false
31702}
31703
31704// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31705func (dls DynamicsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
31706	return nil, false
31707}
31708
31709// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31710func (dls DynamicsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
31711	return nil, false
31712}
31713
31714// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31715func (dls DynamicsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
31716	return nil, false
31717}
31718
31719// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31720func (dls DynamicsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
31721	return nil, false
31722}
31723
31724// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31725func (dls DynamicsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
31726	return nil, false
31727}
31728
31729// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31730func (dls DynamicsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
31731	return nil, false
31732}
31733
31734// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31735func (dls DynamicsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
31736	return nil, false
31737}
31738
31739// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31740func (dls DynamicsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
31741	return nil, false
31742}
31743
31744// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31745func (dls DynamicsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
31746	return &dls, true
31747}
31748
31749// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31750func (dls DynamicsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
31751	return nil, false
31752}
31753
31754// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31755func (dls DynamicsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
31756	return nil, false
31757}
31758
31759// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31760func (dls DynamicsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
31761	return nil, false
31762}
31763
31764// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31765func (dls DynamicsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
31766	return nil, false
31767}
31768
31769// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31770func (dls DynamicsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
31771	return nil, false
31772}
31773
31774// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31775func (dls DynamicsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
31776	return nil, false
31777}
31778
31779// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31780func (dls DynamicsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
31781	return nil, false
31782}
31783
31784// AsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31785func (dls DynamicsLinkedService) AsLinkedService() (*LinkedService, bool) {
31786	return nil, false
31787}
31788
31789// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31790func (dls DynamicsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
31791	return &dls, true
31792}
31793
31794// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedService struct.
31795func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error {
31796	var m map[string]*json.RawMessage
31797	err := json.Unmarshal(body, &m)
31798	if err != nil {
31799		return err
31800	}
31801	for k, v := range m {
31802		switch k {
31803		case "typeProperties":
31804			if v != nil {
31805				var dynamicsLinkedServiceTypeProperties DynamicsLinkedServiceTypeProperties
31806				err = json.Unmarshal(*v, &dynamicsLinkedServiceTypeProperties)
31807				if err != nil {
31808					return err
31809				}
31810				dls.DynamicsLinkedServiceTypeProperties = &dynamicsLinkedServiceTypeProperties
31811			}
31812		default:
31813			if v != nil {
31814				var additionalProperties interface{}
31815				err = json.Unmarshal(*v, &additionalProperties)
31816				if err != nil {
31817					return err
31818				}
31819				if dls.AdditionalProperties == nil {
31820					dls.AdditionalProperties = make(map[string]interface{})
31821				}
31822				dls.AdditionalProperties[k] = additionalProperties
31823			}
31824		case "connectVia":
31825			if v != nil {
31826				var connectVia IntegrationRuntimeReference
31827				err = json.Unmarshal(*v, &connectVia)
31828				if err != nil {
31829					return err
31830				}
31831				dls.ConnectVia = &connectVia
31832			}
31833		case "description":
31834			if v != nil {
31835				var description string
31836				err = json.Unmarshal(*v, &description)
31837				if err != nil {
31838					return err
31839				}
31840				dls.Description = &description
31841			}
31842		case "parameters":
31843			if v != nil {
31844				var parameters map[string]*ParameterSpecification
31845				err = json.Unmarshal(*v, &parameters)
31846				if err != nil {
31847					return err
31848				}
31849				dls.Parameters = parameters
31850			}
31851		case "annotations":
31852			if v != nil {
31853				var annotations []interface{}
31854				err = json.Unmarshal(*v, &annotations)
31855				if err != nil {
31856					return err
31857				}
31858				dls.Annotations = &annotations
31859			}
31860		case "type":
31861			if v != nil {
31862				var typeVar TypeBasicLinkedService
31863				err = json.Unmarshal(*v, &typeVar)
31864				if err != nil {
31865					return err
31866				}
31867				dls.Type = typeVar
31868			}
31869		}
31870	}
31871
31872	return nil
31873}
31874
31875// DynamicsLinkedServiceTypeProperties dynamics linked service properties.
31876type DynamicsLinkedServiceTypeProperties struct {
31877	// DeploymentType - The deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with resultType string).
31878	DeploymentType interface{} `json:"deploymentType,omitempty"`
31879	// HostName - The host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string).
31880	HostName interface{} `json:"hostName,omitempty"`
31881	// Port - The port of on-premises Dynamics server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0.
31882	Port interface{} `json:"port,omitempty"`
31883	// ServiceURI - The URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
31884	ServiceURI interface{} `json:"serviceUri,omitempty"`
31885	// OrganizationName - The organization name of the Dynamics instance. The property is required for on-prem and required for online when there are more than one Dynamics instances associated with the user. Type: string (or Expression with resultType string).
31886	OrganizationName interface{} `json:"organizationName,omitempty"`
31887	// AuthenticationType - The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string (or Expression with resultType string).
31888	AuthenticationType interface{} `json:"authenticationType,omitempty"`
31889	// Username - User name to access the Dynamics instance. Type: string (or Expression with resultType string).
31890	Username interface{} `json:"username,omitempty"`
31891	// Password - Password to access the Dynamics instance.
31892	Password BasicSecretBase `json:"password,omitempty"`
31893	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
31894	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
31895}
31896
31897// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedServiceTypeProperties struct.
31898func (dlstp *DynamicsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
31899	var m map[string]*json.RawMessage
31900	err := json.Unmarshal(body, &m)
31901	if err != nil {
31902		return err
31903	}
31904	for k, v := range m {
31905		switch k {
31906		case "deploymentType":
31907			if v != nil {
31908				var deploymentType interface{}
31909				err = json.Unmarshal(*v, &deploymentType)
31910				if err != nil {
31911					return err
31912				}
31913				dlstp.DeploymentType = deploymentType
31914			}
31915		case "hostName":
31916			if v != nil {
31917				var hostName interface{}
31918				err = json.Unmarshal(*v, &hostName)
31919				if err != nil {
31920					return err
31921				}
31922				dlstp.HostName = hostName
31923			}
31924		case "port":
31925			if v != nil {
31926				var port interface{}
31927				err = json.Unmarshal(*v, &port)
31928				if err != nil {
31929					return err
31930				}
31931				dlstp.Port = port
31932			}
31933		case "serviceUri":
31934			if v != nil {
31935				var serviceURI interface{}
31936				err = json.Unmarshal(*v, &serviceURI)
31937				if err != nil {
31938					return err
31939				}
31940				dlstp.ServiceURI = serviceURI
31941			}
31942		case "organizationName":
31943			if v != nil {
31944				var organizationName interface{}
31945				err = json.Unmarshal(*v, &organizationName)
31946				if err != nil {
31947					return err
31948				}
31949				dlstp.OrganizationName = organizationName
31950			}
31951		case "authenticationType":
31952			if v != nil {
31953				var authenticationType interface{}
31954				err = json.Unmarshal(*v, &authenticationType)
31955				if err != nil {
31956					return err
31957				}
31958				dlstp.AuthenticationType = authenticationType
31959			}
31960		case "username":
31961			if v != nil {
31962				var username interface{}
31963				err = json.Unmarshal(*v, &username)
31964				if err != nil {
31965					return err
31966				}
31967				dlstp.Username = username
31968			}
31969		case "password":
31970			if v != nil {
31971				password, err := unmarshalBasicSecretBase(*v)
31972				if err != nil {
31973					return err
31974				}
31975				dlstp.Password = password
31976			}
31977		case "encryptedCredential":
31978			if v != nil {
31979				var encryptedCredential interface{}
31980				err = json.Unmarshal(*v, &encryptedCredential)
31981				if err != nil {
31982					return err
31983				}
31984				dlstp.EncryptedCredential = encryptedCredential
31985			}
31986		}
31987	}
31988
31989	return nil
31990}
31991
31992// DynamicsSink a copy activity Dynamics sink.
31993type DynamicsSink struct {
31994	// WriteBehavior - The write behavior for the operation.
31995	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
31996	// IgnoreNullValues - The flag indicating whether ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean).
31997	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
31998	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
31999	AdditionalProperties map[string]interface{} `json:""`
32000	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
32001	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
32002	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32003	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
32004	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
32005	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
32006	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32007	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
32008	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
32009	Type TypeBasicCopySink `json:"type,omitempty"`
32010}
32011
32012// MarshalJSON is the custom marshaler for DynamicsSink.
32013func (ds DynamicsSink) MarshalJSON() ([]byte, error) {
32014	ds.Type = TypeDynamicsSink
32015	objectMap := make(map[string]interface{})
32016	if ds.WriteBehavior != nil {
32017		objectMap["writeBehavior"] = ds.WriteBehavior
32018	}
32019	if ds.IgnoreNullValues != nil {
32020		objectMap["ignoreNullValues"] = ds.IgnoreNullValues
32021	}
32022	if ds.WriteBatchSize != nil {
32023		objectMap["writeBatchSize"] = ds.WriteBatchSize
32024	}
32025	if ds.WriteBatchTimeout != nil {
32026		objectMap["writeBatchTimeout"] = ds.WriteBatchTimeout
32027	}
32028	if ds.SinkRetryCount != nil {
32029		objectMap["sinkRetryCount"] = ds.SinkRetryCount
32030	}
32031	if ds.SinkRetryWait != nil {
32032		objectMap["sinkRetryWait"] = ds.SinkRetryWait
32033	}
32034	if ds.Type != "" {
32035		objectMap["type"] = ds.Type
32036	}
32037	for k, v := range ds.AdditionalProperties {
32038		objectMap[k] = v
32039	}
32040	return json.Marshal(objectMap)
32041}
32042
32043// AsSalesforceSink is the BasicCopySink implementation for DynamicsSink.
32044func (ds DynamicsSink) AsSalesforceSink() (*SalesforceSink, bool) {
32045	return nil, false
32046}
32047
32048// AsDynamicsSink is the BasicCopySink implementation for DynamicsSink.
32049func (ds DynamicsSink) AsDynamicsSink() (*DynamicsSink, bool) {
32050	return &ds, true
32051}
32052
32053// AsOdbcSink is the BasicCopySink implementation for DynamicsSink.
32054func (ds DynamicsSink) AsOdbcSink() (*OdbcSink, bool) {
32055	return nil, false
32056}
32057
32058// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsSink.
32059func (ds DynamicsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
32060	return nil, false
32061}
32062
32063// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsSink.
32064func (ds DynamicsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
32065	return nil, false
32066}
32067
32068// AsOracleSink is the BasicCopySink implementation for DynamicsSink.
32069func (ds DynamicsSink) AsOracleSink() (*OracleSink, bool) {
32070	return nil, false
32071}
32072
32073// AsSQLDWSink is the BasicCopySink implementation for DynamicsSink.
32074func (ds DynamicsSink) AsSQLDWSink() (*SQLDWSink, bool) {
32075	return nil, false
32076}
32077
32078// AsSQLSink is the BasicCopySink implementation for DynamicsSink.
32079func (ds DynamicsSink) AsSQLSink() (*SQLSink, bool) {
32080	return nil, false
32081}
32082
32083// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsSink.
32084func (ds DynamicsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
32085	return nil, false
32086}
32087
32088// AsFileSystemSink is the BasicCopySink implementation for DynamicsSink.
32089func (ds DynamicsSink) AsFileSystemSink() (*FileSystemSink, bool) {
32090	return nil, false
32091}
32092
32093// AsBlobSink is the BasicCopySink implementation for DynamicsSink.
32094func (ds DynamicsSink) AsBlobSink() (*BlobSink, bool) {
32095	return nil, false
32096}
32097
32098// AsAzureTableSink is the BasicCopySink implementation for DynamicsSink.
32099func (ds DynamicsSink) AsAzureTableSink() (*AzureTableSink, bool) {
32100	return nil, false
32101}
32102
32103// AsAzureQueueSink is the BasicCopySink implementation for DynamicsSink.
32104func (ds DynamicsSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
32105	return nil, false
32106}
32107
32108// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsSink.
32109func (ds DynamicsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
32110	return nil, false
32111}
32112
32113// AsCopySink is the BasicCopySink implementation for DynamicsSink.
32114func (ds DynamicsSink) AsCopySink() (*CopySink, bool) {
32115	return nil, false
32116}
32117
32118// AsBasicCopySink is the BasicCopySink implementation for DynamicsSink.
32119func (ds DynamicsSink) AsBasicCopySink() (BasicCopySink, bool) {
32120	return &ds, true
32121}
32122
32123// UnmarshalJSON is the custom unmarshaler for DynamicsSink struct.
32124func (ds *DynamicsSink) UnmarshalJSON(body []byte) error {
32125	var m map[string]*json.RawMessage
32126	err := json.Unmarshal(body, &m)
32127	if err != nil {
32128		return err
32129	}
32130	for k, v := range m {
32131		switch k {
32132		case "writeBehavior":
32133			if v != nil {
32134				var writeBehavior interface{}
32135				err = json.Unmarshal(*v, &writeBehavior)
32136				if err != nil {
32137					return err
32138				}
32139				ds.WriteBehavior = writeBehavior
32140			}
32141		case "ignoreNullValues":
32142			if v != nil {
32143				var ignoreNullValues interface{}
32144				err = json.Unmarshal(*v, &ignoreNullValues)
32145				if err != nil {
32146					return err
32147				}
32148				ds.IgnoreNullValues = ignoreNullValues
32149			}
32150		default:
32151			if v != nil {
32152				var additionalProperties interface{}
32153				err = json.Unmarshal(*v, &additionalProperties)
32154				if err != nil {
32155					return err
32156				}
32157				if ds.AdditionalProperties == nil {
32158					ds.AdditionalProperties = make(map[string]interface{})
32159				}
32160				ds.AdditionalProperties[k] = additionalProperties
32161			}
32162		case "writeBatchSize":
32163			if v != nil {
32164				var writeBatchSize interface{}
32165				err = json.Unmarshal(*v, &writeBatchSize)
32166				if err != nil {
32167					return err
32168				}
32169				ds.WriteBatchSize = writeBatchSize
32170			}
32171		case "writeBatchTimeout":
32172			if v != nil {
32173				var writeBatchTimeout interface{}
32174				err = json.Unmarshal(*v, &writeBatchTimeout)
32175				if err != nil {
32176					return err
32177				}
32178				ds.WriteBatchTimeout = writeBatchTimeout
32179			}
32180		case "sinkRetryCount":
32181			if v != nil {
32182				var sinkRetryCount interface{}
32183				err = json.Unmarshal(*v, &sinkRetryCount)
32184				if err != nil {
32185					return err
32186				}
32187				ds.SinkRetryCount = sinkRetryCount
32188			}
32189		case "sinkRetryWait":
32190			if v != nil {
32191				var sinkRetryWait interface{}
32192				err = json.Unmarshal(*v, &sinkRetryWait)
32193				if err != nil {
32194					return err
32195				}
32196				ds.SinkRetryWait = sinkRetryWait
32197			}
32198		case "type":
32199			if v != nil {
32200				var typeVar TypeBasicCopySink
32201				err = json.Unmarshal(*v, &typeVar)
32202				if err != nil {
32203					return err
32204				}
32205				ds.Type = typeVar
32206			}
32207		}
32208	}
32209
32210	return nil
32211}
32212
32213// DynamicsSource a copy activity Dynamics source.
32214type DynamicsSource struct {
32215	// Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string).
32216	Query interface{} `json:"query,omitempty"`
32217	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
32218	AdditionalProperties map[string]interface{} `json:""`
32219	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
32220	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
32221	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32222	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
32223	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
32224	Type TypeBasicCopySource `json:"type,omitempty"`
32225}
32226
32227// MarshalJSON is the custom marshaler for DynamicsSource.
32228func (ds DynamicsSource) MarshalJSON() ([]byte, error) {
32229	ds.Type = TypeDynamicsSource
32230	objectMap := make(map[string]interface{})
32231	if ds.Query != nil {
32232		objectMap["query"] = ds.Query
32233	}
32234	if ds.SourceRetryCount != nil {
32235		objectMap["sourceRetryCount"] = ds.SourceRetryCount
32236	}
32237	if ds.SourceRetryWait != nil {
32238		objectMap["sourceRetryWait"] = ds.SourceRetryWait
32239	}
32240	if ds.Type != "" {
32241		objectMap["type"] = ds.Type
32242	}
32243	for k, v := range ds.AdditionalProperties {
32244		objectMap[k] = v
32245	}
32246	return json.Marshal(objectMap)
32247}
32248
32249// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsSource.
32250func (ds DynamicsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
32251	return nil, false
32252}
32253
32254// AsResponsysSource is the BasicCopySource implementation for DynamicsSource.
32255func (ds DynamicsSource) AsResponsysSource() (*ResponsysSource, bool) {
32256	return nil, false
32257}
32258
32259// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsSource.
32260func (ds DynamicsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
32261	return nil, false
32262}
32263
32264// AsVerticaSource is the BasicCopySource implementation for DynamicsSource.
32265func (ds DynamicsSource) AsVerticaSource() (*VerticaSource, bool) {
32266	return nil, false
32267}
32268
32269// AsNetezzaSource is the BasicCopySource implementation for DynamicsSource.
32270func (ds DynamicsSource) AsNetezzaSource() (*NetezzaSource, bool) {
32271	return nil, false
32272}
32273
32274// AsZohoSource is the BasicCopySource implementation for DynamicsSource.
32275func (ds DynamicsSource) AsZohoSource() (*ZohoSource, bool) {
32276	return nil, false
32277}
32278
32279// AsXeroSource is the BasicCopySource implementation for DynamicsSource.
32280func (ds DynamicsSource) AsXeroSource() (*XeroSource, bool) {
32281	return nil, false
32282}
32283
32284// AsSquareSource is the BasicCopySource implementation for DynamicsSource.
32285func (ds DynamicsSource) AsSquareSource() (*SquareSource, bool) {
32286	return nil, false
32287}
32288
32289// AsSparkSource is the BasicCopySource implementation for DynamicsSource.
32290func (ds DynamicsSource) AsSparkSource() (*SparkSource, bool) {
32291	return nil, false
32292}
32293
32294// AsShopifySource is the BasicCopySource implementation for DynamicsSource.
32295func (ds DynamicsSource) AsShopifySource() (*ShopifySource, bool) {
32296	return nil, false
32297}
32298
32299// AsServiceNowSource is the BasicCopySource implementation for DynamicsSource.
32300func (ds DynamicsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
32301	return nil, false
32302}
32303
32304// AsQuickBooksSource is the BasicCopySource implementation for DynamicsSource.
32305func (ds DynamicsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
32306	return nil, false
32307}
32308
32309// AsPrestoSource is the BasicCopySource implementation for DynamicsSource.
32310func (ds DynamicsSource) AsPrestoSource() (*PrestoSource, bool) {
32311	return nil, false
32312}
32313
32314// AsPhoenixSource is the BasicCopySource implementation for DynamicsSource.
32315func (ds DynamicsSource) AsPhoenixSource() (*PhoenixSource, bool) {
32316	return nil, false
32317}
32318
32319// AsPaypalSource is the BasicCopySource implementation for DynamicsSource.
32320func (ds DynamicsSource) AsPaypalSource() (*PaypalSource, bool) {
32321	return nil, false
32322}
32323
32324// AsMarketoSource is the BasicCopySource implementation for DynamicsSource.
32325func (ds DynamicsSource) AsMarketoSource() (*MarketoSource, bool) {
32326	return nil, false
32327}
32328
32329// AsMariaDBSource is the BasicCopySource implementation for DynamicsSource.
32330func (ds DynamicsSource) AsMariaDBSource() (*MariaDBSource, bool) {
32331	return nil, false
32332}
32333
32334// AsMagentoSource is the BasicCopySource implementation for DynamicsSource.
32335func (ds DynamicsSource) AsMagentoSource() (*MagentoSource, bool) {
32336	return nil, false
32337}
32338
32339// AsJiraSource is the BasicCopySource implementation for DynamicsSource.
32340func (ds DynamicsSource) AsJiraSource() (*JiraSource, bool) {
32341	return nil, false
32342}
32343
32344// AsImpalaSource is the BasicCopySource implementation for DynamicsSource.
32345func (ds DynamicsSource) AsImpalaSource() (*ImpalaSource, bool) {
32346	return nil, false
32347}
32348
32349// AsHubspotSource is the BasicCopySource implementation for DynamicsSource.
32350func (ds DynamicsSource) AsHubspotSource() (*HubspotSource, bool) {
32351	return nil, false
32352}
32353
32354// AsHiveSource is the BasicCopySource implementation for DynamicsSource.
32355func (ds DynamicsSource) AsHiveSource() (*HiveSource, bool) {
32356	return nil, false
32357}
32358
32359// AsHBaseSource is the BasicCopySource implementation for DynamicsSource.
32360func (ds DynamicsSource) AsHBaseSource() (*HBaseSource, bool) {
32361	return nil, false
32362}
32363
32364// AsGreenplumSource is the BasicCopySource implementation for DynamicsSource.
32365func (ds DynamicsSource) AsGreenplumSource() (*GreenplumSource, bool) {
32366	return nil, false
32367}
32368
32369// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsSource.
32370func (ds DynamicsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
32371	return nil, false
32372}
32373
32374// AsEloquaSource is the BasicCopySource implementation for DynamicsSource.
32375func (ds DynamicsSource) AsEloquaSource() (*EloquaSource, bool) {
32376	return nil, false
32377}
32378
32379// AsDrillSource is the BasicCopySource implementation for DynamicsSource.
32380func (ds DynamicsSource) AsDrillSource() (*DrillSource, bool) {
32381	return nil, false
32382}
32383
32384// AsCouchbaseSource is the BasicCopySource implementation for DynamicsSource.
32385func (ds DynamicsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
32386	return nil, false
32387}
32388
32389// AsConcurSource is the BasicCopySource implementation for DynamicsSource.
32390func (ds DynamicsSource) AsConcurSource() (*ConcurSource, bool) {
32391	return nil, false
32392}
32393
32394// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsSource.
32395func (ds DynamicsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
32396	return nil, false
32397}
32398
32399// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsSource.
32400func (ds DynamicsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
32401	return nil, false
32402}
32403
32404// AsHTTPSource is the BasicCopySource implementation for DynamicsSource.
32405func (ds DynamicsSource) AsHTTPSource() (*HTTPSource, bool) {
32406	return nil, false
32407}
32408
32409// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsSource.
32410func (ds DynamicsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
32411	return nil, false
32412}
32413
32414// AsMongoDbSource is the BasicCopySource implementation for DynamicsSource.
32415func (ds DynamicsSource) AsMongoDbSource() (*MongoDbSource, bool) {
32416	return nil, false
32417}
32418
32419// AsCassandraSource is the BasicCopySource implementation for DynamicsSource.
32420func (ds DynamicsSource) AsCassandraSource() (*CassandraSource, bool) {
32421	return nil, false
32422}
32423
32424// AsWebSource is the BasicCopySource implementation for DynamicsSource.
32425func (ds DynamicsSource) AsWebSource() (*WebSource, bool) {
32426	return nil, false
32427}
32428
32429// AsOracleSource is the BasicCopySource implementation for DynamicsSource.
32430func (ds DynamicsSource) AsOracleSource() (*OracleSource, bool) {
32431	return nil, false
32432}
32433
32434// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsSource.
32435func (ds DynamicsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
32436	return nil, false
32437}
32438
32439// AsHdfsSource is the BasicCopySource implementation for DynamicsSource.
32440func (ds DynamicsSource) AsHdfsSource() (*HdfsSource, bool) {
32441	return nil, false
32442}
32443
32444// AsFileSystemSource is the BasicCopySource implementation for DynamicsSource.
32445func (ds DynamicsSource) AsFileSystemSource() (*FileSystemSource, bool) {
32446	return nil, false
32447}
32448
32449// AsSQLDWSource is the BasicCopySource implementation for DynamicsSource.
32450func (ds DynamicsSource) AsSQLDWSource() (*SQLDWSource, bool) {
32451	return nil, false
32452}
32453
32454// AsSQLSource is the BasicCopySource implementation for DynamicsSource.
32455func (ds DynamicsSource) AsSQLSource() (*SQLSource, bool) {
32456	return nil, false
32457}
32458
32459// AsSapEccSource is the BasicCopySource implementation for DynamicsSource.
32460func (ds DynamicsSource) AsSapEccSource() (*SapEccSource, bool) {
32461	return nil, false
32462}
32463
32464// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsSource.
32465func (ds DynamicsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
32466	return nil, false
32467}
32468
32469// AsSalesforceSource is the BasicCopySource implementation for DynamicsSource.
32470func (ds DynamicsSource) AsSalesforceSource() (*SalesforceSource, bool) {
32471	return nil, false
32472}
32473
32474// AsRelationalSource is the BasicCopySource implementation for DynamicsSource.
32475func (ds DynamicsSource) AsRelationalSource() (*RelationalSource, bool) {
32476	return nil, false
32477}
32478
32479// AsDynamicsSource is the BasicCopySource implementation for DynamicsSource.
32480func (ds DynamicsSource) AsDynamicsSource() (*DynamicsSource, bool) {
32481	return &ds, true
32482}
32483
32484// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsSource.
32485func (ds DynamicsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
32486	return nil, false
32487}
32488
32489// AsBlobSource is the BasicCopySource implementation for DynamicsSource.
32490func (ds DynamicsSource) AsBlobSource() (*BlobSource, bool) {
32491	return nil, false
32492}
32493
32494// AsAzureTableSource is the BasicCopySource implementation for DynamicsSource.
32495func (ds DynamicsSource) AsAzureTableSource() (*AzureTableSource, bool) {
32496	return nil, false
32497}
32498
32499// AsCopySource is the BasicCopySource implementation for DynamicsSource.
32500func (ds DynamicsSource) AsCopySource() (*CopySource, bool) {
32501	return nil, false
32502}
32503
32504// AsBasicCopySource is the BasicCopySource implementation for DynamicsSource.
32505func (ds DynamicsSource) AsBasicCopySource() (BasicCopySource, bool) {
32506	return &ds, true
32507}
32508
32509// UnmarshalJSON is the custom unmarshaler for DynamicsSource struct.
32510func (ds *DynamicsSource) UnmarshalJSON(body []byte) error {
32511	var m map[string]*json.RawMessage
32512	err := json.Unmarshal(body, &m)
32513	if err != nil {
32514		return err
32515	}
32516	for k, v := range m {
32517		switch k {
32518		case "query":
32519			if v != nil {
32520				var query interface{}
32521				err = json.Unmarshal(*v, &query)
32522				if err != nil {
32523					return err
32524				}
32525				ds.Query = query
32526			}
32527		default:
32528			if v != nil {
32529				var additionalProperties interface{}
32530				err = json.Unmarshal(*v, &additionalProperties)
32531				if err != nil {
32532					return err
32533				}
32534				if ds.AdditionalProperties == nil {
32535					ds.AdditionalProperties = make(map[string]interface{})
32536				}
32537				ds.AdditionalProperties[k] = additionalProperties
32538			}
32539		case "sourceRetryCount":
32540			if v != nil {
32541				var sourceRetryCount interface{}
32542				err = json.Unmarshal(*v, &sourceRetryCount)
32543				if err != nil {
32544					return err
32545				}
32546				ds.SourceRetryCount = sourceRetryCount
32547			}
32548		case "sourceRetryWait":
32549			if v != nil {
32550				var sourceRetryWait interface{}
32551				err = json.Unmarshal(*v, &sourceRetryWait)
32552				if err != nil {
32553					return err
32554				}
32555				ds.SourceRetryWait = sourceRetryWait
32556			}
32557		case "type":
32558			if v != nil {
32559				var typeVar TypeBasicCopySource
32560				err = json.Unmarshal(*v, &typeVar)
32561				if err != nil {
32562					return err
32563				}
32564				ds.Type = typeVar
32565			}
32566		}
32567	}
32568
32569	return nil
32570}
32571
32572// EloquaLinkedService eloqua server linked service.
32573type EloquaLinkedService struct {
32574	// EloquaLinkedServiceTypeProperties - Eloqua server linked service properties.
32575	*EloquaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
32576	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
32577	AdditionalProperties map[string]interface{} `json:""`
32578	// ConnectVia - The integration runtime reference.
32579	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
32580	// Description - Linked service description.
32581	Description *string `json:"description,omitempty"`
32582	// Parameters - Parameters for linked service.
32583	Parameters map[string]*ParameterSpecification `json:"parameters"`
32584	// Annotations - List of tags that can be used for describing the Dataset.
32585	Annotations *[]interface{} `json:"annotations,omitempty"`
32586	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
32587	Type TypeBasicLinkedService `json:"type,omitempty"`
32588}
32589
32590// MarshalJSON is the custom marshaler for EloquaLinkedService.
32591func (els EloquaLinkedService) MarshalJSON() ([]byte, error) {
32592	els.Type = TypeEloqua
32593	objectMap := make(map[string]interface{})
32594	if els.EloquaLinkedServiceTypeProperties != nil {
32595		objectMap["typeProperties"] = els.EloquaLinkedServiceTypeProperties
32596	}
32597	if els.ConnectVia != nil {
32598		objectMap["connectVia"] = els.ConnectVia
32599	}
32600	if els.Description != nil {
32601		objectMap["description"] = els.Description
32602	}
32603	if els.Parameters != nil {
32604		objectMap["parameters"] = els.Parameters
32605	}
32606	if els.Annotations != nil {
32607		objectMap["annotations"] = els.Annotations
32608	}
32609	if els.Type != "" {
32610		objectMap["type"] = els.Type
32611	}
32612	for k, v := range els.AdditionalProperties {
32613		objectMap[k] = v
32614	}
32615	return json.Marshal(objectMap)
32616}
32617
32618// AsResponsysLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32619func (els EloquaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
32620	return nil, false
32621}
32622
32623// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32624func (els EloquaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
32625	return nil, false
32626}
32627
32628// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32629func (els EloquaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
32630	return nil, false
32631}
32632
32633// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32634func (els EloquaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
32635	return nil, false
32636}
32637
32638// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32639func (els EloquaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
32640	return nil, false
32641}
32642
32643// AsNetezzaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32644func (els EloquaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
32645	return nil, false
32646}
32647
32648// AsVerticaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32649func (els EloquaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
32650	return nil, false
32651}
32652
32653// AsZohoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32654func (els EloquaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
32655	return nil, false
32656}
32657
32658// AsXeroLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32659func (els EloquaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
32660	return nil, false
32661}
32662
32663// AsSquareLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32664func (els EloquaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
32665	return nil, false
32666}
32667
32668// AsSparkLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32669func (els EloquaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
32670	return nil, false
32671}
32672
32673// AsShopifyLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32674func (els EloquaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
32675	return nil, false
32676}
32677
32678// AsServiceNowLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32679func (els EloquaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
32680	return nil, false
32681}
32682
32683// AsQuickBooksLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32684func (els EloquaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
32685	return nil, false
32686}
32687
32688// AsPrestoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32689func (els EloquaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
32690	return nil, false
32691}
32692
32693// AsPhoenixLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32694func (els EloquaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
32695	return nil, false
32696}
32697
32698// AsPaypalLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32699func (els EloquaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
32700	return nil, false
32701}
32702
32703// AsMarketoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32704func (els EloquaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
32705	return nil, false
32706}
32707
32708// AsMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32709func (els EloquaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
32710	return nil, false
32711}
32712
32713// AsMagentoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32714func (els EloquaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
32715	return nil, false
32716}
32717
32718// AsJiraLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32719func (els EloquaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
32720	return nil, false
32721}
32722
32723// AsImpalaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32724func (els EloquaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
32725	return nil, false
32726}
32727
32728// AsHubspotLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32729func (els EloquaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
32730	return nil, false
32731}
32732
32733// AsHiveLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32734func (els EloquaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
32735	return nil, false
32736}
32737
32738// AsHBaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32739func (els EloquaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
32740	return nil, false
32741}
32742
32743// AsGreenplumLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32744func (els EloquaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
32745	return nil, false
32746}
32747
32748// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32749func (els EloquaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
32750	return nil, false
32751}
32752
32753// AsEloquaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32754func (els EloquaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
32755	return &els, true
32756}
32757
32758// AsDrillLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32759func (els EloquaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
32760	return nil, false
32761}
32762
32763// AsCouchbaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32764func (els EloquaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
32765	return nil, false
32766}
32767
32768// AsConcurLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32769func (els EloquaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
32770	return nil, false
32771}
32772
32773// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32774func (els EloquaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
32775	return nil, false
32776}
32777
32778// AsAmazonMWSLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32779func (els EloquaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
32780	return nil, false
32781}
32782
32783// AsSapHanaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32784func (els EloquaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
32785	return nil, false
32786}
32787
32788// AsSapBWLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32789func (els EloquaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
32790	return nil, false
32791}
32792
32793// AsSftpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32794func (els EloquaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
32795	return nil, false
32796}
32797
32798// AsFtpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32799func (els EloquaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
32800	return nil, false
32801}
32802
32803// AsHTTPLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32804func (els EloquaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
32805	return nil, false
32806}
32807
32808// AsAzureSearchLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32809func (els EloquaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
32810	return nil, false
32811}
32812
32813// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32814func (els EloquaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
32815	return nil, false
32816}
32817
32818// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32819func (els EloquaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
32820	return nil, false
32821}
32822
32823// AsAmazonS3LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32824func (els EloquaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
32825	return nil, false
32826}
32827
32828// AsSapEccLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32829func (els EloquaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
32830	return nil, false
32831}
32832
32833// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32834func (els EloquaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
32835	return nil, false
32836}
32837
32838// AsSalesforceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32839func (els EloquaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
32840	return nil, false
32841}
32842
32843// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32844func (els EloquaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
32845	return nil, false
32846}
32847
32848// AsMongoDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32849func (els EloquaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
32850	return nil, false
32851}
32852
32853// AsCassandraLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32854func (els EloquaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
32855	return nil, false
32856}
32857
32858// AsWebLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32859func (els EloquaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
32860	return nil, false
32861}
32862
32863// AsODataLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32864func (els EloquaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
32865	return nil, false
32866}
32867
32868// AsHdfsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32869func (els EloquaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
32870	return nil, false
32871}
32872
32873// AsOdbcLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32874func (els EloquaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
32875	return nil, false
32876}
32877
32878// AsAzureMLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32879func (els EloquaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
32880	return nil, false
32881}
32882
32883// AsTeradataLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32884func (els EloquaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
32885	return nil, false
32886}
32887
32888// AsDb2LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32889func (els EloquaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
32890	return nil, false
32891}
32892
32893// AsSybaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32894func (els EloquaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
32895	return nil, false
32896}
32897
32898// AsPostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32899func (els EloquaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
32900	return nil, false
32901}
32902
32903// AsMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32904func (els EloquaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
32905	return nil, false
32906}
32907
32908// AsAzureMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32909func (els EloquaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
32910	return nil, false
32911}
32912
32913// AsOracleLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32914func (els EloquaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
32915	return nil, false
32916}
32917
32918// AsFileServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32919func (els EloquaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
32920	return nil, false
32921}
32922
32923// AsHDInsightLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32924func (els EloquaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
32925	return nil, false
32926}
32927
32928// AsDynamicsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32929func (els EloquaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
32930	return nil, false
32931}
32932
32933// AsCosmosDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32934func (els EloquaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
32935	return nil, false
32936}
32937
32938// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32939func (els EloquaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
32940	return nil, false
32941}
32942
32943// AsAzureBatchLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32944func (els EloquaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
32945	return nil, false
32946}
32947
32948// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32949func (els EloquaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
32950	return nil, false
32951}
32952
32953// AsSQLServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32954func (els EloquaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
32955	return nil, false
32956}
32957
32958// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32959func (els EloquaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
32960	return nil, false
32961}
32962
32963// AsAzureStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32964func (els EloquaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
32965	return nil, false
32966}
32967
32968// AsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32969func (els EloquaLinkedService) AsLinkedService() (*LinkedService, bool) {
32970	return nil, false
32971}
32972
32973// AsBasicLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32974func (els EloquaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
32975	return &els, true
32976}
32977
32978// UnmarshalJSON is the custom unmarshaler for EloquaLinkedService struct.
32979func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error {
32980	var m map[string]*json.RawMessage
32981	err := json.Unmarshal(body, &m)
32982	if err != nil {
32983		return err
32984	}
32985	for k, v := range m {
32986		switch k {
32987		case "typeProperties":
32988			if v != nil {
32989				var eloquaLinkedServiceTypeProperties EloquaLinkedServiceTypeProperties
32990				err = json.Unmarshal(*v, &eloquaLinkedServiceTypeProperties)
32991				if err != nil {
32992					return err
32993				}
32994				els.EloquaLinkedServiceTypeProperties = &eloquaLinkedServiceTypeProperties
32995			}
32996		default:
32997			if v != nil {
32998				var additionalProperties interface{}
32999				err = json.Unmarshal(*v, &additionalProperties)
33000				if err != nil {
33001					return err
33002				}
33003				if els.AdditionalProperties == nil {
33004					els.AdditionalProperties = make(map[string]interface{})
33005				}
33006				els.AdditionalProperties[k] = additionalProperties
33007			}
33008		case "connectVia":
33009			if v != nil {
33010				var connectVia IntegrationRuntimeReference
33011				err = json.Unmarshal(*v, &connectVia)
33012				if err != nil {
33013					return err
33014				}
33015				els.ConnectVia = &connectVia
33016			}
33017		case "description":
33018			if v != nil {
33019				var description string
33020				err = json.Unmarshal(*v, &description)
33021				if err != nil {
33022					return err
33023				}
33024				els.Description = &description
33025			}
33026		case "parameters":
33027			if v != nil {
33028				var parameters map[string]*ParameterSpecification
33029				err = json.Unmarshal(*v, &parameters)
33030				if err != nil {
33031					return err
33032				}
33033				els.Parameters = parameters
33034			}
33035		case "annotations":
33036			if v != nil {
33037				var annotations []interface{}
33038				err = json.Unmarshal(*v, &annotations)
33039				if err != nil {
33040					return err
33041				}
33042				els.Annotations = &annotations
33043			}
33044		case "type":
33045			if v != nil {
33046				var typeVar TypeBasicLinkedService
33047				err = json.Unmarshal(*v, &typeVar)
33048				if err != nil {
33049					return err
33050				}
33051				els.Type = typeVar
33052			}
33053		}
33054	}
33055
33056	return nil
33057}
33058
33059// EloquaLinkedServiceTypeProperties eloqua server linked service properties.
33060type EloquaLinkedServiceTypeProperties struct {
33061	// Endpoint - The endpoint of the Eloqua server. (i.e. eloqua.example.com)
33062	Endpoint interface{} `json:"endpoint,omitempty"`
33063	// Username - The site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice)
33064	Username interface{} `json:"username,omitempty"`
33065	// Password - The password corresponding to the user name.
33066	Password BasicSecretBase `json:"password,omitempty"`
33067	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
33068	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
33069	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
33070	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
33071	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
33072	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
33073	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
33074	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
33075}
33076
33077// UnmarshalJSON is the custom unmarshaler for EloquaLinkedServiceTypeProperties struct.
33078func (elstp *EloquaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
33079	var m map[string]*json.RawMessage
33080	err := json.Unmarshal(body, &m)
33081	if err != nil {
33082		return err
33083	}
33084	for k, v := range m {
33085		switch k {
33086		case "endpoint":
33087			if v != nil {
33088				var endpoint interface{}
33089				err = json.Unmarshal(*v, &endpoint)
33090				if err != nil {
33091					return err
33092				}
33093				elstp.Endpoint = endpoint
33094			}
33095		case "username":
33096			if v != nil {
33097				var username interface{}
33098				err = json.Unmarshal(*v, &username)
33099				if err != nil {
33100					return err
33101				}
33102				elstp.Username = username
33103			}
33104		case "password":
33105			if v != nil {
33106				password, err := unmarshalBasicSecretBase(*v)
33107				if err != nil {
33108					return err
33109				}
33110				elstp.Password = password
33111			}
33112		case "useEncryptedEndpoints":
33113			if v != nil {
33114				var useEncryptedEndpoints interface{}
33115				err = json.Unmarshal(*v, &useEncryptedEndpoints)
33116				if err != nil {
33117					return err
33118				}
33119				elstp.UseEncryptedEndpoints = useEncryptedEndpoints
33120			}
33121		case "useHostVerification":
33122			if v != nil {
33123				var useHostVerification interface{}
33124				err = json.Unmarshal(*v, &useHostVerification)
33125				if err != nil {
33126					return err
33127				}
33128				elstp.UseHostVerification = useHostVerification
33129			}
33130		case "usePeerVerification":
33131			if v != nil {
33132				var usePeerVerification interface{}
33133				err = json.Unmarshal(*v, &usePeerVerification)
33134				if err != nil {
33135					return err
33136				}
33137				elstp.UsePeerVerification = usePeerVerification
33138			}
33139		case "encryptedCredential":
33140			if v != nil {
33141				var encryptedCredential interface{}
33142				err = json.Unmarshal(*v, &encryptedCredential)
33143				if err != nil {
33144					return err
33145				}
33146				elstp.EncryptedCredential = encryptedCredential
33147			}
33148		}
33149	}
33150
33151	return nil
33152}
33153
33154// EloquaObjectDataset eloqua server dataset.
33155type EloquaObjectDataset struct {
33156	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
33157	AdditionalProperties map[string]interface{} `json:""`
33158	// Description - Dataset description.
33159	Description *string `json:"description,omitempty"`
33160	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
33161	Structure interface{} `json:"structure,omitempty"`
33162	// LinkedServiceName - Linked service reference.
33163	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
33164	// Parameters - Parameters for dataset.
33165	Parameters map[string]*ParameterSpecification `json:"parameters"`
33166	// Annotations - List of tags that can be used for describing the Dataset.
33167	Annotations *[]interface{} `json:"annotations,omitempty"`
33168	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
33169	Type TypeBasicDataset `json:"type,omitempty"`
33170}
33171
33172// MarshalJSON is the custom marshaler for EloquaObjectDataset.
33173func (eod EloquaObjectDataset) MarshalJSON() ([]byte, error) {
33174	eod.Type = TypeEloquaObject
33175	objectMap := make(map[string]interface{})
33176	if eod.Description != nil {
33177		objectMap["description"] = eod.Description
33178	}
33179	if eod.Structure != nil {
33180		objectMap["structure"] = eod.Structure
33181	}
33182	if eod.LinkedServiceName != nil {
33183		objectMap["linkedServiceName"] = eod.LinkedServiceName
33184	}
33185	if eod.Parameters != nil {
33186		objectMap["parameters"] = eod.Parameters
33187	}
33188	if eod.Annotations != nil {
33189		objectMap["annotations"] = eod.Annotations
33190	}
33191	if eod.Type != "" {
33192		objectMap["type"] = eod.Type
33193	}
33194	for k, v := range eod.AdditionalProperties {
33195		objectMap[k] = v
33196	}
33197	return json.Marshal(objectMap)
33198}
33199
33200// AsResponsysObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33201func (eod EloquaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
33202	return nil, false
33203}
33204
33205// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33206func (eod EloquaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
33207	return nil, false
33208}
33209
33210// AsVerticaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33211func (eod EloquaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
33212	return nil, false
33213}
33214
33215// AsNetezzaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33216func (eod EloquaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
33217	return nil, false
33218}
33219
33220// AsZohoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33221func (eod EloquaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
33222	return nil, false
33223}
33224
33225// AsXeroObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33226func (eod EloquaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
33227	return nil, false
33228}
33229
33230// AsSquareObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33231func (eod EloquaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
33232	return nil, false
33233}
33234
33235// AsSparkObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33236func (eod EloquaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
33237	return nil, false
33238}
33239
33240// AsShopifyObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33241func (eod EloquaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
33242	return nil, false
33243}
33244
33245// AsServiceNowObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33246func (eod EloquaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
33247	return nil, false
33248}
33249
33250// AsQuickBooksObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33251func (eod EloquaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
33252	return nil, false
33253}
33254
33255// AsPrestoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33256func (eod EloquaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
33257	return nil, false
33258}
33259
33260// AsPhoenixObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33261func (eod EloquaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
33262	return nil, false
33263}
33264
33265// AsPaypalObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33266func (eod EloquaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
33267	return nil, false
33268}
33269
33270// AsMarketoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33271func (eod EloquaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
33272	return nil, false
33273}
33274
33275// AsMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33276func (eod EloquaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
33277	return nil, false
33278}
33279
33280// AsMagentoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33281func (eod EloquaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
33282	return nil, false
33283}
33284
33285// AsJiraObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33286func (eod EloquaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
33287	return nil, false
33288}
33289
33290// AsImpalaObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33291func (eod EloquaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
33292	return nil, false
33293}
33294
33295// AsHubspotObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33296func (eod EloquaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
33297	return nil, false
33298}
33299
33300// AsHiveObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33301func (eod EloquaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
33302	return nil, false
33303}
33304
33305// AsHBaseObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33306func (eod EloquaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
33307	return nil, false
33308}
33309
33310// AsGreenplumTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33311func (eod EloquaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
33312	return nil, false
33313}
33314
33315// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33316func (eod EloquaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
33317	return nil, false
33318}
33319
33320// AsEloquaObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33321func (eod EloquaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
33322	return &eod, true
33323}
33324
33325// AsDrillTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33326func (eod EloquaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
33327	return nil, false
33328}
33329
33330// AsCouchbaseTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33331func (eod EloquaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
33332	return nil, false
33333}
33334
33335// AsConcurObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33336func (eod EloquaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
33337	return nil, false
33338}
33339
33340// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33341func (eod EloquaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
33342	return nil, false
33343}
33344
33345// AsAmazonMWSObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33346func (eod EloquaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
33347	return nil, false
33348}
33349
33350// AsHTTPDataset is the BasicDataset implementation for EloquaObjectDataset.
33351func (eod EloquaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
33352	return nil, false
33353}
33354
33355// AsAzureSearchIndexDataset is the BasicDataset implementation for EloquaObjectDataset.
33356func (eod EloquaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
33357	return nil, false
33358}
33359
33360// AsWebTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33361func (eod EloquaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
33362	return nil, false
33363}
33364
33365// AsSQLServerTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33366func (eod EloquaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
33367	return nil, false
33368}
33369
33370// AsSapEccResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
33371func (eod EloquaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
33372	return nil, false
33373}
33374
33375// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
33376func (eod EloquaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
33377	return nil, false
33378}
33379
33380// AsSalesforceObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33381func (eod EloquaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
33382	return nil, false
33383}
33384
33385// AsRelationalTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33386func (eod EloquaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
33387	return nil, false
33388}
33389
33390// AsAzureMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33391func (eod EloquaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
33392	return nil, false
33393}
33394
33395// AsOracleTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33396func (eod EloquaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
33397	return nil, false
33398}
33399
33400// AsODataResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
33401func (eod EloquaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
33402	return nil, false
33403}
33404
33405// AsMongoDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
33406func (eod EloquaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
33407	return nil, false
33408}
33409
33410// AsFileShareDataset is the BasicDataset implementation for EloquaObjectDataset.
33411func (eod EloquaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
33412	return nil, false
33413}
33414
33415// AsAzureDataLakeStoreDataset is the BasicDataset implementation for EloquaObjectDataset.
33416func (eod EloquaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
33417	return nil, false
33418}
33419
33420// AsDynamicsEntityDataset is the BasicDataset implementation for EloquaObjectDataset.
33421func (eod EloquaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
33422	return nil, false
33423}
33424
33425// AsDocumentDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
33426func (eod EloquaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
33427	return nil, false
33428}
33429
33430// AsCustomDataset is the BasicDataset implementation for EloquaObjectDataset.
33431func (eod EloquaObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
33432	return nil, false
33433}
33434
33435// AsCassandraTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33436func (eod EloquaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
33437	return nil, false
33438}
33439
33440// AsAzureSQLDWTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33441func (eod EloquaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
33442	return nil, false
33443}
33444
33445// AsAzureSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33446func (eod EloquaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
33447	return nil, false
33448}
33449
33450// AsAzureTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33451func (eod EloquaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
33452	return nil, false
33453}
33454
33455// AsAzureBlobDataset is the BasicDataset implementation for EloquaObjectDataset.
33456func (eod EloquaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
33457	return nil, false
33458}
33459
33460// AsAmazonS3Dataset is the BasicDataset implementation for EloquaObjectDataset.
33461func (eod EloquaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
33462	return nil, false
33463}
33464
33465// AsDataset is the BasicDataset implementation for EloquaObjectDataset.
33466func (eod EloquaObjectDataset) AsDataset() (*Dataset, bool) {
33467	return nil, false
33468}
33469
33470// AsBasicDataset is the BasicDataset implementation for EloquaObjectDataset.
33471func (eod EloquaObjectDataset) AsBasicDataset() (BasicDataset, bool) {
33472	return &eod, true
33473}
33474
33475// UnmarshalJSON is the custom unmarshaler for EloquaObjectDataset struct.
33476func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error {
33477	var m map[string]*json.RawMessage
33478	err := json.Unmarshal(body, &m)
33479	if err != nil {
33480		return err
33481	}
33482	for k, v := range m {
33483		switch k {
33484		default:
33485			if v != nil {
33486				var additionalProperties interface{}
33487				err = json.Unmarshal(*v, &additionalProperties)
33488				if err != nil {
33489					return err
33490				}
33491				if eod.AdditionalProperties == nil {
33492					eod.AdditionalProperties = make(map[string]interface{})
33493				}
33494				eod.AdditionalProperties[k] = additionalProperties
33495			}
33496		case "description":
33497			if v != nil {
33498				var description string
33499				err = json.Unmarshal(*v, &description)
33500				if err != nil {
33501					return err
33502				}
33503				eod.Description = &description
33504			}
33505		case "structure":
33506			if v != nil {
33507				var structure interface{}
33508				err = json.Unmarshal(*v, &structure)
33509				if err != nil {
33510					return err
33511				}
33512				eod.Structure = structure
33513			}
33514		case "linkedServiceName":
33515			if v != nil {
33516				var linkedServiceName LinkedServiceReference
33517				err = json.Unmarshal(*v, &linkedServiceName)
33518				if err != nil {
33519					return err
33520				}
33521				eod.LinkedServiceName = &linkedServiceName
33522			}
33523		case "parameters":
33524			if v != nil {
33525				var parameters map[string]*ParameterSpecification
33526				err = json.Unmarshal(*v, &parameters)
33527				if err != nil {
33528					return err
33529				}
33530				eod.Parameters = parameters
33531			}
33532		case "annotations":
33533			if v != nil {
33534				var annotations []interface{}
33535				err = json.Unmarshal(*v, &annotations)
33536				if err != nil {
33537					return err
33538				}
33539				eod.Annotations = &annotations
33540			}
33541		case "type":
33542			if v != nil {
33543				var typeVar TypeBasicDataset
33544				err = json.Unmarshal(*v, &typeVar)
33545				if err != nil {
33546					return err
33547				}
33548				eod.Type = typeVar
33549			}
33550		}
33551	}
33552
33553	return nil
33554}
33555
33556// EloquaSource a copy activity Eloqua server source.
33557type EloquaSource struct {
33558	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
33559	Query interface{} `json:"query,omitempty"`
33560	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
33561	AdditionalProperties map[string]interface{} `json:""`
33562	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
33563	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
33564	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33565	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
33566	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
33567	Type TypeBasicCopySource `json:"type,omitempty"`
33568}
33569
33570// MarshalJSON is the custom marshaler for EloquaSource.
33571func (es EloquaSource) MarshalJSON() ([]byte, error) {
33572	es.Type = TypeEloquaSource
33573	objectMap := make(map[string]interface{})
33574	if es.Query != nil {
33575		objectMap["query"] = es.Query
33576	}
33577	if es.SourceRetryCount != nil {
33578		objectMap["sourceRetryCount"] = es.SourceRetryCount
33579	}
33580	if es.SourceRetryWait != nil {
33581		objectMap["sourceRetryWait"] = es.SourceRetryWait
33582	}
33583	if es.Type != "" {
33584		objectMap["type"] = es.Type
33585	}
33586	for k, v := range es.AdditionalProperties {
33587		objectMap[k] = v
33588	}
33589	return json.Marshal(objectMap)
33590}
33591
33592// AsAmazonRedshiftSource is the BasicCopySource implementation for EloquaSource.
33593func (es EloquaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
33594	return nil, false
33595}
33596
33597// AsResponsysSource is the BasicCopySource implementation for EloquaSource.
33598func (es EloquaSource) AsResponsysSource() (*ResponsysSource, bool) {
33599	return nil, false
33600}
33601
33602// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for EloquaSource.
33603func (es EloquaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
33604	return nil, false
33605}
33606
33607// AsVerticaSource is the BasicCopySource implementation for EloquaSource.
33608func (es EloquaSource) AsVerticaSource() (*VerticaSource, bool) {
33609	return nil, false
33610}
33611
33612// AsNetezzaSource is the BasicCopySource implementation for EloquaSource.
33613func (es EloquaSource) AsNetezzaSource() (*NetezzaSource, bool) {
33614	return nil, false
33615}
33616
33617// AsZohoSource is the BasicCopySource implementation for EloquaSource.
33618func (es EloquaSource) AsZohoSource() (*ZohoSource, bool) {
33619	return nil, false
33620}
33621
33622// AsXeroSource is the BasicCopySource implementation for EloquaSource.
33623func (es EloquaSource) AsXeroSource() (*XeroSource, bool) {
33624	return nil, false
33625}
33626
33627// AsSquareSource is the BasicCopySource implementation for EloquaSource.
33628func (es EloquaSource) AsSquareSource() (*SquareSource, bool) {
33629	return nil, false
33630}
33631
33632// AsSparkSource is the BasicCopySource implementation for EloquaSource.
33633func (es EloquaSource) AsSparkSource() (*SparkSource, bool) {
33634	return nil, false
33635}
33636
33637// AsShopifySource is the BasicCopySource implementation for EloquaSource.
33638func (es EloquaSource) AsShopifySource() (*ShopifySource, bool) {
33639	return nil, false
33640}
33641
33642// AsServiceNowSource is the BasicCopySource implementation for EloquaSource.
33643func (es EloquaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
33644	return nil, false
33645}
33646
33647// AsQuickBooksSource is the BasicCopySource implementation for EloquaSource.
33648func (es EloquaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
33649	return nil, false
33650}
33651
33652// AsPrestoSource is the BasicCopySource implementation for EloquaSource.
33653func (es EloquaSource) AsPrestoSource() (*PrestoSource, bool) {
33654	return nil, false
33655}
33656
33657// AsPhoenixSource is the BasicCopySource implementation for EloquaSource.
33658func (es EloquaSource) AsPhoenixSource() (*PhoenixSource, bool) {
33659	return nil, false
33660}
33661
33662// AsPaypalSource is the BasicCopySource implementation for EloquaSource.
33663func (es EloquaSource) AsPaypalSource() (*PaypalSource, bool) {
33664	return nil, false
33665}
33666
33667// AsMarketoSource is the BasicCopySource implementation for EloquaSource.
33668func (es EloquaSource) AsMarketoSource() (*MarketoSource, bool) {
33669	return nil, false
33670}
33671
33672// AsMariaDBSource is the BasicCopySource implementation for EloquaSource.
33673func (es EloquaSource) AsMariaDBSource() (*MariaDBSource, bool) {
33674	return nil, false
33675}
33676
33677// AsMagentoSource is the BasicCopySource implementation for EloquaSource.
33678func (es EloquaSource) AsMagentoSource() (*MagentoSource, bool) {
33679	return nil, false
33680}
33681
33682// AsJiraSource is the BasicCopySource implementation for EloquaSource.
33683func (es EloquaSource) AsJiraSource() (*JiraSource, bool) {
33684	return nil, false
33685}
33686
33687// AsImpalaSource is the BasicCopySource implementation for EloquaSource.
33688func (es EloquaSource) AsImpalaSource() (*ImpalaSource, bool) {
33689	return nil, false
33690}
33691
33692// AsHubspotSource is the BasicCopySource implementation for EloquaSource.
33693func (es EloquaSource) AsHubspotSource() (*HubspotSource, bool) {
33694	return nil, false
33695}
33696
33697// AsHiveSource is the BasicCopySource implementation for EloquaSource.
33698func (es EloquaSource) AsHiveSource() (*HiveSource, bool) {
33699	return nil, false
33700}
33701
33702// AsHBaseSource is the BasicCopySource implementation for EloquaSource.
33703func (es EloquaSource) AsHBaseSource() (*HBaseSource, bool) {
33704	return nil, false
33705}
33706
33707// AsGreenplumSource is the BasicCopySource implementation for EloquaSource.
33708func (es EloquaSource) AsGreenplumSource() (*GreenplumSource, bool) {
33709	return nil, false
33710}
33711
33712// AsGoogleBigQuerySource is the BasicCopySource implementation for EloquaSource.
33713func (es EloquaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
33714	return nil, false
33715}
33716
33717// AsEloquaSource is the BasicCopySource implementation for EloquaSource.
33718func (es EloquaSource) AsEloquaSource() (*EloquaSource, bool) {
33719	return &es, true
33720}
33721
33722// AsDrillSource is the BasicCopySource implementation for EloquaSource.
33723func (es EloquaSource) AsDrillSource() (*DrillSource, bool) {
33724	return nil, false
33725}
33726
33727// AsCouchbaseSource is the BasicCopySource implementation for EloquaSource.
33728func (es EloquaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
33729	return nil, false
33730}
33731
33732// AsConcurSource is the BasicCopySource implementation for EloquaSource.
33733func (es EloquaSource) AsConcurSource() (*ConcurSource, bool) {
33734	return nil, false
33735}
33736
33737// AsAzurePostgreSQLSource is the BasicCopySource implementation for EloquaSource.
33738func (es EloquaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
33739	return nil, false
33740}
33741
33742// AsAmazonMWSSource is the BasicCopySource implementation for EloquaSource.
33743func (es EloquaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
33744	return nil, false
33745}
33746
33747// AsHTTPSource is the BasicCopySource implementation for EloquaSource.
33748func (es EloquaSource) AsHTTPSource() (*HTTPSource, bool) {
33749	return nil, false
33750}
33751
33752// AsAzureDataLakeStoreSource is the BasicCopySource implementation for EloquaSource.
33753func (es EloquaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
33754	return nil, false
33755}
33756
33757// AsMongoDbSource is the BasicCopySource implementation for EloquaSource.
33758func (es EloquaSource) AsMongoDbSource() (*MongoDbSource, bool) {
33759	return nil, false
33760}
33761
33762// AsCassandraSource is the BasicCopySource implementation for EloquaSource.
33763func (es EloquaSource) AsCassandraSource() (*CassandraSource, bool) {
33764	return nil, false
33765}
33766
33767// AsWebSource is the BasicCopySource implementation for EloquaSource.
33768func (es EloquaSource) AsWebSource() (*WebSource, bool) {
33769	return nil, false
33770}
33771
33772// AsOracleSource is the BasicCopySource implementation for EloquaSource.
33773func (es EloquaSource) AsOracleSource() (*OracleSource, bool) {
33774	return nil, false
33775}
33776
33777// AsAzureMySQLSource is the BasicCopySource implementation for EloquaSource.
33778func (es EloquaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
33779	return nil, false
33780}
33781
33782// AsHdfsSource is the BasicCopySource implementation for EloquaSource.
33783func (es EloquaSource) AsHdfsSource() (*HdfsSource, bool) {
33784	return nil, false
33785}
33786
33787// AsFileSystemSource is the BasicCopySource implementation for EloquaSource.
33788func (es EloquaSource) AsFileSystemSource() (*FileSystemSource, bool) {
33789	return nil, false
33790}
33791
33792// AsSQLDWSource is the BasicCopySource implementation for EloquaSource.
33793func (es EloquaSource) AsSQLDWSource() (*SQLDWSource, bool) {
33794	return nil, false
33795}
33796
33797// AsSQLSource is the BasicCopySource implementation for EloquaSource.
33798func (es EloquaSource) AsSQLSource() (*SQLSource, bool) {
33799	return nil, false
33800}
33801
33802// AsSapEccSource is the BasicCopySource implementation for EloquaSource.
33803func (es EloquaSource) AsSapEccSource() (*SapEccSource, bool) {
33804	return nil, false
33805}
33806
33807// AsSapCloudForCustomerSource is the BasicCopySource implementation for EloquaSource.
33808func (es EloquaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
33809	return nil, false
33810}
33811
33812// AsSalesforceSource is the BasicCopySource implementation for EloquaSource.
33813func (es EloquaSource) AsSalesforceSource() (*SalesforceSource, bool) {
33814	return nil, false
33815}
33816
33817// AsRelationalSource is the BasicCopySource implementation for EloquaSource.
33818func (es EloquaSource) AsRelationalSource() (*RelationalSource, bool) {
33819	return nil, false
33820}
33821
33822// AsDynamicsSource is the BasicCopySource implementation for EloquaSource.
33823func (es EloquaSource) AsDynamicsSource() (*DynamicsSource, bool) {
33824	return nil, false
33825}
33826
33827// AsDocumentDbCollectionSource is the BasicCopySource implementation for EloquaSource.
33828func (es EloquaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
33829	return nil, false
33830}
33831
33832// AsBlobSource is the BasicCopySource implementation for EloquaSource.
33833func (es EloquaSource) AsBlobSource() (*BlobSource, bool) {
33834	return nil, false
33835}
33836
33837// AsAzureTableSource is the BasicCopySource implementation for EloquaSource.
33838func (es EloquaSource) AsAzureTableSource() (*AzureTableSource, bool) {
33839	return nil, false
33840}
33841
33842// AsCopySource is the BasicCopySource implementation for EloquaSource.
33843func (es EloquaSource) AsCopySource() (*CopySource, bool) {
33844	return nil, false
33845}
33846
33847// AsBasicCopySource is the BasicCopySource implementation for EloquaSource.
33848func (es EloquaSource) AsBasicCopySource() (BasicCopySource, bool) {
33849	return &es, true
33850}
33851
33852// UnmarshalJSON is the custom unmarshaler for EloquaSource struct.
33853func (es *EloquaSource) UnmarshalJSON(body []byte) error {
33854	var m map[string]*json.RawMessage
33855	err := json.Unmarshal(body, &m)
33856	if err != nil {
33857		return err
33858	}
33859	for k, v := range m {
33860		switch k {
33861		case "query":
33862			if v != nil {
33863				var query interface{}
33864				err = json.Unmarshal(*v, &query)
33865				if err != nil {
33866					return err
33867				}
33868				es.Query = query
33869			}
33870		default:
33871			if v != nil {
33872				var additionalProperties interface{}
33873				err = json.Unmarshal(*v, &additionalProperties)
33874				if err != nil {
33875					return err
33876				}
33877				if es.AdditionalProperties == nil {
33878					es.AdditionalProperties = make(map[string]interface{})
33879				}
33880				es.AdditionalProperties[k] = additionalProperties
33881			}
33882		case "sourceRetryCount":
33883			if v != nil {
33884				var sourceRetryCount interface{}
33885				err = json.Unmarshal(*v, &sourceRetryCount)
33886				if err != nil {
33887					return err
33888				}
33889				es.SourceRetryCount = sourceRetryCount
33890			}
33891		case "sourceRetryWait":
33892			if v != nil {
33893				var sourceRetryWait interface{}
33894				err = json.Unmarshal(*v, &sourceRetryWait)
33895				if err != nil {
33896					return err
33897				}
33898				es.SourceRetryWait = sourceRetryWait
33899			}
33900		case "type":
33901			if v != nil {
33902				var typeVar TypeBasicCopySource
33903				err = json.Unmarshal(*v, &typeVar)
33904				if err != nil {
33905					return err
33906				}
33907				es.Type = typeVar
33908			}
33909		}
33910	}
33911
33912	return nil
33913}
33914
33915// EntityReference the entity reference.
33916type EntityReference struct {
33917	// Type - The type of this referenced entity. Possible values include: 'IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference', 'IntegrationRuntimeEntityReferenceTypeLinkedServiceReference'
33918	Type IntegrationRuntimeEntityReferenceType `json:"type,omitempty"`
33919	// ReferenceName - The name of this referenced entity.
33920	ReferenceName *string `json:"referenceName,omitempty"`
33921}
33922
33923// ErrorResponse the object that defines the structure of an Azure Data Factory response.
33924type ErrorResponse struct {
33925	// Code - Error code.
33926	Code *string `json:"code,omitempty"`
33927	// Message - Error message.
33928	Message *string `json:"message,omitempty"`
33929	// Target - Property name/path in request associated with error.
33930	Target *string `json:"target,omitempty"`
33931	// Details - Array with additional error details.
33932	Details *[]ErrorResponse `json:"details,omitempty"`
33933}
33934
33935// ExecutePipelineActivity execute pipeline activity.
33936type ExecutePipelineActivity struct {
33937	// ExecutePipelineActivityTypeProperties - Execute pipeline activity properties.
33938	*ExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"`
33939	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
33940	AdditionalProperties map[string]interface{} `json:""`
33941	// Name - Activity name.
33942	Name *string `json:"name,omitempty"`
33943	// Description - Activity description.
33944	Description *string `json:"description,omitempty"`
33945	// DependsOn - Activity depends on condition.
33946	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
33947	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
33948	Type TypeBasicActivity `json:"type,omitempty"`
33949}
33950
33951// MarshalJSON is the custom marshaler for ExecutePipelineActivity.
33952func (epa ExecutePipelineActivity) MarshalJSON() ([]byte, error) {
33953	epa.Type = TypeExecutePipeline
33954	objectMap := make(map[string]interface{})
33955	if epa.ExecutePipelineActivityTypeProperties != nil {
33956		objectMap["typeProperties"] = epa.ExecutePipelineActivityTypeProperties
33957	}
33958	if epa.Name != nil {
33959		objectMap["name"] = epa.Name
33960	}
33961	if epa.Description != nil {
33962		objectMap["description"] = epa.Description
33963	}
33964	if epa.DependsOn != nil {
33965		objectMap["dependsOn"] = epa.DependsOn
33966	}
33967	if epa.Type != "" {
33968		objectMap["type"] = epa.Type
33969	}
33970	for k, v := range epa.AdditionalProperties {
33971		objectMap[k] = v
33972	}
33973	return json.Marshal(objectMap)
33974}
33975
33976// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutePipelineActivity.
33977func (epa ExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
33978	return nil, false
33979}
33980
33981// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutePipelineActivity.
33982func (epa ExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
33983	return nil, false
33984}
33985
33986// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutePipelineActivity.
33987func (epa ExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
33988	return nil, false
33989}
33990
33991// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
33992func (epa ExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
33993	return nil, false
33994}
33995
33996// AsGetMetadataActivity is the BasicActivity implementation for ExecutePipelineActivity.
33997func (epa ExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
33998	return nil, false
33999}
34000
34001// AsWebActivity is the BasicActivity implementation for ExecutePipelineActivity.
34002func (epa ExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) {
34003	return nil, false
34004}
34005
34006// AsLookupActivity is the BasicActivity implementation for ExecutePipelineActivity.
34007func (epa ExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) {
34008	return nil, false
34009}
34010
34011// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutePipelineActivity.
34012func (epa ExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
34013	return nil, false
34014}
34015
34016// AsCustomActivity is the BasicActivity implementation for ExecutePipelineActivity.
34017func (epa ExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) {
34018	return nil, false
34019}
34020
34021// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutePipelineActivity.
34022func (epa ExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
34023	return nil, false
34024}
34025
34026// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutePipelineActivity.
34027func (epa ExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
34028	return nil, false
34029}
34030
34031// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutePipelineActivity.
34032func (epa ExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
34033	return nil, false
34034}
34035
34036// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutePipelineActivity.
34037func (epa ExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
34038	return nil, false
34039}
34040
34041// AsHDInsightPigActivity is the BasicActivity implementation for ExecutePipelineActivity.
34042func (epa ExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
34043	return nil, false
34044}
34045
34046// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutePipelineActivity.
34047func (epa ExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
34048	return nil, false
34049}
34050
34051// AsCopyActivity is the BasicActivity implementation for ExecutePipelineActivity.
34052func (epa ExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) {
34053	return nil, false
34054}
34055
34056// AsExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
34057func (epa ExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
34058	return nil, false
34059}
34060
34061// AsBasicExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
34062func (epa ExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
34063	return nil, false
34064}
34065
34066// AsFilterActivity is the BasicActivity implementation for ExecutePipelineActivity.
34067func (epa ExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) {
34068	return nil, false
34069}
34070
34071// AsUntilActivity is the BasicActivity implementation for ExecutePipelineActivity.
34072func (epa ExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) {
34073	return nil, false
34074}
34075
34076// AsWaitActivity is the BasicActivity implementation for ExecutePipelineActivity.
34077func (epa ExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) {
34078	return nil, false
34079}
34080
34081// AsForEachActivity is the BasicActivity implementation for ExecutePipelineActivity.
34082func (epa ExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) {
34083	return nil, false
34084}
34085
34086// AsIfConditionActivity is the BasicActivity implementation for ExecutePipelineActivity.
34087func (epa ExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
34088	return nil, false
34089}
34090
34091// AsExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity.
34092func (epa ExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
34093	return &epa, true
34094}
34095
34096// AsControlActivity is the BasicActivity implementation for ExecutePipelineActivity.
34097func (epa ExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) {
34098	return nil, false
34099}
34100
34101// AsBasicControlActivity is the BasicActivity implementation for ExecutePipelineActivity.
34102func (epa ExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
34103	return &epa, true
34104}
34105
34106// AsActivity is the BasicActivity implementation for ExecutePipelineActivity.
34107func (epa ExecutePipelineActivity) AsActivity() (*Activity, bool) {
34108	return nil, false
34109}
34110
34111// AsBasicActivity is the BasicActivity implementation for ExecutePipelineActivity.
34112func (epa ExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) {
34113	return &epa, true
34114}
34115
34116// UnmarshalJSON is the custom unmarshaler for ExecutePipelineActivity struct.
34117func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error {
34118	var m map[string]*json.RawMessage
34119	err := json.Unmarshal(body, &m)
34120	if err != nil {
34121		return err
34122	}
34123	for k, v := range m {
34124		switch k {
34125		case "typeProperties":
34126			if v != nil {
34127				var executePipelineActivityTypeProperties ExecutePipelineActivityTypeProperties
34128				err = json.Unmarshal(*v, &executePipelineActivityTypeProperties)
34129				if err != nil {
34130					return err
34131				}
34132				epa.ExecutePipelineActivityTypeProperties = &executePipelineActivityTypeProperties
34133			}
34134		default:
34135			if v != nil {
34136				var additionalProperties interface{}
34137				err = json.Unmarshal(*v, &additionalProperties)
34138				if err != nil {
34139					return err
34140				}
34141				if epa.AdditionalProperties == nil {
34142					epa.AdditionalProperties = make(map[string]interface{})
34143				}
34144				epa.AdditionalProperties[k] = additionalProperties
34145			}
34146		case "name":
34147			if v != nil {
34148				var name string
34149				err = json.Unmarshal(*v, &name)
34150				if err != nil {
34151					return err
34152				}
34153				epa.Name = &name
34154			}
34155		case "description":
34156			if v != nil {
34157				var description string
34158				err = json.Unmarshal(*v, &description)
34159				if err != nil {
34160					return err
34161				}
34162				epa.Description = &description
34163			}
34164		case "dependsOn":
34165			if v != nil {
34166				var dependsOn []ActivityDependency
34167				err = json.Unmarshal(*v, &dependsOn)
34168				if err != nil {
34169					return err
34170				}
34171				epa.DependsOn = &dependsOn
34172			}
34173		case "type":
34174			if v != nil {
34175				var typeVar TypeBasicActivity
34176				err = json.Unmarshal(*v, &typeVar)
34177				if err != nil {
34178					return err
34179				}
34180				epa.Type = typeVar
34181			}
34182		}
34183	}
34184
34185	return nil
34186}
34187
34188// ExecutePipelineActivityTypeProperties execute pipeline activity properties.
34189type ExecutePipelineActivityTypeProperties struct {
34190	// Pipeline - Pipeline reference.
34191	Pipeline *PipelineReference `json:"pipeline,omitempty"`
34192	// Parameters - Pipeline parameters.
34193	Parameters map[string]interface{} `json:"parameters"`
34194	// WaitOnCompletion - Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false.
34195	WaitOnCompletion *bool `json:"waitOnCompletion,omitempty"`
34196}
34197
34198// MarshalJSON is the custom marshaler for ExecutePipelineActivityTypeProperties.
34199func (epatp ExecutePipelineActivityTypeProperties) MarshalJSON() ([]byte, error) {
34200	objectMap := make(map[string]interface{})
34201	if epatp.Pipeline != nil {
34202		objectMap["pipeline"] = epatp.Pipeline
34203	}
34204	if epatp.Parameters != nil {
34205		objectMap["parameters"] = epatp.Parameters
34206	}
34207	if epatp.WaitOnCompletion != nil {
34208		objectMap["waitOnCompletion"] = epatp.WaitOnCompletion
34209	}
34210	return json.Marshal(objectMap)
34211}
34212
34213// ExecuteSSISPackageActivity execute SSIS package activity.
34214type ExecuteSSISPackageActivity struct {
34215	// ExecuteSSISPackageActivityTypeProperties - Execute SSIS package activity properties.
34216	*ExecuteSSISPackageActivityTypeProperties `json:"typeProperties,omitempty"`
34217	// LinkedServiceName - Linked service reference.
34218	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
34219	// Policy - Activity policy.
34220	Policy *ActivityPolicy `json:"policy,omitempty"`
34221	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
34222	AdditionalProperties map[string]interface{} `json:""`
34223	// Name - Activity name.
34224	Name *string `json:"name,omitempty"`
34225	// Description - Activity description.
34226	Description *string `json:"description,omitempty"`
34227	// DependsOn - Activity depends on condition.
34228	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
34229	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
34230	Type TypeBasicActivity `json:"type,omitempty"`
34231}
34232
34233// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivity.
34234func (espa ExecuteSSISPackageActivity) MarshalJSON() ([]byte, error) {
34235	espa.Type = TypeExecuteSSISPackage
34236	objectMap := make(map[string]interface{})
34237	if espa.ExecuteSSISPackageActivityTypeProperties != nil {
34238		objectMap["typeProperties"] = espa.ExecuteSSISPackageActivityTypeProperties
34239	}
34240	if espa.LinkedServiceName != nil {
34241		objectMap["linkedServiceName"] = espa.LinkedServiceName
34242	}
34243	if espa.Policy != nil {
34244		objectMap["policy"] = espa.Policy
34245	}
34246	if espa.Name != nil {
34247		objectMap["name"] = espa.Name
34248	}
34249	if espa.Description != nil {
34250		objectMap["description"] = espa.Description
34251	}
34252	if espa.DependsOn != nil {
34253		objectMap["dependsOn"] = espa.DependsOn
34254	}
34255	if espa.Type != "" {
34256		objectMap["type"] = espa.Type
34257	}
34258	for k, v := range espa.AdditionalProperties {
34259		objectMap[k] = v
34260	}
34261	return json.Marshal(objectMap)
34262}
34263
34264// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34265func (espa ExecuteSSISPackageActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
34266	return nil, false
34267}
34268
34269// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34270func (espa ExecuteSSISPackageActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
34271	return nil, false
34272}
34273
34274// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34275func (espa ExecuteSSISPackageActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
34276	return nil, false
34277}
34278
34279// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34280func (espa ExecuteSSISPackageActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
34281	return nil, false
34282}
34283
34284// AsGetMetadataActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34285func (espa ExecuteSSISPackageActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
34286	return nil, false
34287}
34288
34289// AsWebActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34290func (espa ExecuteSSISPackageActivity) AsWebActivity() (*WebActivity, bool) {
34291	return nil, false
34292}
34293
34294// AsLookupActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34295func (espa ExecuteSSISPackageActivity) AsLookupActivity() (*LookupActivity, bool) {
34296	return nil, false
34297}
34298
34299// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34300func (espa ExecuteSSISPackageActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
34301	return nil, false
34302}
34303
34304// AsCustomActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34305func (espa ExecuteSSISPackageActivity) AsCustomActivity() (*CustomActivity, bool) {
34306	return nil, false
34307}
34308
34309// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34310func (espa ExecuteSSISPackageActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
34311	return &espa, true
34312}
34313
34314// AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34315func (espa ExecuteSSISPackageActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
34316	return nil, false
34317}
34318
34319// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34320func (espa ExecuteSSISPackageActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
34321	return nil, false
34322}
34323
34324// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34325func (espa ExecuteSSISPackageActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
34326	return nil, false
34327}
34328
34329// AsHDInsightPigActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34330func (espa ExecuteSSISPackageActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
34331	return nil, false
34332}
34333
34334// AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34335func (espa ExecuteSSISPackageActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
34336	return nil, false
34337}
34338
34339// AsCopyActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34340func (espa ExecuteSSISPackageActivity) AsCopyActivity() (*CopyActivity, bool) {
34341	return nil, false
34342}
34343
34344// AsExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34345func (espa ExecuteSSISPackageActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
34346	return nil, false
34347}
34348
34349// AsBasicExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34350func (espa ExecuteSSISPackageActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
34351	return &espa, true
34352}
34353
34354// AsFilterActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34355func (espa ExecuteSSISPackageActivity) AsFilterActivity() (*FilterActivity, bool) {
34356	return nil, false
34357}
34358
34359// AsUntilActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34360func (espa ExecuteSSISPackageActivity) AsUntilActivity() (*UntilActivity, bool) {
34361	return nil, false
34362}
34363
34364// AsWaitActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34365func (espa ExecuteSSISPackageActivity) AsWaitActivity() (*WaitActivity, bool) {
34366	return nil, false
34367}
34368
34369// AsForEachActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34370func (espa ExecuteSSISPackageActivity) AsForEachActivity() (*ForEachActivity, bool) {
34371	return nil, false
34372}
34373
34374// AsIfConditionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34375func (espa ExecuteSSISPackageActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
34376	return nil, false
34377}
34378
34379// AsExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34380func (espa ExecuteSSISPackageActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
34381	return nil, false
34382}
34383
34384// AsControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34385func (espa ExecuteSSISPackageActivity) AsControlActivity() (*ControlActivity, bool) {
34386	return nil, false
34387}
34388
34389// AsBasicControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34390func (espa ExecuteSSISPackageActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
34391	return nil, false
34392}
34393
34394// AsActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34395func (espa ExecuteSSISPackageActivity) AsActivity() (*Activity, bool) {
34396	return nil, false
34397}
34398
34399// AsBasicActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34400func (espa ExecuteSSISPackageActivity) AsBasicActivity() (BasicActivity, bool) {
34401	return &espa, true
34402}
34403
34404// UnmarshalJSON is the custom unmarshaler for ExecuteSSISPackageActivity struct.
34405func (espa *ExecuteSSISPackageActivity) UnmarshalJSON(body []byte) error {
34406	var m map[string]*json.RawMessage
34407	err := json.Unmarshal(body, &m)
34408	if err != nil {
34409		return err
34410	}
34411	for k, v := range m {
34412		switch k {
34413		case "typeProperties":
34414			if v != nil {
34415				var executeSSISPackageActivityTypeProperties ExecuteSSISPackageActivityTypeProperties
34416				err = json.Unmarshal(*v, &executeSSISPackageActivityTypeProperties)
34417				if err != nil {
34418					return err
34419				}
34420				espa.ExecuteSSISPackageActivityTypeProperties = &executeSSISPackageActivityTypeProperties
34421			}
34422		case "linkedServiceName":
34423			if v != nil {
34424				var linkedServiceName LinkedServiceReference
34425				err = json.Unmarshal(*v, &linkedServiceName)
34426				if err != nil {
34427					return err
34428				}
34429				espa.LinkedServiceName = &linkedServiceName
34430			}
34431		case "policy":
34432			if v != nil {
34433				var policy ActivityPolicy
34434				err = json.Unmarshal(*v, &policy)
34435				if err != nil {
34436					return err
34437				}
34438				espa.Policy = &policy
34439			}
34440		default:
34441			if v != nil {
34442				var additionalProperties interface{}
34443				err = json.Unmarshal(*v, &additionalProperties)
34444				if err != nil {
34445					return err
34446				}
34447				if espa.AdditionalProperties == nil {
34448					espa.AdditionalProperties = make(map[string]interface{})
34449				}
34450				espa.AdditionalProperties[k] = additionalProperties
34451			}
34452		case "name":
34453			if v != nil {
34454				var name string
34455				err = json.Unmarshal(*v, &name)
34456				if err != nil {
34457					return err
34458				}
34459				espa.Name = &name
34460			}
34461		case "description":
34462			if v != nil {
34463				var description string
34464				err = json.Unmarshal(*v, &description)
34465				if err != nil {
34466					return err
34467				}
34468				espa.Description = &description
34469			}
34470		case "dependsOn":
34471			if v != nil {
34472				var dependsOn []ActivityDependency
34473				err = json.Unmarshal(*v, &dependsOn)
34474				if err != nil {
34475					return err
34476				}
34477				espa.DependsOn = &dependsOn
34478			}
34479		case "type":
34480			if v != nil {
34481				var typeVar TypeBasicActivity
34482				err = json.Unmarshal(*v, &typeVar)
34483				if err != nil {
34484					return err
34485				}
34486				espa.Type = typeVar
34487			}
34488		}
34489	}
34490
34491	return nil
34492}
34493
34494// ExecuteSSISPackageActivityTypeProperties execute SSIS package activity properties.
34495type ExecuteSSISPackageActivityTypeProperties struct {
34496	// PackageLocation - SSIS package location.
34497	PackageLocation *SSISPackageLocation `json:"packageLocation,omitempty"`
34498	// Runtime - Specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string).
34499	Runtime interface{} `json:"runtime,omitempty"`
34500	// LoggingLevel - The logging level of SSIS package execution. Type: string (or Expression with resultType string).
34501	LoggingLevel interface{} `json:"loggingLevel,omitempty"`
34502	// EnvironmentPath - The environment path to execute the SSIS package. Type: string (or Expression with resultType string).
34503	EnvironmentPath interface{} `json:"environmentPath,omitempty"`
34504	// ExecutionCredential - The package execution credential.
34505	ExecutionCredential *SSISExecutionCredential `json:"executionCredential,omitempty"`
34506	// ConnectVia - The integration runtime reference.
34507	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
34508	// ProjectParameters - The project level parameters to execute the SSIS package.
34509	ProjectParameters map[string]*SSISExecutionParameter `json:"projectParameters"`
34510	// PackageParameters - The package level parameters to execute the SSIS package.
34511	PackageParameters map[string]*SSISExecutionParameter `json:"packageParameters"`
34512	// ProjectConnectionManagers - The project level connection managers to execute the SSIS package.
34513	ProjectConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"projectConnectionManagers"`
34514	// PackageConnectionManagers - The package level connection managers to execute the SSIS package.
34515	PackageConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"packageConnectionManagers"`
34516	// PropertyOverrides - The property overrides to execute the SSIS package.
34517	PropertyOverrides map[string]*SSISPropertyOverride `json:"propertyOverrides"`
34518	// LogLocation - SSIS package execution log location.
34519	LogLocation *SSISLogLocation `json:"logLocation,omitempty"`
34520}
34521
34522// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivityTypeProperties.
34523func (espatp ExecuteSSISPackageActivityTypeProperties) MarshalJSON() ([]byte, error) {
34524	objectMap := make(map[string]interface{})
34525	if espatp.PackageLocation != nil {
34526		objectMap["packageLocation"] = espatp.PackageLocation
34527	}
34528	if espatp.Runtime != nil {
34529		objectMap["runtime"] = espatp.Runtime
34530	}
34531	if espatp.LoggingLevel != nil {
34532		objectMap["loggingLevel"] = espatp.LoggingLevel
34533	}
34534	if espatp.EnvironmentPath != nil {
34535		objectMap["environmentPath"] = espatp.EnvironmentPath
34536	}
34537	if espatp.ExecutionCredential != nil {
34538		objectMap["executionCredential"] = espatp.ExecutionCredential
34539	}
34540	if espatp.ConnectVia != nil {
34541		objectMap["connectVia"] = espatp.ConnectVia
34542	}
34543	if espatp.ProjectParameters != nil {
34544		objectMap["projectParameters"] = espatp.ProjectParameters
34545	}
34546	if espatp.PackageParameters != nil {
34547		objectMap["packageParameters"] = espatp.PackageParameters
34548	}
34549	if espatp.ProjectConnectionManagers != nil {
34550		objectMap["projectConnectionManagers"] = espatp.ProjectConnectionManagers
34551	}
34552	if espatp.PackageConnectionManagers != nil {
34553		objectMap["packageConnectionManagers"] = espatp.PackageConnectionManagers
34554	}
34555	if espatp.PropertyOverrides != nil {
34556		objectMap["propertyOverrides"] = espatp.PropertyOverrides
34557	}
34558	if espatp.LogLocation != nil {
34559		objectMap["logLocation"] = espatp.LogLocation
34560	}
34561	return json.Marshal(objectMap)
34562}
34563
34564// BasicExecutionActivity base class for all execution activities.
34565type BasicExecutionActivity interface {
34566	AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool)
34567	AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool)
34568	AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool)
34569	AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool)
34570	AsGetMetadataActivity() (*GetMetadataActivity, bool)
34571	AsWebActivity() (*WebActivity, bool)
34572	AsLookupActivity() (*LookupActivity, bool)
34573	AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool)
34574	AsCustomActivity() (*CustomActivity, bool)
34575	AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool)
34576	AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool)
34577	AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool)
34578	AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool)
34579	AsHDInsightPigActivity() (*HDInsightPigActivity, bool)
34580	AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool)
34581	AsCopyActivity() (*CopyActivity, bool)
34582	AsExecutionActivity() (*ExecutionActivity, bool)
34583}
34584
34585// ExecutionActivity base class for all execution activities.
34586type ExecutionActivity struct {
34587	// LinkedServiceName - Linked service reference.
34588	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
34589	// Policy - Activity policy.
34590	Policy *ActivityPolicy `json:"policy,omitempty"`
34591	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
34592	AdditionalProperties map[string]interface{} `json:""`
34593	// Name - Activity name.
34594	Name *string `json:"name,omitempty"`
34595	// Description - Activity description.
34596	Description *string `json:"description,omitempty"`
34597	// DependsOn - Activity depends on condition.
34598	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
34599	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
34600	Type TypeBasicActivity `json:"type,omitempty"`
34601}
34602
34603func unmarshalBasicExecutionActivity(body []byte) (BasicExecutionActivity, error) {
34604	var m map[string]interface{}
34605	err := json.Unmarshal(body, &m)
34606	if err != nil {
34607		return nil, err
34608	}
34609
34610	switch m["type"] {
34611	case string(TypeDatabricksNotebook):
34612		var dna DatabricksNotebookActivity
34613		err := json.Unmarshal(body, &dna)
34614		return dna, err
34615	case string(TypeDataLakeAnalyticsUSQL):
34616		var dlaua DataLakeAnalyticsUSQLActivity
34617		err := json.Unmarshal(body, &dlaua)
34618		return dlaua, err
34619	case string(TypeAzureMLUpdateResource):
34620		var amura AzureMLUpdateResourceActivity
34621		err := json.Unmarshal(body, &amura)
34622		return amura, err
34623	case string(TypeAzureMLBatchExecution):
34624		var ambea AzureMLBatchExecutionActivity
34625		err := json.Unmarshal(body, &ambea)
34626		return ambea, err
34627	case string(TypeGetMetadata):
34628		var gma GetMetadataActivity
34629		err := json.Unmarshal(body, &gma)
34630		return gma, err
34631	case string(TypeWebActivity):
34632		var wa WebActivity
34633		err := json.Unmarshal(body, &wa)
34634		return wa, err
34635	case string(TypeLookup):
34636		var la LookupActivity
34637		err := json.Unmarshal(body, &la)
34638		return la, err
34639	case string(TypeSQLServerStoredProcedure):
34640		var ssspa SQLServerStoredProcedureActivity
34641		err := json.Unmarshal(body, &ssspa)
34642		return ssspa, err
34643	case string(TypeCustom):
34644		var ca CustomActivity
34645		err := json.Unmarshal(body, &ca)
34646		return ca, err
34647	case string(TypeExecuteSSISPackage):
34648		var espa ExecuteSSISPackageActivity
34649		err := json.Unmarshal(body, &espa)
34650		return espa, err
34651	case string(TypeHDInsightSpark):
34652		var hisa HDInsightSparkActivity
34653		err := json.Unmarshal(body, &hisa)
34654		return hisa, err
34655	case string(TypeHDInsightStreaming):
34656		var hisa HDInsightStreamingActivity
34657		err := json.Unmarshal(body, &hisa)
34658		return hisa, err
34659	case string(TypeHDInsightMapReduce):
34660		var himra HDInsightMapReduceActivity
34661		err := json.Unmarshal(body, &himra)
34662		return himra, err
34663	case string(TypeHDInsightPig):
34664		var hipa HDInsightPigActivity
34665		err := json.Unmarshal(body, &hipa)
34666		return hipa, err
34667	case string(TypeHDInsightHive):
34668		var hiha HDInsightHiveActivity
34669		err := json.Unmarshal(body, &hiha)
34670		return hiha, err
34671	case string(TypeCopy):
34672		var ca CopyActivity
34673		err := json.Unmarshal(body, &ca)
34674		return ca, err
34675	default:
34676		var ea ExecutionActivity
34677		err := json.Unmarshal(body, &ea)
34678		return ea, err
34679	}
34680}
34681func unmarshalBasicExecutionActivityArray(body []byte) ([]BasicExecutionActivity, error) {
34682	var rawMessages []*json.RawMessage
34683	err := json.Unmarshal(body, &rawMessages)
34684	if err != nil {
34685		return nil, err
34686	}
34687
34688	eaArray := make([]BasicExecutionActivity, len(rawMessages))
34689
34690	for index, rawMessage := range rawMessages {
34691		ea, err := unmarshalBasicExecutionActivity(*rawMessage)
34692		if err != nil {
34693			return nil, err
34694		}
34695		eaArray[index] = ea
34696	}
34697	return eaArray, nil
34698}
34699
34700// MarshalJSON is the custom marshaler for ExecutionActivity.
34701func (ea ExecutionActivity) MarshalJSON() ([]byte, error) {
34702	ea.Type = TypeExecution
34703	objectMap := make(map[string]interface{})
34704	if ea.LinkedServiceName != nil {
34705		objectMap["linkedServiceName"] = ea.LinkedServiceName
34706	}
34707	if ea.Policy != nil {
34708		objectMap["policy"] = ea.Policy
34709	}
34710	if ea.Name != nil {
34711		objectMap["name"] = ea.Name
34712	}
34713	if ea.Description != nil {
34714		objectMap["description"] = ea.Description
34715	}
34716	if ea.DependsOn != nil {
34717		objectMap["dependsOn"] = ea.DependsOn
34718	}
34719	if ea.Type != "" {
34720		objectMap["type"] = ea.Type
34721	}
34722	for k, v := range ea.AdditionalProperties {
34723		objectMap[k] = v
34724	}
34725	return json.Marshal(objectMap)
34726}
34727
34728// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutionActivity.
34729func (ea ExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
34730	return nil, false
34731}
34732
34733// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutionActivity.
34734func (ea ExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
34735	return nil, false
34736}
34737
34738// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutionActivity.
34739func (ea ExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
34740	return nil, false
34741}
34742
34743// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutionActivity.
34744func (ea ExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
34745	return nil, false
34746}
34747
34748// AsGetMetadataActivity is the BasicActivity implementation for ExecutionActivity.
34749func (ea ExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
34750	return nil, false
34751}
34752
34753// AsWebActivity is the BasicActivity implementation for ExecutionActivity.
34754func (ea ExecutionActivity) AsWebActivity() (*WebActivity, bool) {
34755	return nil, false
34756}
34757
34758// AsLookupActivity is the BasicActivity implementation for ExecutionActivity.
34759func (ea ExecutionActivity) AsLookupActivity() (*LookupActivity, bool) {
34760	return nil, false
34761}
34762
34763// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutionActivity.
34764func (ea ExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
34765	return nil, false
34766}
34767
34768// AsCustomActivity is the BasicActivity implementation for ExecutionActivity.
34769func (ea ExecutionActivity) AsCustomActivity() (*CustomActivity, bool) {
34770	return nil, false
34771}
34772
34773// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutionActivity.
34774func (ea ExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
34775	return nil, false
34776}
34777
34778// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutionActivity.
34779func (ea ExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
34780	return nil, false
34781}
34782
34783// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutionActivity.
34784func (ea ExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
34785	return nil, false
34786}
34787
34788// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutionActivity.
34789func (ea ExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
34790	return nil, false
34791}
34792
34793// AsHDInsightPigActivity is the BasicActivity implementation for ExecutionActivity.
34794func (ea ExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
34795	return nil, false
34796}
34797
34798// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutionActivity.
34799func (ea ExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
34800	return nil, false
34801}
34802
34803// AsCopyActivity is the BasicActivity implementation for ExecutionActivity.
34804func (ea ExecutionActivity) AsCopyActivity() (*CopyActivity, bool) {
34805	return nil, false
34806}
34807
34808// AsExecutionActivity is the BasicActivity implementation for ExecutionActivity.
34809func (ea ExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
34810	return &ea, true
34811}
34812
34813// AsBasicExecutionActivity is the BasicActivity implementation for ExecutionActivity.
34814func (ea ExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
34815	return &ea, true
34816}
34817
34818// AsFilterActivity is the BasicActivity implementation for ExecutionActivity.
34819func (ea ExecutionActivity) AsFilterActivity() (*FilterActivity, bool) {
34820	return nil, false
34821}
34822
34823// AsUntilActivity is the BasicActivity implementation for ExecutionActivity.
34824func (ea ExecutionActivity) AsUntilActivity() (*UntilActivity, bool) {
34825	return nil, false
34826}
34827
34828// AsWaitActivity is the BasicActivity implementation for ExecutionActivity.
34829func (ea ExecutionActivity) AsWaitActivity() (*WaitActivity, bool) {
34830	return nil, false
34831}
34832
34833// AsForEachActivity is the BasicActivity implementation for ExecutionActivity.
34834func (ea ExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) {
34835	return nil, false
34836}
34837
34838// AsIfConditionActivity is the BasicActivity implementation for ExecutionActivity.
34839func (ea ExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
34840	return nil, false
34841}
34842
34843// AsExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity.
34844func (ea ExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
34845	return nil, false
34846}
34847
34848// AsControlActivity is the BasicActivity implementation for ExecutionActivity.
34849func (ea ExecutionActivity) AsControlActivity() (*ControlActivity, bool) {
34850	return nil, false
34851}
34852
34853// AsBasicControlActivity is the BasicActivity implementation for ExecutionActivity.
34854func (ea ExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
34855	return nil, false
34856}
34857
34858// AsActivity is the BasicActivity implementation for ExecutionActivity.
34859func (ea ExecutionActivity) AsActivity() (*Activity, bool) {
34860	return nil, false
34861}
34862
34863// AsBasicActivity is the BasicActivity implementation for ExecutionActivity.
34864func (ea ExecutionActivity) AsBasicActivity() (BasicActivity, bool) {
34865	return &ea, true
34866}
34867
34868// UnmarshalJSON is the custom unmarshaler for ExecutionActivity struct.
34869func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error {
34870	var m map[string]*json.RawMessage
34871	err := json.Unmarshal(body, &m)
34872	if err != nil {
34873		return err
34874	}
34875	for k, v := range m {
34876		switch k {
34877		case "linkedServiceName":
34878			if v != nil {
34879				var linkedServiceName LinkedServiceReference
34880				err = json.Unmarshal(*v, &linkedServiceName)
34881				if err != nil {
34882					return err
34883				}
34884				ea.LinkedServiceName = &linkedServiceName
34885			}
34886		case "policy":
34887			if v != nil {
34888				var policy ActivityPolicy
34889				err = json.Unmarshal(*v, &policy)
34890				if err != nil {
34891					return err
34892				}
34893				ea.Policy = &policy
34894			}
34895		default:
34896			if v != nil {
34897				var additionalProperties interface{}
34898				err = json.Unmarshal(*v, &additionalProperties)
34899				if err != nil {
34900					return err
34901				}
34902				if ea.AdditionalProperties == nil {
34903					ea.AdditionalProperties = make(map[string]interface{})
34904				}
34905				ea.AdditionalProperties[k] = additionalProperties
34906			}
34907		case "name":
34908			if v != nil {
34909				var name string
34910				err = json.Unmarshal(*v, &name)
34911				if err != nil {
34912					return err
34913				}
34914				ea.Name = &name
34915			}
34916		case "description":
34917			if v != nil {
34918				var description string
34919				err = json.Unmarshal(*v, &description)
34920				if err != nil {
34921					return err
34922				}
34923				ea.Description = &description
34924			}
34925		case "dependsOn":
34926			if v != nil {
34927				var dependsOn []ActivityDependency
34928				err = json.Unmarshal(*v, &dependsOn)
34929				if err != nil {
34930					return err
34931				}
34932				ea.DependsOn = &dependsOn
34933			}
34934		case "type":
34935			if v != nil {
34936				var typeVar TypeBasicActivity
34937				err = json.Unmarshal(*v, &typeVar)
34938				if err != nil {
34939					return err
34940				}
34941				ea.Type = typeVar
34942			}
34943		}
34944	}
34945
34946	return nil
34947}
34948
34949// Expression azure Data Factory expression definition.
34950type Expression struct {
34951	// Type - Expression type.
34952	Type *string `json:"type,omitempty"`
34953	// Value - Expression value.
34954	Value *string `json:"value,omitempty"`
34955}
34956
34957// Factory factory resource type.
34958type Factory struct {
34959	autorest.Response `json:"-"`
34960	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
34961	AdditionalProperties map[string]interface{} `json:""`
34962	// Identity - Managed service identity of the factory.
34963	Identity *FactoryIdentity `json:"identity,omitempty"`
34964	// FactoryProperties - Properties of the factory.
34965	*FactoryProperties `json:"properties,omitempty"`
34966	// ID - READ-ONLY; The resource identifier.
34967	ID *string `json:"id,omitempty"`
34968	// Name - READ-ONLY; The resource name.
34969	Name *string `json:"name,omitempty"`
34970	// Type - READ-ONLY; The resource type.
34971	Type *string `json:"type,omitempty"`
34972	// Location - The resource location.
34973	Location *string `json:"location,omitempty"`
34974	// Tags - The resource tags.
34975	Tags map[string]*string `json:"tags"`
34976}
34977
34978// MarshalJSON is the custom marshaler for Factory.
34979func (f Factory) MarshalJSON() ([]byte, error) {
34980	objectMap := make(map[string]interface{})
34981	if f.Identity != nil {
34982		objectMap["identity"] = f.Identity
34983	}
34984	if f.FactoryProperties != nil {
34985		objectMap["properties"] = f.FactoryProperties
34986	}
34987	if f.Location != nil {
34988		objectMap["location"] = f.Location
34989	}
34990	if f.Tags != nil {
34991		objectMap["tags"] = f.Tags
34992	}
34993	for k, v := range f.AdditionalProperties {
34994		objectMap[k] = v
34995	}
34996	return json.Marshal(objectMap)
34997}
34998
34999// UnmarshalJSON is the custom unmarshaler for Factory struct.
35000func (f *Factory) UnmarshalJSON(body []byte) error {
35001	var m map[string]*json.RawMessage
35002	err := json.Unmarshal(body, &m)
35003	if err != nil {
35004		return err
35005	}
35006	for k, v := range m {
35007		switch k {
35008		default:
35009			if v != nil {
35010				var additionalProperties interface{}
35011				err = json.Unmarshal(*v, &additionalProperties)
35012				if err != nil {
35013					return err
35014				}
35015				if f.AdditionalProperties == nil {
35016					f.AdditionalProperties = make(map[string]interface{})
35017				}
35018				f.AdditionalProperties[k] = additionalProperties
35019			}
35020		case "identity":
35021			if v != nil {
35022				var identity FactoryIdentity
35023				err = json.Unmarshal(*v, &identity)
35024				if err != nil {
35025					return err
35026				}
35027				f.Identity = &identity
35028			}
35029		case "properties":
35030			if v != nil {
35031				var factoryProperties FactoryProperties
35032				err = json.Unmarshal(*v, &factoryProperties)
35033				if err != nil {
35034					return err
35035				}
35036				f.FactoryProperties = &factoryProperties
35037			}
35038		case "id":
35039			if v != nil {
35040				var ID string
35041				err = json.Unmarshal(*v, &ID)
35042				if err != nil {
35043					return err
35044				}
35045				f.ID = &ID
35046			}
35047		case "name":
35048			if v != nil {
35049				var name string
35050				err = json.Unmarshal(*v, &name)
35051				if err != nil {
35052					return err
35053				}
35054				f.Name = &name
35055			}
35056		case "type":
35057			if v != nil {
35058				var typeVar string
35059				err = json.Unmarshal(*v, &typeVar)
35060				if err != nil {
35061					return err
35062				}
35063				f.Type = &typeVar
35064			}
35065		case "location":
35066			if v != nil {
35067				var location string
35068				err = json.Unmarshal(*v, &location)
35069				if err != nil {
35070					return err
35071				}
35072				f.Location = &location
35073			}
35074		case "tags":
35075			if v != nil {
35076				var tags map[string]*string
35077				err = json.Unmarshal(*v, &tags)
35078				if err != nil {
35079					return err
35080				}
35081				f.Tags = tags
35082			}
35083		}
35084	}
35085
35086	return nil
35087}
35088
35089// FactoryIdentity identity properties of the factory resource.
35090type FactoryIdentity struct {
35091	// Type - The identity type. Currently the only supported type is 'SystemAssigned'.
35092	Type *string `json:"type,omitempty"`
35093	// PrincipalID - READ-ONLY; The principal id of the identity.
35094	PrincipalID *uuid.UUID `json:"principalId,omitempty"`
35095	// TenantID - READ-ONLY; The client tenant id of the identity.
35096	TenantID *uuid.UUID `json:"tenantId,omitempty"`
35097}
35098
35099// MarshalJSON is the custom marshaler for FactoryIdentity.
35100func (fi FactoryIdentity) MarshalJSON() ([]byte, error) {
35101	objectMap := make(map[string]interface{})
35102	if fi.Type != nil {
35103		objectMap["type"] = fi.Type
35104	}
35105	return json.Marshal(objectMap)
35106}
35107
35108// FactoryListResponse a list of factory resources.
35109type FactoryListResponse struct {
35110	autorest.Response `json:"-"`
35111	// Value - List of factories.
35112	Value *[]Factory `json:"value,omitempty"`
35113	// NextLink - The link to the next page of results, if any remaining results exist.
35114	NextLink *string `json:"nextLink,omitempty"`
35115}
35116
35117// FactoryListResponseIterator provides access to a complete listing of Factory values.
35118type FactoryListResponseIterator struct {
35119	i    int
35120	page FactoryListResponsePage
35121}
35122
35123// NextWithContext advances to the next value.  If there was an error making
35124// the request the iterator does not advance and the error is returned.
35125func (iter *FactoryListResponseIterator) NextWithContext(ctx context.Context) (err error) {
35126	if tracing.IsEnabled() {
35127		ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponseIterator.NextWithContext")
35128		defer func() {
35129			sc := -1
35130			if iter.Response().Response.Response != nil {
35131				sc = iter.Response().Response.Response.StatusCode
35132			}
35133			tracing.EndSpan(ctx, sc, err)
35134		}()
35135	}
35136	iter.i++
35137	if iter.i < len(iter.page.Values()) {
35138		return nil
35139	}
35140	err = iter.page.NextWithContext(ctx)
35141	if err != nil {
35142		iter.i--
35143		return err
35144	}
35145	iter.i = 0
35146	return nil
35147}
35148
35149// Next advances to the next value.  If there was an error making
35150// the request the iterator does not advance and the error is returned.
35151// Deprecated: Use NextWithContext() instead.
35152func (iter *FactoryListResponseIterator) Next() error {
35153	return iter.NextWithContext(context.Background())
35154}
35155
35156// NotDone returns true if the enumeration should be started or is not yet complete.
35157func (iter FactoryListResponseIterator) NotDone() bool {
35158	return iter.page.NotDone() && iter.i < len(iter.page.Values())
35159}
35160
35161// Response returns the raw server response from the last page request.
35162func (iter FactoryListResponseIterator) Response() FactoryListResponse {
35163	return iter.page.Response()
35164}
35165
35166// Value returns the current value or a zero-initialized value if the
35167// iterator has advanced beyond the end of the collection.
35168func (iter FactoryListResponseIterator) Value() Factory {
35169	if !iter.page.NotDone() {
35170		return Factory{}
35171	}
35172	return iter.page.Values()[iter.i]
35173}
35174
35175// Creates a new instance of the FactoryListResponseIterator type.
35176func NewFactoryListResponseIterator(page FactoryListResponsePage) FactoryListResponseIterator {
35177	return FactoryListResponseIterator{page: page}
35178}
35179
35180// IsEmpty returns true if the ListResult contains no values.
35181func (flr FactoryListResponse) IsEmpty() bool {
35182	return flr.Value == nil || len(*flr.Value) == 0
35183}
35184
35185// hasNextLink returns true if the NextLink is not empty.
35186func (flr FactoryListResponse) hasNextLink() bool {
35187	return flr.NextLink != nil && len(*flr.NextLink) != 0
35188}
35189
35190// factoryListResponsePreparer prepares a request to retrieve the next set of results.
35191// It returns nil if no more results exist.
35192func (flr FactoryListResponse) factoryListResponsePreparer(ctx context.Context) (*http.Request, error) {
35193	if !flr.hasNextLink() {
35194		return nil, nil
35195	}
35196	return autorest.Prepare((&http.Request{}).WithContext(ctx),
35197		autorest.AsJSON(),
35198		autorest.AsGet(),
35199		autorest.WithBaseURL(to.String(flr.NextLink)))
35200}
35201
35202// FactoryListResponsePage contains a page of Factory values.
35203type FactoryListResponsePage struct {
35204	fn  func(context.Context, FactoryListResponse) (FactoryListResponse, error)
35205	flr FactoryListResponse
35206}
35207
35208// NextWithContext advances to the next page of values.  If there was an error making
35209// the request the page does not advance and the error is returned.
35210func (page *FactoryListResponsePage) NextWithContext(ctx context.Context) (err error) {
35211	if tracing.IsEnabled() {
35212		ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponsePage.NextWithContext")
35213		defer func() {
35214			sc := -1
35215			if page.Response().Response.Response != nil {
35216				sc = page.Response().Response.Response.StatusCode
35217			}
35218			tracing.EndSpan(ctx, sc, err)
35219		}()
35220	}
35221	for {
35222		next, err := page.fn(ctx, page.flr)
35223		if err != nil {
35224			return err
35225		}
35226		page.flr = next
35227		if !next.hasNextLink() || !next.IsEmpty() {
35228			break
35229		}
35230	}
35231	return nil
35232}
35233
35234// Next advances to the next page of values.  If there was an error making
35235// the request the page does not advance and the error is returned.
35236// Deprecated: Use NextWithContext() instead.
35237func (page *FactoryListResponsePage) Next() error {
35238	return page.NextWithContext(context.Background())
35239}
35240
35241// NotDone returns true if the page enumeration should be started or is not yet complete.
35242func (page FactoryListResponsePage) NotDone() bool {
35243	return !page.flr.IsEmpty()
35244}
35245
35246// Response returns the raw server response from the last page request.
35247func (page FactoryListResponsePage) Response() FactoryListResponse {
35248	return page.flr
35249}
35250
35251// Values returns the slice of values for the current page or nil if there are no values.
35252func (page FactoryListResponsePage) Values() []Factory {
35253	if page.flr.IsEmpty() {
35254		return nil
35255	}
35256	return *page.flr.Value
35257}
35258
35259// Creates a new instance of the FactoryListResponsePage type.
35260func NewFactoryListResponsePage(cur FactoryListResponse, getNextPage func(context.Context, FactoryListResponse) (FactoryListResponse, error)) FactoryListResponsePage {
35261	return FactoryListResponsePage{
35262		fn:  getNextPage,
35263		flr: cur,
35264	}
35265}
35266
35267// FactoryProperties factory resource properties.
35268type FactoryProperties struct {
35269	// ProvisioningState - READ-ONLY; Factory provisioning state, example Succeeded.
35270	ProvisioningState *string `json:"provisioningState,omitempty"`
35271	// CreateTime - READ-ONLY; Time the factory was created in ISO8601 format.
35272	CreateTime *date.Time `json:"createTime,omitempty"`
35273	// Version - READ-ONLY; Version of the factory.
35274	Version *string `json:"version,omitempty"`
35275	// VstsConfiguration - VSTS repo information of the factory.
35276	VstsConfiguration *FactoryVSTSConfiguration `json:"vstsConfiguration,omitempty"`
35277}
35278
35279// MarshalJSON is the custom marshaler for FactoryProperties.
35280func (fp FactoryProperties) MarshalJSON() ([]byte, error) {
35281	objectMap := make(map[string]interface{})
35282	if fp.VstsConfiguration != nil {
35283		objectMap["vstsConfiguration"] = fp.VstsConfiguration
35284	}
35285	return json.Marshal(objectMap)
35286}
35287
35288// FactoryRepoUpdate factory's VSTS repo information.
35289type FactoryRepoUpdate struct {
35290	// FactoryResourceID - The factory resource id.
35291	FactoryResourceID *string `json:"factoryResourceId,omitempty"`
35292	// ResourceGroupName - The resource group name.
35293	ResourceGroupName *string `json:"resourceGroupName,omitempty"`
35294	// VstsConfiguration - VSTS repo information of the factory.
35295	VstsConfiguration *FactoryVSTSConfiguration `json:"vstsConfiguration,omitempty"`
35296}
35297
35298// FactoryUpdateParameters parameters for updating a factory resource.
35299type FactoryUpdateParameters struct {
35300	// Tags - The resource tags.
35301	Tags map[string]*string `json:"tags"`
35302	// Identity - Managed service identity of the factory.
35303	Identity *FactoryIdentity `json:"identity,omitempty"`
35304}
35305
35306// MarshalJSON is the custom marshaler for FactoryUpdateParameters.
35307func (fup FactoryUpdateParameters) MarshalJSON() ([]byte, error) {
35308	objectMap := make(map[string]interface{})
35309	if fup.Tags != nil {
35310		objectMap["tags"] = fup.Tags
35311	}
35312	if fup.Identity != nil {
35313		objectMap["identity"] = fup.Identity
35314	}
35315	return json.Marshal(objectMap)
35316}
35317
35318// FactoryVSTSConfiguration factory's VSTS repo information.
35319type FactoryVSTSConfiguration struct {
35320	// AccountName - VSTS account name.
35321	AccountName *string `json:"accountName,omitempty"`
35322	// ProjectName - VSTS project name.
35323	ProjectName *string `json:"projectName,omitempty"`
35324	// RepositoryName - VSTS repository name.
35325	RepositoryName *string `json:"repositoryName,omitempty"`
35326	// CollaborationBranch - VSTS collaboration branch.
35327	CollaborationBranch *string `json:"collaborationBranch,omitempty"`
35328	// RootFolder - VSTS root folder.
35329	RootFolder *string `json:"rootFolder,omitempty"`
35330	// LastCommitID - VSTS last commit id.
35331	LastCommitID *string `json:"lastCommitId,omitempty"`
35332	// TenantID - VSTS tenant id.
35333	TenantID *string `json:"tenantId,omitempty"`
35334}
35335
35336// FileServerLinkedService file system linked service.
35337type FileServerLinkedService struct {
35338	// FileServerLinkedServiceTypeProperties - File system linked service properties.
35339	*FileServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
35340	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
35341	AdditionalProperties map[string]interface{} `json:""`
35342	// ConnectVia - The integration runtime reference.
35343	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
35344	// Description - Linked service description.
35345	Description *string `json:"description,omitempty"`
35346	// Parameters - Parameters for linked service.
35347	Parameters map[string]*ParameterSpecification `json:"parameters"`
35348	// Annotations - List of tags that can be used for describing the Dataset.
35349	Annotations *[]interface{} `json:"annotations,omitempty"`
35350	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
35351	Type TypeBasicLinkedService `json:"type,omitempty"`
35352}
35353
35354// MarshalJSON is the custom marshaler for FileServerLinkedService.
35355func (fsls FileServerLinkedService) MarshalJSON() ([]byte, error) {
35356	fsls.Type = TypeFileServer
35357	objectMap := make(map[string]interface{})
35358	if fsls.FileServerLinkedServiceTypeProperties != nil {
35359		objectMap["typeProperties"] = fsls.FileServerLinkedServiceTypeProperties
35360	}
35361	if fsls.ConnectVia != nil {
35362		objectMap["connectVia"] = fsls.ConnectVia
35363	}
35364	if fsls.Description != nil {
35365		objectMap["description"] = fsls.Description
35366	}
35367	if fsls.Parameters != nil {
35368		objectMap["parameters"] = fsls.Parameters
35369	}
35370	if fsls.Annotations != nil {
35371		objectMap["annotations"] = fsls.Annotations
35372	}
35373	if fsls.Type != "" {
35374		objectMap["type"] = fsls.Type
35375	}
35376	for k, v := range fsls.AdditionalProperties {
35377		objectMap[k] = v
35378	}
35379	return json.Marshal(objectMap)
35380}
35381
35382// AsResponsysLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35383func (fsls FileServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
35384	return nil, false
35385}
35386
35387// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35388func (fsls FileServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
35389	return nil, false
35390}
35391
35392// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35393func (fsls FileServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
35394	return nil, false
35395}
35396
35397// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35398func (fsls FileServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
35399	return nil, false
35400}
35401
35402// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35403func (fsls FileServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
35404	return nil, false
35405}
35406
35407// AsNetezzaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35408func (fsls FileServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
35409	return nil, false
35410}
35411
35412// AsVerticaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35413func (fsls FileServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
35414	return nil, false
35415}
35416
35417// AsZohoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35418func (fsls FileServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
35419	return nil, false
35420}
35421
35422// AsXeroLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35423func (fsls FileServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
35424	return nil, false
35425}
35426
35427// AsSquareLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35428func (fsls FileServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
35429	return nil, false
35430}
35431
35432// AsSparkLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35433func (fsls FileServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
35434	return nil, false
35435}
35436
35437// AsShopifyLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35438func (fsls FileServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
35439	return nil, false
35440}
35441
35442// AsServiceNowLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35443func (fsls FileServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
35444	return nil, false
35445}
35446
35447// AsQuickBooksLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35448func (fsls FileServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
35449	return nil, false
35450}
35451
35452// AsPrestoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35453func (fsls FileServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
35454	return nil, false
35455}
35456
35457// AsPhoenixLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35458func (fsls FileServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
35459	return nil, false
35460}
35461
35462// AsPaypalLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35463func (fsls FileServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
35464	return nil, false
35465}
35466
35467// AsMarketoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35468func (fsls FileServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
35469	return nil, false
35470}
35471
35472// AsMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35473func (fsls FileServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
35474	return nil, false
35475}
35476
35477// AsMagentoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35478func (fsls FileServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
35479	return nil, false
35480}
35481
35482// AsJiraLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35483func (fsls FileServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
35484	return nil, false
35485}
35486
35487// AsImpalaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35488func (fsls FileServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
35489	return nil, false
35490}
35491
35492// AsHubspotLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35493func (fsls FileServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
35494	return nil, false
35495}
35496
35497// AsHiveLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35498func (fsls FileServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
35499	return nil, false
35500}
35501
35502// AsHBaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35503func (fsls FileServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
35504	return nil, false
35505}
35506
35507// AsGreenplumLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35508func (fsls FileServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
35509	return nil, false
35510}
35511
35512// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35513func (fsls FileServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
35514	return nil, false
35515}
35516
35517// AsEloquaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35518func (fsls FileServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
35519	return nil, false
35520}
35521
35522// AsDrillLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35523func (fsls FileServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
35524	return nil, false
35525}
35526
35527// AsCouchbaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35528func (fsls FileServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
35529	return nil, false
35530}
35531
35532// AsConcurLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35533func (fsls FileServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
35534	return nil, false
35535}
35536
35537// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35538func (fsls FileServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
35539	return nil, false
35540}
35541
35542// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35543func (fsls FileServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
35544	return nil, false
35545}
35546
35547// AsSapHanaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35548func (fsls FileServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
35549	return nil, false
35550}
35551
35552// AsSapBWLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35553func (fsls FileServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
35554	return nil, false
35555}
35556
35557// AsSftpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35558func (fsls FileServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
35559	return nil, false
35560}
35561
35562// AsFtpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35563func (fsls FileServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
35564	return nil, false
35565}
35566
35567// AsHTTPLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35568func (fsls FileServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
35569	return nil, false
35570}
35571
35572// AsAzureSearchLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35573func (fsls FileServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
35574	return nil, false
35575}
35576
35577// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35578func (fsls FileServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
35579	return nil, false
35580}
35581
35582// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35583func (fsls FileServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
35584	return nil, false
35585}
35586
35587// AsAmazonS3LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35588func (fsls FileServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
35589	return nil, false
35590}
35591
35592// AsSapEccLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35593func (fsls FileServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
35594	return nil, false
35595}
35596
35597// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35598func (fsls FileServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
35599	return nil, false
35600}
35601
35602// AsSalesforceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35603func (fsls FileServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
35604	return nil, false
35605}
35606
35607// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35608func (fsls FileServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
35609	return nil, false
35610}
35611
35612// AsMongoDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35613func (fsls FileServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
35614	return nil, false
35615}
35616
35617// AsCassandraLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35618func (fsls FileServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
35619	return nil, false
35620}
35621
35622// AsWebLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35623func (fsls FileServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
35624	return nil, false
35625}
35626
35627// AsODataLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35628func (fsls FileServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
35629	return nil, false
35630}
35631
35632// AsHdfsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35633func (fsls FileServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
35634	return nil, false
35635}
35636
35637// AsOdbcLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35638func (fsls FileServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
35639	return nil, false
35640}
35641
35642// AsAzureMLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35643func (fsls FileServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
35644	return nil, false
35645}
35646
35647// AsTeradataLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35648func (fsls FileServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
35649	return nil, false
35650}
35651
35652// AsDb2LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35653func (fsls FileServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
35654	return nil, false
35655}
35656
35657// AsSybaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35658func (fsls FileServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
35659	return nil, false
35660}
35661
35662// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35663func (fsls FileServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
35664	return nil, false
35665}
35666
35667// AsMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35668func (fsls FileServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
35669	return nil, false
35670}
35671
35672// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35673func (fsls FileServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
35674	return nil, false
35675}
35676
35677// AsOracleLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35678func (fsls FileServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
35679	return nil, false
35680}
35681
35682// AsFileServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35683func (fsls FileServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
35684	return &fsls, true
35685}
35686
35687// AsHDInsightLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35688func (fsls FileServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
35689	return nil, false
35690}
35691
35692// AsDynamicsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35693func (fsls FileServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
35694	return nil, false
35695}
35696
35697// AsCosmosDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35698func (fsls FileServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
35699	return nil, false
35700}
35701
35702// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35703func (fsls FileServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
35704	return nil, false
35705}
35706
35707// AsAzureBatchLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35708func (fsls FileServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
35709	return nil, false
35710}
35711
35712// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35713func (fsls FileServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
35714	return nil, false
35715}
35716
35717// AsSQLServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35718func (fsls FileServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
35719	return nil, false
35720}
35721
35722// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35723func (fsls FileServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
35724	return nil, false
35725}
35726
35727// AsAzureStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35728func (fsls FileServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
35729	return nil, false
35730}
35731
35732// AsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35733func (fsls FileServerLinkedService) AsLinkedService() (*LinkedService, bool) {
35734	return nil, false
35735}
35736
35737// AsBasicLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35738func (fsls FileServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
35739	return &fsls, true
35740}
35741
35742// UnmarshalJSON is the custom unmarshaler for FileServerLinkedService struct.
35743func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error {
35744	var m map[string]*json.RawMessage
35745	err := json.Unmarshal(body, &m)
35746	if err != nil {
35747		return err
35748	}
35749	for k, v := range m {
35750		switch k {
35751		case "typeProperties":
35752			if v != nil {
35753				var fileServerLinkedServiceTypeProperties FileServerLinkedServiceTypeProperties
35754				err = json.Unmarshal(*v, &fileServerLinkedServiceTypeProperties)
35755				if err != nil {
35756					return err
35757				}
35758				fsls.FileServerLinkedServiceTypeProperties = &fileServerLinkedServiceTypeProperties
35759			}
35760		default:
35761			if v != nil {
35762				var additionalProperties interface{}
35763				err = json.Unmarshal(*v, &additionalProperties)
35764				if err != nil {
35765					return err
35766				}
35767				if fsls.AdditionalProperties == nil {
35768					fsls.AdditionalProperties = make(map[string]interface{})
35769				}
35770				fsls.AdditionalProperties[k] = additionalProperties
35771			}
35772		case "connectVia":
35773			if v != nil {
35774				var connectVia IntegrationRuntimeReference
35775				err = json.Unmarshal(*v, &connectVia)
35776				if err != nil {
35777					return err
35778				}
35779				fsls.ConnectVia = &connectVia
35780			}
35781		case "description":
35782			if v != nil {
35783				var description string
35784				err = json.Unmarshal(*v, &description)
35785				if err != nil {
35786					return err
35787				}
35788				fsls.Description = &description
35789			}
35790		case "parameters":
35791			if v != nil {
35792				var parameters map[string]*ParameterSpecification
35793				err = json.Unmarshal(*v, &parameters)
35794				if err != nil {
35795					return err
35796				}
35797				fsls.Parameters = parameters
35798			}
35799		case "annotations":
35800			if v != nil {
35801				var annotations []interface{}
35802				err = json.Unmarshal(*v, &annotations)
35803				if err != nil {
35804					return err
35805				}
35806				fsls.Annotations = &annotations
35807			}
35808		case "type":
35809			if v != nil {
35810				var typeVar TypeBasicLinkedService
35811				err = json.Unmarshal(*v, &typeVar)
35812				if err != nil {
35813					return err
35814				}
35815				fsls.Type = typeVar
35816			}
35817		}
35818	}
35819
35820	return nil
35821}
35822
35823// FileServerLinkedServiceTypeProperties file system linked service properties.
35824type FileServerLinkedServiceTypeProperties struct {
35825	// Host - Host name of the server. Type: string (or Expression with resultType string).
35826	Host interface{} `json:"host,omitempty"`
35827	// UserID - User ID to logon the server. Type: string (or Expression with resultType string).
35828	UserID interface{} `json:"userId,omitempty"`
35829	// Password - Password to logon the server.
35830	Password BasicSecretBase `json:"password,omitempty"`
35831	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
35832	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
35833}
35834
35835// UnmarshalJSON is the custom unmarshaler for FileServerLinkedServiceTypeProperties struct.
35836func (fslstp *FileServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
35837	var m map[string]*json.RawMessage
35838	err := json.Unmarshal(body, &m)
35839	if err != nil {
35840		return err
35841	}
35842	for k, v := range m {
35843		switch k {
35844		case "host":
35845			if v != nil {
35846				var host interface{}
35847				err = json.Unmarshal(*v, &host)
35848				if err != nil {
35849					return err
35850				}
35851				fslstp.Host = host
35852			}
35853		case "userId":
35854			if v != nil {
35855				var userID interface{}
35856				err = json.Unmarshal(*v, &userID)
35857				if err != nil {
35858					return err
35859				}
35860				fslstp.UserID = userID
35861			}
35862		case "password":
35863			if v != nil {
35864				password, err := unmarshalBasicSecretBase(*v)
35865				if err != nil {
35866					return err
35867				}
35868				fslstp.Password = password
35869			}
35870		case "encryptedCredential":
35871			if v != nil {
35872				var encryptedCredential interface{}
35873				err = json.Unmarshal(*v, &encryptedCredential)
35874				if err != nil {
35875					return err
35876				}
35877				fslstp.EncryptedCredential = encryptedCredential
35878			}
35879		}
35880	}
35881
35882	return nil
35883}
35884
35885// FileShareDataset an on-premises file system dataset.
35886type FileShareDataset struct {
35887	// FileShareDatasetTypeProperties - On-premises file system dataset properties.
35888	*FileShareDatasetTypeProperties `json:"typeProperties,omitempty"`
35889	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
35890	AdditionalProperties map[string]interface{} `json:""`
35891	// Description - Dataset description.
35892	Description *string `json:"description,omitempty"`
35893	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
35894	Structure interface{} `json:"structure,omitempty"`
35895	// LinkedServiceName - Linked service reference.
35896	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
35897	// Parameters - Parameters for dataset.
35898	Parameters map[string]*ParameterSpecification `json:"parameters"`
35899	// Annotations - List of tags that can be used for describing the Dataset.
35900	Annotations *[]interface{} `json:"annotations,omitempty"`
35901	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
35902	Type TypeBasicDataset `json:"type,omitempty"`
35903}
35904
35905// MarshalJSON is the custom marshaler for FileShareDataset.
35906func (fsd FileShareDataset) MarshalJSON() ([]byte, error) {
35907	fsd.Type = TypeFileShare
35908	objectMap := make(map[string]interface{})
35909	if fsd.FileShareDatasetTypeProperties != nil {
35910		objectMap["typeProperties"] = fsd.FileShareDatasetTypeProperties
35911	}
35912	if fsd.Description != nil {
35913		objectMap["description"] = fsd.Description
35914	}
35915	if fsd.Structure != nil {
35916		objectMap["structure"] = fsd.Structure
35917	}
35918	if fsd.LinkedServiceName != nil {
35919		objectMap["linkedServiceName"] = fsd.LinkedServiceName
35920	}
35921	if fsd.Parameters != nil {
35922		objectMap["parameters"] = fsd.Parameters
35923	}
35924	if fsd.Annotations != nil {
35925		objectMap["annotations"] = fsd.Annotations
35926	}
35927	if fsd.Type != "" {
35928		objectMap["type"] = fsd.Type
35929	}
35930	for k, v := range fsd.AdditionalProperties {
35931		objectMap[k] = v
35932	}
35933	return json.Marshal(objectMap)
35934}
35935
35936// AsResponsysObjectDataset is the BasicDataset implementation for FileShareDataset.
35937func (fsd FileShareDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
35938	return nil, false
35939}
35940
35941// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for FileShareDataset.
35942func (fsd FileShareDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
35943	return nil, false
35944}
35945
35946// AsVerticaTableDataset is the BasicDataset implementation for FileShareDataset.
35947func (fsd FileShareDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
35948	return nil, false
35949}
35950
35951// AsNetezzaTableDataset is the BasicDataset implementation for FileShareDataset.
35952func (fsd FileShareDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
35953	return nil, false
35954}
35955
35956// AsZohoObjectDataset is the BasicDataset implementation for FileShareDataset.
35957func (fsd FileShareDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
35958	return nil, false
35959}
35960
35961// AsXeroObjectDataset is the BasicDataset implementation for FileShareDataset.
35962func (fsd FileShareDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
35963	return nil, false
35964}
35965
35966// AsSquareObjectDataset is the BasicDataset implementation for FileShareDataset.
35967func (fsd FileShareDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
35968	return nil, false
35969}
35970
35971// AsSparkObjectDataset is the BasicDataset implementation for FileShareDataset.
35972func (fsd FileShareDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
35973	return nil, false
35974}
35975
35976// AsShopifyObjectDataset is the BasicDataset implementation for FileShareDataset.
35977func (fsd FileShareDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
35978	return nil, false
35979}
35980
35981// AsServiceNowObjectDataset is the BasicDataset implementation for FileShareDataset.
35982func (fsd FileShareDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
35983	return nil, false
35984}
35985
35986// AsQuickBooksObjectDataset is the BasicDataset implementation for FileShareDataset.
35987func (fsd FileShareDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
35988	return nil, false
35989}
35990
35991// AsPrestoObjectDataset is the BasicDataset implementation for FileShareDataset.
35992func (fsd FileShareDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
35993	return nil, false
35994}
35995
35996// AsPhoenixObjectDataset is the BasicDataset implementation for FileShareDataset.
35997func (fsd FileShareDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
35998	return nil, false
35999}
36000
36001// AsPaypalObjectDataset is the BasicDataset implementation for FileShareDataset.
36002func (fsd FileShareDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
36003	return nil, false
36004}
36005
36006// AsMarketoObjectDataset is the BasicDataset implementation for FileShareDataset.
36007func (fsd FileShareDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
36008	return nil, false
36009}
36010
36011// AsMariaDBTableDataset is the BasicDataset implementation for FileShareDataset.
36012func (fsd FileShareDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
36013	return nil, false
36014}
36015
36016// AsMagentoObjectDataset is the BasicDataset implementation for FileShareDataset.
36017func (fsd FileShareDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
36018	return nil, false
36019}
36020
36021// AsJiraObjectDataset is the BasicDataset implementation for FileShareDataset.
36022func (fsd FileShareDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
36023	return nil, false
36024}
36025
36026// AsImpalaObjectDataset is the BasicDataset implementation for FileShareDataset.
36027func (fsd FileShareDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
36028	return nil, false
36029}
36030
36031// AsHubspotObjectDataset is the BasicDataset implementation for FileShareDataset.
36032func (fsd FileShareDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
36033	return nil, false
36034}
36035
36036// AsHiveObjectDataset is the BasicDataset implementation for FileShareDataset.
36037func (fsd FileShareDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
36038	return nil, false
36039}
36040
36041// AsHBaseObjectDataset is the BasicDataset implementation for FileShareDataset.
36042func (fsd FileShareDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
36043	return nil, false
36044}
36045
36046// AsGreenplumTableDataset is the BasicDataset implementation for FileShareDataset.
36047func (fsd FileShareDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
36048	return nil, false
36049}
36050
36051// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for FileShareDataset.
36052func (fsd FileShareDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
36053	return nil, false
36054}
36055
36056// AsEloquaObjectDataset is the BasicDataset implementation for FileShareDataset.
36057func (fsd FileShareDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
36058	return nil, false
36059}
36060
36061// AsDrillTableDataset is the BasicDataset implementation for FileShareDataset.
36062func (fsd FileShareDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
36063	return nil, false
36064}
36065
36066// AsCouchbaseTableDataset is the BasicDataset implementation for FileShareDataset.
36067func (fsd FileShareDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
36068	return nil, false
36069}
36070
36071// AsConcurObjectDataset is the BasicDataset implementation for FileShareDataset.
36072func (fsd FileShareDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
36073	return nil, false
36074}
36075
36076// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for FileShareDataset.
36077func (fsd FileShareDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
36078	return nil, false
36079}
36080
36081// AsAmazonMWSObjectDataset is the BasicDataset implementation for FileShareDataset.
36082func (fsd FileShareDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
36083	return nil, false
36084}
36085
36086// AsHTTPDataset is the BasicDataset implementation for FileShareDataset.
36087func (fsd FileShareDataset) AsHTTPDataset() (*HTTPDataset, bool) {
36088	return nil, false
36089}
36090
36091// AsAzureSearchIndexDataset is the BasicDataset implementation for FileShareDataset.
36092func (fsd FileShareDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
36093	return nil, false
36094}
36095
36096// AsWebTableDataset is the BasicDataset implementation for FileShareDataset.
36097func (fsd FileShareDataset) AsWebTableDataset() (*WebTableDataset, bool) {
36098	return nil, false
36099}
36100
36101// AsSQLServerTableDataset is the BasicDataset implementation for FileShareDataset.
36102func (fsd FileShareDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
36103	return nil, false
36104}
36105
36106// AsSapEccResourceDataset is the BasicDataset implementation for FileShareDataset.
36107func (fsd FileShareDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
36108	return nil, false
36109}
36110
36111// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for FileShareDataset.
36112func (fsd FileShareDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
36113	return nil, false
36114}
36115
36116// AsSalesforceObjectDataset is the BasicDataset implementation for FileShareDataset.
36117func (fsd FileShareDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
36118	return nil, false
36119}
36120
36121// AsRelationalTableDataset is the BasicDataset implementation for FileShareDataset.
36122func (fsd FileShareDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
36123	return nil, false
36124}
36125
36126// AsAzureMySQLTableDataset is the BasicDataset implementation for FileShareDataset.
36127func (fsd FileShareDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
36128	return nil, false
36129}
36130
36131// AsOracleTableDataset is the BasicDataset implementation for FileShareDataset.
36132func (fsd FileShareDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
36133	return nil, false
36134}
36135
36136// AsODataResourceDataset is the BasicDataset implementation for FileShareDataset.
36137func (fsd FileShareDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
36138	return nil, false
36139}
36140
36141// AsMongoDbCollectionDataset is the BasicDataset implementation for FileShareDataset.
36142func (fsd FileShareDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
36143	return nil, false
36144}
36145
36146// AsFileShareDataset is the BasicDataset implementation for FileShareDataset.
36147func (fsd FileShareDataset) AsFileShareDataset() (*FileShareDataset, bool) {
36148	return &fsd, true
36149}
36150
36151// AsAzureDataLakeStoreDataset is the BasicDataset implementation for FileShareDataset.
36152func (fsd FileShareDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
36153	return nil, false
36154}
36155
36156// AsDynamicsEntityDataset is the BasicDataset implementation for FileShareDataset.
36157func (fsd FileShareDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
36158	return nil, false
36159}
36160
36161// AsDocumentDbCollectionDataset is the BasicDataset implementation for FileShareDataset.
36162func (fsd FileShareDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
36163	return nil, false
36164}
36165
36166// AsCustomDataset is the BasicDataset implementation for FileShareDataset.
36167func (fsd FileShareDataset) AsCustomDataset() (*CustomDataset, bool) {
36168	return nil, false
36169}
36170
36171// AsCassandraTableDataset is the BasicDataset implementation for FileShareDataset.
36172func (fsd FileShareDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
36173	return nil, false
36174}
36175
36176// AsAzureSQLDWTableDataset is the BasicDataset implementation for FileShareDataset.
36177func (fsd FileShareDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
36178	return nil, false
36179}
36180
36181// AsAzureSQLTableDataset is the BasicDataset implementation for FileShareDataset.
36182func (fsd FileShareDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
36183	return nil, false
36184}
36185
36186// AsAzureTableDataset is the BasicDataset implementation for FileShareDataset.
36187func (fsd FileShareDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
36188	return nil, false
36189}
36190
36191// AsAzureBlobDataset is the BasicDataset implementation for FileShareDataset.
36192func (fsd FileShareDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
36193	return nil, false
36194}
36195
36196// AsAmazonS3Dataset is the BasicDataset implementation for FileShareDataset.
36197func (fsd FileShareDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
36198	return nil, false
36199}
36200
36201// AsDataset is the BasicDataset implementation for FileShareDataset.
36202func (fsd FileShareDataset) AsDataset() (*Dataset, bool) {
36203	return nil, false
36204}
36205
36206// AsBasicDataset is the BasicDataset implementation for FileShareDataset.
36207func (fsd FileShareDataset) AsBasicDataset() (BasicDataset, bool) {
36208	return &fsd, true
36209}
36210
36211// UnmarshalJSON is the custom unmarshaler for FileShareDataset struct.
36212func (fsd *FileShareDataset) UnmarshalJSON(body []byte) error {
36213	var m map[string]*json.RawMessage
36214	err := json.Unmarshal(body, &m)
36215	if err != nil {
36216		return err
36217	}
36218	for k, v := range m {
36219		switch k {
36220		case "typeProperties":
36221			if v != nil {
36222				var fileShareDatasetTypeProperties FileShareDatasetTypeProperties
36223				err = json.Unmarshal(*v, &fileShareDatasetTypeProperties)
36224				if err != nil {
36225					return err
36226				}
36227				fsd.FileShareDatasetTypeProperties = &fileShareDatasetTypeProperties
36228			}
36229		default:
36230			if v != nil {
36231				var additionalProperties interface{}
36232				err = json.Unmarshal(*v, &additionalProperties)
36233				if err != nil {
36234					return err
36235				}
36236				if fsd.AdditionalProperties == nil {
36237					fsd.AdditionalProperties = make(map[string]interface{})
36238				}
36239				fsd.AdditionalProperties[k] = additionalProperties
36240			}
36241		case "description":
36242			if v != nil {
36243				var description string
36244				err = json.Unmarshal(*v, &description)
36245				if err != nil {
36246					return err
36247				}
36248				fsd.Description = &description
36249			}
36250		case "structure":
36251			if v != nil {
36252				var structure interface{}
36253				err = json.Unmarshal(*v, &structure)
36254				if err != nil {
36255					return err
36256				}
36257				fsd.Structure = structure
36258			}
36259		case "linkedServiceName":
36260			if v != nil {
36261				var linkedServiceName LinkedServiceReference
36262				err = json.Unmarshal(*v, &linkedServiceName)
36263				if err != nil {
36264					return err
36265				}
36266				fsd.LinkedServiceName = &linkedServiceName
36267			}
36268		case "parameters":
36269			if v != nil {
36270				var parameters map[string]*ParameterSpecification
36271				err = json.Unmarshal(*v, &parameters)
36272				if err != nil {
36273					return err
36274				}
36275				fsd.Parameters = parameters
36276			}
36277		case "annotations":
36278			if v != nil {
36279				var annotations []interface{}
36280				err = json.Unmarshal(*v, &annotations)
36281				if err != nil {
36282					return err
36283				}
36284				fsd.Annotations = &annotations
36285			}
36286		case "type":
36287			if v != nil {
36288				var typeVar TypeBasicDataset
36289				err = json.Unmarshal(*v, &typeVar)
36290				if err != nil {
36291					return err
36292				}
36293				fsd.Type = typeVar
36294			}
36295		}
36296	}
36297
36298	return nil
36299}
36300
36301// FileShareDatasetTypeProperties on-premises file system dataset properties.
36302type FileShareDatasetTypeProperties struct {
36303	// FolderPath - The path of the on-premises file system. Type: string (or Expression with resultType string).
36304	FolderPath interface{} `json:"folderPath,omitempty"`
36305	// FileName - The name of the on-premises file system. Type: string (or Expression with resultType string).
36306	FileName interface{} `json:"fileName,omitempty"`
36307	// Format - The format of the files.
36308	Format BasicDatasetStorageFormat `json:"format,omitempty"`
36309	// FileFilter - Specify a filter to be used to select a subset of files in the folderPath rather than all files. Type: string (or Expression with resultType string).
36310	FileFilter interface{} `json:"fileFilter,omitempty"`
36311	// Compression - The data compression method used for the file system.
36312	Compression BasicDatasetCompression `json:"compression,omitempty"`
36313}
36314
36315// UnmarshalJSON is the custom unmarshaler for FileShareDatasetTypeProperties struct.
36316func (fsdtp *FileShareDatasetTypeProperties) UnmarshalJSON(body []byte) error {
36317	var m map[string]*json.RawMessage
36318	err := json.Unmarshal(body, &m)
36319	if err != nil {
36320		return err
36321	}
36322	for k, v := range m {
36323		switch k {
36324		case "folderPath":
36325			if v != nil {
36326				var folderPath interface{}
36327				err = json.Unmarshal(*v, &folderPath)
36328				if err != nil {
36329					return err
36330				}
36331				fsdtp.FolderPath = folderPath
36332			}
36333		case "fileName":
36334			if v != nil {
36335				var fileName interface{}
36336				err = json.Unmarshal(*v, &fileName)
36337				if err != nil {
36338					return err
36339				}
36340				fsdtp.FileName = fileName
36341			}
36342		case "format":
36343			if v != nil {
36344				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
36345				if err != nil {
36346					return err
36347				}
36348				fsdtp.Format = formatVar
36349			}
36350		case "fileFilter":
36351			if v != nil {
36352				var fileFilter interface{}
36353				err = json.Unmarshal(*v, &fileFilter)
36354				if err != nil {
36355					return err
36356				}
36357				fsdtp.FileFilter = fileFilter
36358			}
36359		case "compression":
36360			if v != nil {
36361				compression, err := unmarshalBasicDatasetCompression(*v)
36362				if err != nil {
36363					return err
36364				}
36365				fsdtp.Compression = compression
36366			}
36367		}
36368	}
36369
36370	return nil
36371}
36372
36373// FileSystemSink a copy activity file system sink.
36374type FileSystemSink struct {
36375	// CopyBehavior - The type of copy behavior for copy sink.
36376	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
36377	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36378	AdditionalProperties map[string]interface{} `json:""`
36379	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
36380	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
36381	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36382	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
36383	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
36384	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
36385	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36386	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
36387	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
36388	Type TypeBasicCopySink `json:"type,omitempty"`
36389}
36390
36391// MarshalJSON is the custom marshaler for FileSystemSink.
36392func (fss FileSystemSink) MarshalJSON() ([]byte, error) {
36393	fss.Type = TypeFileSystemSink
36394	objectMap := make(map[string]interface{})
36395	if fss.CopyBehavior != nil {
36396		objectMap["copyBehavior"] = fss.CopyBehavior
36397	}
36398	if fss.WriteBatchSize != nil {
36399		objectMap["writeBatchSize"] = fss.WriteBatchSize
36400	}
36401	if fss.WriteBatchTimeout != nil {
36402		objectMap["writeBatchTimeout"] = fss.WriteBatchTimeout
36403	}
36404	if fss.SinkRetryCount != nil {
36405		objectMap["sinkRetryCount"] = fss.SinkRetryCount
36406	}
36407	if fss.SinkRetryWait != nil {
36408		objectMap["sinkRetryWait"] = fss.SinkRetryWait
36409	}
36410	if fss.Type != "" {
36411		objectMap["type"] = fss.Type
36412	}
36413	for k, v := range fss.AdditionalProperties {
36414		objectMap[k] = v
36415	}
36416	return json.Marshal(objectMap)
36417}
36418
36419// AsSalesforceSink is the BasicCopySink implementation for FileSystemSink.
36420func (fss FileSystemSink) AsSalesforceSink() (*SalesforceSink, bool) {
36421	return nil, false
36422}
36423
36424// AsDynamicsSink is the BasicCopySink implementation for FileSystemSink.
36425func (fss FileSystemSink) AsDynamicsSink() (*DynamicsSink, bool) {
36426	return nil, false
36427}
36428
36429// AsOdbcSink is the BasicCopySink implementation for FileSystemSink.
36430func (fss FileSystemSink) AsOdbcSink() (*OdbcSink, bool) {
36431	return nil, false
36432}
36433
36434// AsAzureSearchIndexSink is the BasicCopySink implementation for FileSystemSink.
36435func (fss FileSystemSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
36436	return nil, false
36437}
36438
36439// AsAzureDataLakeStoreSink is the BasicCopySink implementation for FileSystemSink.
36440func (fss FileSystemSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
36441	return nil, false
36442}
36443
36444// AsOracleSink is the BasicCopySink implementation for FileSystemSink.
36445func (fss FileSystemSink) AsOracleSink() (*OracleSink, bool) {
36446	return nil, false
36447}
36448
36449// AsSQLDWSink is the BasicCopySink implementation for FileSystemSink.
36450func (fss FileSystemSink) AsSQLDWSink() (*SQLDWSink, bool) {
36451	return nil, false
36452}
36453
36454// AsSQLSink is the BasicCopySink implementation for FileSystemSink.
36455func (fss FileSystemSink) AsSQLSink() (*SQLSink, bool) {
36456	return nil, false
36457}
36458
36459// AsDocumentDbCollectionSink is the BasicCopySink implementation for FileSystemSink.
36460func (fss FileSystemSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
36461	return nil, false
36462}
36463
36464// AsFileSystemSink is the BasicCopySink implementation for FileSystemSink.
36465func (fss FileSystemSink) AsFileSystemSink() (*FileSystemSink, bool) {
36466	return &fss, true
36467}
36468
36469// AsBlobSink is the BasicCopySink implementation for FileSystemSink.
36470func (fss FileSystemSink) AsBlobSink() (*BlobSink, bool) {
36471	return nil, false
36472}
36473
36474// AsAzureTableSink is the BasicCopySink implementation for FileSystemSink.
36475func (fss FileSystemSink) AsAzureTableSink() (*AzureTableSink, bool) {
36476	return nil, false
36477}
36478
36479// AsAzureQueueSink is the BasicCopySink implementation for FileSystemSink.
36480func (fss FileSystemSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
36481	return nil, false
36482}
36483
36484// AsSapCloudForCustomerSink is the BasicCopySink implementation for FileSystemSink.
36485func (fss FileSystemSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
36486	return nil, false
36487}
36488
36489// AsCopySink is the BasicCopySink implementation for FileSystemSink.
36490func (fss FileSystemSink) AsCopySink() (*CopySink, bool) {
36491	return nil, false
36492}
36493
36494// AsBasicCopySink is the BasicCopySink implementation for FileSystemSink.
36495func (fss FileSystemSink) AsBasicCopySink() (BasicCopySink, bool) {
36496	return &fss, true
36497}
36498
36499// UnmarshalJSON is the custom unmarshaler for FileSystemSink struct.
36500func (fss *FileSystemSink) UnmarshalJSON(body []byte) error {
36501	var m map[string]*json.RawMessage
36502	err := json.Unmarshal(body, &m)
36503	if err != nil {
36504		return err
36505	}
36506	for k, v := range m {
36507		switch k {
36508		case "copyBehavior":
36509			if v != nil {
36510				var copyBehavior interface{}
36511				err = json.Unmarshal(*v, &copyBehavior)
36512				if err != nil {
36513					return err
36514				}
36515				fss.CopyBehavior = copyBehavior
36516			}
36517		default:
36518			if v != nil {
36519				var additionalProperties interface{}
36520				err = json.Unmarshal(*v, &additionalProperties)
36521				if err != nil {
36522					return err
36523				}
36524				if fss.AdditionalProperties == nil {
36525					fss.AdditionalProperties = make(map[string]interface{})
36526				}
36527				fss.AdditionalProperties[k] = additionalProperties
36528			}
36529		case "writeBatchSize":
36530			if v != nil {
36531				var writeBatchSize interface{}
36532				err = json.Unmarshal(*v, &writeBatchSize)
36533				if err != nil {
36534					return err
36535				}
36536				fss.WriteBatchSize = writeBatchSize
36537			}
36538		case "writeBatchTimeout":
36539			if v != nil {
36540				var writeBatchTimeout interface{}
36541				err = json.Unmarshal(*v, &writeBatchTimeout)
36542				if err != nil {
36543					return err
36544				}
36545				fss.WriteBatchTimeout = writeBatchTimeout
36546			}
36547		case "sinkRetryCount":
36548			if v != nil {
36549				var sinkRetryCount interface{}
36550				err = json.Unmarshal(*v, &sinkRetryCount)
36551				if err != nil {
36552					return err
36553				}
36554				fss.SinkRetryCount = sinkRetryCount
36555			}
36556		case "sinkRetryWait":
36557			if v != nil {
36558				var sinkRetryWait interface{}
36559				err = json.Unmarshal(*v, &sinkRetryWait)
36560				if err != nil {
36561					return err
36562				}
36563				fss.SinkRetryWait = sinkRetryWait
36564			}
36565		case "type":
36566			if v != nil {
36567				var typeVar TypeBasicCopySink
36568				err = json.Unmarshal(*v, &typeVar)
36569				if err != nil {
36570					return err
36571				}
36572				fss.Type = typeVar
36573			}
36574		}
36575	}
36576
36577	return nil
36578}
36579
36580// FileSystemSource a copy activity file system source.
36581type FileSystemSource struct {
36582	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
36583	Recursive interface{} `json:"recursive,omitempty"`
36584	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36585	AdditionalProperties map[string]interface{} `json:""`
36586	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
36587	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
36588	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36589	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
36590	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
36591	Type TypeBasicCopySource `json:"type,omitempty"`
36592}
36593
36594// MarshalJSON is the custom marshaler for FileSystemSource.
36595func (fss FileSystemSource) MarshalJSON() ([]byte, error) {
36596	fss.Type = TypeFileSystemSource
36597	objectMap := make(map[string]interface{})
36598	if fss.Recursive != nil {
36599		objectMap["recursive"] = fss.Recursive
36600	}
36601	if fss.SourceRetryCount != nil {
36602		objectMap["sourceRetryCount"] = fss.SourceRetryCount
36603	}
36604	if fss.SourceRetryWait != nil {
36605		objectMap["sourceRetryWait"] = fss.SourceRetryWait
36606	}
36607	if fss.Type != "" {
36608		objectMap["type"] = fss.Type
36609	}
36610	for k, v := range fss.AdditionalProperties {
36611		objectMap[k] = v
36612	}
36613	return json.Marshal(objectMap)
36614}
36615
36616// AsAmazonRedshiftSource is the BasicCopySource implementation for FileSystemSource.
36617func (fss FileSystemSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
36618	return nil, false
36619}
36620
36621// AsResponsysSource is the BasicCopySource implementation for FileSystemSource.
36622func (fss FileSystemSource) AsResponsysSource() (*ResponsysSource, bool) {
36623	return nil, false
36624}
36625
36626// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for FileSystemSource.
36627func (fss FileSystemSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
36628	return nil, false
36629}
36630
36631// AsVerticaSource is the BasicCopySource implementation for FileSystemSource.
36632func (fss FileSystemSource) AsVerticaSource() (*VerticaSource, bool) {
36633	return nil, false
36634}
36635
36636// AsNetezzaSource is the BasicCopySource implementation for FileSystemSource.
36637func (fss FileSystemSource) AsNetezzaSource() (*NetezzaSource, bool) {
36638	return nil, false
36639}
36640
36641// AsZohoSource is the BasicCopySource implementation for FileSystemSource.
36642func (fss FileSystemSource) AsZohoSource() (*ZohoSource, bool) {
36643	return nil, false
36644}
36645
36646// AsXeroSource is the BasicCopySource implementation for FileSystemSource.
36647func (fss FileSystemSource) AsXeroSource() (*XeroSource, bool) {
36648	return nil, false
36649}
36650
36651// AsSquareSource is the BasicCopySource implementation for FileSystemSource.
36652func (fss FileSystemSource) AsSquareSource() (*SquareSource, bool) {
36653	return nil, false
36654}
36655
36656// AsSparkSource is the BasicCopySource implementation for FileSystemSource.
36657func (fss FileSystemSource) AsSparkSource() (*SparkSource, bool) {
36658	return nil, false
36659}
36660
36661// AsShopifySource is the BasicCopySource implementation for FileSystemSource.
36662func (fss FileSystemSource) AsShopifySource() (*ShopifySource, bool) {
36663	return nil, false
36664}
36665
36666// AsServiceNowSource is the BasicCopySource implementation for FileSystemSource.
36667func (fss FileSystemSource) AsServiceNowSource() (*ServiceNowSource, bool) {
36668	return nil, false
36669}
36670
36671// AsQuickBooksSource is the BasicCopySource implementation for FileSystemSource.
36672func (fss FileSystemSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
36673	return nil, false
36674}
36675
36676// AsPrestoSource is the BasicCopySource implementation for FileSystemSource.
36677func (fss FileSystemSource) AsPrestoSource() (*PrestoSource, bool) {
36678	return nil, false
36679}
36680
36681// AsPhoenixSource is the BasicCopySource implementation for FileSystemSource.
36682func (fss FileSystemSource) AsPhoenixSource() (*PhoenixSource, bool) {
36683	return nil, false
36684}
36685
36686// AsPaypalSource is the BasicCopySource implementation for FileSystemSource.
36687func (fss FileSystemSource) AsPaypalSource() (*PaypalSource, bool) {
36688	return nil, false
36689}
36690
36691// AsMarketoSource is the BasicCopySource implementation for FileSystemSource.
36692func (fss FileSystemSource) AsMarketoSource() (*MarketoSource, bool) {
36693	return nil, false
36694}
36695
36696// AsMariaDBSource is the BasicCopySource implementation for FileSystemSource.
36697func (fss FileSystemSource) AsMariaDBSource() (*MariaDBSource, bool) {
36698	return nil, false
36699}
36700
36701// AsMagentoSource is the BasicCopySource implementation for FileSystemSource.
36702func (fss FileSystemSource) AsMagentoSource() (*MagentoSource, bool) {
36703	return nil, false
36704}
36705
36706// AsJiraSource is the BasicCopySource implementation for FileSystemSource.
36707func (fss FileSystemSource) AsJiraSource() (*JiraSource, bool) {
36708	return nil, false
36709}
36710
36711// AsImpalaSource is the BasicCopySource implementation for FileSystemSource.
36712func (fss FileSystemSource) AsImpalaSource() (*ImpalaSource, bool) {
36713	return nil, false
36714}
36715
36716// AsHubspotSource is the BasicCopySource implementation for FileSystemSource.
36717func (fss FileSystemSource) AsHubspotSource() (*HubspotSource, bool) {
36718	return nil, false
36719}
36720
36721// AsHiveSource is the BasicCopySource implementation for FileSystemSource.
36722func (fss FileSystemSource) AsHiveSource() (*HiveSource, bool) {
36723	return nil, false
36724}
36725
36726// AsHBaseSource is the BasicCopySource implementation for FileSystemSource.
36727func (fss FileSystemSource) AsHBaseSource() (*HBaseSource, bool) {
36728	return nil, false
36729}
36730
36731// AsGreenplumSource is the BasicCopySource implementation for FileSystemSource.
36732func (fss FileSystemSource) AsGreenplumSource() (*GreenplumSource, bool) {
36733	return nil, false
36734}
36735
36736// AsGoogleBigQuerySource is the BasicCopySource implementation for FileSystemSource.
36737func (fss FileSystemSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
36738	return nil, false
36739}
36740
36741// AsEloquaSource is the BasicCopySource implementation for FileSystemSource.
36742func (fss FileSystemSource) AsEloquaSource() (*EloquaSource, bool) {
36743	return nil, false
36744}
36745
36746// AsDrillSource is the BasicCopySource implementation for FileSystemSource.
36747func (fss FileSystemSource) AsDrillSource() (*DrillSource, bool) {
36748	return nil, false
36749}
36750
36751// AsCouchbaseSource is the BasicCopySource implementation for FileSystemSource.
36752func (fss FileSystemSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
36753	return nil, false
36754}
36755
36756// AsConcurSource is the BasicCopySource implementation for FileSystemSource.
36757func (fss FileSystemSource) AsConcurSource() (*ConcurSource, bool) {
36758	return nil, false
36759}
36760
36761// AsAzurePostgreSQLSource is the BasicCopySource implementation for FileSystemSource.
36762func (fss FileSystemSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
36763	return nil, false
36764}
36765
36766// AsAmazonMWSSource is the BasicCopySource implementation for FileSystemSource.
36767func (fss FileSystemSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
36768	return nil, false
36769}
36770
36771// AsHTTPSource is the BasicCopySource implementation for FileSystemSource.
36772func (fss FileSystemSource) AsHTTPSource() (*HTTPSource, bool) {
36773	return nil, false
36774}
36775
36776// AsAzureDataLakeStoreSource is the BasicCopySource implementation for FileSystemSource.
36777func (fss FileSystemSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
36778	return nil, false
36779}
36780
36781// AsMongoDbSource is the BasicCopySource implementation for FileSystemSource.
36782func (fss FileSystemSource) AsMongoDbSource() (*MongoDbSource, bool) {
36783	return nil, false
36784}
36785
36786// AsCassandraSource is the BasicCopySource implementation for FileSystemSource.
36787func (fss FileSystemSource) AsCassandraSource() (*CassandraSource, bool) {
36788	return nil, false
36789}
36790
36791// AsWebSource is the BasicCopySource implementation for FileSystemSource.
36792func (fss FileSystemSource) AsWebSource() (*WebSource, bool) {
36793	return nil, false
36794}
36795
36796// AsOracleSource is the BasicCopySource implementation for FileSystemSource.
36797func (fss FileSystemSource) AsOracleSource() (*OracleSource, bool) {
36798	return nil, false
36799}
36800
36801// AsAzureMySQLSource is the BasicCopySource implementation for FileSystemSource.
36802func (fss FileSystemSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
36803	return nil, false
36804}
36805
36806// AsHdfsSource is the BasicCopySource implementation for FileSystemSource.
36807func (fss FileSystemSource) AsHdfsSource() (*HdfsSource, bool) {
36808	return nil, false
36809}
36810
36811// AsFileSystemSource is the BasicCopySource implementation for FileSystemSource.
36812func (fss FileSystemSource) AsFileSystemSource() (*FileSystemSource, bool) {
36813	return &fss, true
36814}
36815
36816// AsSQLDWSource is the BasicCopySource implementation for FileSystemSource.
36817func (fss FileSystemSource) AsSQLDWSource() (*SQLDWSource, bool) {
36818	return nil, false
36819}
36820
36821// AsSQLSource is the BasicCopySource implementation for FileSystemSource.
36822func (fss FileSystemSource) AsSQLSource() (*SQLSource, bool) {
36823	return nil, false
36824}
36825
36826// AsSapEccSource is the BasicCopySource implementation for FileSystemSource.
36827func (fss FileSystemSource) AsSapEccSource() (*SapEccSource, bool) {
36828	return nil, false
36829}
36830
36831// AsSapCloudForCustomerSource is the BasicCopySource implementation for FileSystemSource.
36832func (fss FileSystemSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
36833	return nil, false
36834}
36835
36836// AsSalesforceSource is the BasicCopySource implementation for FileSystemSource.
36837func (fss FileSystemSource) AsSalesforceSource() (*SalesforceSource, bool) {
36838	return nil, false
36839}
36840
36841// AsRelationalSource is the BasicCopySource implementation for FileSystemSource.
36842func (fss FileSystemSource) AsRelationalSource() (*RelationalSource, bool) {
36843	return nil, false
36844}
36845
36846// AsDynamicsSource is the BasicCopySource implementation for FileSystemSource.
36847func (fss FileSystemSource) AsDynamicsSource() (*DynamicsSource, bool) {
36848	return nil, false
36849}
36850
36851// AsDocumentDbCollectionSource is the BasicCopySource implementation for FileSystemSource.
36852func (fss FileSystemSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
36853	return nil, false
36854}
36855
36856// AsBlobSource is the BasicCopySource implementation for FileSystemSource.
36857func (fss FileSystemSource) AsBlobSource() (*BlobSource, bool) {
36858	return nil, false
36859}
36860
36861// AsAzureTableSource is the BasicCopySource implementation for FileSystemSource.
36862func (fss FileSystemSource) AsAzureTableSource() (*AzureTableSource, bool) {
36863	return nil, false
36864}
36865
36866// AsCopySource is the BasicCopySource implementation for FileSystemSource.
36867func (fss FileSystemSource) AsCopySource() (*CopySource, bool) {
36868	return nil, false
36869}
36870
36871// AsBasicCopySource is the BasicCopySource implementation for FileSystemSource.
36872func (fss FileSystemSource) AsBasicCopySource() (BasicCopySource, bool) {
36873	return &fss, true
36874}
36875
36876// UnmarshalJSON is the custom unmarshaler for FileSystemSource struct.
36877func (fss *FileSystemSource) UnmarshalJSON(body []byte) error {
36878	var m map[string]*json.RawMessage
36879	err := json.Unmarshal(body, &m)
36880	if err != nil {
36881		return err
36882	}
36883	for k, v := range m {
36884		switch k {
36885		case "recursive":
36886			if v != nil {
36887				var recursive interface{}
36888				err = json.Unmarshal(*v, &recursive)
36889				if err != nil {
36890					return err
36891				}
36892				fss.Recursive = recursive
36893			}
36894		default:
36895			if v != nil {
36896				var additionalProperties interface{}
36897				err = json.Unmarshal(*v, &additionalProperties)
36898				if err != nil {
36899					return err
36900				}
36901				if fss.AdditionalProperties == nil {
36902					fss.AdditionalProperties = make(map[string]interface{})
36903				}
36904				fss.AdditionalProperties[k] = additionalProperties
36905			}
36906		case "sourceRetryCount":
36907			if v != nil {
36908				var sourceRetryCount interface{}
36909				err = json.Unmarshal(*v, &sourceRetryCount)
36910				if err != nil {
36911					return err
36912				}
36913				fss.SourceRetryCount = sourceRetryCount
36914			}
36915		case "sourceRetryWait":
36916			if v != nil {
36917				var sourceRetryWait interface{}
36918				err = json.Unmarshal(*v, &sourceRetryWait)
36919				if err != nil {
36920					return err
36921				}
36922				fss.SourceRetryWait = sourceRetryWait
36923			}
36924		case "type":
36925			if v != nil {
36926				var typeVar TypeBasicCopySource
36927				err = json.Unmarshal(*v, &typeVar)
36928				if err != nil {
36929					return err
36930				}
36931				fss.Type = typeVar
36932			}
36933		}
36934	}
36935
36936	return nil
36937}
36938
36939// FilterActivity filter and return results from input array based on the conditions.
36940type FilterActivity struct {
36941	// FilterActivityTypeProperties - Filter activity properties.
36942	*FilterActivityTypeProperties `json:"typeProperties,omitempty"`
36943	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36944	AdditionalProperties map[string]interface{} `json:""`
36945	// Name - Activity name.
36946	Name *string `json:"name,omitempty"`
36947	// Description - Activity description.
36948	Description *string `json:"description,omitempty"`
36949	// DependsOn - Activity depends on condition.
36950	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
36951	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
36952	Type TypeBasicActivity `json:"type,omitempty"`
36953}
36954
36955// MarshalJSON is the custom marshaler for FilterActivity.
36956func (fa FilterActivity) MarshalJSON() ([]byte, error) {
36957	fa.Type = TypeFilter
36958	objectMap := make(map[string]interface{})
36959	if fa.FilterActivityTypeProperties != nil {
36960		objectMap["typeProperties"] = fa.FilterActivityTypeProperties
36961	}
36962	if fa.Name != nil {
36963		objectMap["name"] = fa.Name
36964	}
36965	if fa.Description != nil {
36966		objectMap["description"] = fa.Description
36967	}
36968	if fa.DependsOn != nil {
36969		objectMap["dependsOn"] = fa.DependsOn
36970	}
36971	if fa.Type != "" {
36972		objectMap["type"] = fa.Type
36973	}
36974	for k, v := range fa.AdditionalProperties {
36975		objectMap[k] = v
36976	}
36977	return json.Marshal(objectMap)
36978}
36979
36980// AsDatabricksNotebookActivity is the BasicActivity implementation for FilterActivity.
36981func (fa FilterActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
36982	return nil, false
36983}
36984
36985// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for FilterActivity.
36986func (fa FilterActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
36987	return nil, false
36988}
36989
36990// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for FilterActivity.
36991func (fa FilterActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
36992	return nil, false
36993}
36994
36995// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for FilterActivity.
36996func (fa FilterActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
36997	return nil, false
36998}
36999
37000// AsGetMetadataActivity is the BasicActivity implementation for FilterActivity.
37001func (fa FilterActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
37002	return nil, false
37003}
37004
37005// AsWebActivity is the BasicActivity implementation for FilterActivity.
37006func (fa FilterActivity) AsWebActivity() (*WebActivity, bool) {
37007	return nil, false
37008}
37009
37010// AsLookupActivity is the BasicActivity implementation for FilterActivity.
37011func (fa FilterActivity) AsLookupActivity() (*LookupActivity, bool) {
37012	return nil, false
37013}
37014
37015// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for FilterActivity.
37016func (fa FilterActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
37017	return nil, false
37018}
37019
37020// AsCustomActivity is the BasicActivity implementation for FilterActivity.
37021func (fa FilterActivity) AsCustomActivity() (*CustomActivity, bool) {
37022	return nil, false
37023}
37024
37025// AsExecuteSSISPackageActivity is the BasicActivity implementation for FilterActivity.
37026func (fa FilterActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
37027	return nil, false
37028}
37029
37030// AsHDInsightSparkActivity is the BasicActivity implementation for FilterActivity.
37031func (fa FilterActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
37032	return nil, false
37033}
37034
37035// AsHDInsightStreamingActivity is the BasicActivity implementation for FilterActivity.
37036func (fa FilterActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
37037	return nil, false
37038}
37039
37040// AsHDInsightMapReduceActivity is the BasicActivity implementation for FilterActivity.
37041func (fa FilterActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
37042	return nil, false
37043}
37044
37045// AsHDInsightPigActivity is the BasicActivity implementation for FilterActivity.
37046func (fa FilterActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
37047	return nil, false
37048}
37049
37050// AsHDInsightHiveActivity is the BasicActivity implementation for FilterActivity.
37051func (fa FilterActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
37052	return nil, false
37053}
37054
37055// AsCopyActivity is the BasicActivity implementation for FilterActivity.
37056func (fa FilterActivity) AsCopyActivity() (*CopyActivity, bool) {
37057	return nil, false
37058}
37059
37060// AsExecutionActivity is the BasicActivity implementation for FilterActivity.
37061func (fa FilterActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
37062	return nil, false
37063}
37064
37065// AsBasicExecutionActivity is the BasicActivity implementation for FilterActivity.
37066func (fa FilterActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
37067	return nil, false
37068}
37069
37070// AsFilterActivity is the BasicActivity implementation for FilterActivity.
37071func (fa FilterActivity) AsFilterActivity() (*FilterActivity, bool) {
37072	return &fa, true
37073}
37074
37075// AsUntilActivity is the BasicActivity implementation for FilterActivity.
37076func (fa FilterActivity) AsUntilActivity() (*UntilActivity, bool) {
37077	return nil, false
37078}
37079
37080// AsWaitActivity is the BasicActivity implementation for FilterActivity.
37081func (fa FilterActivity) AsWaitActivity() (*WaitActivity, bool) {
37082	return nil, false
37083}
37084
37085// AsForEachActivity is the BasicActivity implementation for FilterActivity.
37086func (fa FilterActivity) AsForEachActivity() (*ForEachActivity, bool) {
37087	return nil, false
37088}
37089
37090// AsIfConditionActivity is the BasicActivity implementation for FilterActivity.
37091func (fa FilterActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
37092	return nil, false
37093}
37094
37095// AsExecutePipelineActivity is the BasicActivity implementation for FilterActivity.
37096func (fa FilterActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
37097	return nil, false
37098}
37099
37100// AsControlActivity is the BasicActivity implementation for FilterActivity.
37101func (fa FilterActivity) AsControlActivity() (*ControlActivity, bool) {
37102	return nil, false
37103}
37104
37105// AsBasicControlActivity is the BasicActivity implementation for FilterActivity.
37106func (fa FilterActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
37107	return &fa, true
37108}
37109
37110// AsActivity is the BasicActivity implementation for FilterActivity.
37111func (fa FilterActivity) AsActivity() (*Activity, bool) {
37112	return nil, false
37113}
37114
37115// AsBasicActivity is the BasicActivity implementation for FilterActivity.
37116func (fa FilterActivity) AsBasicActivity() (BasicActivity, bool) {
37117	return &fa, true
37118}
37119
37120// UnmarshalJSON is the custom unmarshaler for FilterActivity struct.
37121func (fa *FilterActivity) UnmarshalJSON(body []byte) error {
37122	var m map[string]*json.RawMessage
37123	err := json.Unmarshal(body, &m)
37124	if err != nil {
37125		return err
37126	}
37127	for k, v := range m {
37128		switch k {
37129		case "typeProperties":
37130			if v != nil {
37131				var filterActivityTypeProperties FilterActivityTypeProperties
37132				err = json.Unmarshal(*v, &filterActivityTypeProperties)
37133				if err != nil {
37134					return err
37135				}
37136				fa.FilterActivityTypeProperties = &filterActivityTypeProperties
37137			}
37138		default:
37139			if v != nil {
37140				var additionalProperties interface{}
37141				err = json.Unmarshal(*v, &additionalProperties)
37142				if err != nil {
37143					return err
37144				}
37145				if fa.AdditionalProperties == nil {
37146					fa.AdditionalProperties = make(map[string]interface{})
37147				}
37148				fa.AdditionalProperties[k] = additionalProperties
37149			}
37150		case "name":
37151			if v != nil {
37152				var name string
37153				err = json.Unmarshal(*v, &name)
37154				if err != nil {
37155					return err
37156				}
37157				fa.Name = &name
37158			}
37159		case "description":
37160			if v != nil {
37161				var description string
37162				err = json.Unmarshal(*v, &description)
37163				if err != nil {
37164					return err
37165				}
37166				fa.Description = &description
37167			}
37168		case "dependsOn":
37169			if v != nil {
37170				var dependsOn []ActivityDependency
37171				err = json.Unmarshal(*v, &dependsOn)
37172				if err != nil {
37173					return err
37174				}
37175				fa.DependsOn = &dependsOn
37176			}
37177		case "type":
37178			if v != nil {
37179				var typeVar TypeBasicActivity
37180				err = json.Unmarshal(*v, &typeVar)
37181				if err != nil {
37182					return err
37183				}
37184				fa.Type = typeVar
37185			}
37186		}
37187	}
37188
37189	return nil
37190}
37191
37192// FilterActivityTypeProperties filter activity properties.
37193type FilterActivityTypeProperties struct {
37194	// Items - Input array on which filter should be applied.
37195	Items *Expression `json:"items,omitempty"`
37196	// Condition - Condition to be used for filtering the input.
37197	Condition *Expression `json:"condition,omitempty"`
37198}
37199
37200// ForEachActivity this activity is used for iterating over a collection and execute given activities.
37201type ForEachActivity struct {
37202	// ForEachActivityTypeProperties - ForEach activity properties.
37203	*ForEachActivityTypeProperties `json:"typeProperties,omitempty"`
37204	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
37205	AdditionalProperties map[string]interface{} `json:""`
37206	// Name - Activity name.
37207	Name *string `json:"name,omitempty"`
37208	// Description - Activity description.
37209	Description *string `json:"description,omitempty"`
37210	// DependsOn - Activity depends on condition.
37211	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
37212	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
37213	Type TypeBasicActivity `json:"type,omitempty"`
37214}
37215
37216// MarshalJSON is the custom marshaler for ForEachActivity.
37217func (fea ForEachActivity) MarshalJSON() ([]byte, error) {
37218	fea.Type = TypeForEach
37219	objectMap := make(map[string]interface{})
37220	if fea.ForEachActivityTypeProperties != nil {
37221		objectMap["typeProperties"] = fea.ForEachActivityTypeProperties
37222	}
37223	if fea.Name != nil {
37224		objectMap["name"] = fea.Name
37225	}
37226	if fea.Description != nil {
37227		objectMap["description"] = fea.Description
37228	}
37229	if fea.DependsOn != nil {
37230		objectMap["dependsOn"] = fea.DependsOn
37231	}
37232	if fea.Type != "" {
37233		objectMap["type"] = fea.Type
37234	}
37235	for k, v := range fea.AdditionalProperties {
37236		objectMap[k] = v
37237	}
37238	return json.Marshal(objectMap)
37239}
37240
37241// AsDatabricksNotebookActivity is the BasicActivity implementation for ForEachActivity.
37242func (fea ForEachActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
37243	return nil, false
37244}
37245
37246// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ForEachActivity.
37247func (fea ForEachActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
37248	return nil, false
37249}
37250
37251// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ForEachActivity.
37252func (fea ForEachActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
37253	return nil, false
37254}
37255
37256// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ForEachActivity.
37257func (fea ForEachActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
37258	return nil, false
37259}
37260
37261// AsGetMetadataActivity is the BasicActivity implementation for ForEachActivity.
37262func (fea ForEachActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
37263	return nil, false
37264}
37265
37266// AsWebActivity is the BasicActivity implementation for ForEachActivity.
37267func (fea ForEachActivity) AsWebActivity() (*WebActivity, bool) {
37268	return nil, false
37269}
37270
37271// AsLookupActivity is the BasicActivity implementation for ForEachActivity.
37272func (fea ForEachActivity) AsLookupActivity() (*LookupActivity, bool) {
37273	return nil, false
37274}
37275
37276// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ForEachActivity.
37277func (fea ForEachActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
37278	return nil, false
37279}
37280
37281// AsCustomActivity is the BasicActivity implementation for ForEachActivity.
37282func (fea ForEachActivity) AsCustomActivity() (*CustomActivity, bool) {
37283	return nil, false
37284}
37285
37286// AsExecuteSSISPackageActivity is the BasicActivity implementation for ForEachActivity.
37287func (fea ForEachActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
37288	return nil, false
37289}
37290
37291// AsHDInsightSparkActivity is the BasicActivity implementation for ForEachActivity.
37292func (fea ForEachActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
37293	return nil, false
37294}
37295
37296// AsHDInsightStreamingActivity is the BasicActivity implementation for ForEachActivity.
37297func (fea ForEachActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
37298	return nil, false
37299}
37300
37301// AsHDInsightMapReduceActivity is the BasicActivity implementation for ForEachActivity.
37302func (fea ForEachActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
37303	return nil, false
37304}
37305
37306// AsHDInsightPigActivity is the BasicActivity implementation for ForEachActivity.
37307func (fea ForEachActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
37308	return nil, false
37309}
37310
37311// AsHDInsightHiveActivity is the BasicActivity implementation for ForEachActivity.
37312func (fea ForEachActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
37313	return nil, false
37314}
37315
37316// AsCopyActivity is the BasicActivity implementation for ForEachActivity.
37317func (fea ForEachActivity) AsCopyActivity() (*CopyActivity, bool) {
37318	return nil, false
37319}
37320
37321// AsExecutionActivity is the BasicActivity implementation for ForEachActivity.
37322func (fea ForEachActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
37323	return nil, false
37324}
37325
37326// AsBasicExecutionActivity is the BasicActivity implementation for ForEachActivity.
37327func (fea ForEachActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
37328	return nil, false
37329}
37330
37331// AsFilterActivity is the BasicActivity implementation for ForEachActivity.
37332func (fea ForEachActivity) AsFilterActivity() (*FilterActivity, bool) {
37333	return nil, false
37334}
37335
37336// AsUntilActivity is the BasicActivity implementation for ForEachActivity.
37337func (fea ForEachActivity) AsUntilActivity() (*UntilActivity, bool) {
37338	return nil, false
37339}
37340
37341// AsWaitActivity is the BasicActivity implementation for ForEachActivity.
37342func (fea ForEachActivity) AsWaitActivity() (*WaitActivity, bool) {
37343	return nil, false
37344}
37345
37346// AsForEachActivity is the BasicActivity implementation for ForEachActivity.
37347func (fea ForEachActivity) AsForEachActivity() (*ForEachActivity, bool) {
37348	return &fea, true
37349}
37350
37351// AsIfConditionActivity is the BasicActivity implementation for ForEachActivity.
37352func (fea ForEachActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
37353	return nil, false
37354}
37355
37356// AsExecutePipelineActivity is the BasicActivity implementation for ForEachActivity.
37357func (fea ForEachActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
37358	return nil, false
37359}
37360
37361// AsControlActivity is the BasicActivity implementation for ForEachActivity.
37362func (fea ForEachActivity) AsControlActivity() (*ControlActivity, bool) {
37363	return nil, false
37364}
37365
37366// AsBasicControlActivity is the BasicActivity implementation for ForEachActivity.
37367func (fea ForEachActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
37368	return &fea, true
37369}
37370
37371// AsActivity is the BasicActivity implementation for ForEachActivity.
37372func (fea ForEachActivity) AsActivity() (*Activity, bool) {
37373	return nil, false
37374}
37375
37376// AsBasicActivity is the BasicActivity implementation for ForEachActivity.
37377func (fea ForEachActivity) AsBasicActivity() (BasicActivity, bool) {
37378	return &fea, true
37379}
37380
37381// UnmarshalJSON is the custom unmarshaler for ForEachActivity struct.
37382func (fea *ForEachActivity) UnmarshalJSON(body []byte) error {
37383	var m map[string]*json.RawMessage
37384	err := json.Unmarshal(body, &m)
37385	if err != nil {
37386		return err
37387	}
37388	for k, v := range m {
37389		switch k {
37390		case "typeProperties":
37391			if v != nil {
37392				var forEachActivityTypeProperties ForEachActivityTypeProperties
37393				err = json.Unmarshal(*v, &forEachActivityTypeProperties)
37394				if err != nil {
37395					return err
37396				}
37397				fea.ForEachActivityTypeProperties = &forEachActivityTypeProperties
37398			}
37399		default:
37400			if v != nil {
37401				var additionalProperties interface{}
37402				err = json.Unmarshal(*v, &additionalProperties)
37403				if err != nil {
37404					return err
37405				}
37406				if fea.AdditionalProperties == nil {
37407					fea.AdditionalProperties = make(map[string]interface{})
37408				}
37409				fea.AdditionalProperties[k] = additionalProperties
37410			}
37411		case "name":
37412			if v != nil {
37413				var name string
37414				err = json.Unmarshal(*v, &name)
37415				if err != nil {
37416					return err
37417				}
37418				fea.Name = &name
37419			}
37420		case "description":
37421			if v != nil {
37422				var description string
37423				err = json.Unmarshal(*v, &description)
37424				if err != nil {
37425					return err
37426				}
37427				fea.Description = &description
37428			}
37429		case "dependsOn":
37430			if v != nil {
37431				var dependsOn []ActivityDependency
37432				err = json.Unmarshal(*v, &dependsOn)
37433				if err != nil {
37434					return err
37435				}
37436				fea.DependsOn = &dependsOn
37437			}
37438		case "type":
37439			if v != nil {
37440				var typeVar TypeBasicActivity
37441				err = json.Unmarshal(*v, &typeVar)
37442				if err != nil {
37443					return err
37444				}
37445				fea.Type = typeVar
37446			}
37447		}
37448	}
37449
37450	return nil
37451}
37452
37453// ForEachActivityTypeProperties forEach activity properties.
37454type ForEachActivityTypeProperties struct {
37455	// IsSequential - Should the loop be executed in sequence or in parallel (max 50)
37456	IsSequential *bool `json:"isSequential,omitempty"`
37457	// BatchCount - Batch count to be used for controlling the number of parallel execution (when isSequential is set to false).
37458	BatchCount *int32 `json:"batchCount,omitempty"`
37459	// Items - Collection to iterate.
37460	Items *Expression `json:"items,omitempty"`
37461	// Activities - List of activities to execute .
37462	Activities *[]BasicActivity `json:"activities,omitempty"`
37463}
37464
37465// UnmarshalJSON is the custom unmarshaler for ForEachActivityTypeProperties struct.
37466func (featp *ForEachActivityTypeProperties) UnmarshalJSON(body []byte) error {
37467	var m map[string]*json.RawMessage
37468	err := json.Unmarshal(body, &m)
37469	if err != nil {
37470		return err
37471	}
37472	for k, v := range m {
37473		switch k {
37474		case "isSequential":
37475			if v != nil {
37476				var isSequential bool
37477				err = json.Unmarshal(*v, &isSequential)
37478				if err != nil {
37479					return err
37480				}
37481				featp.IsSequential = &isSequential
37482			}
37483		case "batchCount":
37484			if v != nil {
37485				var batchCount int32
37486				err = json.Unmarshal(*v, &batchCount)
37487				if err != nil {
37488					return err
37489				}
37490				featp.BatchCount = &batchCount
37491			}
37492		case "items":
37493			if v != nil {
37494				var items Expression
37495				err = json.Unmarshal(*v, &items)
37496				if err != nil {
37497					return err
37498				}
37499				featp.Items = &items
37500			}
37501		case "activities":
37502			if v != nil {
37503				activities, err := unmarshalBasicActivityArray(*v)
37504				if err != nil {
37505					return err
37506				}
37507				featp.Activities = &activities
37508			}
37509		}
37510	}
37511
37512	return nil
37513}
37514
37515// FtpServerLinkedService a FTP server Linked Service.
37516type FtpServerLinkedService struct {
37517	// FtpServerLinkedServiceTypeProperties - Properties specific to this linked service type.
37518	*FtpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
37519	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
37520	AdditionalProperties map[string]interface{} `json:""`
37521	// ConnectVia - The integration runtime reference.
37522	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
37523	// Description - Linked service description.
37524	Description *string `json:"description,omitempty"`
37525	// Parameters - Parameters for linked service.
37526	Parameters map[string]*ParameterSpecification `json:"parameters"`
37527	// Annotations - List of tags that can be used for describing the Dataset.
37528	Annotations *[]interface{} `json:"annotations,omitempty"`
37529	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
37530	Type TypeBasicLinkedService `json:"type,omitempty"`
37531}
37532
37533// MarshalJSON is the custom marshaler for FtpServerLinkedService.
37534func (fsls FtpServerLinkedService) MarshalJSON() ([]byte, error) {
37535	fsls.Type = TypeFtpServer
37536	objectMap := make(map[string]interface{})
37537	if fsls.FtpServerLinkedServiceTypeProperties != nil {
37538		objectMap["typeProperties"] = fsls.FtpServerLinkedServiceTypeProperties
37539	}
37540	if fsls.ConnectVia != nil {
37541		objectMap["connectVia"] = fsls.ConnectVia
37542	}
37543	if fsls.Description != nil {
37544		objectMap["description"] = fsls.Description
37545	}
37546	if fsls.Parameters != nil {
37547		objectMap["parameters"] = fsls.Parameters
37548	}
37549	if fsls.Annotations != nil {
37550		objectMap["annotations"] = fsls.Annotations
37551	}
37552	if fsls.Type != "" {
37553		objectMap["type"] = fsls.Type
37554	}
37555	for k, v := range fsls.AdditionalProperties {
37556		objectMap[k] = v
37557	}
37558	return json.Marshal(objectMap)
37559}
37560
37561// AsResponsysLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37562func (fsls FtpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
37563	return nil, false
37564}
37565
37566// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37567func (fsls FtpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
37568	return nil, false
37569}
37570
37571// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37572func (fsls FtpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
37573	return nil, false
37574}
37575
37576// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37577func (fsls FtpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
37578	return nil, false
37579}
37580
37581// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37582func (fsls FtpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
37583	return nil, false
37584}
37585
37586// AsNetezzaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37587func (fsls FtpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
37588	return nil, false
37589}
37590
37591// AsVerticaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37592func (fsls FtpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
37593	return nil, false
37594}
37595
37596// AsZohoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37597func (fsls FtpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
37598	return nil, false
37599}
37600
37601// AsXeroLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37602func (fsls FtpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
37603	return nil, false
37604}
37605
37606// AsSquareLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37607func (fsls FtpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
37608	return nil, false
37609}
37610
37611// AsSparkLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37612func (fsls FtpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
37613	return nil, false
37614}
37615
37616// AsShopifyLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37617func (fsls FtpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
37618	return nil, false
37619}
37620
37621// AsServiceNowLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37622func (fsls FtpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
37623	return nil, false
37624}
37625
37626// AsQuickBooksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37627func (fsls FtpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
37628	return nil, false
37629}
37630
37631// AsPrestoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37632func (fsls FtpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
37633	return nil, false
37634}
37635
37636// AsPhoenixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37637func (fsls FtpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
37638	return nil, false
37639}
37640
37641// AsPaypalLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37642func (fsls FtpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
37643	return nil, false
37644}
37645
37646// AsMarketoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37647func (fsls FtpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
37648	return nil, false
37649}
37650
37651// AsMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37652func (fsls FtpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
37653	return nil, false
37654}
37655
37656// AsMagentoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37657func (fsls FtpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
37658	return nil, false
37659}
37660
37661// AsJiraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37662func (fsls FtpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
37663	return nil, false
37664}
37665
37666// AsImpalaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37667func (fsls FtpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
37668	return nil, false
37669}
37670
37671// AsHubspotLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37672func (fsls FtpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
37673	return nil, false
37674}
37675
37676// AsHiveLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37677func (fsls FtpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
37678	return nil, false
37679}
37680
37681// AsHBaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37682func (fsls FtpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
37683	return nil, false
37684}
37685
37686// AsGreenplumLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37687func (fsls FtpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
37688	return nil, false
37689}
37690
37691// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37692func (fsls FtpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
37693	return nil, false
37694}
37695
37696// AsEloquaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37697func (fsls FtpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
37698	return nil, false
37699}
37700
37701// AsDrillLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37702func (fsls FtpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
37703	return nil, false
37704}
37705
37706// AsCouchbaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37707func (fsls FtpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
37708	return nil, false
37709}
37710
37711// AsConcurLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37712func (fsls FtpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
37713	return nil, false
37714}
37715
37716// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37717func (fsls FtpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
37718	return nil, false
37719}
37720
37721// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37722func (fsls FtpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
37723	return nil, false
37724}
37725
37726// AsSapHanaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37727func (fsls FtpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
37728	return nil, false
37729}
37730
37731// AsSapBWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37732func (fsls FtpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
37733	return nil, false
37734}
37735
37736// AsSftpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37737func (fsls FtpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
37738	return nil, false
37739}
37740
37741// AsFtpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37742func (fsls FtpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
37743	return &fsls, true
37744}
37745
37746// AsHTTPLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37747func (fsls FtpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
37748	return nil, false
37749}
37750
37751// AsAzureSearchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37752func (fsls FtpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
37753	return nil, false
37754}
37755
37756// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37757func (fsls FtpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
37758	return nil, false
37759}
37760
37761// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37762func (fsls FtpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
37763	return nil, false
37764}
37765
37766// AsAmazonS3LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37767func (fsls FtpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
37768	return nil, false
37769}
37770
37771// AsSapEccLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37772func (fsls FtpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
37773	return nil, false
37774}
37775
37776// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37777func (fsls FtpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
37778	return nil, false
37779}
37780
37781// AsSalesforceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37782func (fsls FtpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
37783	return nil, false
37784}
37785
37786// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37787func (fsls FtpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
37788	return nil, false
37789}
37790
37791// AsMongoDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37792func (fsls FtpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
37793	return nil, false
37794}
37795
37796// AsCassandraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37797func (fsls FtpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
37798	return nil, false
37799}
37800
37801// AsWebLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37802func (fsls FtpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
37803	return nil, false
37804}
37805
37806// AsODataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37807func (fsls FtpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
37808	return nil, false
37809}
37810
37811// AsHdfsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37812func (fsls FtpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
37813	return nil, false
37814}
37815
37816// AsOdbcLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37817func (fsls FtpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
37818	return nil, false
37819}
37820
37821// AsAzureMLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37822func (fsls FtpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
37823	return nil, false
37824}
37825
37826// AsTeradataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37827func (fsls FtpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
37828	return nil, false
37829}
37830
37831// AsDb2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37832func (fsls FtpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
37833	return nil, false
37834}
37835
37836// AsSybaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37837func (fsls FtpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
37838	return nil, false
37839}
37840
37841// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37842func (fsls FtpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
37843	return nil, false
37844}
37845
37846// AsMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37847func (fsls FtpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
37848	return nil, false
37849}
37850
37851// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37852func (fsls FtpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
37853	return nil, false
37854}
37855
37856// AsOracleLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37857func (fsls FtpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
37858	return nil, false
37859}
37860
37861// AsFileServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37862func (fsls FtpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
37863	return nil, false
37864}
37865
37866// AsHDInsightLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37867func (fsls FtpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
37868	return nil, false
37869}
37870
37871// AsDynamicsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37872func (fsls FtpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
37873	return nil, false
37874}
37875
37876// AsCosmosDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37877func (fsls FtpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
37878	return nil, false
37879}
37880
37881// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37882func (fsls FtpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
37883	return nil, false
37884}
37885
37886// AsAzureBatchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37887func (fsls FtpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
37888	return nil, false
37889}
37890
37891// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37892func (fsls FtpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
37893	return nil, false
37894}
37895
37896// AsSQLServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37897func (fsls FtpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
37898	return nil, false
37899}
37900
37901// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37902func (fsls FtpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
37903	return nil, false
37904}
37905
37906// AsAzureStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37907func (fsls FtpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
37908	return nil, false
37909}
37910
37911// AsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37912func (fsls FtpServerLinkedService) AsLinkedService() (*LinkedService, bool) {
37913	return nil, false
37914}
37915
37916// AsBasicLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37917func (fsls FtpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
37918	return &fsls, true
37919}
37920
37921// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedService struct.
37922func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error {
37923	var m map[string]*json.RawMessage
37924	err := json.Unmarshal(body, &m)
37925	if err != nil {
37926		return err
37927	}
37928	for k, v := range m {
37929		switch k {
37930		case "typeProperties":
37931			if v != nil {
37932				var ftpServerLinkedServiceTypeProperties FtpServerLinkedServiceTypeProperties
37933				err = json.Unmarshal(*v, &ftpServerLinkedServiceTypeProperties)
37934				if err != nil {
37935					return err
37936				}
37937				fsls.FtpServerLinkedServiceTypeProperties = &ftpServerLinkedServiceTypeProperties
37938			}
37939		default:
37940			if v != nil {
37941				var additionalProperties interface{}
37942				err = json.Unmarshal(*v, &additionalProperties)
37943				if err != nil {
37944					return err
37945				}
37946				if fsls.AdditionalProperties == nil {
37947					fsls.AdditionalProperties = make(map[string]interface{})
37948				}
37949				fsls.AdditionalProperties[k] = additionalProperties
37950			}
37951		case "connectVia":
37952			if v != nil {
37953				var connectVia IntegrationRuntimeReference
37954				err = json.Unmarshal(*v, &connectVia)
37955				if err != nil {
37956					return err
37957				}
37958				fsls.ConnectVia = &connectVia
37959			}
37960		case "description":
37961			if v != nil {
37962				var description string
37963				err = json.Unmarshal(*v, &description)
37964				if err != nil {
37965					return err
37966				}
37967				fsls.Description = &description
37968			}
37969		case "parameters":
37970			if v != nil {
37971				var parameters map[string]*ParameterSpecification
37972				err = json.Unmarshal(*v, &parameters)
37973				if err != nil {
37974					return err
37975				}
37976				fsls.Parameters = parameters
37977			}
37978		case "annotations":
37979			if v != nil {
37980				var annotations []interface{}
37981				err = json.Unmarshal(*v, &annotations)
37982				if err != nil {
37983					return err
37984				}
37985				fsls.Annotations = &annotations
37986			}
37987		case "type":
37988			if v != nil {
37989				var typeVar TypeBasicLinkedService
37990				err = json.Unmarshal(*v, &typeVar)
37991				if err != nil {
37992					return err
37993				}
37994				fsls.Type = typeVar
37995			}
37996		}
37997	}
37998
37999	return nil
38000}
38001
38002// FtpServerLinkedServiceTypeProperties properties specific to this linked service type.
38003type FtpServerLinkedServiceTypeProperties struct {
38004	// Host - Host name of the FTP server. Type: string (or Expression with resultType string).
38005	Host interface{} `json:"host,omitempty"`
38006	// Port - The TCP port number that the FTP server uses to listen for client connections. Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0.
38007	Port interface{} `json:"port,omitempty"`
38008	// AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'FtpAuthenticationTypeBasic', 'FtpAuthenticationTypeAnonymous'
38009	AuthenticationType FtpAuthenticationType `json:"authenticationType,omitempty"`
38010	// UserName - Username to logon the FTP server. Type: string (or Expression with resultType string).
38011	UserName interface{} `json:"userName,omitempty"`
38012	// Password - Password to logon the FTP server.
38013	Password BasicSecretBase `json:"password,omitempty"`
38014	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
38015	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
38016	// EnableSsl - If true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
38017	EnableSsl interface{} `json:"enableSsl,omitempty"`
38018	// EnableServerCertificateValidation - If true, validate the FTP server SSL certificate when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
38019	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
38020}
38021
38022// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedServiceTypeProperties struct.
38023func (fslstp *FtpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
38024	var m map[string]*json.RawMessage
38025	err := json.Unmarshal(body, &m)
38026	if err != nil {
38027		return err
38028	}
38029	for k, v := range m {
38030		switch k {
38031		case "host":
38032			if v != nil {
38033				var host interface{}
38034				err = json.Unmarshal(*v, &host)
38035				if err != nil {
38036					return err
38037				}
38038				fslstp.Host = host
38039			}
38040		case "port":
38041			if v != nil {
38042				var port interface{}
38043				err = json.Unmarshal(*v, &port)
38044				if err != nil {
38045					return err
38046				}
38047				fslstp.Port = port
38048			}
38049		case "authenticationType":
38050			if v != nil {
38051				var authenticationType FtpAuthenticationType
38052				err = json.Unmarshal(*v, &authenticationType)
38053				if err != nil {
38054					return err
38055				}
38056				fslstp.AuthenticationType = authenticationType
38057			}
38058		case "userName":
38059			if v != nil {
38060				var userName interface{}
38061				err = json.Unmarshal(*v, &userName)
38062				if err != nil {
38063					return err
38064				}
38065				fslstp.UserName = userName
38066			}
38067		case "password":
38068			if v != nil {
38069				password, err := unmarshalBasicSecretBase(*v)
38070				if err != nil {
38071					return err
38072				}
38073				fslstp.Password = password
38074			}
38075		case "encryptedCredential":
38076			if v != nil {
38077				var encryptedCredential interface{}
38078				err = json.Unmarshal(*v, &encryptedCredential)
38079				if err != nil {
38080					return err
38081				}
38082				fslstp.EncryptedCredential = encryptedCredential
38083			}
38084		case "enableSsl":
38085			if v != nil {
38086				var enableSsl interface{}
38087				err = json.Unmarshal(*v, &enableSsl)
38088				if err != nil {
38089					return err
38090				}
38091				fslstp.EnableSsl = enableSsl
38092			}
38093		case "enableServerCertificateValidation":
38094			if v != nil {
38095				var enableServerCertificateValidation interface{}
38096				err = json.Unmarshal(*v, &enableServerCertificateValidation)
38097				if err != nil {
38098					return err
38099				}
38100				fslstp.EnableServerCertificateValidation = enableServerCertificateValidation
38101			}
38102		}
38103	}
38104
38105	return nil
38106}
38107
38108// GetMetadataActivity activity to get metadata of dataset
38109type GetMetadataActivity struct {
38110	// GetMetadataActivityTypeProperties - GetMetadata activity properties.
38111	*GetMetadataActivityTypeProperties `json:"typeProperties,omitempty"`
38112	// LinkedServiceName - Linked service reference.
38113	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
38114	// Policy - Activity policy.
38115	Policy *ActivityPolicy `json:"policy,omitempty"`
38116	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
38117	AdditionalProperties map[string]interface{} `json:""`
38118	// Name - Activity name.
38119	Name *string `json:"name,omitempty"`
38120	// Description - Activity description.
38121	Description *string `json:"description,omitempty"`
38122	// DependsOn - Activity depends on condition.
38123	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
38124	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
38125	Type TypeBasicActivity `json:"type,omitempty"`
38126}
38127
38128// MarshalJSON is the custom marshaler for GetMetadataActivity.
38129func (gma GetMetadataActivity) MarshalJSON() ([]byte, error) {
38130	gma.Type = TypeGetMetadata
38131	objectMap := make(map[string]interface{})
38132	if gma.GetMetadataActivityTypeProperties != nil {
38133		objectMap["typeProperties"] = gma.GetMetadataActivityTypeProperties
38134	}
38135	if gma.LinkedServiceName != nil {
38136		objectMap["linkedServiceName"] = gma.LinkedServiceName
38137	}
38138	if gma.Policy != nil {
38139		objectMap["policy"] = gma.Policy
38140	}
38141	if gma.Name != nil {
38142		objectMap["name"] = gma.Name
38143	}
38144	if gma.Description != nil {
38145		objectMap["description"] = gma.Description
38146	}
38147	if gma.DependsOn != nil {
38148		objectMap["dependsOn"] = gma.DependsOn
38149	}
38150	if gma.Type != "" {
38151		objectMap["type"] = gma.Type
38152	}
38153	for k, v := range gma.AdditionalProperties {
38154		objectMap[k] = v
38155	}
38156	return json.Marshal(objectMap)
38157}
38158
38159// AsDatabricksNotebookActivity is the BasicActivity implementation for GetMetadataActivity.
38160func (gma GetMetadataActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
38161	return nil, false
38162}
38163
38164// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for GetMetadataActivity.
38165func (gma GetMetadataActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
38166	return nil, false
38167}
38168
38169// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for GetMetadataActivity.
38170func (gma GetMetadataActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
38171	return nil, false
38172}
38173
38174// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
38175func (gma GetMetadataActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
38176	return nil, false
38177}
38178
38179// AsGetMetadataActivity is the BasicActivity implementation for GetMetadataActivity.
38180func (gma GetMetadataActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
38181	return &gma, true
38182}
38183
38184// AsWebActivity is the BasicActivity implementation for GetMetadataActivity.
38185func (gma GetMetadataActivity) AsWebActivity() (*WebActivity, bool) {
38186	return nil, false
38187}
38188
38189// AsLookupActivity is the BasicActivity implementation for GetMetadataActivity.
38190func (gma GetMetadataActivity) AsLookupActivity() (*LookupActivity, bool) {
38191	return nil, false
38192}
38193
38194// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for GetMetadataActivity.
38195func (gma GetMetadataActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
38196	return nil, false
38197}
38198
38199// AsCustomActivity is the BasicActivity implementation for GetMetadataActivity.
38200func (gma GetMetadataActivity) AsCustomActivity() (*CustomActivity, bool) {
38201	return nil, false
38202}
38203
38204// AsExecuteSSISPackageActivity is the BasicActivity implementation for GetMetadataActivity.
38205func (gma GetMetadataActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
38206	return nil, false
38207}
38208
38209// AsHDInsightSparkActivity is the BasicActivity implementation for GetMetadataActivity.
38210func (gma GetMetadataActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
38211	return nil, false
38212}
38213
38214// AsHDInsightStreamingActivity is the BasicActivity implementation for GetMetadataActivity.
38215func (gma GetMetadataActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
38216	return nil, false
38217}
38218
38219// AsHDInsightMapReduceActivity is the BasicActivity implementation for GetMetadataActivity.
38220func (gma GetMetadataActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
38221	return nil, false
38222}
38223
38224// AsHDInsightPigActivity is the BasicActivity implementation for GetMetadataActivity.
38225func (gma GetMetadataActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
38226	return nil, false
38227}
38228
38229// AsHDInsightHiveActivity is the BasicActivity implementation for GetMetadataActivity.
38230func (gma GetMetadataActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
38231	return nil, false
38232}
38233
38234// AsCopyActivity is the BasicActivity implementation for GetMetadataActivity.
38235func (gma GetMetadataActivity) AsCopyActivity() (*CopyActivity, bool) {
38236	return nil, false
38237}
38238
38239// AsExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
38240func (gma GetMetadataActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
38241	return nil, false
38242}
38243
38244// AsBasicExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
38245func (gma GetMetadataActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
38246	return &gma, true
38247}
38248
38249// AsFilterActivity is the BasicActivity implementation for GetMetadataActivity.
38250func (gma GetMetadataActivity) AsFilterActivity() (*FilterActivity, bool) {
38251	return nil, false
38252}
38253
38254// AsUntilActivity is the BasicActivity implementation for GetMetadataActivity.
38255func (gma GetMetadataActivity) AsUntilActivity() (*UntilActivity, bool) {
38256	return nil, false
38257}
38258
38259// AsWaitActivity is the BasicActivity implementation for GetMetadataActivity.
38260func (gma GetMetadataActivity) AsWaitActivity() (*WaitActivity, bool) {
38261	return nil, false
38262}
38263
38264// AsForEachActivity is the BasicActivity implementation for GetMetadataActivity.
38265func (gma GetMetadataActivity) AsForEachActivity() (*ForEachActivity, bool) {
38266	return nil, false
38267}
38268
38269// AsIfConditionActivity is the BasicActivity implementation for GetMetadataActivity.
38270func (gma GetMetadataActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
38271	return nil, false
38272}
38273
38274// AsExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity.
38275func (gma GetMetadataActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
38276	return nil, false
38277}
38278
38279// AsControlActivity is the BasicActivity implementation for GetMetadataActivity.
38280func (gma GetMetadataActivity) AsControlActivity() (*ControlActivity, bool) {
38281	return nil, false
38282}
38283
38284// AsBasicControlActivity is the BasicActivity implementation for GetMetadataActivity.
38285func (gma GetMetadataActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
38286	return nil, false
38287}
38288
38289// AsActivity is the BasicActivity implementation for GetMetadataActivity.
38290func (gma GetMetadataActivity) AsActivity() (*Activity, bool) {
38291	return nil, false
38292}
38293
38294// AsBasicActivity is the BasicActivity implementation for GetMetadataActivity.
38295func (gma GetMetadataActivity) AsBasicActivity() (BasicActivity, bool) {
38296	return &gma, true
38297}
38298
38299// UnmarshalJSON is the custom unmarshaler for GetMetadataActivity struct.
38300func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error {
38301	var m map[string]*json.RawMessage
38302	err := json.Unmarshal(body, &m)
38303	if err != nil {
38304		return err
38305	}
38306	for k, v := range m {
38307		switch k {
38308		case "typeProperties":
38309			if v != nil {
38310				var getMetadataActivityTypeProperties GetMetadataActivityTypeProperties
38311				err = json.Unmarshal(*v, &getMetadataActivityTypeProperties)
38312				if err != nil {
38313					return err
38314				}
38315				gma.GetMetadataActivityTypeProperties = &getMetadataActivityTypeProperties
38316			}
38317		case "linkedServiceName":
38318			if v != nil {
38319				var linkedServiceName LinkedServiceReference
38320				err = json.Unmarshal(*v, &linkedServiceName)
38321				if err != nil {
38322					return err
38323				}
38324				gma.LinkedServiceName = &linkedServiceName
38325			}
38326		case "policy":
38327			if v != nil {
38328				var policy ActivityPolicy
38329				err = json.Unmarshal(*v, &policy)
38330				if err != nil {
38331					return err
38332				}
38333				gma.Policy = &policy
38334			}
38335		default:
38336			if v != nil {
38337				var additionalProperties interface{}
38338				err = json.Unmarshal(*v, &additionalProperties)
38339				if err != nil {
38340					return err
38341				}
38342				if gma.AdditionalProperties == nil {
38343					gma.AdditionalProperties = make(map[string]interface{})
38344				}
38345				gma.AdditionalProperties[k] = additionalProperties
38346			}
38347		case "name":
38348			if v != nil {
38349				var name string
38350				err = json.Unmarshal(*v, &name)
38351				if err != nil {
38352					return err
38353				}
38354				gma.Name = &name
38355			}
38356		case "description":
38357			if v != nil {
38358				var description string
38359				err = json.Unmarshal(*v, &description)
38360				if err != nil {
38361					return err
38362				}
38363				gma.Description = &description
38364			}
38365		case "dependsOn":
38366			if v != nil {
38367				var dependsOn []ActivityDependency
38368				err = json.Unmarshal(*v, &dependsOn)
38369				if err != nil {
38370					return err
38371				}
38372				gma.DependsOn = &dependsOn
38373			}
38374		case "type":
38375			if v != nil {
38376				var typeVar TypeBasicActivity
38377				err = json.Unmarshal(*v, &typeVar)
38378				if err != nil {
38379					return err
38380				}
38381				gma.Type = typeVar
38382			}
38383		}
38384	}
38385
38386	return nil
38387}
38388
38389// GetMetadataActivityTypeProperties getMetadata activity properties.
38390type GetMetadataActivityTypeProperties struct {
38391	// Dataset - GetMetadata activity dataset reference.
38392	Dataset *DatasetReference `json:"dataset,omitempty"`
38393	// FieldList - Fields of metadata to get from dataset.
38394	FieldList *[]interface{} `json:"fieldList,omitempty"`
38395}
38396
38397// GoogleBigQueryLinkedService google BigQuery service linked service.
38398type GoogleBigQueryLinkedService struct {
38399	// GoogleBigQueryLinkedServiceTypeProperties - Google BigQuery service linked service properties.
38400	*GoogleBigQueryLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
38401	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
38402	AdditionalProperties map[string]interface{} `json:""`
38403	// ConnectVia - The integration runtime reference.
38404	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
38405	// Description - Linked service description.
38406	Description *string `json:"description,omitempty"`
38407	// Parameters - Parameters for linked service.
38408	Parameters map[string]*ParameterSpecification `json:"parameters"`
38409	// Annotations - List of tags that can be used for describing the Dataset.
38410	Annotations *[]interface{} `json:"annotations,omitempty"`
38411	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
38412	Type TypeBasicLinkedService `json:"type,omitempty"`
38413}
38414
38415// MarshalJSON is the custom marshaler for GoogleBigQueryLinkedService.
38416func (gbqls GoogleBigQueryLinkedService) MarshalJSON() ([]byte, error) {
38417	gbqls.Type = TypeGoogleBigQuery
38418	objectMap := make(map[string]interface{})
38419	if gbqls.GoogleBigQueryLinkedServiceTypeProperties != nil {
38420		objectMap["typeProperties"] = gbqls.GoogleBigQueryLinkedServiceTypeProperties
38421	}
38422	if gbqls.ConnectVia != nil {
38423		objectMap["connectVia"] = gbqls.ConnectVia
38424	}
38425	if gbqls.Description != nil {
38426		objectMap["description"] = gbqls.Description
38427	}
38428	if gbqls.Parameters != nil {
38429		objectMap["parameters"] = gbqls.Parameters
38430	}
38431	if gbqls.Annotations != nil {
38432		objectMap["annotations"] = gbqls.Annotations
38433	}
38434	if gbqls.Type != "" {
38435		objectMap["type"] = gbqls.Type
38436	}
38437	for k, v := range gbqls.AdditionalProperties {
38438		objectMap[k] = v
38439	}
38440	return json.Marshal(objectMap)
38441}
38442
38443// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38444func (gbqls GoogleBigQueryLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
38445	return nil, false
38446}
38447
38448// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38449func (gbqls GoogleBigQueryLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
38450	return nil, false
38451}
38452
38453// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38454func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
38455	return nil, false
38456}
38457
38458// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38459func (gbqls GoogleBigQueryLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
38460	return nil, false
38461}
38462
38463// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38464func (gbqls GoogleBigQueryLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
38465	return nil, false
38466}
38467
38468// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38469func (gbqls GoogleBigQueryLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
38470	return nil, false
38471}
38472
38473// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38474func (gbqls GoogleBigQueryLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
38475	return nil, false
38476}
38477
38478// AsZohoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38479func (gbqls GoogleBigQueryLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
38480	return nil, false
38481}
38482
38483// AsXeroLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38484func (gbqls GoogleBigQueryLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
38485	return nil, false
38486}
38487
38488// AsSquareLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38489func (gbqls GoogleBigQueryLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
38490	return nil, false
38491}
38492
38493// AsSparkLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38494func (gbqls GoogleBigQueryLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
38495	return nil, false
38496}
38497
38498// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38499func (gbqls GoogleBigQueryLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
38500	return nil, false
38501}
38502
38503// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38504func (gbqls GoogleBigQueryLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
38505	return nil, false
38506}
38507
38508// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38509func (gbqls GoogleBigQueryLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
38510	return nil, false
38511}
38512
38513// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38514func (gbqls GoogleBigQueryLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
38515	return nil, false
38516}
38517
38518// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38519func (gbqls GoogleBigQueryLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
38520	return nil, false
38521}
38522
38523// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38524func (gbqls GoogleBigQueryLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
38525	return nil, false
38526}
38527
38528// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38529func (gbqls GoogleBigQueryLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
38530	return nil, false
38531}
38532
38533// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38534func (gbqls GoogleBigQueryLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
38535	return nil, false
38536}
38537
38538// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38539func (gbqls GoogleBigQueryLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
38540	return nil, false
38541}
38542
38543// AsJiraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38544func (gbqls GoogleBigQueryLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
38545	return nil, false
38546}
38547
38548// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38549func (gbqls GoogleBigQueryLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
38550	return nil, false
38551}
38552
38553// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38554func (gbqls GoogleBigQueryLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
38555	return nil, false
38556}
38557
38558// AsHiveLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38559func (gbqls GoogleBigQueryLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
38560	return nil, false
38561}
38562
38563// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38564func (gbqls GoogleBigQueryLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
38565	return nil, false
38566}
38567
38568// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38569func (gbqls GoogleBigQueryLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
38570	return nil, false
38571}
38572
38573// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38574func (gbqls GoogleBigQueryLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
38575	return &gbqls, true
38576}
38577
38578// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38579func (gbqls GoogleBigQueryLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
38580	return nil, false
38581}
38582
38583// AsDrillLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38584func (gbqls GoogleBigQueryLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
38585	return nil, false
38586}
38587
38588// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38589func (gbqls GoogleBigQueryLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
38590	return nil, false
38591}
38592
38593// AsConcurLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38594func (gbqls GoogleBigQueryLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
38595	return nil, false
38596}
38597
38598// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38599func (gbqls GoogleBigQueryLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
38600	return nil, false
38601}
38602
38603// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38604func (gbqls GoogleBigQueryLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
38605	return nil, false
38606}
38607
38608// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38609func (gbqls GoogleBigQueryLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
38610	return nil, false
38611}
38612
38613// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38614func (gbqls GoogleBigQueryLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
38615	return nil, false
38616}
38617
38618// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38619func (gbqls GoogleBigQueryLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
38620	return nil, false
38621}
38622
38623// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38624func (gbqls GoogleBigQueryLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
38625	return nil, false
38626}
38627
38628// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38629func (gbqls GoogleBigQueryLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
38630	return nil, false
38631}
38632
38633// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38634func (gbqls GoogleBigQueryLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
38635	return nil, false
38636}
38637
38638// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38639func (gbqls GoogleBigQueryLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
38640	return nil, false
38641}
38642
38643// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38644func (gbqls GoogleBigQueryLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
38645	return nil, false
38646}
38647
38648// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38649func (gbqls GoogleBigQueryLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
38650	return nil, false
38651}
38652
38653// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38654func (gbqls GoogleBigQueryLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
38655	return nil, false
38656}
38657
38658// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38659func (gbqls GoogleBigQueryLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
38660	return nil, false
38661}
38662
38663// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38664func (gbqls GoogleBigQueryLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
38665	return nil, false
38666}
38667
38668// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38669func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
38670	return nil, false
38671}
38672
38673// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38674func (gbqls GoogleBigQueryLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
38675	return nil, false
38676}
38677
38678// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38679func (gbqls GoogleBigQueryLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
38680	return nil, false
38681}
38682
38683// AsWebLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38684func (gbqls GoogleBigQueryLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
38685	return nil, false
38686}
38687
38688// AsODataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38689func (gbqls GoogleBigQueryLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
38690	return nil, false
38691}
38692
38693// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38694func (gbqls GoogleBigQueryLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
38695	return nil, false
38696}
38697
38698// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38699func (gbqls GoogleBigQueryLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
38700	return nil, false
38701}
38702
38703// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38704func (gbqls GoogleBigQueryLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
38705	return nil, false
38706}
38707
38708// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38709func (gbqls GoogleBigQueryLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
38710	return nil, false
38711}
38712
38713// AsDb2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38714func (gbqls GoogleBigQueryLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
38715	return nil, false
38716}
38717
38718// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38719func (gbqls GoogleBigQueryLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
38720	return nil, false
38721}
38722
38723// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38724func (gbqls GoogleBigQueryLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
38725	return nil, false
38726}
38727
38728// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38729func (gbqls GoogleBigQueryLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
38730	return nil, false
38731}
38732
38733// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38734func (gbqls GoogleBigQueryLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
38735	return nil, false
38736}
38737
38738// AsOracleLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38739func (gbqls GoogleBigQueryLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
38740	return nil, false
38741}
38742
38743// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38744func (gbqls GoogleBigQueryLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
38745	return nil, false
38746}
38747
38748// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38749func (gbqls GoogleBigQueryLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
38750	return nil, false
38751}
38752
38753// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38754func (gbqls GoogleBigQueryLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
38755	return nil, false
38756}
38757
38758// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38759func (gbqls GoogleBigQueryLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
38760	return nil, false
38761}
38762
38763// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38764func (gbqls GoogleBigQueryLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
38765	return nil, false
38766}
38767
38768// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38769func (gbqls GoogleBigQueryLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
38770	return nil, false
38771}
38772
38773// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38774func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
38775	return nil, false
38776}
38777
38778// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38779func (gbqls GoogleBigQueryLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
38780	return nil, false
38781}
38782
38783// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38784func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
38785	return nil, false
38786}
38787
38788// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38789func (gbqls GoogleBigQueryLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
38790	return nil, false
38791}
38792
38793// AsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38794func (gbqls GoogleBigQueryLinkedService) AsLinkedService() (*LinkedService, bool) {
38795	return nil, false
38796}
38797
38798// AsBasicLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38799func (gbqls GoogleBigQueryLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
38800	return &gbqls, true
38801}
38802
38803// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedService struct.
38804func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error {
38805	var m map[string]*json.RawMessage
38806	err := json.Unmarshal(body, &m)
38807	if err != nil {
38808		return err
38809	}
38810	for k, v := range m {
38811		switch k {
38812		case "typeProperties":
38813			if v != nil {
38814				var googleBigQueryLinkedServiceTypeProperties GoogleBigQueryLinkedServiceTypeProperties
38815				err = json.Unmarshal(*v, &googleBigQueryLinkedServiceTypeProperties)
38816				if err != nil {
38817					return err
38818				}
38819				gbqls.GoogleBigQueryLinkedServiceTypeProperties = &googleBigQueryLinkedServiceTypeProperties
38820			}
38821		default:
38822			if v != nil {
38823				var additionalProperties interface{}
38824				err = json.Unmarshal(*v, &additionalProperties)
38825				if err != nil {
38826					return err
38827				}
38828				if gbqls.AdditionalProperties == nil {
38829					gbqls.AdditionalProperties = make(map[string]interface{})
38830				}
38831				gbqls.AdditionalProperties[k] = additionalProperties
38832			}
38833		case "connectVia":
38834			if v != nil {
38835				var connectVia IntegrationRuntimeReference
38836				err = json.Unmarshal(*v, &connectVia)
38837				if err != nil {
38838					return err
38839				}
38840				gbqls.ConnectVia = &connectVia
38841			}
38842		case "description":
38843			if v != nil {
38844				var description string
38845				err = json.Unmarshal(*v, &description)
38846				if err != nil {
38847					return err
38848				}
38849				gbqls.Description = &description
38850			}
38851		case "parameters":
38852			if v != nil {
38853				var parameters map[string]*ParameterSpecification
38854				err = json.Unmarshal(*v, &parameters)
38855				if err != nil {
38856					return err
38857				}
38858				gbqls.Parameters = parameters
38859			}
38860		case "annotations":
38861			if v != nil {
38862				var annotations []interface{}
38863				err = json.Unmarshal(*v, &annotations)
38864				if err != nil {
38865					return err
38866				}
38867				gbqls.Annotations = &annotations
38868			}
38869		case "type":
38870			if v != nil {
38871				var typeVar TypeBasicLinkedService
38872				err = json.Unmarshal(*v, &typeVar)
38873				if err != nil {
38874					return err
38875				}
38876				gbqls.Type = typeVar
38877			}
38878		}
38879	}
38880
38881	return nil
38882}
38883
38884// GoogleBigQueryLinkedServiceTypeProperties google BigQuery service linked service properties.
38885type GoogleBigQueryLinkedServiceTypeProperties struct {
38886	// Project - The default BigQuery project to query against.
38887	Project interface{} `json:"project,omitempty"`
38888	// AdditionalProjects - A comma-separated list of public BigQuery projects to access.
38889	AdditionalProjects interface{} `json:"additionalProjects,omitempty"`
38890	// RequestGoogleDriveScope - Whether to request access to Google Drive. Allowing Google Drive access enables support for federated tables that combine BigQuery data with data from Google Drive. The default value is false.
38891	RequestGoogleDriveScope interface{} `json:"requestGoogleDriveScope,omitempty"`
38892	// AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'ServiceAuthentication', 'UserAuthentication'
38893	AuthenticationType GoogleBigQueryAuthenticationType `json:"authenticationType,omitempty"`
38894	// RefreshToken - The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication.
38895	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
38896	// ClientID - The client id of the google application used to acquire the refresh token.
38897	ClientID BasicSecretBase `json:"clientId,omitempty"`
38898	// ClientSecret - The client secret of the google application used to acquire the refresh token.
38899	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
38900	// Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.
38901	Email interface{} `json:"email,omitempty"`
38902	// KeyFilePath - The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR.
38903	KeyFilePath interface{} `json:"keyFilePath,omitempty"`
38904	// TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
38905	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
38906	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
38907	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
38908	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
38909	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
38910}
38911
38912// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedServiceTypeProperties struct.
38913func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
38914	var m map[string]*json.RawMessage
38915	err := json.Unmarshal(body, &m)
38916	if err != nil {
38917		return err
38918	}
38919	for k, v := range m {
38920		switch k {
38921		case "project":
38922			if v != nil {
38923				var project interface{}
38924				err = json.Unmarshal(*v, &project)
38925				if err != nil {
38926					return err
38927				}
38928				gbqlstp.Project = project
38929			}
38930		case "additionalProjects":
38931			if v != nil {
38932				var additionalProjects interface{}
38933				err = json.Unmarshal(*v, &additionalProjects)
38934				if err != nil {
38935					return err
38936				}
38937				gbqlstp.AdditionalProjects = additionalProjects
38938			}
38939		case "requestGoogleDriveScope":
38940			if v != nil {
38941				var requestGoogleDriveScope interface{}
38942				err = json.Unmarshal(*v, &requestGoogleDriveScope)
38943				if err != nil {
38944					return err
38945				}
38946				gbqlstp.RequestGoogleDriveScope = requestGoogleDriveScope
38947			}
38948		case "authenticationType":
38949			if v != nil {
38950				var authenticationType GoogleBigQueryAuthenticationType
38951				err = json.Unmarshal(*v, &authenticationType)
38952				if err != nil {
38953					return err
38954				}
38955				gbqlstp.AuthenticationType = authenticationType
38956			}
38957		case "refreshToken":
38958			if v != nil {
38959				refreshToken, err := unmarshalBasicSecretBase(*v)
38960				if err != nil {
38961					return err
38962				}
38963				gbqlstp.RefreshToken = refreshToken
38964			}
38965		case "clientId":
38966			if v != nil {
38967				clientID, err := unmarshalBasicSecretBase(*v)
38968				if err != nil {
38969					return err
38970				}
38971				gbqlstp.ClientID = clientID
38972			}
38973		case "clientSecret":
38974			if v != nil {
38975				clientSecret, err := unmarshalBasicSecretBase(*v)
38976				if err != nil {
38977					return err
38978				}
38979				gbqlstp.ClientSecret = clientSecret
38980			}
38981		case "email":
38982			if v != nil {
38983				var email interface{}
38984				err = json.Unmarshal(*v, &email)
38985				if err != nil {
38986					return err
38987				}
38988				gbqlstp.Email = email
38989			}
38990		case "keyFilePath":
38991			if v != nil {
38992				var keyFilePath interface{}
38993				err = json.Unmarshal(*v, &keyFilePath)
38994				if err != nil {
38995					return err
38996				}
38997				gbqlstp.KeyFilePath = keyFilePath
38998			}
38999		case "trustedCertPath":
39000			if v != nil {
39001				var trustedCertPath interface{}
39002				err = json.Unmarshal(*v, &trustedCertPath)
39003				if err != nil {
39004					return err
39005				}
39006				gbqlstp.TrustedCertPath = trustedCertPath
39007			}
39008		case "useSystemTrustStore":
39009			if v != nil {
39010				var useSystemTrustStore interface{}
39011				err = json.Unmarshal(*v, &useSystemTrustStore)
39012				if err != nil {
39013					return err
39014				}
39015				gbqlstp.UseSystemTrustStore = useSystemTrustStore
39016			}
39017		case "encryptedCredential":
39018			if v != nil {
39019				var encryptedCredential interface{}
39020				err = json.Unmarshal(*v, &encryptedCredential)
39021				if err != nil {
39022					return err
39023				}
39024				gbqlstp.EncryptedCredential = encryptedCredential
39025			}
39026		}
39027	}
39028
39029	return nil
39030}
39031
39032// GoogleBigQueryObjectDataset google BigQuery service dataset.
39033type GoogleBigQueryObjectDataset struct {
39034	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
39035	AdditionalProperties map[string]interface{} `json:""`
39036	// Description - Dataset description.
39037	Description *string `json:"description,omitempty"`
39038	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
39039	Structure interface{} `json:"structure,omitempty"`
39040	// LinkedServiceName - Linked service reference.
39041	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
39042	// Parameters - Parameters for dataset.
39043	Parameters map[string]*ParameterSpecification `json:"parameters"`
39044	// Annotations - List of tags that can be used for describing the Dataset.
39045	Annotations *[]interface{} `json:"annotations,omitempty"`
39046	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
39047	Type TypeBasicDataset `json:"type,omitempty"`
39048}
39049
39050// MarshalJSON is the custom marshaler for GoogleBigQueryObjectDataset.
39051func (gbqod GoogleBigQueryObjectDataset) MarshalJSON() ([]byte, error) {
39052	gbqod.Type = TypeGoogleBigQueryObject
39053	objectMap := make(map[string]interface{})
39054	if gbqod.Description != nil {
39055		objectMap["description"] = gbqod.Description
39056	}
39057	if gbqod.Structure != nil {
39058		objectMap["structure"] = gbqod.Structure
39059	}
39060	if gbqod.LinkedServiceName != nil {
39061		objectMap["linkedServiceName"] = gbqod.LinkedServiceName
39062	}
39063	if gbqod.Parameters != nil {
39064		objectMap["parameters"] = gbqod.Parameters
39065	}
39066	if gbqod.Annotations != nil {
39067		objectMap["annotations"] = gbqod.Annotations
39068	}
39069	if gbqod.Type != "" {
39070		objectMap["type"] = gbqod.Type
39071	}
39072	for k, v := range gbqod.AdditionalProperties {
39073		objectMap[k] = v
39074	}
39075	return json.Marshal(objectMap)
39076}
39077
39078// AsResponsysObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39079func (gbqod GoogleBigQueryObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
39080	return nil, false
39081}
39082
39083// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39084func (gbqod GoogleBigQueryObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
39085	return nil, false
39086}
39087
39088// AsVerticaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39089func (gbqod GoogleBigQueryObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
39090	return nil, false
39091}
39092
39093// AsNetezzaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39094func (gbqod GoogleBigQueryObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
39095	return nil, false
39096}
39097
39098// AsZohoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39099func (gbqod GoogleBigQueryObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
39100	return nil, false
39101}
39102
39103// AsXeroObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39104func (gbqod GoogleBigQueryObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
39105	return nil, false
39106}
39107
39108// AsSquareObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39109func (gbqod GoogleBigQueryObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
39110	return nil, false
39111}
39112
39113// AsSparkObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39114func (gbqod GoogleBigQueryObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
39115	return nil, false
39116}
39117
39118// AsShopifyObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39119func (gbqod GoogleBigQueryObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
39120	return nil, false
39121}
39122
39123// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39124func (gbqod GoogleBigQueryObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
39125	return nil, false
39126}
39127
39128// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39129func (gbqod GoogleBigQueryObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
39130	return nil, false
39131}
39132
39133// AsPrestoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39134func (gbqod GoogleBigQueryObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
39135	return nil, false
39136}
39137
39138// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39139func (gbqod GoogleBigQueryObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
39140	return nil, false
39141}
39142
39143// AsPaypalObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39144func (gbqod GoogleBigQueryObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
39145	return nil, false
39146}
39147
39148// AsMarketoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39149func (gbqod GoogleBigQueryObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
39150	return nil, false
39151}
39152
39153// AsMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39154func (gbqod GoogleBigQueryObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
39155	return nil, false
39156}
39157
39158// AsMagentoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39159func (gbqod GoogleBigQueryObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
39160	return nil, false
39161}
39162
39163// AsJiraObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39164func (gbqod GoogleBigQueryObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
39165	return nil, false
39166}
39167
39168// AsImpalaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39169func (gbqod GoogleBigQueryObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
39170	return nil, false
39171}
39172
39173// AsHubspotObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39174func (gbqod GoogleBigQueryObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
39175	return nil, false
39176}
39177
39178// AsHiveObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39179func (gbqod GoogleBigQueryObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
39180	return nil, false
39181}
39182
39183// AsHBaseObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39184func (gbqod GoogleBigQueryObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
39185	return nil, false
39186}
39187
39188// AsGreenplumTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39189func (gbqod GoogleBigQueryObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
39190	return nil, false
39191}
39192
39193// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39194func (gbqod GoogleBigQueryObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
39195	return &gbqod, true
39196}
39197
39198// AsEloquaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39199func (gbqod GoogleBigQueryObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
39200	return nil, false
39201}
39202
39203// AsDrillTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39204func (gbqod GoogleBigQueryObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
39205	return nil, false
39206}
39207
39208// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39209func (gbqod GoogleBigQueryObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
39210	return nil, false
39211}
39212
39213// AsConcurObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39214func (gbqod GoogleBigQueryObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
39215	return nil, false
39216}
39217
39218// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39219func (gbqod GoogleBigQueryObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
39220	return nil, false
39221}
39222
39223// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39224func (gbqod GoogleBigQueryObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
39225	return nil, false
39226}
39227
39228// AsHTTPDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39229func (gbqod GoogleBigQueryObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
39230	return nil, false
39231}
39232
39233// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39234func (gbqod GoogleBigQueryObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
39235	return nil, false
39236}
39237
39238// AsWebTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39239func (gbqod GoogleBigQueryObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
39240	return nil, false
39241}
39242
39243// AsSQLServerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39244func (gbqod GoogleBigQueryObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
39245	return nil, false
39246}
39247
39248// AsSapEccResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39249func (gbqod GoogleBigQueryObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
39250	return nil, false
39251}
39252
39253// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39254func (gbqod GoogleBigQueryObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
39255	return nil, false
39256}
39257
39258// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39259func (gbqod GoogleBigQueryObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
39260	return nil, false
39261}
39262
39263// AsRelationalTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39264func (gbqod GoogleBigQueryObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
39265	return nil, false
39266}
39267
39268// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39269func (gbqod GoogleBigQueryObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
39270	return nil, false
39271}
39272
39273// AsOracleTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39274func (gbqod GoogleBigQueryObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
39275	return nil, false
39276}
39277
39278// AsODataResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39279func (gbqod GoogleBigQueryObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
39280	return nil, false
39281}
39282
39283// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39284func (gbqod GoogleBigQueryObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
39285	return nil, false
39286}
39287
39288// AsFileShareDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39289func (gbqod GoogleBigQueryObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
39290	return nil, false
39291}
39292
39293// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39294func (gbqod GoogleBigQueryObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
39295	return nil, false
39296}
39297
39298// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39299func (gbqod GoogleBigQueryObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
39300	return nil, false
39301}
39302
39303// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39304func (gbqod GoogleBigQueryObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
39305	return nil, false
39306}
39307
39308// AsCustomDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39309func (gbqod GoogleBigQueryObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
39310	return nil, false
39311}
39312
39313// AsCassandraTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39314func (gbqod GoogleBigQueryObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
39315	return nil, false
39316}
39317
39318// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39319func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
39320	return nil, false
39321}
39322
39323// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39324func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
39325	return nil, false
39326}
39327
39328// AsAzureTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39329func (gbqod GoogleBigQueryObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
39330	return nil, false
39331}
39332
39333// AsAzureBlobDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39334func (gbqod GoogleBigQueryObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
39335	return nil, false
39336}
39337
39338// AsAmazonS3Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39339func (gbqod GoogleBigQueryObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
39340	return nil, false
39341}
39342
39343// AsDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39344func (gbqod GoogleBigQueryObjectDataset) AsDataset() (*Dataset, bool) {
39345	return nil, false
39346}
39347
39348// AsBasicDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39349func (gbqod GoogleBigQueryObjectDataset) AsBasicDataset() (BasicDataset, bool) {
39350	return &gbqod, true
39351}
39352
39353// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryObjectDataset struct.
39354func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error {
39355	var m map[string]*json.RawMessage
39356	err := json.Unmarshal(body, &m)
39357	if err != nil {
39358		return err
39359	}
39360	for k, v := range m {
39361		switch k {
39362		default:
39363			if v != nil {
39364				var additionalProperties interface{}
39365				err = json.Unmarshal(*v, &additionalProperties)
39366				if err != nil {
39367					return err
39368				}
39369				if gbqod.AdditionalProperties == nil {
39370					gbqod.AdditionalProperties = make(map[string]interface{})
39371				}
39372				gbqod.AdditionalProperties[k] = additionalProperties
39373			}
39374		case "description":
39375			if v != nil {
39376				var description string
39377				err = json.Unmarshal(*v, &description)
39378				if err != nil {
39379					return err
39380				}
39381				gbqod.Description = &description
39382			}
39383		case "structure":
39384			if v != nil {
39385				var structure interface{}
39386				err = json.Unmarshal(*v, &structure)
39387				if err != nil {
39388					return err
39389				}
39390				gbqod.Structure = structure
39391			}
39392		case "linkedServiceName":
39393			if v != nil {
39394				var linkedServiceName LinkedServiceReference
39395				err = json.Unmarshal(*v, &linkedServiceName)
39396				if err != nil {
39397					return err
39398				}
39399				gbqod.LinkedServiceName = &linkedServiceName
39400			}
39401		case "parameters":
39402			if v != nil {
39403				var parameters map[string]*ParameterSpecification
39404				err = json.Unmarshal(*v, &parameters)
39405				if err != nil {
39406					return err
39407				}
39408				gbqod.Parameters = parameters
39409			}
39410		case "annotations":
39411			if v != nil {
39412				var annotations []interface{}
39413				err = json.Unmarshal(*v, &annotations)
39414				if err != nil {
39415					return err
39416				}
39417				gbqod.Annotations = &annotations
39418			}
39419		case "type":
39420			if v != nil {
39421				var typeVar TypeBasicDataset
39422				err = json.Unmarshal(*v, &typeVar)
39423				if err != nil {
39424					return err
39425				}
39426				gbqod.Type = typeVar
39427			}
39428		}
39429	}
39430
39431	return nil
39432}
39433
39434// GoogleBigQuerySource a copy activity Google BigQuery service source.
39435type GoogleBigQuerySource struct {
39436	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
39437	Query interface{} `json:"query,omitempty"`
39438	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
39439	AdditionalProperties map[string]interface{} `json:""`
39440	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
39441	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
39442	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39443	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
39444	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
39445	Type TypeBasicCopySource `json:"type,omitempty"`
39446}
39447
39448// MarshalJSON is the custom marshaler for GoogleBigQuerySource.
39449func (gbqs GoogleBigQuerySource) MarshalJSON() ([]byte, error) {
39450	gbqs.Type = TypeGoogleBigQuerySource
39451	objectMap := make(map[string]interface{})
39452	if gbqs.Query != nil {
39453		objectMap["query"] = gbqs.Query
39454	}
39455	if gbqs.SourceRetryCount != nil {
39456		objectMap["sourceRetryCount"] = gbqs.SourceRetryCount
39457	}
39458	if gbqs.SourceRetryWait != nil {
39459		objectMap["sourceRetryWait"] = gbqs.SourceRetryWait
39460	}
39461	if gbqs.Type != "" {
39462		objectMap["type"] = gbqs.Type
39463	}
39464	for k, v := range gbqs.AdditionalProperties {
39465		objectMap[k] = v
39466	}
39467	return json.Marshal(objectMap)
39468}
39469
39470// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleBigQuerySource.
39471func (gbqs GoogleBigQuerySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
39472	return nil, false
39473}
39474
39475// AsResponsysSource is the BasicCopySource implementation for GoogleBigQuerySource.
39476func (gbqs GoogleBigQuerySource) AsResponsysSource() (*ResponsysSource, bool) {
39477	return nil, false
39478}
39479
39480// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleBigQuerySource.
39481func (gbqs GoogleBigQuerySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
39482	return nil, false
39483}
39484
39485// AsVerticaSource is the BasicCopySource implementation for GoogleBigQuerySource.
39486func (gbqs GoogleBigQuerySource) AsVerticaSource() (*VerticaSource, bool) {
39487	return nil, false
39488}
39489
39490// AsNetezzaSource is the BasicCopySource implementation for GoogleBigQuerySource.
39491func (gbqs GoogleBigQuerySource) AsNetezzaSource() (*NetezzaSource, bool) {
39492	return nil, false
39493}
39494
39495// AsZohoSource is the BasicCopySource implementation for GoogleBigQuerySource.
39496func (gbqs GoogleBigQuerySource) AsZohoSource() (*ZohoSource, bool) {
39497	return nil, false
39498}
39499
39500// AsXeroSource is the BasicCopySource implementation for GoogleBigQuerySource.
39501func (gbqs GoogleBigQuerySource) AsXeroSource() (*XeroSource, bool) {
39502	return nil, false
39503}
39504
39505// AsSquareSource is the BasicCopySource implementation for GoogleBigQuerySource.
39506func (gbqs GoogleBigQuerySource) AsSquareSource() (*SquareSource, bool) {
39507	return nil, false
39508}
39509
39510// AsSparkSource is the BasicCopySource implementation for GoogleBigQuerySource.
39511func (gbqs GoogleBigQuerySource) AsSparkSource() (*SparkSource, bool) {
39512	return nil, false
39513}
39514
39515// AsShopifySource is the BasicCopySource implementation for GoogleBigQuerySource.
39516func (gbqs GoogleBigQuerySource) AsShopifySource() (*ShopifySource, bool) {
39517	return nil, false
39518}
39519
39520// AsServiceNowSource is the BasicCopySource implementation for GoogleBigQuerySource.
39521func (gbqs GoogleBigQuerySource) AsServiceNowSource() (*ServiceNowSource, bool) {
39522	return nil, false
39523}
39524
39525// AsQuickBooksSource is the BasicCopySource implementation for GoogleBigQuerySource.
39526func (gbqs GoogleBigQuerySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
39527	return nil, false
39528}
39529
39530// AsPrestoSource is the BasicCopySource implementation for GoogleBigQuerySource.
39531func (gbqs GoogleBigQuerySource) AsPrestoSource() (*PrestoSource, bool) {
39532	return nil, false
39533}
39534
39535// AsPhoenixSource is the BasicCopySource implementation for GoogleBigQuerySource.
39536func (gbqs GoogleBigQuerySource) AsPhoenixSource() (*PhoenixSource, bool) {
39537	return nil, false
39538}
39539
39540// AsPaypalSource is the BasicCopySource implementation for GoogleBigQuerySource.
39541func (gbqs GoogleBigQuerySource) AsPaypalSource() (*PaypalSource, bool) {
39542	return nil, false
39543}
39544
39545// AsMarketoSource is the BasicCopySource implementation for GoogleBigQuerySource.
39546func (gbqs GoogleBigQuerySource) AsMarketoSource() (*MarketoSource, bool) {
39547	return nil, false
39548}
39549
39550// AsMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource.
39551func (gbqs GoogleBigQuerySource) AsMariaDBSource() (*MariaDBSource, bool) {
39552	return nil, false
39553}
39554
39555// AsMagentoSource is the BasicCopySource implementation for GoogleBigQuerySource.
39556func (gbqs GoogleBigQuerySource) AsMagentoSource() (*MagentoSource, bool) {
39557	return nil, false
39558}
39559
39560// AsJiraSource is the BasicCopySource implementation for GoogleBigQuerySource.
39561func (gbqs GoogleBigQuerySource) AsJiraSource() (*JiraSource, bool) {
39562	return nil, false
39563}
39564
39565// AsImpalaSource is the BasicCopySource implementation for GoogleBigQuerySource.
39566func (gbqs GoogleBigQuerySource) AsImpalaSource() (*ImpalaSource, bool) {
39567	return nil, false
39568}
39569
39570// AsHubspotSource is the BasicCopySource implementation for GoogleBigQuerySource.
39571func (gbqs GoogleBigQuerySource) AsHubspotSource() (*HubspotSource, bool) {
39572	return nil, false
39573}
39574
39575// AsHiveSource is the BasicCopySource implementation for GoogleBigQuerySource.
39576func (gbqs GoogleBigQuerySource) AsHiveSource() (*HiveSource, bool) {
39577	return nil, false
39578}
39579
39580// AsHBaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
39581func (gbqs GoogleBigQuerySource) AsHBaseSource() (*HBaseSource, bool) {
39582	return nil, false
39583}
39584
39585// AsGreenplumSource is the BasicCopySource implementation for GoogleBigQuerySource.
39586func (gbqs GoogleBigQuerySource) AsGreenplumSource() (*GreenplumSource, bool) {
39587	return nil, false
39588}
39589
39590// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleBigQuerySource.
39591func (gbqs GoogleBigQuerySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
39592	return &gbqs, true
39593}
39594
39595// AsEloquaSource is the BasicCopySource implementation for GoogleBigQuerySource.
39596func (gbqs GoogleBigQuerySource) AsEloquaSource() (*EloquaSource, bool) {
39597	return nil, false
39598}
39599
39600// AsDrillSource is the BasicCopySource implementation for GoogleBigQuerySource.
39601func (gbqs GoogleBigQuerySource) AsDrillSource() (*DrillSource, bool) {
39602	return nil, false
39603}
39604
39605// AsCouchbaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
39606func (gbqs GoogleBigQuerySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
39607	return nil, false
39608}
39609
39610// AsConcurSource is the BasicCopySource implementation for GoogleBigQuerySource.
39611func (gbqs GoogleBigQuerySource) AsConcurSource() (*ConcurSource, bool) {
39612	return nil, false
39613}
39614
39615// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
39616func (gbqs GoogleBigQuerySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
39617	return nil, false
39618}
39619
39620// AsAmazonMWSSource is the BasicCopySource implementation for GoogleBigQuerySource.
39621func (gbqs GoogleBigQuerySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
39622	return nil, false
39623}
39624
39625// AsHTTPSource is the BasicCopySource implementation for GoogleBigQuerySource.
39626func (gbqs GoogleBigQuerySource) AsHTTPSource() (*HTTPSource, bool) {
39627	return nil, false
39628}
39629
39630// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleBigQuerySource.
39631func (gbqs GoogleBigQuerySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
39632	return nil, false
39633}
39634
39635// AsMongoDbSource is the BasicCopySource implementation for GoogleBigQuerySource.
39636func (gbqs GoogleBigQuerySource) AsMongoDbSource() (*MongoDbSource, bool) {
39637	return nil, false
39638}
39639
39640// AsCassandraSource is the BasicCopySource implementation for GoogleBigQuerySource.
39641func (gbqs GoogleBigQuerySource) AsCassandraSource() (*CassandraSource, bool) {
39642	return nil, false
39643}
39644
39645// AsWebSource is the BasicCopySource implementation for GoogleBigQuerySource.
39646func (gbqs GoogleBigQuerySource) AsWebSource() (*WebSource, bool) {
39647	return nil, false
39648}
39649
39650// AsOracleSource is the BasicCopySource implementation for GoogleBigQuerySource.
39651func (gbqs GoogleBigQuerySource) AsOracleSource() (*OracleSource, bool) {
39652	return nil, false
39653}
39654
39655// AsAzureMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
39656func (gbqs GoogleBigQuerySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
39657	return nil, false
39658}
39659
39660// AsHdfsSource is the BasicCopySource implementation for GoogleBigQuerySource.
39661func (gbqs GoogleBigQuerySource) AsHdfsSource() (*HdfsSource, bool) {
39662	return nil, false
39663}
39664
39665// AsFileSystemSource is the BasicCopySource implementation for GoogleBigQuerySource.
39666func (gbqs GoogleBigQuerySource) AsFileSystemSource() (*FileSystemSource, bool) {
39667	return nil, false
39668}
39669
39670// AsSQLDWSource is the BasicCopySource implementation for GoogleBigQuerySource.
39671func (gbqs GoogleBigQuerySource) AsSQLDWSource() (*SQLDWSource, bool) {
39672	return nil, false
39673}
39674
39675// AsSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
39676func (gbqs GoogleBigQuerySource) AsSQLSource() (*SQLSource, bool) {
39677	return nil, false
39678}
39679
39680// AsSapEccSource is the BasicCopySource implementation for GoogleBigQuerySource.
39681func (gbqs GoogleBigQuerySource) AsSapEccSource() (*SapEccSource, bool) {
39682	return nil, false
39683}
39684
39685// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleBigQuerySource.
39686func (gbqs GoogleBigQuerySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
39687	return nil, false
39688}
39689
39690// AsSalesforceSource is the BasicCopySource implementation for GoogleBigQuerySource.
39691func (gbqs GoogleBigQuerySource) AsSalesforceSource() (*SalesforceSource, bool) {
39692	return nil, false
39693}
39694
39695// AsRelationalSource is the BasicCopySource implementation for GoogleBigQuerySource.
39696func (gbqs GoogleBigQuerySource) AsRelationalSource() (*RelationalSource, bool) {
39697	return nil, false
39698}
39699
39700// AsDynamicsSource is the BasicCopySource implementation for GoogleBigQuerySource.
39701func (gbqs GoogleBigQuerySource) AsDynamicsSource() (*DynamicsSource, bool) {
39702	return nil, false
39703}
39704
39705// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleBigQuerySource.
39706func (gbqs GoogleBigQuerySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
39707	return nil, false
39708}
39709
39710// AsBlobSource is the BasicCopySource implementation for GoogleBigQuerySource.
39711func (gbqs GoogleBigQuerySource) AsBlobSource() (*BlobSource, bool) {
39712	return nil, false
39713}
39714
39715// AsAzureTableSource is the BasicCopySource implementation for GoogleBigQuerySource.
39716func (gbqs GoogleBigQuerySource) AsAzureTableSource() (*AzureTableSource, bool) {
39717	return nil, false
39718}
39719
39720// AsCopySource is the BasicCopySource implementation for GoogleBigQuerySource.
39721func (gbqs GoogleBigQuerySource) AsCopySource() (*CopySource, bool) {
39722	return nil, false
39723}
39724
39725// AsBasicCopySource is the BasicCopySource implementation for GoogleBigQuerySource.
39726func (gbqs GoogleBigQuerySource) AsBasicCopySource() (BasicCopySource, bool) {
39727	return &gbqs, true
39728}
39729
39730// UnmarshalJSON is the custom unmarshaler for GoogleBigQuerySource struct.
39731func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error {
39732	var m map[string]*json.RawMessage
39733	err := json.Unmarshal(body, &m)
39734	if err != nil {
39735		return err
39736	}
39737	for k, v := range m {
39738		switch k {
39739		case "query":
39740			if v != nil {
39741				var query interface{}
39742				err = json.Unmarshal(*v, &query)
39743				if err != nil {
39744					return err
39745				}
39746				gbqs.Query = query
39747			}
39748		default:
39749			if v != nil {
39750				var additionalProperties interface{}
39751				err = json.Unmarshal(*v, &additionalProperties)
39752				if err != nil {
39753					return err
39754				}
39755				if gbqs.AdditionalProperties == nil {
39756					gbqs.AdditionalProperties = make(map[string]interface{})
39757				}
39758				gbqs.AdditionalProperties[k] = additionalProperties
39759			}
39760		case "sourceRetryCount":
39761			if v != nil {
39762				var sourceRetryCount interface{}
39763				err = json.Unmarshal(*v, &sourceRetryCount)
39764				if err != nil {
39765					return err
39766				}
39767				gbqs.SourceRetryCount = sourceRetryCount
39768			}
39769		case "sourceRetryWait":
39770			if v != nil {
39771				var sourceRetryWait interface{}
39772				err = json.Unmarshal(*v, &sourceRetryWait)
39773				if err != nil {
39774					return err
39775				}
39776				gbqs.SourceRetryWait = sourceRetryWait
39777			}
39778		case "type":
39779			if v != nil {
39780				var typeVar TypeBasicCopySource
39781				err = json.Unmarshal(*v, &typeVar)
39782				if err != nil {
39783					return err
39784				}
39785				gbqs.Type = typeVar
39786			}
39787		}
39788	}
39789
39790	return nil
39791}
39792
39793// GreenplumLinkedService greenplum Database linked service.
39794type GreenplumLinkedService struct {
39795	// GreenplumLinkedServiceTypeProperties - Greenplum Database linked service properties.
39796	*GreenplumLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
39797	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
39798	AdditionalProperties map[string]interface{} `json:""`
39799	// ConnectVia - The integration runtime reference.
39800	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
39801	// Description - Linked service description.
39802	Description *string `json:"description,omitempty"`
39803	// Parameters - Parameters for linked service.
39804	Parameters map[string]*ParameterSpecification `json:"parameters"`
39805	// Annotations - List of tags that can be used for describing the Dataset.
39806	Annotations *[]interface{} `json:"annotations,omitempty"`
39807	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
39808	Type TypeBasicLinkedService `json:"type,omitempty"`
39809}
39810
39811// MarshalJSON is the custom marshaler for GreenplumLinkedService.
39812func (gls GreenplumLinkedService) MarshalJSON() ([]byte, error) {
39813	gls.Type = TypeGreenplum
39814	objectMap := make(map[string]interface{})
39815	if gls.GreenplumLinkedServiceTypeProperties != nil {
39816		objectMap["typeProperties"] = gls.GreenplumLinkedServiceTypeProperties
39817	}
39818	if gls.ConnectVia != nil {
39819		objectMap["connectVia"] = gls.ConnectVia
39820	}
39821	if gls.Description != nil {
39822		objectMap["description"] = gls.Description
39823	}
39824	if gls.Parameters != nil {
39825		objectMap["parameters"] = gls.Parameters
39826	}
39827	if gls.Annotations != nil {
39828		objectMap["annotations"] = gls.Annotations
39829	}
39830	if gls.Type != "" {
39831		objectMap["type"] = gls.Type
39832	}
39833	for k, v := range gls.AdditionalProperties {
39834		objectMap[k] = v
39835	}
39836	return json.Marshal(objectMap)
39837}
39838
39839// AsResponsysLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39840func (gls GreenplumLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
39841	return nil, false
39842}
39843
39844// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39845func (gls GreenplumLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
39846	return nil, false
39847}
39848
39849// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39850func (gls GreenplumLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
39851	return nil, false
39852}
39853
39854// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39855func (gls GreenplumLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
39856	return nil, false
39857}
39858
39859// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39860func (gls GreenplumLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
39861	return nil, false
39862}
39863
39864// AsNetezzaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39865func (gls GreenplumLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
39866	return nil, false
39867}
39868
39869// AsVerticaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39870func (gls GreenplumLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
39871	return nil, false
39872}
39873
39874// AsZohoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39875func (gls GreenplumLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
39876	return nil, false
39877}
39878
39879// AsXeroLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39880func (gls GreenplumLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
39881	return nil, false
39882}
39883
39884// AsSquareLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39885func (gls GreenplumLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
39886	return nil, false
39887}
39888
39889// AsSparkLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39890func (gls GreenplumLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
39891	return nil, false
39892}
39893
39894// AsShopifyLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39895func (gls GreenplumLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
39896	return nil, false
39897}
39898
39899// AsServiceNowLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39900func (gls GreenplumLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
39901	return nil, false
39902}
39903
39904// AsQuickBooksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39905func (gls GreenplumLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
39906	return nil, false
39907}
39908
39909// AsPrestoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39910func (gls GreenplumLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
39911	return nil, false
39912}
39913
39914// AsPhoenixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39915func (gls GreenplumLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
39916	return nil, false
39917}
39918
39919// AsPaypalLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39920func (gls GreenplumLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
39921	return nil, false
39922}
39923
39924// AsMarketoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39925func (gls GreenplumLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
39926	return nil, false
39927}
39928
39929// AsMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39930func (gls GreenplumLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
39931	return nil, false
39932}
39933
39934// AsMagentoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39935func (gls GreenplumLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
39936	return nil, false
39937}
39938
39939// AsJiraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39940func (gls GreenplumLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
39941	return nil, false
39942}
39943
39944// AsImpalaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39945func (gls GreenplumLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
39946	return nil, false
39947}
39948
39949// AsHubspotLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39950func (gls GreenplumLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
39951	return nil, false
39952}
39953
39954// AsHiveLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39955func (gls GreenplumLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
39956	return nil, false
39957}
39958
39959// AsHBaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39960func (gls GreenplumLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
39961	return nil, false
39962}
39963
39964// AsGreenplumLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39965func (gls GreenplumLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
39966	return &gls, true
39967}
39968
39969// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39970func (gls GreenplumLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
39971	return nil, false
39972}
39973
39974// AsEloquaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39975func (gls GreenplumLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
39976	return nil, false
39977}
39978
39979// AsDrillLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39980func (gls GreenplumLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
39981	return nil, false
39982}
39983
39984// AsCouchbaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39985func (gls GreenplumLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
39986	return nil, false
39987}
39988
39989// AsConcurLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39990func (gls GreenplumLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
39991	return nil, false
39992}
39993
39994// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39995func (gls GreenplumLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
39996	return nil, false
39997}
39998
39999// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40000func (gls GreenplumLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
40001	return nil, false
40002}
40003
40004// AsSapHanaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40005func (gls GreenplumLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
40006	return nil, false
40007}
40008
40009// AsSapBWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40010func (gls GreenplumLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
40011	return nil, false
40012}
40013
40014// AsSftpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40015func (gls GreenplumLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
40016	return nil, false
40017}
40018
40019// AsFtpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40020func (gls GreenplumLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
40021	return nil, false
40022}
40023
40024// AsHTTPLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40025func (gls GreenplumLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
40026	return nil, false
40027}
40028
40029// AsAzureSearchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40030func (gls GreenplumLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
40031	return nil, false
40032}
40033
40034// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40035func (gls GreenplumLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
40036	return nil, false
40037}
40038
40039// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40040func (gls GreenplumLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
40041	return nil, false
40042}
40043
40044// AsAmazonS3LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40045func (gls GreenplumLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
40046	return nil, false
40047}
40048
40049// AsSapEccLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40050func (gls GreenplumLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
40051	return nil, false
40052}
40053
40054// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40055func (gls GreenplumLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
40056	return nil, false
40057}
40058
40059// AsSalesforceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40060func (gls GreenplumLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
40061	return nil, false
40062}
40063
40064// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40065func (gls GreenplumLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
40066	return nil, false
40067}
40068
40069// AsMongoDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40070func (gls GreenplumLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
40071	return nil, false
40072}
40073
40074// AsCassandraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40075func (gls GreenplumLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
40076	return nil, false
40077}
40078
40079// AsWebLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40080func (gls GreenplumLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
40081	return nil, false
40082}
40083
40084// AsODataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40085func (gls GreenplumLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
40086	return nil, false
40087}
40088
40089// AsHdfsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40090func (gls GreenplumLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
40091	return nil, false
40092}
40093
40094// AsOdbcLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40095func (gls GreenplumLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
40096	return nil, false
40097}
40098
40099// AsAzureMLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40100func (gls GreenplumLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
40101	return nil, false
40102}
40103
40104// AsTeradataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40105func (gls GreenplumLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
40106	return nil, false
40107}
40108
40109// AsDb2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40110func (gls GreenplumLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
40111	return nil, false
40112}
40113
40114// AsSybaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40115func (gls GreenplumLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
40116	return nil, false
40117}
40118
40119// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40120func (gls GreenplumLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
40121	return nil, false
40122}
40123
40124// AsMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40125func (gls GreenplumLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
40126	return nil, false
40127}
40128
40129// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40130func (gls GreenplumLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
40131	return nil, false
40132}
40133
40134// AsOracleLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40135func (gls GreenplumLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
40136	return nil, false
40137}
40138
40139// AsFileServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40140func (gls GreenplumLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
40141	return nil, false
40142}
40143
40144// AsHDInsightLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40145func (gls GreenplumLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
40146	return nil, false
40147}
40148
40149// AsDynamicsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40150func (gls GreenplumLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
40151	return nil, false
40152}
40153
40154// AsCosmosDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40155func (gls GreenplumLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
40156	return nil, false
40157}
40158
40159// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40160func (gls GreenplumLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
40161	return nil, false
40162}
40163
40164// AsAzureBatchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40165func (gls GreenplumLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
40166	return nil, false
40167}
40168
40169// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40170func (gls GreenplumLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
40171	return nil, false
40172}
40173
40174// AsSQLServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40175func (gls GreenplumLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
40176	return nil, false
40177}
40178
40179// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40180func (gls GreenplumLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
40181	return nil, false
40182}
40183
40184// AsAzureStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40185func (gls GreenplumLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
40186	return nil, false
40187}
40188
40189// AsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40190func (gls GreenplumLinkedService) AsLinkedService() (*LinkedService, bool) {
40191	return nil, false
40192}
40193
40194// AsBasicLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40195func (gls GreenplumLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
40196	return &gls, true
40197}
40198
40199// UnmarshalJSON is the custom unmarshaler for GreenplumLinkedService struct.
40200func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error {
40201	var m map[string]*json.RawMessage
40202	err := json.Unmarshal(body, &m)
40203	if err != nil {
40204		return err
40205	}
40206	for k, v := range m {
40207		switch k {
40208		case "typeProperties":
40209			if v != nil {
40210				var greenplumLinkedServiceTypeProperties GreenplumLinkedServiceTypeProperties
40211				err = json.Unmarshal(*v, &greenplumLinkedServiceTypeProperties)
40212				if err != nil {
40213					return err
40214				}
40215				gls.GreenplumLinkedServiceTypeProperties = &greenplumLinkedServiceTypeProperties
40216			}
40217		default:
40218			if v != nil {
40219				var additionalProperties interface{}
40220				err = json.Unmarshal(*v, &additionalProperties)
40221				if err != nil {
40222					return err
40223				}
40224				if gls.AdditionalProperties == nil {
40225					gls.AdditionalProperties = make(map[string]interface{})
40226				}
40227				gls.AdditionalProperties[k] = additionalProperties
40228			}
40229		case "connectVia":
40230			if v != nil {
40231				var connectVia IntegrationRuntimeReference
40232				err = json.Unmarshal(*v, &connectVia)
40233				if err != nil {
40234					return err
40235				}
40236				gls.ConnectVia = &connectVia
40237			}
40238		case "description":
40239			if v != nil {
40240				var description string
40241				err = json.Unmarshal(*v, &description)
40242				if err != nil {
40243					return err
40244				}
40245				gls.Description = &description
40246			}
40247		case "parameters":
40248			if v != nil {
40249				var parameters map[string]*ParameterSpecification
40250				err = json.Unmarshal(*v, &parameters)
40251				if err != nil {
40252					return err
40253				}
40254				gls.Parameters = parameters
40255			}
40256		case "annotations":
40257			if v != nil {
40258				var annotations []interface{}
40259				err = json.Unmarshal(*v, &annotations)
40260				if err != nil {
40261					return err
40262				}
40263				gls.Annotations = &annotations
40264			}
40265		case "type":
40266			if v != nil {
40267				var typeVar TypeBasicLinkedService
40268				err = json.Unmarshal(*v, &typeVar)
40269				if err != nil {
40270					return err
40271				}
40272				gls.Type = typeVar
40273			}
40274		}
40275	}
40276
40277	return nil
40278}
40279
40280// GreenplumLinkedServiceTypeProperties greenplum Database linked service properties.
40281type GreenplumLinkedServiceTypeProperties struct {
40282	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
40283	ConnectionString interface{} `json:"connectionString,omitempty"`
40284	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
40285	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
40286}
40287
40288// GreenplumSource a copy activity Greenplum Database source.
40289type GreenplumSource struct {
40290	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
40291	Query interface{} `json:"query,omitempty"`
40292	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
40293	AdditionalProperties map[string]interface{} `json:""`
40294	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
40295	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
40296	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40297	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
40298	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
40299	Type TypeBasicCopySource `json:"type,omitempty"`
40300}
40301
40302// MarshalJSON is the custom marshaler for GreenplumSource.
40303func (gs GreenplumSource) MarshalJSON() ([]byte, error) {
40304	gs.Type = TypeGreenplumSource
40305	objectMap := make(map[string]interface{})
40306	if gs.Query != nil {
40307		objectMap["query"] = gs.Query
40308	}
40309	if gs.SourceRetryCount != nil {
40310		objectMap["sourceRetryCount"] = gs.SourceRetryCount
40311	}
40312	if gs.SourceRetryWait != nil {
40313		objectMap["sourceRetryWait"] = gs.SourceRetryWait
40314	}
40315	if gs.Type != "" {
40316		objectMap["type"] = gs.Type
40317	}
40318	for k, v := range gs.AdditionalProperties {
40319		objectMap[k] = v
40320	}
40321	return json.Marshal(objectMap)
40322}
40323
40324// AsAmazonRedshiftSource is the BasicCopySource implementation for GreenplumSource.
40325func (gs GreenplumSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
40326	return nil, false
40327}
40328
40329// AsResponsysSource is the BasicCopySource implementation for GreenplumSource.
40330func (gs GreenplumSource) AsResponsysSource() (*ResponsysSource, bool) {
40331	return nil, false
40332}
40333
40334// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GreenplumSource.
40335func (gs GreenplumSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
40336	return nil, false
40337}
40338
40339// AsVerticaSource is the BasicCopySource implementation for GreenplumSource.
40340func (gs GreenplumSource) AsVerticaSource() (*VerticaSource, bool) {
40341	return nil, false
40342}
40343
40344// AsNetezzaSource is the BasicCopySource implementation for GreenplumSource.
40345func (gs GreenplumSource) AsNetezzaSource() (*NetezzaSource, bool) {
40346	return nil, false
40347}
40348
40349// AsZohoSource is the BasicCopySource implementation for GreenplumSource.
40350func (gs GreenplumSource) AsZohoSource() (*ZohoSource, bool) {
40351	return nil, false
40352}
40353
40354// AsXeroSource is the BasicCopySource implementation for GreenplumSource.
40355func (gs GreenplumSource) AsXeroSource() (*XeroSource, bool) {
40356	return nil, false
40357}
40358
40359// AsSquareSource is the BasicCopySource implementation for GreenplumSource.
40360func (gs GreenplumSource) AsSquareSource() (*SquareSource, bool) {
40361	return nil, false
40362}
40363
40364// AsSparkSource is the BasicCopySource implementation for GreenplumSource.
40365func (gs GreenplumSource) AsSparkSource() (*SparkSource, bool) {
40366	return nil, false
40367}
40368
40369// AsShopifySource is the BasicCopySource implementation for GreenplumSource.
40370func (gs GreenplumSource) AsShopifySource() (*ShopifySource, bool) {
40371	return nil, false
40372}
40373
40374// AsServiceNowSource is the BasicCopySource implementation for GreenplumSource.
40375func (gs GreenplumSource) AsServiceNowSource() (*ServiceNowSource, bool) {
40376	return nil, false
40377}
40378
40379// AsQuickBooksSource is the BasicCopySource implementation for GreenplumSource.
40380func (gs GreenplumSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
40381	return nil, false
40382}
40383
40384// AsPrestoSource is the BasicCopySource implementation for GreenplumSource.
40385func (gs GreenplumSource) AsPrestoSource() (*PrestoSource, bool) {
40386	return nil, false
40387}
40388
40389// AsPhoenixSource is the BasicCopySource implementation for GreenplumSource.
40390func (gs GreenplumSource) AsPhoenixSource() (*PhoenixSource, bool) {
40391	return nil, false
40392}
40393
40394// AsPaypalSource is the BasicCopySource implementation for GreenplumSource.
40395func (gs GreenplumSource) AsPaypalSource() (*PaypalSource, bool) {
40396	return nil, false
40397}
40398
40399// AsMarketoSource is the BasicCopySource implementation for GreenplumSource.
40400func (gs GreenplumSource) AsMarketoSource() (*MarketoSource, bool) {
40401	return nil, false
40402}
40403
40404// AsMariaDBSource is the BasicCopySource implementation for GreenplumSource.
40405func (gs GreenplumSource) AsMariaDBSource() (*MariaDBSource, bool) {
40406	return nil, false
40407}
40408
40409// AsMagentoSource is the BasicCopySource implementation for GreenplumSource.
40410func (gs GreenplumSource) AsMagentoSource() (*MagentoSource, bool) {
40411	return nil, false
40412}
40413
40414// AsJiraSource is the BasicCopySource implementation for GreenplumSource.
40415func (gs GreenplumSource) AsJiraSource() (*JiraSource, bool) {
40416	return nil, false
40417}
40418
40419// AsImpalaSource is the BasicCopySource implementation for GreenplumSource.
40420func (gs GreenplumSource) AsImpalaSource() (*ImpalaSource, bool) {
40421	return nil, false
40422}
40423
40424// AsHubspotSource is the BasicCopySource implementation for GreenplumSource.
40425func (gs GreenplumSource) AsHubspotSource() (*HubspotSource, bool) {
40426	return nil, false
40427}
40428
40429// AsHiveSource is the BasicCopySource implementation for GreenplumSource.
40430func (gs GreenplumSource) AsHiveSource() (*HiveSource, bool) {
40431	return nil, false
40432}
40433
40434// AsHBaseSource is the BasicCopySource implementation for GreenplumSource.
40435func (gs GreenplumSource) AsHBaseSource() (*HBaseSource, bool) {
40436	return nil, false
40437}
40438
40439// AsGreenplumSource is the BasicCopySource implementation for GreenplumSource.
40440func (gs GreenplumSource) AsGreenplumSource() (*GreenplumSource, bool) {
40441	return &gs, true
40442}
40443
40444// AsGoogleBigQuerySource is the BasicCopySource implementation for GreenplumSource.
40445func (gs GreenplumSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
40446	return nil, false
40447}
40448
40449// AsEloquaSource is the BasicCopySource implementation for GreenplumSource.
40450func (gs GreenplumSource) AsEloquaSource() (*EloquaSource, bool) {
40451	return nil, false
40452}
40453
40454// AsDrillSource is the BasicCopySource implementation for GreenplumSource.
40455func (gs GreenplumSource) AsDrillSource() (*DrillSource, bool) {
40456	return nil, false
40457}
40458
40459// AsCouchbaseSource is the BasicCopySource implementation for GreenplumSource.
40460func (gs GreenplumSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
40461	return nil, false
40462}
40463
40464// AsConcurSource is the BasicCopySource implementation for GreenplumSource.
40465func (gs GreenplumSource) AsConcurSource() (*ConcurSource, bool) {
40466	return nil, false
40467}
40468
40469// AsAzurePostgreSQLSource is the BasicCopySource implementation for GreenplumSource.
40470func (gs GreenplumSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
40471	return nil, false
40472}
40473
40474// AsAmazonMWSSource is the BasicCopySource implementation for GreenplumSource.
40475func (gs GreenplumSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
40476	return nil, false
40477}
40478
40479// AsHTTPSource is the BasicCopySource implementation for GreenplumSource.
40480func (gs GreenplumSource) AsHTTPSource() (*HTTPSource, bool) {
40481	return nil, false
40482}
40483
40484// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GreenplumSource.
40485func (gs GreenplumSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
40486	return nil, false
40487}
40488
40489// AsMongoDbSource is the BasicCopySource implementation for GreenplumSource.
40490func (gs GreenplumSource) AsMongoDbSource() (*MongoDbSource, bool) {
40491	return nil, false
40492}
40493
40494// AsCassandraSource is the BasicCopySource implementation for GreenplumSource.
40495func (gs GreenplumSource) AsCassandraSource() (*CassandraSource, bool) {
40496	return nil, false
40497}
40498
40499// AsWebSource is the BasicCopySource implementation for GreenplumSource.
40500func (gs GreenplumSource) AsWebSource() (*WebSource, bool) {
40501	return nil, false
40502}
40503
40504// AsOracleSource is the BasicCopySource implementation for GreenplumSource.
40505func (gs GreenplumSource) AsOracleSource() (*OracleSource, bool) {
40506	return nil, false
40507}
40508
40509// AsAzureMySQLSource is the BasicCopySource implementation for GreenplumSource.
40510func (gs GreenplumSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
40511	return nil, false
40512}
40513
40514// AsHdfsSource is the BasicCopySource implementation for GreenplumSource.
40515func (gs GreenplumSource) AsHdfsSource() (*HdfsSource, bool) {
40516	return nil, false
40517}
40518
40519// AsFileSystemSource is the BasicCopySource implementation for GreenplumSource.
40520func (gs GreenplumSource) AsFileSystemSource() (*FileSystemSource, bool) {
40521	return nil, false
40522}
40523
40524// AsSQLDWSource is the BasicCopySource implementation for GreenplumSource.
40525func (gs GreenplumSource) AsSQLDWSource() (*SQLDWSource, bool) {
40526	return nil, false
40527}
40528
40529// AsSQLSource is the BasicCopySource implementation for GreenplumSource.
40530func (gs GreenplumSource) AsSQLSource() (*SQLSource, bool) {
40531	return nil, false
40532}
40533
40534// AsSapEccSource is the BasicCopySource implementation for GreenplumSource.
40535func (gs GreenplumSource) AsSapEccSource() (*SapEccSource, bool) {
40536	return nil, false
40537}
40538
40539// AsSapCloudForCustomerSource is the BasicCopySource implementation for GreenplumSource.
40540func (gs GreenplumSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
40541	return nil, false
40542}
40543
40544// AsSalesforceSource is the BasicCopySource implementation for GreenplumSource.
40545func (gs GreenplumSource) AsSalesforceSource() (*SalesforceSource, bool) {
40546	return nil, false
40547}
40548
40549// AsRelationalSource is the BasicCopySource implementation for GreenplumSource.
40550func (gs GreenplumSource) AsRelationalSource() (*RelationalSource, bool) {
40551	return nil, false
40552}
40553
40554// AsDynamicsSource is the BasicCopySource implementation for GreenplumSource.
40555func (gs GreenplumSource) AsDynamicsSource() (*DynamicsSource, bool) {
40556	return nil, false
40557}
40558
40559// AsDocumentDbCollectionSource is the BasicCopySource implementation for GreenplumSource.
40560func (gs GreenplumSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
40561	return nil, false
40562}
40563
40564// AsBlobSource is the BasicCopySource implementation for GreenplumSource.
40565func (gs GreenplumSource) AsBlobSource() (*BlobSource, bool) {
40566	return nil, false
40567}
40568
40569// AsAzureTableSource is the BasicCopySource implementation for GreenplumSource.
40570func (gs GreenplumSource) AsAzureTableSource() (*AzureTableSource, bool) {
40571	return nil, false
40572}
40573
40574// AsCopySource is the BasicCopySource implementation for GreenplumSource.
40575func (gs GreenplumSource) AsCopySource() (*CopySource, bool) {
40576	return nil, false
40577}
40578
40579// AsBasicCopySource is the BasicCopySource implementation for GreenplumSource.
40580func (gs GreenplumSource) AsBasicCopySource() (BasicCopySource, bool) {
40581	return &gs, true
40582}
40583
40584// UnmarshalJSON is the custom unmarshaler for GreenplumSource struct.
40585func (gs *GreenplumSource) UnmarshalJSON(body []byte) error {
40586	var m map[string]*json.RawMessage
40587	err := json.Unmarshal(body, &m)
40588	if err != nil {
40589		return err
40590	}
40591	for k, v := range m {
40592		switch k {
40593		case "query":
40594			if v != nil {
40595				var query interface{}
40596				err = json.Unmarshal(*v, &query)
40597				if err != nil {
40598					return err
40599				}
40600				gs.Query = query
40601			}
40602		default:
40603			if v != nil {
40604				var additionalProperties interface{}
40605				err = json.Unmarshal(*v, &additionalProperties)
40606				if err != nil {
40607					return err
40608				}
40609				if gs.AdditionalProperties == nil {
40610					gs.AdditionalProperties = make(map[string]interface{})
40611				}
40612				gs.AdditionalProperties[k] = additionalProperties
40613			}
40614		case "sourceRetryCount":
40615			if v != nil {
40616				var sourceRetryCount interface{}
40617				err = json.Unmarshal(*v, &sourceRetryCount)
40618				if err != nil {
40619					return err
40620				}
40621				gs.SourceRetryCount = sourceRetryCount
40622			}
40623		case "sourceRetryWait":
40624			if v != nil {
40625				var sourceRetryWait interface{}
40626				err = json.Unmarshal(*v, &sourceRetryWait)
40627				if err != nil {
40628					return err
40629				}
40630				gs.SourceRetryWait = sourceRetryWait
40631			}
40632		case "type":
40633			if v != nil {
40634				var typeVar TypeBasicCopySource
40635				err = json.Unmarshal(*v, &typeVar)
40636				if err != nil {
40637					return err
40638				}
40639				gs.Type = typeVar
40640			}
40641		}
40642	}
40643
40644	return nil
40645}
40646
40647// GreenplumTableDataset greenplum Database dataset.
40648type GreenplumTableDataset struct {
40649	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
40650	AdditionalProperties map[string]interface{} `json:""`
40651	// Description - Dataset description.
40652	Description *string `json:"description,omitempty"`
40653	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
40654	Structure interface{} `json:"structure,omitempty"`
40655	// LinkedServiceName - Linked service reference.
40656	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
40657	// Parameters - Parameters for dataset.
40658	Parameters map[string]*ParameterSpecification `json:"parameters"`
40659	// Annotations - List of tags that can be used for describing the Dataset.
40660	Annotations *[]interface{} `json:"annotations,omitempty"`
40661	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
40662	Type TypeBasicDataset `json:"type,omitempty"`
40663}
40664
40665// MarshalJSON is the custom marshaler for GreenplumTableDataset.
40666func (gtd GreenplumTableDataset) MarshalJSON() ([]byte, error) {
40667	gtd.Type = TypeGreenplumTable
40668	objectMap := make(map[string]interface{})
40669	if gtd.Description != nil {
40670		objectMap["description"] = gtd.Description
40671	}
40672	if gtd.Structure != nil {
40673		objectMap["structure"] = gtd.Structure
40674	}
40675	if gtd.LinkedServiceName != nil {
40676		objectMap["linkedServiceName"] = gtd.LinkedServiceName
40677	}
40678	if gtd.Parameters != nil {
40679		objectMap["parameters"] = gtd.Parameters
40680	}
40681	if gtd.Annotations != nil {
40682		objectMap["annotations"] = gtd.Annotations
40683	}
40684	if gtd.Type != "" {
40685		objectMap["type"] = gtd.Type
40686	}
40687	for k, v := range gtd.AdditionalProperties {
40688		objectMap[k] = v
40689	}
40690	return json.Marshal(objectMap)
40691}
40692
40693// AsResponsysObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40694func (gtd GreenplumTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
40695	return nil, false
40696}
40697
40698// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40699func (gtd GreenplumTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
40700	return nil, false
40701}
40702
40703// AsVerticaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40704func (gtd GreenplumTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
40705	return nil, false
40706}
40707
40708// AsNetezzaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40709func (gtd GreenplumTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
40710	return nil, false
40711}
40712
40713// AsZohoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40714func (gtd GreenplumTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
40715	return nil, false
40716}
40717
40718// AsXeroObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40719func (gtd GreenplumTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
40720	return nil, false
40721}
40722
40723// AsSquareObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40724func (gtd GreenplumTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
40725	return nil, false
40726}
40727
40728// AsSparkObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40729func (gtd GreenplumTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
40730	return nil, false
40731}
40732
40733// AsShopifyObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40734func (gtd GreenplumTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
40735	return nil, false
40736}
40737
40738// AsServiceNowObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40739func (gtd GreenplumTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
40740	return nil, false
40741}
40742
40743// AsQuickBooksObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40744func (gtd GreenplumTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
40745	return nil, false
40746}
40747
40748// AsPrestoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40749func (gtd GreenplumTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
40750	return nil, false
40751}
40752
40753// AsPhoenixObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40754func (gtd GreenplumTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
40755	return nil, false
40756}
40757
40758// AsPaypalObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40759func (gtd GreenplumTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
40760	return nil, false
40761}
40762
40763// AsMarketoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40764func (gtd GreenplumTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
40765	return nil, false
40766}
40767
40768// AsMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40769func (gtd GreenplumTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
40770	return nil, false
40771}
40772
40773// AsMagentoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40774func (gtd GreenplumTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
40775	return nil, false
40776}
40777
40778// AsJiraObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40779func (gtd GreenplumTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
40780	return nil, false
40781}
40782
40783// AsImpalaObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40784func (gtd GreenplumTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
40785	return nil, false
40786}
40787
40788// AsHubspotObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40789func (gtd GreenplumTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
40790	return nil, false
40791}
40792
40793// AsHiveObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40794func (gtd GreenplumTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
40795	return nil, false
40796}
40797
40798// AsHBaseObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40799func (gtd GreenplumTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
40800	return nil, false
40801}
40802
40803// AsGreenplumTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40804func (gtd GreenplumTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
40805	return &gtd, true
40806}
40807
40808// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40809func (gtd GreenplumTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
40810	return nil, false
40811}
40812
40813// AsEloquaObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40814func (gtd GreenplumTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
40815	return nil, false
40816}
40817
40818// AsDrillTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40819func (gtd GreenplumTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
40820	return nil, false
40821}
40822
40823// AsCouchbaseTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40824func (gtd GreenplumTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
40825	return nil, false
40826}
40827
40828// AsConcurObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40829func (gtd GreenplumTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
40830	return nil, false
40831}
40832
40833// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40834func (gtd GreenplumTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
40835	return nil, false
40836}
40837
40838// AsAmazonMWSObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40839func (gtd GreenplumTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
40840	return nil, false
40841}
40842
40843// AsHTTPDataset is the BasicDataset implementation for GreenplumTableDataset.
40844func (gtd GreenplumTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
40845	return nil, false
40846}
40847
40848// AsAzureSearchIndexDataset is the BasicDataset implementation for GreenplumTableDataset.
40849func (gtd GreenplumTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
40850	return nil, false
40851}
40852
40853// AsWebTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40854func (gtd GreenplumTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
40855	return nil, false
40856}
40857
40858// AsSQLServerTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40859func (gtd GreenplumTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
40860	return nil, false
40861}
40862
40863// AsSapEccResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
40864func (gtd GreenplumTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
40865	return nil, false
40866}
40867
40868// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
40869func (gtd GreenplumTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
40870	return nil, false
40871}
40872
40873// AsSalesforceObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40874func (gtd GreenplumTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
40875	return nil, false
40876}
40877
40878// AsRelationalTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40879func (gtd GreenplumTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
40880	return nil, false
40881}
40882
40883// AsAzureMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40884func (gtd GreenplumTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
40885	return nil, false
40886}
40887
40888// AsOracleTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40889func (gtd GreenplumTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
40890	return nil, false
40891}
40892
40893// AsODataResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
40894func (gtd GreenplumTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
40895	return nil, false
40896}
40897
40898// AsMongoDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
40899func (gtd GreenplumTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
40900	return nil, false
40901}
40902
40903// AsFileShareDataset is the BasicDataset implementation for GreenplumTableDataset.
40904func (gtd GreenplumTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
40905	return nil, false
40906}
40907
40908// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GreenplumTableDataset.
40909func (gtd GreenplumTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
40910	return nil, false
40911}
40912
40913// AsDynamicsEntityDataset is the BasicDataset implementation for GreenplumTableDataset.
40914func (gtd GreenplumTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
40915	return nil, false
40916}
40917
40918// AsDocumentDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
40919func (gtd GreenplumTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
40920	return nil, false
40921}
40922
40923// AsCustomDataset is the BasicDataset implementation for GreenplumTableDataset.
40924func (gtd GreenplumTableDataset) AsCustomDataset() (*CustomDataset, bool) {
40925	return nil, false
40926}
40927
40928// AsCassandraTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40929func (gtd GreenplumTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
40930	return nil, false
40931}
40932
40933// AsAzureSQLDWTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40934func (gtd GreenplumTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
40935	return nil, false
40936}
40937
40938// AsAzureSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40939func (gtd GreenplumTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
40940	return nil, false
40941}
40942
40943// AsAzureTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40944func (gtd GreenplumTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
40945	return nil, false
40946}
40947
40948// AsAzureBlobDataset is the BasicDataset implementation for GreenplumTableDataset.
40949func (gtd GreenplumTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
40950	return nil, false
40951}
40952
40953// AsAmazonS3Dataset is the BasicDataset implementation for GreenplumTableDataset.
40954func (gtd GreenplumTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
40955	return nil, false
40956}
40957
40958// AsDataset is the BasicDataset implementation for GreenplumTableDataset.
40959func (gtd GreenplumTableDataset) AsDataset() (*Dataset, bool) {
40960	return nil, false
40961}
40962
40963// AsBasicDataset is the BasicDataset implementation for GreenplumTableDataset.
40964func (gtd GreenplumTableDataset) AsBasicDataset() (BasicDataset, bool) {
40965	return &gtd, true
40966}
40967
40968// UnmarshalJSON is the custom unmarshaler for GreenplumTableDataset struct.
40969func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error {
40970	var m map[string]*json.RawMessage
40971	err := json.Unmarshal(body, &m)
40972	if err != nil {
40973		return err
40974	}
40975	for k, v := range m {
40976		switch k {
40977		default:
40978			if v != nil {
40979				var additionalProperties interface{}
40980				err = json.Unmarshal(*v, &additionalProperties)
40981				if err != nil {
40982					return err
40983				}
40984				if gtd.AdditionalProperties == nil {
40985					gtd.AdditionalProperties = make(map[string]interface{})
40986				}
40987				gtd.AdditionalProperties[k] = additionalProperties
40988			}
40989		case "description":
40990			if v != nil {
40991				var description string
40992				err = json.Unmarshal(*v, &description)
40993				if err != nil {
40994					return err
40995				}
40996				gtd.Description = &description
40997			}
40998		case "structure":
40999			if v != nil {
41000				var structure interface{}
41001				err = json.Unmarshal(*v, &structure)
41002				if err != nil {
41003					return err
41004				}
41005				gtd.Structure = structure
41006			}
41007		case "linkedServiceName":
41008			if v != nil {
41009				var linkedServiceName LinkedServiceReference
41010				err = json.Unmarshal(*v, &linkedServiceName)
41011				if err != nil {
41012					return err
41013				}
41014				gtd.LinkedServiceName = &linkedServiceName
41015			}
41016		case "parameters":
41017			if v != nil {
41018				var parameters map[string]*ParameterSpecification
41019				err = json.Unmarshal(*v, &parameters)
41020				if err != nil {
41021					return err
41022				}
41023				gtd.Parameters = parameters
41024			}
41025		case "annotations":
41026			if v != nil {
41027				var annotations []interface{}
41028				err = json.Unmarshal(*v, &annotations)
41029				if err != nil {
41030					return err
41031				}
41032				gtd.Annotations = &annotations
41033			}
41034		case "type":
41035			if v != nil {
41036				var typeVar TypeBasicDataset
41037				err = json.Unmarshal(*v, &typeVar)
41038				if err != nil {
41039					return err
41040				}
41041				gtd.Type = typeVar
41042			}
41043		}
41044	}
41045
41046	return nil
41047}
41048
41049// HBaseLinkedService hBase server linked service.
41050type HBaseLinkedService struct {
41051	// HBaseLinkedServiceTypeProperties - HBase server linked service properties.
41052	*HBaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
41053	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
41054	AdditionalProperties map[string]interface{} `json:""`
41055	// ConnectVia - The integration runtime reference.
41056	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
41057	// Description - Linked service description.
41058	Description *string `json:"description,omitempty"`
41059	// Parameters - Parameters for linked service.
41060	Parameters map[string]*ParameterSpecification `json:"parameters"`
41061	// Annotations - List of tags that can be used for describing the Dataset.
41062	Annotations *[]interface{} `json:"annotations,omitempty"`
41063	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
41064	Type TypeBasicLinkedService `json:"type,omitempty"`
41065}
41066
41067// MarshalJSON is the custom marshaler for HBaseLinkedService.
41068func (hbls HBaseLinkedService) MarshalJSON() ([]byte, error) {
41069	hbls.Type = TypeHBase
41070	objectMap := make(map[string]interface{})
41071	if hbls.HBaseLinkedServiceTypeProperties != nil {
41072		objectMap["typeProperties"] = hbls.HBaseLinkedServiceTypeProperties
41073	}
41074	if hbls.ConnectVia != nil {
41075		objectMap["connectVia"] = hbls.ConnectVia
41076	}
41077	if hbls.Description != nil {
41078		objectMap["description"] = hbls.Description
41079	}
41080	if hbls.Parameters != nil {
41081		objectMap["parameters"] = hbls.Parameters
41082	}
41083	if hbls.Annotations != nil {
41084		objectMap["annotations"] = hbls.Annotations
41085	}
41086	if hbls.Type != "" {
41087		objectMap["type"] = hbls.Type
41088	}
41089	for k, v := range hbls.AdditionalProperties {
41090		objectMap[k] = v
41091	}
41092	return json.Marshal(objectMap)
41093}
41094
41095// AsResponsysLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41096func (hbls HBaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
41097	return nil, false
41098}
41099
41100// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41101func (hbls HBaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
41102	return nil, false
41103}
41104
41105// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41106func (hbls HBaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
41107	return nil, false
41108}
41109
41110// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41111func (hbls HBaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
41112	return nil, false
41113}
41114
41115// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41116func (hbls HBaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
41117	return nil, false
41118}
41119
41120// AsNetezzaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41121func (hbls HBaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
41122	return nil, false
41123}
41124
41125// AsVerticaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41126func (hbls HBaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
41127	return nil, false
41128}
41129
41130// AsZohoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41131func (hbls HBaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
41132	return nil, false
41133}
41134
41135// AsXeroLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41136func (hbls HBaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
41137	return nil, false
41138}
41139
41140// AsSquareLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41141func (hbls HBaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
41142	return nil, false
41143}
41144
41145// AsSparkLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41146func (hbls HBaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
41147	return nil, false
41148}
41149
41150// AsShopifyLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41151func (hbls HBaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
41152	return nil, false
41153}
41154
41155// AsServiceNowLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41156func (hbls HBaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
41157	return nil, false
41158}
41159
41160// AsQuickBooksLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41161func (hbls HBaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
41162	return nil, false
41163}
41164
41165// AsPrestoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41166func (hbls HBaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
41167	return nil, false
41168}
41169
41170// AsPhoenixLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41171func (hbls HBaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
41172	return nil, false
41173}
41174
41175// AsPaypalLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41176func (hbls HBaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
41177	return nil, false
41178}
41179
41180// AsMarketoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41181func (hbls HBaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
41182	return nil, false
41183}
41184
41185// AsMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41186func (hbls HBaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
41187	return nil, false
41188}
41189
41190// AsMagentoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41191func (hbls HBaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
41192	return nil, false
41193}
41194
41195// AsJiraLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41196func (hbls HBaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
41197	return nil, false
41198}
41199
41200// AsImpalaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41201func (hbls HBaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
41202	return nil, false
41203}
41204
41205// AsHubspotLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41206func (hbls HBaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
41207	return nil, false
41208}
41209
41210// AsHiveLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41211func (hbls HBaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
41212	return nil, false
41213}
41214
41215// AsHBaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41216func (hbls HBaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
41217	return &hbls, true
41218}
41219
41220// AsGreenplumLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41221func (hbls HBaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
41222	return nil, false
41223}
41224
41225// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41226func (hbls HBaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
41227	return nil, false
41228}
41229
41230// AsEloquaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41231func (hbls HBaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
41232	return nil, false
41233}
41234
41235// AsDrillLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41236func (hbls HBaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
41237	return nil, false
41238}
41239
41240// AsCouchbaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41241func (hbls HBaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
41242	return nil, false
41243}
41244
41245// AsConcurLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41246func (hbls HBaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
41247	return nil, false
41248}
41249
41250// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41251func (hbls HBaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
41252	return nil, false
41253}
41254
41255// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41256func (hbls HBaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
41257	return nil, false
41258}
41259
41260// AsSapHanaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41261func (hbls HBaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
41262	return nil, false
41263}
41264
41265// AsSapBWLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41266func (hbls HBaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
41267	return nil, false
41268}
41269
41270// AsSftpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41271func (hbls HBaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
41272	return nil, false
41273}
41274
41275// AsFtpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41276func (hbls HBaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
41277	return nil, false
41278}
41279
41280// AsHTTPLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41281func (hbls HBaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
41282	return nil, false
41283}
41284
41285// AsAzureSearchLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41286func (hbls HBaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
41287	return nil, false
41288}
41289
41290// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41291func (hbls HBaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
41292	return nil, false
41293}
41294
41295// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41296func (hbls HBaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
41297	return nil, false
41298}
41299
41300// AsAmazonS3LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41301func (hbls HBaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
41302	return nil, false
41303}
41304
41305// AsSapEccLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41306func (hbls HBaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
41307	return nil, false
41308}
41309
41310// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41311func (hbls HBaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
41312	return nil, false
41313}
41314
41315// AsSalesforceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41316func (hbls HBaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
41317	return nil, false
41318}
41319
41320// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41321func (hbls HBaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
41322	return nil, false
41323}
41324
41325// AsMongoDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41326func (hbls HBaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
41327	return nil, false
41328}
41329
41330// AsCassandraLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41331func (hbls HBaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
41332	return nil, false
41333}
41334
41335// AsWebLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41336func (hbls HBaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
41337	return nil, false
41338}
41339
41340// AsODataLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41341func (hbls HBaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
41342	return nil, false
41343}
41344
41345// AsHdfsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41346func (hbls HBaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
41347	return nil, false
41348}
41349
41350// AsOdbcLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41351func (hbls HBaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
41352	return nil, false
41353}
41354
41355// AsAzureMLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41356func (hbls HBaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
41357	return nil, false
41358}
41359
41360// AsTeradataLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41361func (hbls HBaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
41362	return nil, false
41363}
41364
41365// AsDb2LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41366func (hbls HBaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
41367	return nil, false
41368}
41369
41370// AsSybaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41371func (hbls HBaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
41372	return nil, false
41373}
41374
41375// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41376func (hbls HBaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
41377	return nil, false
41378}
41379
41380// AsMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41381func (hbls HBaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
41382	return nil, false
41383}
41384
41385// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41386func (hbls HBaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
41387	return nil, false
41388}
41389
41390// AsOracleLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41391func (hbls HBaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
41392	return nil, false
41393}
41394
41395// AsFileServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41396func (hbls HBaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
41397	return nil, false
41398}
41399
41400// AsHDInsightLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41401func (hbls HBaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
41402	return nil, false
41403}
41404
41405// AsDynamicsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41406func (hbls HBaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
41407	return nil, false
41408}
41409
41410// AsCosmosDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41411func (hbls HBaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
41412	return nil, false
41413}
41414
41415// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41416func (hbls HBaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
41417	return nil, false
41418}
41419
41420// AsAzureBatchLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41421func (hbls HBaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
41422	return nil, false
41423}
41424
41425// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41426func (hbls HBaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
41427	return nil, false
41428}
41429
41430// AsSQLServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41431func (hbls HBaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
41432	return nil, false
41433}
41434
41435// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41436func (hbls HBaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
41437	return nil, false
41438}
41439
41440// AsAzureStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41441func (hbls HBaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
41442	return nil, false
41443}
41444
41445// AsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41446func (hbls HBaseLinkedService) AsLinkedService() (*LinkedService, bool) {
41447	return nil, false
41448}
41449
41450// AsBasicLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41451func (hbls HBaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
41452	return &hbls, true
41453}
41454
41455// UnmarshalJSON is the custom unmarshaler for HBaseLinkedService struct.
41456func (hbls *HBaseLinkedService) UnmarshalJSON(body []byte) error {
41457	var m map[string]*json.RawMessage
41458	err := json.Unmarshal(body, &m)
41459	if err != nil {
41460		return err
41461	}
41462	for k, v := range m {
41463		switch k {
41464		case "typeProperties":
41465			if v != nil {
41466				var hBaseLinkedServiceTypeProperties HBaseLinkedServiceTypeProperties
41467				err = json.Unmarshal(*v, &hBaseLinkedServiceTypeProperties)
41468				if err != nil {
41469					return err
41470				}
41471				hbls.HBaseLinkedServiceTypeProperties = &hBaseLinkedServiceTypeProperties
41472			}
41473		default:
41474			if v != nil {
41475				var additionalProperties interface{}
41476				err = json.Unmarshal(*v, &additionalProperties)
41477				if err != nil {
41478					return err
41479				}
41480				if hbls.AdditionalProperties == nil {
41481					hbls.AdditionalProperties = make(map[string]interface{})
41482				}
41483				hbls.AdditionalProperties[k] = additionalProperties
41484			}
41485		case "connectVia":
41486			if v != nil {
41487				var connectVia IntegrationRuntimeReference
41488				err = json.Unmarshal(*v, &connectVia)
41489				if err != nil {
41490					return err
41491				}
41492				hbls.ConnectVia = &connectVia
41493			}
41494		case "description":
41495			if v != nil {
41496				var description string
41497				err = json.Unmarshal(*v, &description)
41498				if err != nil {
41499					return err
41500				}
41501				hbls.Description = &description
41502			}
41503		case "parameters":
41504			if v != nil {
41505				var parameters map[string]*ParameterSpecification
41506				err = json.Unmarshal(*v, &parameters)
41507				if err != nil {
41508					return err
41509				}
41510				hbls.Parameters = parameters
41511			}
41512		case "annotations":
41513			if v != nil {
41514				var annotations []interface{}
41515				err = json.Unmarshal(*v, &annotations)
41516				if err != nil {
41517					return err
41518				}
41519				hbls.Annotations = &annotations
41520			}
41521		case "type":
41522			if v != nil {
41523				var typeVar TypeBasicLinkedService
41524				err = json.Unmarshal(*v, &typeVar)
41525				if err != nil {
41526					return err
41527				}
41528				hbls.Type = typeVar
41529			}
41530		}
41531	}
41532
41533	return nil
41534}
41535
41536// HBaseLinkedServiceTypeProperties hBase server linked service properties.
41537type HBaseLinkedServiceTypeProperties struct {
41538	// Host - The IP address or host name of the HBase server. (i.e. 192.168.222.160)
41539	Host interface{} `json:"host,omitempty"`
41540	// Port - The TCP port that the HBase instance uses to listen for client connections. The default value is 9090.
41541	Port interface{} `json:"port,omitempty"`
41542	// HTTPPath - The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version)
41543	HTTPPath interface{} `json:"httpPath,omitempty"`
41544	// AuthenticationType - The authentication mechanism to use to connect to the HBase server. Possible values include: 'HBaseAuthenticationTypeAnonymous', 'HBaseAuthenticationTypeBasic'
41545	AuthenticationType HBaseAuthenticationType `json:"authenticationType,omitempty"`
41546	// Username - The user name used to connect to the HBase instance.
41547	Username interface{} `json:"username,omitempty"`
41548	// Password - The password corresponding to the user name.
41549	Password BasicSecretBase `json:"password,omitempty"`
41550	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
41551	EnableSsl interface{} `json:"enableSsl,omitempty"`
41552	// TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
41553	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
41554	// AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
41555	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
41556	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
41557	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
41558	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
41559	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
41560}
41561
41562// UnmarshalJSON is the custom unmarshaler for HBaseLinkedServiceTypeProperties struct.
41563func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
41564	var m map[string]*json.RawMessage
41565	err := json.Unmarshal(body, &m)
41566	if err != nil {
41567		return err
41568	}
41569	for k, v := range m {
41570		switch k {
41571		case "host":
41572			if v != nil {
41573				var host interface{}
41574				err = json.Unmarshal(*v, &host)
41575				if err != nil {
41576					return err
41577				}
41578				hblstp.Host = host
41579			}
41580		case "port":
41581			if v != nil {
41582				var port interface{}
41583				err = json.Unmarshal(*v, &port)
41584				if err != nil {
41585					return err
41586				}
41587				hblstp.Port = port
41588			}
41589		case "httpPath":
41590			if v != nil {
41591				var HTTPPath interface{}
41592				err = json.Unmarshal(*v, &HTTPPath)
41593				if err != nil {
41594					return err
41595				}
41596				hblstp.HTTPPath = HTTPPath
41597			}
41598		case "authenticationType":
41599			if v != nil {
41600				var authenticationType HBaseAuthenticationType
41601				err = json.Unmarshal(*v, &authenticationType)
41602				if err != nil {
41603					return err
41604				}
41605				hblstp.AuthenticationType = authenticationType
41606			}
41607		case "username":
41608			if v != nil {
41609				var username interface{}
41610				err = json.Unmarshal(*v, &username)
41611				if err != nil {
41612					return err
41613				}
41614				hblstp.Username = username
41615			}
41616		case "password":
41617			if v != nil {
41618				password, err := unmarshalBasicSecretBase(*v)
41619				if err != nil {
41620					return err
41621				}
41622				hblstp.Password = password
41623			}
41624		case "enableSsl":
41625			if v != nil {
41626				var enableSsl interface{}
41627				err = json.Unmarshal(*v, &enableSsl)
41628				if err != nil {
41629					return err
41630				}
41631				hblstp.EnableSsl = enableSsl
41632			}
41633		case "trustedCertPath":
41634			if v != nil {
41635				var trustedCertPath interface{}
41636				err = json.Unmarshal(*v, &trustedCertPath)
41637				if err != nil {
41638					return err
41639				}
41640				hblstp.TrustedCertPath = trustedCertPath
41641			}
41642		case "allowHostNameCNMismatch":
41643			if v != nil {
41644				var allowHostNameCNMismatch interface{}
41645				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
41646				if err != nil {
41647					return err
41648				}
41649				hblstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
41650			}
41651		case "allowSelfSignedServerCert":
41652			if v != nil {
41653				var allowSelfSignedServerCert interface{}
41654				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
41655				if err != nil {
41656					return err
41657				}
41658				hblstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
41659			}
41660		case "encryptedCredential":
41661			if v != nil {
41662				var encryptedCredential interface{}
41663				err = json.Unmarshal(*v, &encryptedCredential)
41664				if err != nil {
41665					return err
41666				}
41667				hblstp.EncryptedCredential = encryptedCredential
41668			}
41669		}
41670	}
41671
41672	return nil
41673}
41674
41675// HBaseObjectDataset hBase server dataset.
41676type HBaseObjectDataset struct {
41677	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
41678	AdditionalProperties map[string]interface{} `json:""`
41679	// Description - Dataset description.
41680	Description *string `json:"description,omitempty"`
41681	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
41682	Structure interface{} `json:"structure,omitempty"`
41683	// LinkedServiceName - Linked service reference.
41684	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
41685	// Parameters - Parameters for dataset.
41686	Parameters map[string]*ParameterSpecification `json:"parameters"`
41687	// Annotations - List of tags that can be used for describing the Dataset.
41688	Annotations *[]interface{} `json:"annotations,omitempty"`
41689	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
41690	Type TypeBasicDataset `json:"type,omitempty"`
41691}
41692
41693// MarshalJSON is the custom marshaler for HBaseObjectDataset.
41694func (hbod HBaseObjectDataset) MarshalJSON() ([]byte, error) {
41695	hbod.Type = TypeHBaseObject
41696	objectMap := make(map[string]interface{})
41697	if hbod.Description != nil {
41698		objectMap["description"] = hbod.Description
41699	}
41700	if hbod.Structure != nil {
41701		objectMap["structure"] = hbod.Structure
41702	}
41703	if hbod.LinkedServiceName != nil {
41704		objectMap["linkedServiceName"] = hbod.LinkedServiceName
41705	}
41706	if hbod.Parameters != nil {
41707		objectMap["parameters"] = hbod.Parameters
41708	}
41709	if hbod.Annotations != nil {
41710		objectMap["annotations"] = hbod.Annotations
41711	}
41712	if hbod.Type != "" {
41713		objectMap["type"] = hbod.Type
41714	}
41715	for k, v := range hbod.AdditionalProperties {
41716		objectMap[k] = v
41717	}
41718	return json.Marshal(objectMap)
41719}
41720
41721// AsResponsysObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41722func (hbod HBaseObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
41723	return nil, false
41724}
41725
41726// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41727func (hbod HBaseObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
41728	return nil, false
41729}
41730
41731// AsVerticaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41732func (hbod HBaseObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
41733	return nil, false
41734}
41735
41736// AsNetezzaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41737func (hbod HBaseObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
41738	return nil, false
41739}
41740
41741// AsZohoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41742func (hbod HBaseObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
41743	return nil, false
41744}
41745
41746// AsXeroObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41747func (hbod HBaseObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
41748	return nil, false
41749}
41750
41751// AsSquareObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41752func (hbod HBaseObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
41753	return nil, false
41754}
41755
41756// AsSparkObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41757func (hbod HBaseObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
41758	return nil, false
41759}
41760
41761// AsShopifyObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41762func (hbod HBaseObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
41763	return nil, false
41764}
41765
41766// AsServiceNowObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41767func (hbod HBaseObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
41768	return nil, false
41769}
41770
41771// AsQuickBooksObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41772func (hbod HBaseObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
41773	return nil, false
41774}
41775
41776// AsPrestoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41777func (hbod HBaseObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
41778	return nil, false
41779}
41780
41781// AsPhoenixObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41782func (hbod HBaseObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
41783	return nil, false
41784}
41785
41786// AsPaypalObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41787func (hbod HBaseObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
41788	return nil, false
41789}
41790
41791// AsMarketoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41792func (hbod HBaseObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
41793	return nil, false
41794}
41795
41796// AsMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41797func (hbod HBaseObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
41798	return nil, false
41799}
41800
41801// AsMagentoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41802func (hbod HBaseObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
41803	return nil, false
41804}
41805
41806// AsJiraObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41807func (hbod HBaseObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
41808	return nil, false
41809}
41810
41811// AsImpalaObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41812func (hbod HBaseObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
41813	return nil, false
41814}
41815
41816// AsHubspotObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41817func (hbod HBaseObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
41818	return nil, false
41819}
41820
41821// AsHiveObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41822func (hbod HBaseObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
41823	return nil, false
41824}
41825
41826// AsHBaseObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41827func (hbod HBaseObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
41828	return &hbod, true
41829}
41830
41831// AsGreenplumTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41832func (hbod HBaseObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
41833	return nil, false
41834}
41835
41836// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41837func (hbod HBaseObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
41838	return nil, false
41839}
41840
41841// AsEloquaObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41842func (hbod HBaseObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
41843	return nil, false
41844}
41845
41846// AsDrillTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41847func (hbod HBaseObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
41848	return nil, false
41849}
41850
41851// AsCouchbaseTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41852func (hbod HBaseObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
41853	return nil, false
41854}
41855
41856// AsConcurObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41857func (hbod HBaseObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
41858	return nil, false
41859}
41860
41861// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41862func (hbod HBaseObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
41863	return nil, false
41864}
41865
41866// AsAmazonMWSObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41867func (hbod HBaseObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
41868	return nil, false
41869}
41870
41871// AsHTTPDataset is the BasicDataset implementation for HBaseObjectDataset.
41872func (hbod HBaseObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
41873	return nil, false
41874}
41875
41876// AsAzureSearchIndexDataset is the BasicDataset implementation for HBaseObjectDataset.
41877func (hbod HBaseObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
41878	return nil, false
41879}
41880
41881// AsWebTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41882func (hbod HBaseObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
41883	return nil, false
41884}
41885
41886// AsSQLServerTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41887func (hbod HBaseObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
41888	return nil, false
41889}
41890
41891// AsSapEccResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
41892func (hbod HBaseObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
41893	return nil, false
41894}
41895
41896// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
41897func (hbod HBaseObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
41898	return nil, false
41899}
41900
41901// AsSalesforceObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41902func (hbod HBaseObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
41903	return nil, false
41904}
41905
41906// AsRelationalTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41907func (hbod HBaseObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
41908	return nil, false
41909}
41910
41911// AsAzureMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41912func (hbod HBaseObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
41913	return nil, false
41914}
41915
41916// AsOracleTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41917func (hbod HBaseObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
41918	return nil, false
41919}
41920
41921// AsODataResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
41922func (hbod HBaseObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
41923	return nil, false
41924}
41925
41926// AsMongoDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
41927func (hbod HBaseObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
41928	return nil, false
41929}
41930
41931// AsFileShareDataset is the BasicDataset implementation for HBaseObjectDataset.
41932func (hbod HBaseObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
41933	return nil, false
41934}
41935
41936// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HBaseObjectDataset.
41937func (hbod HBaseObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
41938	return nil, false
41939}
41940
41941// AsDynamicsEntityDataset is the BasicDataset implementation for HBaseObjectDataset.
41942func (hbod HBaseObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
41943	return nil, false
41944}
41945
41946// AsDocumentDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
41947func (hbod HBaseObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
41948	return nil, false
41949}
41950
41951// AsCustomDataset is the BasicDataset implementation for HBaseObjectDataset.
41952func (hbod HBaseObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
41953	return nil, false
41954}
41955
41956// AsCassandraTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41957func (hbod HBaseObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
41958	return nil, false
41959}
41960
41961// AsAzureSQLDWTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41962func (hbod HBaseObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
41963	return nil, false
41964}
41965
41966// AsAzureSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41967func (hbod HBaseObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
41968	return nil, false
41969}
41970
41971// AsAzureTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41972func (hbod HBaseObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
41973	return nil, false
41974}
41975
41976// AsAzureBlobDataset is the BasicDataset implementation for HBaseObjectDataset.
41977func (hbod HBaseObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
41978	return nil, false
41979}
41980
41981// AsAmazonS3Dataset is the BasicDataset implementation for HBaseObjectDataset.
41982func (hbod HBaseObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
41983	return nil, false
41984}
41985
41986// AsDataset is the BasicDataset implementation for HBaseObjectDataset.
41987func (hbod HBaseObjectDataset) AsDataset() (*Dataset, bool) {
41988	return nil, false
41989}
41990
41991// AsBasicDataset is the BasicDataset implementation for HBaseObjectDataset.
41992func (hbod HBaseObjectDataset) AsBasicDataset() (BasicDataset, bool) {
41993	return &hbod, true
41994}
41995
41996// UnmarshalJSON is the custom unmarshaler for HBaseObjectDataset struct.
41997func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error {
41998	var m map[string]*json.RawMessage
41999	err := json.Unmarshal(body, &m)
42000	if err != nil {
42001		return err
42002	}
42003	for k, v := range m {
42004		switch k {
42005		default:
42006			if v != nil {
42007				var additionalProperties interface{}
42008				err = json.Unmarshal(*v, &additionalProperties)
42009				if err != nil {
42010					return err
42011				}
42012				if hbod.AdditionalProperties == nil {
42013					hbod.AdditionalProperties = make(map[string]interface{})
42014				}
42015				hbod.AdditionalProperties[k] = additionalProperties
42016			}
42017		case "description":
42018			if v != nil {
42019				var description string
42020				err = json.Unmarshal(*v, &description)
42021				if err != nil {
42022					return err
42023				}
42024				hbod.Description = &description
42025			}
42026		case "structure":
42027			if v != nil {
42028				var structure interface{}
42029				err = json.Unmarshal(*v, &structure)
42030				if err != nil {
42031					return err
42032				}
42033				hbod.Structure = structure
42034			}
42035		case "linkedServiceName":
42036			if v != nil {
42037				var linkedServiceName LinkedServiceReference
42038				err = json.Unmarshal(*v, &linkedServiceName)
42039				if err != nil {
42040					return err
42041				}
42042				hbod.LinkedServiceName = &linkedServiceName
42043			}
42044		case "parameters":
42045			if v != nil {
42046				var parameters map[string]*ParameterSpecification
42047				err = json.Unmarshal(*v, &parameters)
42048				if err != nil {
42049					return err
42050				}
42051				hbod.Parameters = parameters
42052			}
42053		case "annotations":
42054			if v != nil {
42055				var annotations []interface{}
42056				err = json.Unmarshal(*v, &annotations)
42057				if err != nil {
42058					return err
42059				}
42060				hbod.Annotations = &annotations
42061			}
42062		case "type":
42063			if v != nil {
42064				var typeVar TypeBasicDataset
42065				err = json.Unmarshal(*v, &typeVar)
42066				if err != nil {
42067					return err
42068				}
42069				hbod.Type = typeVar
42070			}
42071		}
42072	}
42073
42074	return nil
42075}
42076
42077// HBaseSource a copy activity HBase server source.
42078type HBaseSource struct {
42079	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
42080	Query interface{} `json:"query,omitempty"`
42081	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
42082	AdditionalProperties map[string]interface{} `json:""`
42083	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
42084	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
42085	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
42086	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
42087	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
42088	Type TypeBasicCopySource `json:"type,omitempty"`
42089}
42090
42091// MarshalJSON is the custom marshaler for HBaseSource.
42092func (hbs HBaseSource) MarshalJSON() ([]byte, error) {
42093	hbs.Type = TypeHBaseSource
42094	objectMap := make(map[string]interface{})
42095	if hbs.Query != nil {
42096		objectMap["query"] = hbs.Query
42097	}
42098	if hbs.SourceRetryCount != nil {
42099		objectMap["sourceRetryCount"] = hbs.SourceRetryCount
42100	}
42101	if hbs.SourceRetryWait != nil {
42102		objectMap["sourceRetryWait"] = hbs.SourceRetryWait
42103	}
42104	if hbs.Type != "" {
42105		objectMap["type"] = hbs.Type
42106	}
42107	for k, v := range hbs.AdditionalProperties {
42108		objectMap[k] = v
42109	}
42110	return json.Marshal(objectMap)
42111}
42112
42113// AsAmazonRedshiftSource is the BasicCopySource implementation for HBaseSource.
42114func (hbs HBaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
42115	return nil, false
42116}
42117
42118// AsResponsysSource is the BasicCopySource implementation for HBaseSource.
42119func (hbs HBaseSource) AsResponsysSource() (*ResponsysSource, bool) {
42120	return nil, false
42121}
42122
42123// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HBaseSource.
42124func (hbs HBaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
42125	return nil, false
42126}
42127
42128// AsVerticaSource is the BasicCopySource implementation for HBaseSource.
42129func (hbs HBaseSource) AsVerticaSource() (*VerticaSource, bool) {
42130	return nil, false
42131}
42132
42133// AsNetezzaSource is the BasicCopySource implementation for HBaseSource.
42134func (hbs HBaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
42135	return nil, false
42136}
42137
42138// AsZohoSource is the BasicCopySource implementation for HBaseSource.
42139func (hbs HBaseSource) AsZohoSource() (*ZohoSource, bool) {
42140	return nil, false
42141}
42142
42143// AsXeroSource is the BasicCopySource implementation for HBaseSource.
42144func (hbs HBaseSource) AsXeroSource() (*XeroSource, bool) {
42145	return nil, false
42146}
42147
42148// AsSquareSource is the BasicCopySource implementation for HBaseSource.
42149func (hbs HBaseSource) AsSquareSource() (*SquareSource, bool) {
42150	return nil, false
42151}
42152
42153// AsSparkSource is the BasicCopySource implementation for HBaseSource.
42154func (hbs HBaseSource) AsSparkSource() (*SparkSource, bool) {
42155	return nil, false
42156}
42157
42158// AsShopifySource is the BasicCopySource implementation for HBaseSource.
42159func (hbs HBaseSource) AsShopifySource() (*ShopifySource, bool) {
42160	return nil, false
42161}
42162
42163// AsServiceNowSource is the BasicCopySource implementation for HBaseSource.
42164func (hbs HBaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
42165	return nil, false
42166}
42167
42168// AsQuickBooksSource is the BasicCopySource implementation for HBaseSource.
42169func (hbs HBaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
42170	return nil, false
42171}
42172
42173// AsPrestoSource is the BasicCopySource implementation for HBaseSource.
42174func (hbs HBaseSource) AsPrestoSource() (*PrestoSource, bool) {
42175	return nil, false
42176}
42177
42178// AsPhoenixSource is the BasicCopySource implementation for HBaseSource.
42179func (hbs HBaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
42180	return nil, false
42181}
42182
42183// AsPaypalSource is the BasicCopySource implementation for HBaseSource.
42184func (hbs HBaseSource) AsPaypalSource() (*PaypalSource, bool) {
42185	return nil, false
42186}
42187
42188// AsMarketoSource is the BasicCopySource implementation for HBaseSource.
42189func (hbs HBaseSource) AsMarketoSource() (*MarketoSource, bool) {
42190	return nil, false
42191}
42192
42193// AsMariaDBSource is the BasicCopySource implementation for HBaseSource.
42194func (hbs HBaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
42195	return nil, false
42196}
42197
42198// AsMagentoSource is the BasicCopySource implementation for HBaseSource.
42199func (hbs HBaseSource) AsMagentoSource() (*MagentoSource, bool) {
42200	return nil, false
42201}
42202
42203// AsJiraSource is the BasicCopySource implementation for HBaseSource.
42204func (hbs HBaseSource) AsJiraSource() (*JiraSource, bool) {
42205	return nil, false
42206}
42207
42208// AsImpalaSource is the BasicCopySource implementation for HBaseSource.
42209func (hbs HBaseSource) AsImpalaSource() (*ImpalaSource, bool) {
42210	return nil, false
42211}
42212
42213// AsHubspotSource is the BasicCopySource implementation for HBaseSource.
42214func (hbs HBaseSource) AsHubspotSource() (*HubspotSource, bool) {
42215	return nil, false
42216}
42217
42218// AsHiveSource is the BasicCopySource implementation for HBaseSource.
42219func (hbs HBaseSource) AsHiveSource() (*HiveSource, bool) {
42220	return nil, false
42221}
42222
42223// AsHBaseSource is the BasicCopySource implementation for HBaseSource.
42224func (hbs HBaseSource) AsHBaseSource() (*HBaseSource, bool) {
42225	return &hbs, true
42226}
42227
42228// AsGreenplumSource is the BasicCopySource implementation for HBaseSource.
42229func (hbs HBaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
42230	return nil, false
42231}
42232
42233// AsGoogleBigQuerySource is the BasicCopySource implementation for HBaseSource.
42234func (hbs HBaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
42235	return nil, false
42236}
42237
42238// AsEloquaSource is the BasicCopySource implementation for HBaseSource.
42239func (hbs HBaseSource) AsEloquaSource() (*EloquaSource, bool) {
42240	return nil, false
42241}
42242
42243// AsDrillSource is the BasicCopySource implementation for HBaseSource.
42244func (hbs HBaseSource) AsDrillSource() (*DrillSource, bool) {
42245	return nil, false
42246}
42247
42248// AsCouchbaseSource is the BasicCopySource implementation for HBaseSource.
42249func (hbs HBaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
42250	return nil, false
42251}
42252
42253// AsConcurSource is the BasicCopySource implementation for HBaseSource.
42254func (hbs HBaseSource) AsConcurSource() (*ConcurSource, bool) {
42255	return nil, false
42256}
42257
42258// AsAzurePostgreSQLSource is the BasicCopySource implementation for HBaseSource.
42259func (hbs HBaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
42260	return nil, false
42261}
42262
42263// AsAmazonMWSSource is the BasicCopySource implementation for HBaseSource.
42264func (hbs HBaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
42265	return nil, false
42266}
42267
42268// AsHTTPSource is the BasicCopySource implementation for HBaseSource.
42269func (hbs HBaseSource) AsHTTPSource() (*HTTPSource, bool) {
42270	return nil, false
42271}
42272
42273// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HBaseSource.
42274func (hbs HBaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
42275	return nil, false
42276}
42277
42278// AsMongoDbSource is the BasicCopySource implementation for HBaseSource.
42279func (hbs HBaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
42280	return nil, false
42281}
42282
42283// AsCassandraSource is the BasicCopySource implementation for HBaseSource.
42284func (hbs HBaseSource) AsCassandraSource() (*CassandraSource, bool) {
42285	return nil, false
42286}
42287
42288// AsWebSource is the BasicCopySource implementation for HBaseSource.
42289func (hbs HBaseSource) AsWebSource() (*WebSource, bool) {
42290	return nil, false
42291}
42292
42293// AsOracleSource is the BasicCopySource implementation for HBaseSource.
42294func (hbs HBaseSource) AsOracleSource() (*OracleSource, bool) {
42295	return nil, false
42296}
42297
42298// AsAzureMySQLSource is the BasicCopySource implementation for HBaseSource.
42299func (hbs HBaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
42300	return nil, false
42301}
42302
42303// AsHdfsSource is the BasicCopySource implementation for HBaseSource.
42304func (hbs HBaseSource) AsHdfsSource() (*HdfsSource, bool) {
42305	return nil, false
42306}
42307
42308// AsFileSystemSource is the BasicCopySource implementation for HBaseSource.
42309func (hbs HBaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
42310	return nil, false
42311}
42312
42313// AsSQLDWSource is the BasicCopySource implementation for HBaseSource.
42314func (hbs HBaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
42315	return nil, false
42316}
42317
42318// AsSQLSource is the BasicCopySource implementation for HBaseSource.
42319func (hbs HBaseSource) AsSQLSource() (*SQLSource, bool) {
42320	return nil, false
42321}
42322
42323// AsSapEccSource is the BasicCopySource implementation for HBaseSource.
42324func (hbs HBaseSource) AsSapEccSource() (*SapEccSource, bool) {
42325	return nil, false
42326}
42327
42328// AsSapCloudForCustomerSource is the BasicCopySource implementation for HBaseSource.
42329func (hbs HBaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
42330	return nil, false
42331}
42332
42333// AsSalesforceSource is the BasicCopySource implementation for HBaseSource.
42334func (hbs HBaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
42335	return nil, false
42336}
42337
42338// AsRelationalSource is the BasicCopySource implementation for HBaseSource.
42339func (hbs HBaseSource) AsRelationalSource() (*RelationalSource, bool) {
42340	return nil, false
42341}
42342
42343// AsDynamicsSource is the BasicCopySource implementation for HBaseSource.
42344func (hbs HBaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
42345	return nil, false
42346}
42347
42348// AsDocumentDbCollectionSource is the BasicCopySource implementation for HBaseSource.
42349func (hbs HBaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
42350	return nil, false
42351}
42352
42353// AsBlobSource is the BasicCopySource implementation for HBaseSource.
42354func (hbs HBaseSource) AsBlobSource() (*BlobSource, bool) {
42355	return nil, false
42356}
42357
42358// AsAzureTableSource is the BasicCopySource implementation for HBaseSource.
42359func (hbs HBaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
42360	return nil, false
42361}
42362
42363// AsCopySource is the BasicCopySource implementation for HBaseSource.
42364func (hbs HBaseSource) AsCopySource() (*CopySource, bool) {
42365	return nil, false
42366}
42367
42368// AsBasicCopySource is the BasicCopySource implementation for HBaseSource.
42369func (hbs HBaseSource) AsBasicCopySource() (BasicCopySource, bool) {
42370	return &hbs, true
42371}
42372
42373// UnmarshalJSON is the custom unmarshaler for HBaseSource struct.
42374func (hbs *HBaseSource) UnmarshalJSON(body []byte) error {
42375	var m map[string]*json.RawMessage
42376	err := json.Unmarshal(body, &m)
42377	if err != nil {
42378		return err
42379	}
42380	for k, v := range m {
42381		switch k {
42382		case "query":
42383			if v != nil {
42384				var query interface{}
42385				err = json.Unmarshal(*v, &query)
42386				if err != nil {
42387					return err
42388				}
42389				hbs.Query = query
42390			}
42391		default:
42392			if v != nil {
42393				var additionalProperties interface{}
42394				err = json.Unmarshal(*v, &additionalProperties)
42395				if err != nil {
42396					return err
42397				}
42398				if hbs.AdditionalProperties == nil {
42399					hbs.AdditionalProperties = make(map[string]interface{})
42400				}
42401				hbs.AdditionalProperties[k] = additionalProperties
42402			}
42403		case "sourceRetryCount":
42404			if v != nil {
42405				var sourceRetryCount interface{}
42406				err = json.Unmarshal(*v, &sourceRetryCount)
42407				if err != nil {
42408					return err
42409				}
42410				hbs.SourceRetryCount = sourceRetryCount
42411			}
42412		case "sourceRetryWait":
42413			if v != nil {
42414				var sourceRetryWait interface{}
42415				err = json.Unmarshal(*v, &sourceRetryWait)
42416				if err != nil {
42417					return err
42418				}
42419				hbs.SourceRetryWait = sourceRetryWait
42420			}
42421		case "type":
42422			if v != nil {
42423				var typeVar TypeBasicCopySource
42424				err = json.Unmarshal(*v, &typeVar)
42425				if err != nil {
42426					return err
42427				}
42428				hbs.Type = typeVar
42429			}
42430		}
42431	}
42432
42433	return nil
42434}
42435
42436// HdfsLinkedService hadoop Distributed File System (HDFS) linked service.
42437type HdfsLinkedService struct {
42438	// HdfsLinkedServiceTypeProperties - HDFS linked service properties.
42439	*HdfsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
42440	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
42441	AdditionalProperties map[string]interface{} `json:""`
42442	// ConnectVia - The integration runtime reference.
42443	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
42444	// Description - Linked service description.
42445	Description *string `json:"description,omitempty"`
42446	// Parameters - Parameters for linked service.
42447	Parameters map[string]*ParameterSpecification `json:"parameters"`
42448	// Annotations - List of tags that can be used for describing the Dataset.
42449	Annotations *[]interface{} `json:"annotations,omitempty"`
42450	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
42451	Type TypeBasicLinkedService `json:"type,omitempty"`
42452}
42453
42454// MarshalJSON is the custom marshaler for HdfsLinkedService.
42455func (hls HdfsLinkedService) MarshalJSON() ([]byte, error) {
42456	hls.Type = TypeHdfs
42457	objectMap := make(map[string]interface{})
42458	if hls.HdfsLinkedServiceTypeProperties != nil {
42459		objectMap["typeProperties"] = hls.HdfsLinkedServiceTypeProperties
42460	}
42461	if hls.ConnectVia != nil {
42462		objectMap["connectVia"] = hls.ConnectVia
42463	}
42464	if hls.Description != nil {
42465		objectMap["description"] = hls.Description
42466	}
42467	if hls.Parameters != nil {
42468		objectMap["parameters"] = hls.Parameters
42469	}
42470	if hls.Annotations != nil {
42471		objectMap["annotations"] = hls.Annotations
42472	}
42473	if hls.Type != "" {
42474		objectMap["type"] = hls.Type
42475	}
42476	for k, v := range hls.AdditionalProperties {
42477		objectMap[k] = v
42478	}
42479	return json.Marshal(objectMap)
42480}
42481
42482// AsResponsysLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42483func (hls HdfsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
42484	return nil, false
42485}
42486
42487// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42488func (hls HdfsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
42489	return nil, false
42490}
42491
42492// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42493func (hls HdfsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
42494	return nil, false
42495}
42496
42497// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42498func (hls HdfsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
42499	return nil, false
42500}
42501
42502// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42503func (hls HdfsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
42504	return nil, false
42505}
42506
42507// AsNetezzaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42508func (hls HdfsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
42509	return nil, false
42510}
42511
42512// AsVerticaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42513func (hls HdfsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
42514	return nil, false
42515}
42516
42517// AsZohoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42518func (hls HdfsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
42519	return nil, false
42520}
42521
42522// AsXeroLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42523func (hls HdfsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
42524	return nil, false
42525}
42526
42527// AsSquareLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42528func (hls HdfsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
42529	return nil, false
42530}
42531
42532// AsSparkLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42533func (hls HdfsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
42534	return nil, false
42535}
42536
42537// AsShopifyLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42538func (hls HdfsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
42539	return nil, false
42540}
42541
42542// AsServiceNowLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42543func (hls HdfsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
42544	return nil, false
42545}
42546
42547// AsQuickBooksLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42548func (hls HdfsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
42549	return nil, false
42550}
42551
42552// AsPrestoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42553func (hls HdfsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
42554	return nil, false
42555}
42556
42557// AsPhoenixLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42558func (hls HdfsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
42559	return nil, false
42560}
42561
42562// AsPaypalLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42563func (hls HdfsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
42564	return nil, false
42565}
42566
42567// AsMarketoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42568func (hls HdfsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
42569	return nil, false
42570}
42571
42572// AsMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42573func (hls HdfsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
42574	return nil, false
42575}
42576
42577// AsMagentoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42578func (hls HdfsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
42579	return nil, false
42580}
42581
42582// AsJiraLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42583func (hls HdfsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
42584	return nil, false
42585}
42586
42587// AsImpalaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42588func (hls HdfsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
42589	return nil, false
42590}
42591
42592// AsHubspotLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42593func (hls HdfsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
42594	return nil, false
42595}
42596
42597// AsHiveLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42598func (hls HdfsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
42599	return nil, false
42600}
42601
42602// AsHBaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42603func (hls HdfsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
42604	return nil, false
42605}
42606
42607// AsGreenplumLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42608func (hls HdfsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
42609	return nil, false
42610}
42611
42612// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42613func (hls HdfsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
42614	return nil, false
42615}
42616
42617// AsEloquaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42618func (hls HdfsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
42619	return nil, false
42620}
42621
42622// AsDrillLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42623func (hls HdfsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
42624	return nil, false
42625}
42626
42627// AsCouchbaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42628func (hls HdfsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
42629	return nil, false
42630}
42631
42632// AsConcurLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42633func (hls HdfsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
42634	return nil, false
42635}
42636
42637// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42638func (hls HdfsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
42639	return nil, false
42640}
42641
42642// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42643func (hls HdfsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
42644	return nil, false
42645}
42646
42647// AsSapHanaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42648func (hls HdfsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
42649	return nil, false
42650}
42651
42652// AsSapBWLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42653func (hls HdfsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
42654	return nil, false
42655}
42656
42657// AsSftpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42658func (hls HdfsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
42659	return nil, false
42660}
42661
42662// AsFtpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42663func (hls HdfsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
42664	return nil, false
42665}
42666
42667// AsHTTPLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42668func (hls HdfsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
42669	return nil, false
42670}
42671
42672// AsAzureSearchLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42673func (hls HdfsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
42674	return nil, false
42675}
42676
42677// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42678func (hls HdfsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
42679	return nil, false
42680}
42681
42682// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42683func (hls HdfsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
42684	return nil, false
42685}
42686
42687// AsAmazonS3LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42688func (hls HdfsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
42689	return nil, false
42690}
42691
42692// AsSapEccLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42693func (hls HdfsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
42694	return nil, false
42695}
42696
42697// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42698func (hls HdfsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
42699	return nil, false
42700}
42701
42702// AsSalesforceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42703func (hls HdfsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
42704	return nil, false
42705}
42706
42707// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42708func (hls HdfsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
42709	return nil, false
42710}
42711
42712// AsMongoDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42713func (hls HdfsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
42714	return nil, false
42715}
42716
42717// AsCassandraLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42718func (hls HdfsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
42719	return nil, false
42720}
42721
42722// AsWebLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42723func (hls HdfsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
42724	return nil, false
42725}
42726
42727// AsODataLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42728func (hls HdfsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
42729	return nil, false
42730}
42731
42732// AsHdfsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42733func (hls HdfsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
42734	return &hls, true
42735}
42736
42737// AsOdbcLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42738func (hls HdfsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
42739	return nil, false
42740}
42741
42742// AsAzureMLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42743func (hls HdfsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
42744	return nil, false
42745}
42746
42747// AsTeradataLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42748func (hls HdfsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
42749	return nil, false
42750}
42751
42752// AsDb2LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42753func (hls HdfsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
42754	return nil, false
42755}
42756
42757// AsSybaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42758func (hls HdfsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
42759	return nil, false
42760}
42761
42762// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42763func (hls HdfsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
42764	return nil, false
42765}
42766
42767// AsMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42768func (hls HdfsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
42769	return nil, false
42770}
42771
42772// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42773func (hls HdfsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
42774	return nil, false
42775}
42776
42777// AsOracleLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42778func (hls HdfsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
42779	return nil, false
42780}
42781
42782// AsFileServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42783func (hls HdfsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
42784	return nil, false
42785}
42786
42787// AsHDInsightLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42788func (hls HdfsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
42789	return nil, false
42790}
42791
42792// AsDynamicsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42793func (hls HdfsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
42794	return nil, false
42795}
42796
42797// AsCosmosDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42798func (hls HdfsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
42799	return nil, false
42800}
42801
42802// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42803func (hls HdfsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
42804	return nil, false
42805}
42806
42807// AsAzureBatchLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42808func (hls HdfsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
42809	return nil, false
42810}
42811
42812// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42813func (hls HdfsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
42814	return nil, false
42815}
42816
42817// AsSQLServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42818func (hls HdfsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
42819	return nil, false
42820}
42821
42822// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42823func (hls HdfsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
42824	return nil, false
42825}
42826
42827// AsAzureStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42828func (hls HdfsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
42829	return nil, false
42830}
42831
42832// AsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42833func (hls HdfsLinkedService) AsLinkedService() (*LinkedService, bool) {
42834	return nil, false
42835}
42836
42837// AsBasicLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42838func (hls HdfsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
42839	return &hls, true
42840}
42841
42842// UnmarshalJSON is the custom unmarshaler for HdfsLinkedService struct.
42843func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error {
42844	var m map[string]*json.RawMessage
42845	err := json.Unmarshal(body, &m)
42846	if err != nil {
42847		return err
42848	}
42849	for k, v := range m {
42850		switch k {
42851		case "typeProperties":
42852			if v != nil {
42853				var hdfsLinkedServiceTypeProperties HdfsLinkedServiceTypeProperties
42854				err = json.Unmarshal(*v, &hdfsLinkedServiceTypeProperties)
42855				if err != nil {
42856					return err
42857				}
42858				hls.HdfsLinkedServiceTypeProperties = &hdfsLinkedServiceTypeProperties
42859			}
42860		default:
42861			if v != nil {
42862				var additionalProperties interface{}
42863				err = json.Unmarshal(*v, &additionalProperties)
42864				if err != nil {
42865					return err
42866				}
42867				if hls.AdditionalProperties == nil {
42868					hls.AdditionalProperties = make(map[string]interface{})
42869				}
42870				hls.AdditionalProperties[k] = additionalProperties
42871			}
42872		case "connectVia":
42873			if v != nil {
42874				var connectVia IntegrationRuntimeReference
42875				err = json.Unmarshal(*v, &connectVia)
42876				if err != nil {
42877					return err
42878				}
42879				hls.ConnectVia = &connectVia
42880			}
42881		case "description":
42882			if v != nil {
42883				var description string
42884				err = json.Unmarshal(*v, &description)
42885				if err != nil {
42886					return err
42887				}
42888				hls.Description = &description
42889			}
42890		case "parameters":
42891			if v != nil {
42892				var parameters map[string]*ParameterSpecification
42893				err = json.Unmarshal(*v, &parameters)
42894				if err != nil {
42895					return err
42896				}
42897				hls.Parameters = parameters
42898			}
42899		case "annotations":
42900			if v != nil {
42901				var annotations []interface{}
42902				err = json.Unmarshal(*v, &annotations)
42903				if err != nil {
42904					return err
42905				}
42906				hls.Annotations = &annotations
42907			}
42908		case "type":
42909			if v != nil {
42910				var typeVar TypeBasicLinkedService
42911				err = json.Unmarshal(*v, &typeVar)
42912				if err != nil {
42913					return err
42914				}
42915				hls.Type = typeVar
42916			}
42917		}
42918	}
42919
42920	return nil
42921}
42922
42923// HdfsLinkedServiceTypeProperties HDFS linked service properties.
42924type HdfsLinkedServiceTypeProperties struct {
42925	// URL - The URL of the HDFS service endpoint, e.g. http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string).
42926	URL interface{} `json:"url,omitempty"`
42927	// AuthenticationType - Type of authentication used to connect to the HDFS. Possible values are: Anonymous and Windows. Type: string (or Expression with resultType string).
42928	AuthenticationType interface{} `json:"authenticationType,omitempty"`
42929	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
42930	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
42931	// UserName - User name for Windows authentication. Type: string (or Expression with resultType string).
42932	UserName interface{} `json:"userName,omitempty"`
42933	// Password - Password for Windows authentication.
42934	Password BasicSecretBase `json:"password,omitempty"`
42935}
42936
42937// UnmarshalJSON is the custom unmarshaler for HdfsLinkedServiceTypeProperties struct.
42938func (hlstp *HdfsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
42939	var m map[string]*json.RawMessage
42940	err := json.Unmarshal(body, &m)
42941	if err != nil {
42942		return err
42943	}
42944	for k, v := range m {
42945		switch k {
42946		case "url":
42947			if v != nil {
42948				var URL interface{}
42949				err = json.Unmarshal(*v, &URL)
42950				if err != nil {
42951					return err
42952				}
42953				hlstp.URL = URL
42954			}
42955		case "authenticationType":
42956			if v != nil {
42957				var authenticationType interface{}
42958				err = json.Unmarshal(*v, &authenticationType)
42959				if err != nil {
42960					return err
42961				}
42962				hlstp.AuthenticationType = authenticationType
42963			}
42964		case "encryptedCredential":
42965			if v != nil {
42966				var encryptedCredential interface{}
42967				err = json.Unmarshal(*v, &encryptedCredential)
42968				if err != nil {
42969					return err
42970				}
42971				hlstp.EncryptedCredential = encryptedCredential
42972			}
42973		case "userName":
42974			if v != nil {
42975				var userName interface{}
42976				err = json.Unmarshal(*v, &userName)
42977				if err != nil {
42978					return err
42979				}
42980				hlstp.UserName = userName
42981			}
42982		case "password":
42983			if v != nil {
42984				password, err := unmarshalBasicSecretBase(*v)
42985				if err != nil {
42986					return err
42987				}
42988				hlstp.Password = password
42989			}
42990		}
42991	}
42992
42993	return nil
42994}
42995
42996// HdfsSource a copy activity HDFS source.
42997type HdfsSource struct {
42998	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
42999	Recursive interface{} `json:"recursive,omitempty"`
43000	// DistcpSettings - Specifies Distcp-related settings.
43001	DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"`
43002	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
43003	AdditionalProperties map[string]interface{} `json:""`
43004	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
43005	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
43006	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
43007	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
43008	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
43009	Type TypeBasicCopySource `json:"type,omitempty"`
43010}
43011
43012// MarshalJSON is the custom marshaler for HdfsSource.
43013func (hs HdfsSource) MarshalJSON() ([]byte, error) {
43014	hs.Type = TypeHdfsSource
43015	objectMap := make(map[string]interface{})
43016	if hs.Recursive != nil {
43017		objectMap["recursive"] = hs.Recursive
43018	}
43019	if hs.DistcpSettings != nil {
43020		objectMap["distcpSettings"] = hs.DistcpSettings
43021	}
43022	if hs.SourceRetryCount != nil {
43023		objectMap["sourceRetryCount"] = hs.SourceRetryCount
43024	}
43025	if hs.SourceRetryWait != nil {
43026		objectMap["sourceRetryWait"] = hs.SourceRetryWait
43027	}
43028	if hs.Type != "" {
43029		objectMap["type"] = hs.Type
43030	}
43031	for k, v := range hs.AdditionalProperties {
43032		objectMap[k] = v
43033	}
43034	return json.Marshal(objectMap)
43035}
43036
43037// AsAmazonRedshiftSource is the BasicCopySource implementation for HdfsSource.
43038func (hs HdfsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
43039	return nil, false
43040}
43041
43042// AsResponsysSource is the BasicCopySource implementation for HdfsSource.
43043func (hs HdfsSource) AsResponsysSource() (*ResponsysSource, bool) {
43044	return nil, false
43045}
43046
43047// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HdfsSource.
43048func (hs HdfsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
43049	return nil, false
43050}
43051
43052// AsVerticaSource is the BasicCopySource implementation for HdfsSource.
43053func (hs HdfsSource) AsVerticaSource() (*VerticaSource, bool) {
43054	return nil, false
43055}
43056
43057// AsNetezzaSource is the BasicCopySource implementation for HdfsSource.
43058func (hs HdfsSource) AsNetezzaSource() (*NetezzaSource, bool) {
43059	return nil, false
43060}
43061
43062// AsZohoSource is the BasicCopySource implementation for HdfsSource.
43063func (hs HdfsSource) AsZohoSource() (*ZohoSource, bool) {
43064	return nil, false
43065}
43066
43067// AsXeroSource is the BasicCopySource implementation for HdfsSource.
43068func (hs HdfsSource) AsXeroSource() (*XeroSource, bool) {
43069	return nil, false
43070}
43071
43072// AsSquareSource is the BasicCopySource implementation for HdfsSource.
43073func (hs HdfsSource) AsSquareSource() (*SquareSource, bool) {
43074	return nil, false
43075}
43076
43077// AsSparkSource is the BasicCopySource implementation for HdfsSource.
43078func (hs HdfsSource) AsSparkSource() (*SparkSource, bool) {
43079	return nil, false
43080}
43081
43082// AsShopifySource is the BasicCopySource implementation for HdfsSource.
43083func (hs HdfsSource) AsShopifySource() (*ShopifySource, bool) {
43084	return nil, false
43085}
43086
43087// AsServiceNowSource is the BasicCopySource implementation for HdfsSource.
43088func (hs HdfsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
43089	return nil, false
43090}
43091
43092// AsQuickBooksSource is the BasicCopySource implementation for HdfsSource.
43093func (hs HdfsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
43094	return nil, false
43095}
43096
43097// AsPrestoSource is the BasicCopySource implementation for HdfsSource.
43098func (hs HdfsSource) AsPrestoSource() (*PrestoSource, bool) {
43099	return nil, false
43100}
43101
43102// AsPhoenixSource is the BasicCopySource implementation for HdfsSource.
43103func (hs HdfsSource) AsPhoenixSource() (*PhoenixSource, bool) {
43104	return nil, false
43105}
43106
43107// AsPaypalSource is the BasicCopySource implementation for HdfsSource.
43108func (hs HdfsSource) AsPaypalSource() (*PaypalSource, bool) {
43109	return nil, false
43110}
43111
43112// AsMarketoSource is the BasicCopySource implementation for HdfsSource.
43113func (hs HdfsSource) AsMarketoSource() (*MarketoSource, bool) {
43114	return nil, false
43115}
43116
43117// AsMariaDBSource is the BasicCopySource implementation for HdfsSource.
43118func (hs HdfsSource) AsMariaDBSource() (*MariaDBSource, bool) {
43119	return nil, false
43120}
43121
43122// AsMagentoSource is the BasicCopySource implementation for HdfsSource.
43123func (hs HdfsSource) AsMagentoSource() (*MagentoSource, bool) {
43124	return nil, false
43125}
43126
43127// AsJiraSource is the BasicCopySource implementation for HdfsSource.
43128func (hs HdfsSource) AsJiraSource() (*JiraSource, bool) {
43129	return nil, false
43130}
43131
43132// AsImpalaSource is the BasicCopySource implementation for HdfsSource.
43133func (hs HdfsSource) AsImpalaSource() (*ImpalaSource, bool) {
43134	return nil, false
43135}
43136
43137// AsHubspotSource is the BasicCopySource implementation for HdfsSource.
43138func (hs HdfsSource) AsHubspotSource() (*HubspotSource, bool) {
43139	return nil, false
43140}
43141
43142// AsHiveSource is the BasicCopySource implementation for HdfsSource.
43143func (hs HdfsSource) AsHiveSource() (*HiveSource, bool) {
43144	return nil, false
43145}
43146
43147// AsHBaseSource is the BasicCopySource implementation for HdfsSource.
43148func (hs HdfsSource) AsHBaseSource() (*HBaseSource, bool) {
43149	return nil, false
43150}
43151
43152// AsGreenplumSource is the BasicCopySource implementation for HdfsSource.
43153func (hs HdfsSource) AsGreenplumSource() (*GreenplumSource, bool) {
43154	return nil, false
43155}
43156
43157// AsGoogleBigQuerySource is the BasicCopySource implementation for HdfsSource.
43158func (hs HdfsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
43159	return nil, false
43160}
43161
43162// AsEloquaSource is the BasicCopySource implementation for HdfsSource.
43163func (hs HdfsSource) AsEloquaSource() (*EloquaSource, bool) {
43164	return nil, false
43165}
43166
43167// AsDrillSource is the BasicCopySource implementation for HdfsSource.
43168func (hs HdfsSource) AsDrillSource() (*DrillSource, bool) {
43169	return nil, false
43170}
43171
43172// AsCouchbaseSource is the BasicCopySource implementation for HdfsSource.
43173func (hs HdfsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
43174	return nil, false
43175}
43176
43177// AsConcurSource is the BasicCopySource implementation for HdfsSource.
43178func (hs HdfsSource) AsConcurSource() (*ConcurSource, bool) {
43179	return nil, false
43180}
43181
43182// AsAzurePostgreSQLSource is the BasicCopySource implementation for HdfsSource.
43183func (hs HdfsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
43184	return nil, false
43185}
43186
43187// AsAmazonMWSSource is the BasicCopySource implementation for HdfsSource.
43188func (hs HdfsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
43189	return nil, false
43190}
43191
43192// AsHTTPSource is the BasicCopySource implementation for HdfsSource.
43193func (hs HdfsSource) AsHTTPSource() (*HTTPSource, bool) {
43194	return nil, false
43195}
43196
43197// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HdfsSource.
43198func (hs HdfsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
43199	return nil, false
43200}
43201
43202// AsMongoDbSource is the BasicCopySource implementation for HdfsSource.
43203func (hs HdfsSource) AsMongoDbSource() (*MongoDbSource, bool) {
43204	return nil, false
43205}
43206
43207// AsCassandraSource is the BasicCopySource implementation for HdfsSource.
43208func (hs HdfsSource) AsCassandraSource() (*CassandraSource, bool) {
43209	return nil, false
43210}
43211
43212// AsWebSource is the BasicCopySource implementation for HdfsSource.
43213func (hs HdfsSource) AsWebSource() (*WebSource, bool) {
43214	return nil, false
43215}
43216
43217// AsOracleSource is the BasicCopySource implementation for HdfsSource.
43218func (hs HdfsSource) AsOracleSource() (*OracleSource, bool) {
43219	return nil, false
43220}
43221
43222// AsAzureMySQLSource is the BasicCopySource implementation for HdfsSource.
43223func (hs HdfsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
43224	return nil, false
43225}
43226
43227// AsHdfsSource is the BasicCopySource implementation for HdfsSource.
43228func (hs HdfsSource) AsHdfsSource() (*HdfsSource, bool) {
43229	return &hs, true
43230}
43231
43232// AsFileSystemSource is the BasicCopySource implementation for HdfsSource.
43233func (hs HdfsSource) AsFileSystemSource() (*FileSystemSource, bool) {
43234	return nil, false
43235}
43236
43237// AsSQLDWSource is the BasicCopySource implementation for HdfsSource.
43238func (hs HdfsSource) AsSQLDWSource() (*SQLDWSource, bool) {
43239	return nil, false
43240}
43241
43242// AsSQLSource is the BasicCopySource implementation for HdfsSource.
43243func (hs HdfsSource) AsSQLSource() (*SQLSource, bool) {
43244	return nil, false
43245}
43246
43247// AsSapEccSource is the BasicCopySource implementation for HdfsSource.
43248func (hs HdfsSource) AsSapEccSource() (*SapEccSource, bool) {
43249	return nil, false
43250}
43251
43252// AsSapCloudForCustomerSource is the BasicCopySource implementation for HdfsSource.
43253func (hs HdfsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
43254	return nil, false
43255}
43256
43257// AsSalesforceSource is the BasicCopySource implementation for HdfsSource.
43258func (hs HdfsSource) AsSalesforceSource() (*SalesforceSource, bool) {
43259	return nil, false
43260}
43261
43262// AsRelationalSource is the BasicCopySource implementation for HdfsSource.
43263func (hs HdfsSource) AsRelationalSource() (*RelationalSource, bool) {
43264	return nil, false
43265}
43266
43267// AsDynamicsSource is the BasicCopySource implementation for HdfsSource.
43268func (hs HdfsSource) AsDynamicsSource() (*DynamicsSource, bool) {
43269	return nil, false
43270}
43271
43272// AsDocumentDbCollectionSource is the BasicCopySource implementation for HdfsSource.
43273func (hs HdfsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
43274	return nil, false
43275}
43276
43277// AsBlobSource is the BasicCopySource implementation for HdfsSource.
43278func (hs HdfsSource) AsBlobSource() (*BlobSource, bool) {
43279	return nil, false
43280}
43281
43282// AsAzureTableSource is the BasicCopySource implementation for HdfsSource.
43283func (hs HdfsSource) AsAzureTableSource() (*AzureTableSource, bool) {
43284	return nil, false
43285}
43286
43287// AsCopySource is the BasicCopySource implementation for HdfsSource.
43288func (hs HdfsSource) AsCopySource() (*CopySource, bool) {
43289	return nil, false
43290}
43291
43292// AsBasicCopySource is the BasicCopySource implementation for HdfsSource.
43293func (hs HdfsSource) AsBasicCopySource() (BasicCopySource, bool) {
43294	return &hs, true
43295}
43296
43297// UnmarshalJSON is the custom unmarshaler for HdfsSource struct.
43298func (hs *HdfsSource) UnmarshalJSON(body []byte) error {
43299	var m map[string]*json.RawMessage
43300	err := json.Unmarshal(body, &m)
43301	if err != nil {
43302		return err
43303	}
43304	for k, v := range m {
43305		switch k {
43306		case "recursive":
43307			if v != nil {
43308				var recursive interface{}
43309				err = json.Unmarshal(*v, &recursive)
43310				if err != nil {
43311					return err
43312				}
43313				hs.Recursive = recursive
43314			}
43315		case "distcpSettings":
43316			if v != nil {
43317				var distcpSettings DistcpSettings
43318				err = json.Unmarshal(*v, &distcpSettings)
43319				if err != nil {
43320					return err
43321				}
43322				hs.DistcpSettings = &distcpSettings
43323			}
43324		default:
43325			if v != nil {
43326				var additionalProperties interface{}
43327				err = json.Unmarshal(*v, &additionalProperties)
43328				if err != nil {
43329					return err
43330				}
43331				if hs.AdditionalProperties == nil {
43332					hs.AdditionalProperties = make(map[string]interface{})
43333				}
43334				hs.AdditionalProperties[k] = additionalProperties
43335			}
43336		case "sourceRetryCount":
43337			if v != nil {
43338				var sourceRetryCount interface{}
43339				err = json.Unmarshal(*v, &sourceRetryCount)
43340				if err != nil {
43341					return err
43342				}
43343				hs.SourceRetryCount = sourceRetryCount
43344			}
43345		case "sourceRetryWait":
43346			if v != nil {
43347				var sourceRetryWait interface{}
43348				err = json.Unmarshal(*v, &sourceRetryWait)
43349				if err != nil {
43350					return err
43351				}
43352				hs.SourceRetryWait = sourceRetryWait
43353			}
43354		case "type":
43355			if v != nil {
43356				var typeVar TypeBasicCopySource
43357				err = json.Unmarshal(*v, &typeVar)
43358				if err != nil {
43359					return err
43360				}
43361				hs.Type = typeVar
43362			}
43363		}
43364	}
43365
43366	return nil
43367}
43368
43369// HDInsightHiveActivity hDInsight Hive activity type.
43370type HDInsightHiveActivity struct {
43371	// HDInsightHiveActivityTypeProperties - HDInsight Hive activity properties.
43372	*HDInsightHiveActivityTypeProperties `json:"typeProperties,omitempty"`
43373	// LinkedServiceName - Linked service reference.
43374	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
43375	// Policy - Activity policy.
43376	Policy *ActivityPolicy `json:"policy,omitempty"`
43377	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
43378	AdditionalProperties map[string]interface{} `json:""`
43379	// Name - Activity name.
43380	Name *string `json:"name,omitempty"`
43381	// Description - Activity description.
43382	Description *string `json:"description,omitempty"`
43383	// DependsOn - Activity depends on condition.
43384	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
43385	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
43386	Type TypeBasicActivity `json:"type,omitempty"`
43387}
43388
43389// MarshalJSON is the custom marshaler for HDInsightHiveActivity.
43390func (hiha HDInsightHiveActivity) MarshalJSON() ([]byte, error) {
43391	hiha.Type = TypeHDInsightHive
43392	objectMap := make(map[string]interface{})
43393	if hiha.HDInsightHiveActivityTypeProperties != nil {
43394		objectMap["typeProperties"] = hiha.HDInsightHiveActivityTypeProperties
43395	}
43396	if hiha.LinkedServiceName != nil {
43397		objectMap["linkedServiceName"] = hiha.LinkedServiceName
43398	}
43399	if hiha.Policy != nil {
43400		objectMap["policy"] = hiha.Policy
43401	}
43402	if hiha.Name != nil {
43403		objectMap["name"] = hiha.Name
43404	}
43405	if hiha.Description != nil {
43406		objectMap["description"] = hiha.Description
43407	}
43408	if hiha.DependsOn != nil {
43409		objectMap["dependsOn"] = hiha.DependsOn
43410	}
43411	if hiha.Type != "" {
43412		objectMap["type"] = hiha.Type
43413	}
43414	for k, v := range hiha.AdditionalProperties {
43415		objectMap[k] = v
43416	}
43417	return json.Marshal(objectMap)
43418}
43419
43420// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightHiveActivity.
43421func (hiha HDInsightHiveActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
43422	return nil, false
43423}
43424
43425// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightHiveActivity.
43426func (hiha HDInsightHiveActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
43427	return nil, false
43428}
43429
43430// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightHiveActivity.
43431func (hiha HDInsightHiveActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
43432	return nil, false
43433}
43434
43435// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
43436func (hiha HDInsightHiveActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
43437	return nil, false
43438}
43439
43440// AsGetMetadataActivity is the BasicActivity implementation for HDInsightHiveActivity.
43441func (hiha HDInsightHiveActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
43442	return nil, false
43443}
43444
43445// AsWebActivity is the BasicActivity implementation for HDInsightHiveActivity.
43446func (hiha HDInsightHiveActivity) AsWebActivity() (*WebActivity, bool) {
43447	return nil, false
43448}
43449
43450// AsLookupActivity is the BasicActivity implementation for HDInsightHiveActivity.
43451func (hiha HDInsightHiveActivity) AsLookupActivity() (*LookupActivity, bool) {
43452	return nil, false
43453}
43454
43455// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightHiveActivity.
43456func (hiha HDInsightHiveActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
43457	return nil, false
43458}
43459
43460// AsCustomActivity is the BasicActivity implementation for HDInsightHiveActivity.
43461func (hiha HDInsightHiveActivity) AsCustomActivity() (*CustomActivity, bool) {
43462	return nil, false
43463}
43464
43465// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightHiveActivity.
43466func (hiha HDInsightHiveActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
43467	return nil, false
43468}
43469
43470// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightHiveActivity.
43471func (hiha HDInsightHiveActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
43472	return nil, false
43473}
43474
43475// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightHiveActivity.
43476func (hiha HDInsightHiveActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
43477	return nil, false
43478}
43479
43480// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightHiveActivity.
43481func (hiha HDInsightHiveActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
43482	return nil, false
43483}
43484
43485// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightHiveActivity.
43486func (hiha HDInsightHiveActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
43487	return nil, false
43488}
43489
43490// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightHiveActivity.
43491func (hiha HDInsightHiveActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
43492	return &hiha, true
43493}
43494
43495// AsCopyActivity is the BasicActivity implementation for HDInsightHiveActivity.
43496func (hiha HDInsightHiveActivity) AsCopyActivity() (*CopyActivity, bool) {
43497	return nil, false
43498}
43499
43500// AsExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
43501func (hiha HDInsightHiveActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
43502	return nil, false
43503}
43504
43505// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
43506func (hiha HDInsightHiveActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
43507	return &hiha, true
43508}
43509
43510// AsFilterActivity is the BasicActivity implementation for HDInsightHiveActivity.
43511func (hiha HDInsightHiveActivity) AsFilterActivity() (*FilterActivity, bool) {
43512	return nil, false
43513}
43514
43515// AsUntilActivity is the BasicActivity implementation for HDInsightHiveActivity.
43516func (hiha HDInsightHiveActivity) AsUntilActivity() (*UntilActivity, bool) {
43517	return nil, false
43518}
43519
43520// AsWaitActivity is the BasicActivity implementation for HDInsightHiveActivity.
43521func (hiha HDInsightHiveActivity) AsWaitActivity() (*WaitActivity, bool) {
43522	return nil, false
43523}
43524
43525// AsForEachActivity is the BasicActivity implementation for HDInsightHiveActivity.
43526func (hiha HDInsightHiveActivity) AsForEachActivity() (*ForEachActivity, bool) {
43527	return nil, false
43528}
43529
43530// AsIfConditionActivity is the BasicActivity implementation for HDInsightHiveActivity.
43531func (hiha HDInsightHiveActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
43532	return nil, false
43533}
43534
43535// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity.
43536func (hiha HDInsightHiveActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
43537	return nil, false
43538}
43539
43540// AsControlActivity is the BasicActivity implementation for HDInsightHiveActivity.
43541func (hiha HDInsightHiveActivity) AsControlActivity() (*ControlActivity, bool) {
43542	return nil, false
43543}
43544
43545// AsBasicControlActivity is the BasicActivity implementation for HDInsightHiveActivity.
43546func (hiha HDInsightHiveActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
43547	return nil, false
43548}
43549
43550// AsActivity is the BasicActivity implementation for HDInsightHiveActivity.
43551func (hiha HDInsightHiveActivity) AsActivity() (*Activity, bool) {
43552	return nil, false
43553}
43554
43555// AsBasicActivity is the BasicActivity implementation for HDInsightHiveActivity.
43556func (hiha HDInsightHiveActivity) AsBasicActivity() (BasicActivity, bool) {
43557	return &hiha, true
43558}
43559
43560// UnmarshalJSON is the custom unmarshaler for HDInsightHiveActivity struct.
43561func (hiha *HDInsightHiveActivity) UnmarshalJSON(body []byte) error {
43562	var m map[string]*json.RawMessage
43563	err := json.Unmarshal(body, &m)
43564	if err != nil {
43565		return err
43566	}
43567	for k, v := range m {
43568		switch k {
43569		case "typeProperties":
43570			if v != nil {
43571				var hDInsightHiveActivityTypeProperties HDInsightHiveActivityTypeProperties
43572				err = json.Unmarshal(*v, &hDInsightHiveActivityTypeProperties)
43573				if err != nil {
43574					return err
43575				}
43576				hiha.HDInsightHiveActivityTypeProperties = &hDInsightHiveActivityTypeProperties
43577			}
43578		case "linkedServiceName":
43579			if v != nil {
43580				var linkedServiceName LinkedServiceReference
43581				err = json.Unmarshal(*v, &linkedServiceName)
43582				if err != nil {
43583					return err
43584				}
43585				hiha.LinkedServiceName = &linkedServiceName
43586			}
43587		case "policy":
43588			if v != nil {
43589				var policy ActivityPolicy
43590				err = json.Unmarshal(*v, &policy)
43591				if err != nil {
43592					return err
43593				}
43594				hiha.Policy = &policy
43595			}
43596		default:
43597			if v != nil {
43598				var additionalProperties interface{}
43599				err = json.Unmarshal(*v, &additionalProperties)
43600				if err != nil {
43601					return err
43602				}
43603				if hiha.AdditionalProperties == nil {
43604					hiha.AdditionalProperties = make(map[string]interface{})
43605				}
43606				hiha.AdditionalProperties[k] = additionalProperties
43607			}
43608		case "name":
43609			if v != nil {
43610				var name string
43611				err = json.Unmarshal(*v, &name)
43612				if err != nil {
43613					return err
43614				}
43615				hiha.Name = &name
43616			}
43617		case "description":
43618			if v != nil {
43619				var description string
43620				err = json.Unmarshal(*v, &description)
43621				if err != nil {
43622					return err
43623				}
43624				hiha.Description = &description
43625			}
43626		case "dependsOn":
43627			if v != nil {
43628				var dependsOn []ActivityDependency
43629				err = json.Unmarshal(*v, &dependsOn)
43630				if err != nil {
43631					return err
43632				}
43633				hiha.DependsOn = &dependsOn
43634			}
43635		case "type":
43636			if v != nil {
43637				var typeVar TypeBasicActivity
43638				err = json.Unmarshal(*v, &typeVar)
43639				if err != nil {
43640					return err
43641				}
43642				hiha.Type = typeVar
43643			}
43644		}
43645	}
43646
43647	return nil
43648}
43649
43650// HDInsightHiveActivityTypeProperties hDInsight Hive activity properties.
43651type HDInsightHiveActivityTypeProperties struct {
43652	// StorageLinkedServices - Storage linked service references.
43653	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
43654	// Arguments - User specified arguments to HDInsightActivity.
43655	Arguments *[]interface{} `json:"arguments,omitempty"`
43656	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
43657	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
43658	// ScriptPath - Script path. Type: string (or Expression with resultType string).
43659	ScriptPath interface{} `json:"scriptPath,omitempty"`
43660	// ScriptLinkedService - Script linked service reference.
43661	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
43662	// Defines - Allows user to specify defines for Hive job request.
43663	Defines map[string]interface{} `json:"defines"`
43664}
43665
43666// MarshalJSON is the custom marshaler for HDInsightHiveActivityTypeProperties.
43667func (hihatp HDInsightHiveActivityTypeProperties) MarshalJSON() ([]byte, error) {
43668	objectMap := make(map[string]interface{})
43669	if hihatp.StorageLinkedServices != nil {
43670		objectMap["storageLinkedServices"] = hihatp.StorageLinkedServices
43671	}
43672	if hihatp.Arguments != nil {
43673		objectMap["arguments"] = hihatp.Arguments
43674	}
43675	if hihatp.GetDebugInfo != "" {
43676		objectMap["getDebugInfo"] = hihatp.GetDebugInfo
43677	}
43678	if hihatp.ScriptPath != nil {
43679		objectMap["scriptPath"] = hihatp.ScriptPath
43680	}
43681	if hihatp.ScriptLinkedService != nil {
43682		objectMap["scriptLinkedService"] = hihatp.ScriptLinkedService
43683	}
43684	if hihatp.Defines != nil {
43685		objectMap["defines"] = hihatp.Defines
43686	}
43687	return json.Marshal(objectMap)
43688}
43689
43690// HDInsightLinkedService hDInsight linked service.
43691type HDInsightLinkedService struct {
43692	// HDInsightLinkedServiceTypeProperties - HDInsight linked service properties.
43693	*HDInsightLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
43694	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
43695	AdditionalProperties map[string]interface{} `json:""`
43696	// ConnectVia - The integration runtime reference.
43697	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
43698	// Description - Linked service description.
43699	Description *string `json:"description,omitempty"`
43700	// Parameters - Parameters for linked service.
43701	Parameters map[string]*ParameterSpecification `json:"parameters"`
43702	// Annotations - List of tags that can be used for describing the Dataset.
43703	Annotations *[]interface{} `json:"annotations,omitempty"`
43704	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
43705	Type TypeBasicLinkedService `json:"type,omitempty"`
43706}
43707
43708// MarshalJSON is the custom marshaler for HDInsightLinkedService.
43709func (hils HDInsightLinkedService) MarshalJSON() ([]byte, error) {
43710	hils.Type = TypeHDInsight
43711	objectMap := make(map[string]interface{})
43712	if hils.HDInsightLinkedServiceTypeProperties != nil {
43713		objectMap["typeProperties"] = hils.HDInsightLinkedServiceTypeProperties
43714	}
43715	if hils.ConnectVia != nil {
43716		objectMap["connectVia"] = hils.ConnectVia
43717	}
43718	if hils.Description != nil {
43719		objectMap["description"] = hils.Description
43720	}
43721	if hils.Parameters != nil {
43722		objectMap["parameters"] = hils.Parameters
43723	}
43724	if hils.Annotations != nil {
43725		objectMap["annotations"] = hils.Annotations
43726	}
43727	if hils.Type != "" {
43728		objectMap["type"] = hils.Type
43729	}
43730	for k, v := range hils.AdditionalProperties {
43731		objectMap[k] = v
43732	}
43733	return json.Marshal(objectMap)
43734}
43735
43736// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43737func (hils HDInsightLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
43738	return nil, false
43739}
43740
43741// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43742func (hils HDInsightLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
43743	return nil, false
43744}
43745
43746// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43747func (hils HDInsightLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
43748	return nil, false
43749}
43750
43751// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43752func (hils HDInsightLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
43753	return nil, false
43754}
43755
43756// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43757func (hils HDInsightLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
43758	return nil, false
43759}
43760
43761// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43762func (hils HDInsightLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
43763	return nil, false
43764}
43765
43766// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43767func (hils HDInsightLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
43768	return nil, false
43769}
43770
43771// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43772func (hils HDInsightLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
43773	return nil, false
43774}
43775
43776// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43777func (hils HDInsightLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
43778	return nil, false
43779}
43780
43781// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43782func (hils HDInsightLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
43783	return nil, false
43784}
43785
43786// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43787func (hils HDInsightLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
43788	return nil, false
43789}
43790
43791// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43792func (hils HDInsightLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
43793	return nil, false
43794}
43795
43796// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43797func (hils HDInsightLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
43798	return nil, false
43799}
43800
43801// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43802func (hils HDInsightLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
43803	return nil, false
43804}
43805
43806// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43807func (hils HDInsightLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
43808	return nil, false
43809}
43810
43811// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43812func (hils HDInsightLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
43813	return nil, false
43814}
43815
43816// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43817func (hils HDInsightLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
43818	return nil, false
43819}
43820
43821// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43822func (hils HDInsightLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
43823	return nil, false
43824}
43825
43826// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43827func (hils HDInsightLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
43828	return nil, false
43829}
43830
43831// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43832func (hils HDInsightLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
43833	return nil, false
43834}
43835
43836// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43837func (hils HDInsightLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
43838	return nil, false
43839}
43840
43841// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43842func (hils HDInsightLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
43843	return nil, false
43844}
43845
43846// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43847func (hils HDInsightLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
43848	return nil, false
43849}
43850
43851// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43852func (hils HDInsightLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
43853	return nil, false
43854}
43855
43856// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43857func (hils HDInsightLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
43858	return nil, false
43859}
43860
43861// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43862func (hils HDInsightLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
43863	return nil, false
43864}
43865
43866// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43867func (hils HDInsightLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
43868	return nil, false
43869}
43870
43871// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43872func (hils HDInsightLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
43873	return nil, false
43874}
43875
43876// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43877func (hils HDInsightLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
43878	return nil, false
43879}
43880
43881// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43882func (hils HDInsightLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
43883	return nil, false
43884}
43885
43886// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43887func (hils HDInsightLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
43888	return nil, false
43889}
43890
43891// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43892func (hils HDInsightLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
43893	return nil, false
43894}
43895
43896// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43897func (hils HDInsightLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
43898	return nil, false
43899}
43900
43901// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43902func (hils HDInsightLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
43903	return nil, false
43904}
43905
43906// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43907func (hils HDInsightLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
43908	return nil, false
43909}
43910
43911// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43912func (hils HDInsightLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
43913	return nil, false
43914}
43915
43916// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43917func (hils HDInsightLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
43918	return nil, false
43919}
43920
43921// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43922func (hils HDInsightLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
43923	return nil, false
43924}
43925
43926// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43927func (hils HDInsightLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
43928	return nil, false
43929}
43930
43931// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43932func (hils HDInsightLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
43933	return nil, false
43934}
43935
43936// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43937func (hils HDInsightLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
43938	return nil, false
43939}
43940
43941// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43942func (hils HDInsightLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
43943	return nil, false
43944}
43945
43946// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43947func (hils HDInsightLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
43948	return nil, false
43949}
43950
43951// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43952func (hils HDInsightLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
43953	return nil, false
43954}
43955
43956// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43957func (hils HDInsightLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
43958	return nil, false
43959}
43960
43961// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43962func (hils HDInsightLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
43963	return nil, false
43964}
43965
43966// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43967func (hils HDInsightLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
43968	return nil, false
43969}
43970
43971// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43972func (hils HDInsightLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
43973	return nil, false
43974}
43975
43976// AsWebLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43977func (hils HDInsightLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
43978	return nil, false
43979}
43980
43981// AsODataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43982func (hils HDInsightLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
43983	return nil, false
43984}
43985
43986// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43987func (hils HDInsightLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
43988	return nil, false
43989}
43990
43991// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43992func (hils HDInsightLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
43993	return nil, false
43994}
43995
43996// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43997func (hils HDInsightLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
43998	return nil, false
43999}
44000
44001// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44002func (hils HDInsightLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
44003	return nil, false
44004}
44005
44006// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44007func (hils HDInsightLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
44008	return nil, false
44009}
44010
44011// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44012func (hils HDInsightLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
44013	return nil, false
44014}
44015
44016// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44017func (hils HDInsightLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
44018	return nil, false
44019}
44020
44021// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44022func (hils HDInsightLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
44023	return nil, false
44024}
44025
44026// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44027func (hils HDInsightLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
44028	return nil, false
44029}
44030
44031// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44032func (hils HDInsightLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
44033	return nil, false
44034}
44035
44036// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44037func (hils HDInsightLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
44038	return nil, false
44039}
44040
44041// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44042func (hils HDInsightLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
44043	return &hils, true
44044}
44045
44046// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44047func (hils HDInsightLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
44048	return nil, false
44049}
44050
44051// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44052func (hils HDInsightLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
44053	return nil, false
44054}
44055
44056// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44057func (hils HDInsightLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
44058	return nil, false
44059}
44060
44061// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44062func (hils HDInsightLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
44063	return nil, false
44064}
44065
44066// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44067func (hils HDInsightLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
44068	return nil, false
44069}
44070
44071// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44072func (hils HDInsightLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
44073	return nil, false
44074}
44075
44076// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44077func (hils HDInsightLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
44078	return nil, false
44079}
44080
44081// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44082func (hils HDInsightLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
44083	return nil, false
44084}
44085
44086// AsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44087func (hils HDInsightLinkedService) AsLinkedService() (*LinkedService, bool) {
44088	return nil, false
44089}
44090
44091// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44092func (hils HDInsightLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
44093	return &hils, true
44094}
44095
44096// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedService struct.
44097func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error {
44098	var m map[string]*json.RawMessage
44099	err := json.Unmarshal(body, &m)
44100	if err != nil {
44101		return err
44102	}
44103	for k, v := range m {
44104		switch k {
44105		case "typeProperties":
44106			if v != nil {
44107				var hDInsightLinkedServiceTypeProperties HDInsightLinkedServiceTypeProperties
44108				err = json.Unmarshal(*v, &hDInsightLinkedServiceTypeProperties)
44109				if err != nil {
44110					return err
44111				}
44112				hils.HDInsightLinkedServiceTypeProperties = &hDInsightLinkedServiceTypeProperties
44113			}
44114		default:
44115			if v != nil {
44116				var additionalProperties interface{}
44117				err = json.Unmarshal(*v, &additionalProperties)
44118				if err != nil {
44119					return err
44120				}
44121				if hils.AdditionalProperties == nil {
44122					hils.AdditionalProperties = make(map[string]interface{})
44123				}
44124				hils.AdditionalProperties[k] = additionalProperties
44125			}
44126		case "connectVia":
44127			if v != nil {
44128				var connectVia IntegrationRuntimeReference
44129				err = json.Unmarshal(*v, &connectVia)
44130				if err != nil {
44131					return err
44132				}
44133				hils.ConnectVia = &connectVia
44134			}
44135		case "description":
44136			if v != nil {
44137				var description string
44138				err = json.Unmarshal(*v, &description)
44139				if err != nil {
44140					return err
44141				}
44142				hils.Description = &description
44143			}
44144		case "parameters":
44145			if v != nil {
44146				var parameters map[string]*ParameterSpecification
44147				err = json.Unmarshal(*v, &parameters)
44148				if err != nil {
44149					return err
44150				}
44151				hils.Parameters = parameters
44152			}
44153		case "annotations":
44154			if v != nil {
44155				var annotations []interface{}
44156				err = json.Unmarshal(*v, &annotations)
44157				if err != nil {
44158					return err
44159				}
44160				hils.Annotations = &annotations
44161			}
44162		case "type":
44163			if v != nil {
44164				var typeVar TypeBasicLinkedService
44165				err = json.Unmarshal(*v, &typeVar)
44166				if err != nil {
44167					return err
44168				}
44169				hils.Type = typeVar
44170			}
44171		}
44172	}
44173
44174	return nil
44175}
44176
44177// HDInsightLinkedServiceTypeProperties hDInsight linked service properties.
44178type HDInsightLinkedServiceTypeProperties struct {
44179	// ClusterURI - HDInsight cluster URI. Type: string (or Expression with resultType string).
44180	ClusterURI interface{} `json:"clusterUri,omitempty"`
44181	// UserName - HDInsight cluster user name. Type: string (or Expression with resultType string).
44182	UserName interface{} `json:"userName,omitempty"`
44183	// Password - HDInsight cluster password.
44184	Password BasicSecretBase `json:"password,omitempty"`
44185	// LinkedServiceName - The Azure Storage linked service reference.
44186	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
44187	// HcatalogLinkedServiceName - A reference to the Azure SQL linked service that points to the HCatalog database.
44188	HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"`
44189	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
44190	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
44191}
44192
44193// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedServiceTypeProperties struct.
44194func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
44195	var m map[string]*json.RawMessage
44196	err := json.Unmarshal(body, &m)
44197	if err != nil {
44198		return err
44199	}
44200	for k, v := range m {
44201		switch k {
44202		case "clusterUri":
44203			if v != nil {
44204				var clusterURI interface{}
44205				err = json.Unmarshal(*v, &clusterURI)
44206				if err != nil {
44207					return err
44208				}
44209				hilstp.ClusterURI = clusterURI
44210			}
44211		case "userName":
44212			if v != nil {
44213				var userName interface{}
44214				err = json.Unmarshal(*v, &userName)
44215				if err != nil {
44216					return err
44217				}
44218				hilstp.UserName = userName
44219			}
44220		case "password":
44221			if v != nil {
44222				password, err := unmarshalBasicSecretBase(*v)
44223				if err != nil {
44224					return err
44225				}
44226				hilstp.Password = password
44227			}
44228		case "linkedServiceName":
44229			if v != nil {
44230				var linkedServiceName LinkedServiceReference
44231				err = json.Unmarshal(*v, &linkedServiceName)
44232				if err != nil {
44233					return err
44234				}
44235				hilstp.LinkedServiceName = &linkedServiceName
44236			}
44237		case "hcatalogLinkedServiceName":
44238			if v != nil {
44239				var hcatalogLinkedServiceName LinkedServiceReference
44240				err = json.Unmarshal(*v, &hcatalogLinkedServiceName)
44241				if err != nil {
44242					return err
44243				}
44244				hilstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName
44245			}
44246		case "encryptedCredential":
44247			if v != nil {
44248				var encryptedCredential interface{}
44249				err = json.Unmarshal(*v, &encryptedCredential)
44250				if err != nil {
44251					return err
44252				}
44253				hilstp.EncryptedCredential = encryptedCredential
44254			}
44255		}
44256	}
44257
44258	return nil
44259}
44260
44261// HDInsightMapReduceActivity hDInsight MapReduce activity type.
44262type HDInsightMapReduceActivity struct {
44263	// HDInsightMapReduceActivityTypeProperties - HDInsight MapReduce activity properties.
44264	*HDInsightMapReduceActivityTypeProperties `json:"typeProperties,omitempty"`
44265	// LinkedServiceName - Linked service reference.
44266	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
44267	// Policy - Activity policy.
44268	Policy *ActivityPolicy `json:"policy,omitempty"`
44269	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
44270	AdditionalProperties map[string]interface{} `json:""`
44271	// Name - Activity name.
44272	Name *string `json:"name,omitempty"`
44273	// Description - Activity description.
44274	Description *string `json:"description,omitempty"`
44275	// DependsOn - Activity depends on condition.
44276	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
44277	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
44278	Type TypeBasicActivity `json:"type,omitempty"`
44279}
44280
44281// MarshalJSON is the custom marshaler for HDInsightMapReduceActivity.
44282func (himra HDInsightMapReduceActivity) MarshalJSON() ([]byte, error) {
44283	himra.Type = TypeHDInsightMapReduce
44284	objectMap := make(map[string]interface{})
44285	if himra.HDInsightMapReduceActivityTypeProperties != nil {
44286		objectMap["typeProperties"] = himra.HDInsightMapReduceActivityTypeProperties
44287	}
44288	if himra.LinkedServiceName != nil {
44289		objectMap["linkedServiceName"] = himra.LinkedServiceName
44290	}
44291	if himra.Policy != nil {
44292		objectMap["policy"] = himra.Policy
44293	}
44294	if himra.Name != nil {
44295		objectMap["name"] = himra.Name
44296	}
44297	if himra.Description != nil {
44298		objectMap["description"] = himra.Description
44299	}
44300	if himra.DependsOn != nil {
44301		objectMap["dependsOn"] = himra.DependsOn
44302	}
44303	if himra.Type != "" {
44304		objectMap["type"] = himra.Type
44305	}
44306	for k, v := range himra.AdditionalProperties {
44307		objectMap[k] = v
44308	}
44309	return json.Marshal(objectMap)
44310}
44311
44312// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44313func (himra HDInsightMapReduceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
44314	return nil, false
44315}
44316
44317// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44318func (himra HDInsightMapReduceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
44319	return nil, false
44320}
44321
44322// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44323func (himra HDInsightMapReduceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
44324	return nil, false
44325}
44326
44327// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44328func (himra HDInsightMapReduceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
44329	return nil, false
44330}
44331
44332// AsGetMetadataActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44333func (himra HDInsightMapReduceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
44334	return nil, false
44335}
44336
44337// AsWebActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44338func (himra HDInsightMapReduceActivity) AsWebActivity() (*WebActivity, bool) {
44339	return nil, false
44340}
44341
44342// AsLookupActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44343func (himra HDInsightMapReduceActivity) AsLookupActivity() (*LookupActivity, bool) {
44344	return nil, false
44345}
44346
44347// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44348func (himra HDInsightMapReduceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
44349	return nil, false
44350}
44351
44352// AsCustomActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44353func (himra HDInsightMapReduceActivity) AsCustomActivity() (*CustomActivity, bool) {
44354	return nil, false
44355}
44356
44357// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44358func (himra HDInsightMapReduceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
44359	return nil, false
44360}
44361
44362// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44363func (himra HDInsightMapReduceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
44364	return nil, false
44365}
44366
44367// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44368func (himra HDInsightMapReduceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
44369	return nil, false
44370}
44371
44372// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44373func (himra HDInsightMapReduceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
44374	return &himra, true
44375}
44376
44377// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44378func (himra HDInsightMapReduceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
44379	return nil, false
44380}
44381
44382// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44383func (himra HDInsightMapReduceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
44384	return nil, false
44385}
44386
44387// AsCopyActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44388func (himra HDInsightMapReduceActivity) AsCopyActivity() (*CopyActivity, bool) {
44389	return nil, false
44390}
44391
44392// AsExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44393func (himra HDInsightMapReduceActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
44394	return nil, false
44395}
44396
44397// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44398func (himra HDInsightMapReduceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
44399	return &himra, true
44400}
44401
44402// AsFilterActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44403func (himra HDInsightMapReduceActivity) AsFilterActivity() (*FilterActivity, bool) {
44404	return nil, false
44405}
44406
44407// AsUntilActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44408func (himra HDInsightMapReduceActivity) AsUntilActivity() (*UntilActivity, bool) {
44409	return nil, false
44410}
44411
44412// AsWaitActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44413func (himra HDInsightMapReduceActivity) AsWaitActivity() (*WaitActivity, bool) {
44414	return nil, false
44415}
44416
44417// AsForEachActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44418func (himra HDInsightMapReduceActivity) AsForEachActivity() (*ForEachActivity, bool) {
44419	return nil, false
44420}
44421
44422// AsIfConditionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44423func (himra HDInsightMapReduceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
44424	return nil, false
44425}
44426
44427// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44428func (himra HDInsightMapReduceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
44429	return nil, false
44430}
44431
44432// AsControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44433func (himra HDInsightMapReduceActivity) AsControlActivity() (*ControlActivity, bool) {
44434	return nil, false
44435}
44436
44437// AsBasicControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44438func (himra HDInsightMapReduceActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
44439	return nil, false
44440}
44441
44442// AsActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44443func (himra HDInsightMapReduceActivity) AsActivity() (*Activity, bool) {
44444	return nil, false
44445}
44446
44447// AsBasicActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44448func (himra HDInsightMapReduceActivity) AsBasicActivity() (BasicActivity, bool) {
44449	return &himra, true
44450}
44451
44452// UnmarshalJSON is the custom unmarshaler for HDInsightMapReduceActivity struct.
44453func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error {
44454	var m map[string]*json.RawMessage
44455	err := json.Unmarshal(body, &m)
44456	if err != nil {
44457		return err
44458	}
44459	for k, v := range m {
44460		switch k {
44461		case "typeProperties":
44462			if v != nil {
44463				var hDInsightMapReduceActivityTypeProperties HDInsightMapReduceActivityTypeProperties
44464				err = json.Unmarshal(*v, &hDInsightMapReduceActivityTypeProperties)
44465				if err != nil {
44466					return err
44467				}
44468				himra.HDInsightMapReduceActivityTypeProperties = &hDInsightMapReduceActivityTypeProperties
44469			}
44470		case "linkedServiceName":
44471			if v != nil {
44472				var linkedServiceName LinkedServiceReference
44473				err = json.Unmarshal(*v, &linkedServiceName)
44474				if err != nil {
44475					return err
44476				}
44477				himra.LinkedServiceName = &linkedServiceName
44478			}
44479		case "policy":
44480			if v != nil {
44481				var policy ActivityPolicy
44482				err = json.Unmarshal(*v, &policy)
44483				if err != nil {
44484					return err
44485				}
44486				himra.Policy = &policy
44487			}
44488		default:
44489			if v != nil {
44490				var additionalProperties interface{}
44491				err = json.Unmarshal(*v, &additionalProperties)
44492				if err != nil {
44493					return err
44494				}
44495				if himra.AdditionalProperties == nil {
44496					himra.AdditionalProperties = make(map[string]interface{})
44497				}
44498				himra.AdditionalProperties[k] = additionalProperties
44499			}
44500		case "name":
44501			if v != nil {
44502				var name string
44503				err = json.Unmarshal(*v, &name)
44504				if err != nil {
44505					return err
44506				}
44507				himra.Name = &name
44508			}
44509		case "description":
44510			if v != nil {
44511				var description string
44512				err = json.Unmarshal(*v, &description)
44513				if err != nil {
44514					return err
44515				}
44516				himra.Description = &description
44517			}
44518		case "dependsOn":
44519			if v != nil {
44520				var dependsOn []ActivityDependency
44521				err = json.Unmarshal(*v, &dependsOn)
44522				if err != nil {
44523					return err
44524				}
44525				himra.DependsOn = &dependsOn
44526			}
44527		case "type":
44528			if v != nil {
44529				var typeVar TypeBasicActivity
44530				err = json.Unmarshal(*v, &typeVar)
44531				if err != nil {
44532					return err
44533				}
44534				himra.Type = typeVar
44535			}
44536		}
44537	}
44538
44539	return nil
44540}
44541
44542// HDInsightMapReduceActivityTypeProperties hDInsight MapReduce activity properties.
44543type HDInsightMapReduceActivityTypeProperties struct {
44544	// StorageLinkedServices - Storage linked service references.
44545	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
44546	// Arguments - User specified arguments to HDInsightActivity.
44547	Arguments *[]interface{} `json:"arguments,omitempty"`
44548	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
44549	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
44550	// ClassName - Class name. Type: string (or Expression with resultType string).
44551	ClassName interface{} `json:"className,omitempty"`
44552	// JarFilePath - Jar path. Type: string (or Expression with resultType string).
44553	JarFilePath interface{} `json:"jarFilePath,omitempty"`
44554	// JarLinkedService - Jar linked service reference.
44555	JarLinkedService *LinkedServiceReference `json:"jarLinkedService,omitempty"`
44556	// JarLibs - Jar libs.
44557	JarLibs *[]interface{} `json:"jarLibs,omitempty"`
44558	// Defines - Allows user to specify defines for the MapReduce job request.
44559	Defines map[string]interface{} `json:"defines"`
44560}
44561
44562// MarshalJSON is the custom marshaler for HDInsightMapReduceActivityTypeProperties.
44563func (himratp HDInsightMapReduceActivityTypeProperties) MarshalJSON() ([]byte, error) {
44564	objectMap := make(map[string]interface{})
44565	if himratp.StorageLinkedServices != nil {
44566		objectMap["storageLinkedServices"] = himratp.StorageLinkedServices
44567	}
44568	if himratp.Arguments != nil {
44569		objectMap["arguments"] = himratp.Arguments
44570	}
44571	if himratp.GetDebugInfo != "" {
44572		objectMap["getDebugInfo"] = himratp.GetDebugInfo
44573	}
44574	if himratp.ClassName != nil {
44575		objectMap["className"] = himratp.ClassName
44576	}
44577	if himratp.JarFilePath != nil {
44578		objectMap["jarFilePath"] = himratp.JarFilePath
44579	}
44580	if himratp.JarLinkedService != nil {
44581		objectMap["jarLinkedService"] = himratp.JarLinkedService
44582	}
44583	if himratp.JarLibs != nil {
44584		objectMap["jarLibs"] = himratp.JarLibs
44585	}
44586	if himratp.Defines != nil {
44587		objectMap["defines"] = himratp.Defines
44588	}
44589	return json.Marshal(objectMap)
44590}
44591
44592// HDInsightOnDemandLinkedService hDInsight ondemand linked service.
44593type HDInsightOnDemandLinkedService struct {
44594	// HDInsightOnDemandLinkedServiceTypeProperties - HDInsight ondemand linked service properties.
44595	*HDInsightOnDemandLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
44596	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
44597	AdditionalProperties map[string]interface{} `json:""`
44598	// ConnectVia - The integration runtime reference.
44599	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
44600	// Description - Linked service description.
44601	Description *string `json:"description,omitempty"`
44602	// Parameters - Parameters for linked service.
44603	Parameters map[string]*ParameterSpecification `json:"parameters"`
44604	// Annotations - List of tags that can be used for describing the Dataset.
44605	Annotations *[]interface{} `json:"annotations,omitempty"`
44606	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
44607	Type TypeBasicLinkedService `json:"type,omitempty"`
44608}
44609
44610// MarshalJSON is the custom marshaler for HDInsightOnDemandLinkedService.
44611func (hiodls HDInsightOnDemandLinkedService) MarshalJSON() ([]byte, error) {
44612	hiodls.Type = TypeHDInsightOnDemand
44613	objectMap := make(map[string]interface{})
44614	if hiodls.HDInsightOnDemandLinkedServiceTypeProperties != nil {
44615		objectMap["typeProperties"] = hiodls.HDInsightOnDemandLinkedServiceTypeProperties
44616	}
44617	if hiodls.ConnectVia != nil {
44618		objectMap["connectVia"] = hiodls.ConnectVia
44619	}
44620	if hiodls.Description != nil {
44621		objectMap["description"] = hiodls.Description
44622	}
44623	if hiodls.Parameters != nil {
44624		objectMap["parameters"] = hiodls.Parameters
44625	}
44626	if hiodls.Annotations != nil {
44627		objectMap["annotations"] = hiodls.Annotations
44628	}
44629	if hiodls.Type != "" {
44630		objectMap["type"] = hiodls.Type
44631	}
44632	for k, v := range hiodls.AdditionalProperties {
44633		objectMap[k] = v
44634	}
44635	return json.Marshal(objectMap)
44636}
44637
44638// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44639func (hiodls HDInsightOnDemandLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
44640	return nil, false
44641}
44642
44643// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44644func (hiodls HDInsightOnDemandLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
44645	return nil, false
44646}
44647
44648// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44649func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
44650	return nil, false
44651}
44652
44653// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44654func (hiodls HDInsightOnDemandLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
44655	return &hiodls, true
44656}
44657
44658// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44659func (hiodls HDInsightOnDemandLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
44660	return nil, false
44661}
44662
44663// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44664func (hiodls HDInsightOnDemandLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
44665	return nil, false
44666}
44667
44668// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44669func (hiodls HDInsightOnDemandLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
44670	return nil, false
44671}
44672
44673// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44674func (hiodls HDInsightOnDemandLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
44675	return nil, false
44676}
44677
44678// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44679func (hiodls HDInsightOnDemandLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
44680	return nil, false
44681}
44682
44683// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44684func (hiodls HDInsightOnDemandLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
44685	return nil, false
44686}
44687
44688// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44689func (hiodls HDInsightOnDemandLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
44690	return nil, false
44691}
44692
44693// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44694func (hiodls HDInsightOnDemandLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
44695	return nil, false
44696}
44697
44698// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44699func (hiodls HDInsightOnDemandLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
44700	return nil, false
44701}
44702
44703// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44704func (hiodls HDInsightOnDemandLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
44705	return nil, false
44706}
44707
44708// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44709func (hiodls HDInsightOnDemandLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
44710	return nil, false
44711}
44712
44713// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44714func (hiodls HDInsightOnDemandLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
44715	return nil, false
44716}
44717
44718// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44719func (hiodls HDInsightOnDemandLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
44720	return nil, false
44721}
44722
44723// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44724func (hiodls HDInsightOnDemandLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
44725	return nil, false
44726}
44727
44728// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44729func (hiodls HDInsightOnDemandLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
44730	return nil, false
44731}
44732
44733// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44734func (hiodls HDInsightOnDemandLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
44735	return nil, false
44736}
44737
44738// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44739func (hiodls HDInsightOnDemandLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
44740	return nil, false
44741}
44742
44743// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44744func (hiodls HDInsightOnDemandLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
44745	return nil, false
44746}
44747
44748// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44749func (hiodls HDInsightOnDemandLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
44750	return nil, false
44751}
44752
44753// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44754func (hiodls HDInsightOnDemandLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
44755	return nil, false
44756}
44757
44758// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44759func (hiodls HDInsightOnDemandLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
44760	return nil, false
44761}
44762
44763// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44764func (hiodls HDInsightOnDemandLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
44765	return nil, false
44766}
44767
44768// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44769func (hiodls HDInsightOnDemandLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
44770	return nil, false
44771}
44772
44773// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44774func (hiodls HDInsightOnDemandLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
44775	return nil, false
44776}
44777
44778// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44779func (hiodls HDInsightOnDemandLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
44780	return nil, false
44781}
44782
44783// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44784func (hiodls HDInsightOnDemandLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
44785	return nil, false
44786}
44787
44788// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44789func (hiodls HDInsightOnDemandLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
44790	return nil, false
44791}
44792
44793// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44794func (hiodls HDInsightOnDemandLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
44795	return nil, false
44796}
44797
44798// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44799func (hiodls HDInsightOnDemandLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
44800	return nil, false
44801}
44802
44803// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44804func (hiodls HDInsightOnDemandLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
44805	return nil, false
44806}
44807
44808// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44809func (hiodls HDInsightOnDemandLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
44810	return nil, false
44811}
44812
44813// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44814func (hiodls HDInsightOnDemandLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
44815	return nil, false
44816}
44817
44818// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44819func (hiodls HDInsightOnDemandLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
44820	return nil, false
44821}
44822
44823// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44824func (hiodls HDInsightOnDemandLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
44825	return nil, false
44826}
44827
44828// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44829func (hiodls HDInsightOnDemandLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
44830	return nil, false
44831}
44832
44833// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44834func (hiodls HDInsightOnDemandLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
44835	return nil, false
44836}
44837
44838// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44839func (hiodls HDInsightOnDemandLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
44840	return nil, false
44841}
44842
44843// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44844func (hiodls HDInsightOnDemandLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
44845	return nil, false
44846}
44847
44848// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44849func (hiodls HDInsightOnDemandLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
44850	return nil, false
44851}
44852
44853// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44854func (hiodls HDInsightOnDemandLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
44855	return nil, false
44856}
44857
44858// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44859func (hiodls HDInsightOnDemandLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
44860	return nil, false
44861}
44862
44863// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44864func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
44865	return nil, false
44866}
44867
44868// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44869func (hiodls HDInsightOnDemandLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
44870	return nil, false
44871}
44872
44873// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44874func (hiodls HDInsightOnDemandLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
44875	return nil, false
44876}
44877
44878// AsWebLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44879func (hiodls HDInsightOnDemandLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
44880	return nil, false
44881}
44882
44883// AsODataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44884func (hiodls HDInsightOnDemandLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
44885	return nil, false
44886}
44887
44888// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44889func (hiodls HDInsightOnDemandLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
44890	return nil, false
44891}
44892
44893// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44894func (hiodls HDInsightOnDemandLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
44895	return nil, false
44896}
44897
44898// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44899func (hiodls HDInsightOnDemandLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
44900	return nil, false
44901}
44902
44903// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44904func (hiodls HDInsightOnDemandLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
44905	return nil, false
44906}
44907
44908// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44909func (hiodls HDInsightOnDemandLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
44910	return nil, false
44911}
44912
44913// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44914func (hiodls HDInsightOnDemandLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
44915	return nil, false
44916}
44917
44918// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44919func (hiodls HDInsightOnDemandLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
44920	return nil, false
44921}
44922
44923// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44924func (hiodls HDInsightOnDemandLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
44925	return nil, false
44926}
44927
44928// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44929func (hiodls HDInsightOnDemandLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
44930	return nil, false
44931}
44932
44933// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44934func (hiodls HDInsightOnDemandLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
44935	return nil, false
44936}
44937
44938// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44939func (hiodls HDInsightOnDemandLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
44940	return nil, false
44941}
44942
44943// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44944func (hiodls HDInsightOnDemandLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
44945	return nil, false
44946}
44947
44948// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44949func (hiodls HDInsightOnDemandLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
44950	return nil, false
44951}
44952
44953// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44954func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
44955	return nil, false
44956}
44957
44958// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44959func (hiodls HDInsightOnDemandLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
44960	return nil, false
44961}
44962
44963// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44964func (hiodls HDInsightOnDemandLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
44965	return nil, false
44966}
44967
44968// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44969func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
44970	return nil, false
44971}
44972
44973// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44974func (hiodls HDInsightOnDemandLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
44975	return nil, false
44976}
44977
44978// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44979func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
44980	return nil, false
44981}
44982
44983// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44984func (hiodls HDInsightOnDemandLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
44985	return nil, false
44986}
44987
44988// AsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44989func (hiodls HDInsightOnDemandLinkedService) AsLinkedService() (*LinkedService, bool) {
44990	return nil, false
44991}
44992
44993// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44994func (hiodls HDInsightOnDemandLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
44995	return &hiodls, true
44996}
44997
44998// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedService struct.
44999func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error {
45000	var m map[string]*json.RawMessage
45001	err := json.Unmarshal(body, &m)
45002	if err != nil {
45003		return err
45004	}
45005	for k, v := range m {
45006		switch k {
45007		case "typeProperties":
45008			if v != nil {
45009				var hDInsightOnDemandLinkedServiceTypeProperties HDInsightOnDemandLinkedServiceTypeProperties
45010				err = json.Unmarshal(*v, &hDInsightOnDemandLinkedServiceTypeProperties)
45011				if err != nil {
45012					return err
45013				}
45014				hiodls.HDInsightOnDemandLinkedServiceTypeProperties = &hDInsightOnDemandLinkedServiceTypeProperties
45015			}
45016		default:
45017			if v != nil {
45018				var additionalProperties interface{}
45019				err = json.Unmarshal(*v, &additionalProperties)
45020				if err != nil {
45021					return err
45022				}
45023				if hiodls.AdditionalProperties == nil {
45024					hiodls.AdditionalProperties = make(map[string]interface{})
45025				}
45026				hiodls.AdditionalProperties[k] = additionalProperties
45027			}
45028		case "connectVia":
45029			if v != nil {
45030				var connectVia IntegrationRuntimeReference
45031				err = json.Unmarshal(*v, &connectVia)
45032				if err != nil {
45033					return err
45034				}
45035				hiodls.ConnectVia = &connectVia
45036			}
45037		case "description":
45038			if v != nil {
45039				var description string
45040				err = json.Unmarshal(*v, &description)
45041				if err != nil {
45042					return err
45043				}
45044				hiodls.Description = &description
45045			}
45046		case "parameters":
45047			if v != nil {
45048				var parameters map[string]*ParameterSpecification
45049				err = json.Unmarshal(*v, &parameters)
45050				if err != nil {
45051					return err
45052				}
45053				hiodls.Parameters = parameters
45054			}
45055		case "annotations":
45056			if v != nil {
45057				var annotations []interface{}
45058				err = json.Unmarshal(*v, &annotations)
45059				if err != nil {
45060					return err
45061				}
45062				hiodls.Annotations = &annotations
45063			}
45064		case "type":
45065			if v != nil {
45066				var typeVar TypeBasicLinkedService
45067				err = json.Unmarshal(*v, &typeVar)
45068				if err != nil {
45069					return err
45070				}
45071				hiodls.Type = typeVar
45072			}
45073		}
45074	}
45075
45076	return nil
45077}
45078
45079// HDInsightOnDemandLinkedServiceTypeProperties hDInsight ondemand linked service properties.
45080type HDInsightOnDemandLinkedServiceTypeProperties struct {
45081	// ClusterSize - Number of worker/data nodes in the cluster. Suggestion value: 4. Type: string (or Expression with resultType string).
45082	ClusterSize interface{} `json:"clusterSize,omitempty"`
45083	// TimeToLive - The allowed idle time for the on-demand HDInsight cluster. Specifies how long the on-demand HDInsight cluster stays alive after completion of an activity run if there are no other active jobs in the cluster. The minimum value is 5 mins. Type: string (or Expression with resultType string).
45084	TimeToLive interface{} `json:"timeToLive,omitempty"`
45085	// Version - Version of the HDInsight cluster.  Type: string (or Expression with resultType string).
45086	Version interface{} `json:"version,omitempty"`
45087	// LinkedServiceName - Azure Storage linked service to be used by the on-demand cluster for storing and processing data.
45088	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
45089	// HostSubscriptionID - The customer’s subscription to host the cluster. Type: string (or Expression with resultType string).
45090	HostSubscriptionID interface{} `json:"hostSubscriptionId,omitempty"`
45091	// ServicePrincipalID - The service principal id for the hostSubscriptionId. Type: string (or Expression with resultType string).
45092	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
45093	// ServicePrincipalKey - The key for the service principal id.
45094	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
45095	// Tenant - The Tenant id/name to which the service principal belongs. Type: string (or Expression with resultType string).
45096	Tenant interface{} `json:"tenant,omitempty"`
45097	// ClusterResourceGroup - The resource group where the cluster belongs. Type: string (or Expression with resultType string).
45098	ClusterResourceGroup interface{} `json:"clusterResourceGroup,omitempty"`
45099	// ClusterNamePrefix - The prefix of cluster name, postfix will be distinct with timestamp. Type: string (or Expression with resultType string).
45100	ClusterNamePrefix interface{} `json:"clusterNamePrefix,omitempty"`
45101	// ClusterUserName - The username to access the cluster. Type: string (or Expression with resultType string).
45102	ClusterUserName interface{} `json:"clusterUserName,omitempty"`
45103	// ClusterPassword - The password to access the cluster.
45104	ClusterPassword BasicSecretBase `json:"clusterPassword,omitempty"`
45105	// ClusterSSHUserName - The username to SSH remotely connect to cluster’s node (for Linux). Type: string (or Expression with resultType string).
45106	ClusterSSHUserName interface{} `json:"clusterSshUserName,omitempty"`
45107	// ClusterSSHPassword - The password to SSH remotely connect cluster’s node (for Linux).
45108	ClusterSSHPassword BasicSecretBase `json:"clusterSshPassword,omitempty"`
45109	// AdditionalLinkedServiceNames - Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf.
45110	AdditionalLinkedServiceNames *[]LinkedServiceReference `json:"additionalLinkedServiceNames,omitempty"`
45111	// HcatalogLinkedServiceName - The name of Azure SQL linked service that point to the HCatalog database. The on-demand HDInsight cluster is created by using the Azure SQL database as the metastore.
45112	HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"`
45113	// ClusterType - The cluster type. Type: string (or Expression with resultType string).
45114	ClusterType interface{} `json:"clusterType,omitempty"`
45115	// SparkVersion - The version of spark if the cluster type is 'spark'. Type: string (or Expression with resultType string).
45116	SparkVersion interface{} `json:"sparkVersion,omitempty"`
45117	// CoreConfiguration - Specifies the core configuration parameters (as in core-site.xml) for the HDInsight cluster to be created.
45118	CoreConfiguration interface{} `json:"coreConfiguration,omitempty"`
45119	// HBaseConfiguration - Specifies the HBase configuration parameters (hbase-site.xml) for the HDInsight cluster.
45120	HBaseConfiguration interface{} `json:"hBaseConfiguration,omitempty"`
45121	// HdfsConfiguration - Specifies the HDFS configuration parameters (hdfs-site.xml) for the HDInsight cluster.
45122	HdfsConfiguration interface{} `json:"hdfsConfiguration,omitempty"`
45123	// HiveConfiguration - Specifies the hive configuration parameters (hive-site.xml) for the HDInsight cluster.
45124	HiveConfiguration interface{} `json:"hiveConfiguration,omitempty"`
45125	// MapReduceConfiguration - Specifies the MapReduce configuration parameters (mapred-site.xml) for the HDInsight cluster.
45126	MapReduceConfiguration interface{} `json:"mapReduceConfiguration,omitempty"`
45127	// OozieConfiguration - Specifies the Oozie configuration parameters (oozie-site.xml) for the HDInsight cluster.
45128	OozieConfiguration interface{} `json:"oozieConfiguration,omitempty"`
45129	// StormConfiguration - Specifies the Storm configuration parameters (storm-site.xml) for the HDInsight cluster.
45130	StormConfiguration interface{} `json:"stormConfiguration,omitempty"`
45131	// YarnConfiguration - Specifies the Yarn configuration parameters (yarn-site.xml) for the HDInsight cluster.
45132	YarnConfiguration interface{} `json:"yarnConfiguration,omitempty"`
45133	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
45134	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
45135	// HeadNodeSize - Specifies the size of the head node for the HDInsight cluster.
45136	HeadNodeSize interface{} `json:"headNodeSize,omitempty"`
45137	// DataNodeSize - Specifies the size of the data node for the HDInsight cluster.
45138	DataNodeSize interface{} `json:"dataNodeSize,omitempty"`
45139	// ZookeeperNodeSize - Specifies the size of the Zoo Keeper node for the HDInsight cluster.
45140	ZookeeperNodeSize interface{} `json:"zookeeperNodeSize,omitempty"`
45141}
45142
45143// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedServiceTypeProperties struct.
45144func (hiodlstp *HDInsightOnDemandLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
45145	var m map[string]*json.RawMessage
45146	err := json.Unmarshal(body, &m)
45147	if err != nil {
45148		return err
45149	}
45150	for k, v := range m {
45151		switch k {
45152		case "clusterSize":
45153			if v != nil {
45154				var clusterSize interface{}
45155				err = json.Unmarshal(*v, &clusterSize)
45156				if err != nil {
45157					return err
45158				}
45159				hiodlstp.ClusterSize = clusterSize
45160			}
45161		case "timeToLive":
45162			if v != nil {
45163				var timeToLive interface{}
45164				err = json.Unmarshal(*v, &timeToLive)
45165				if err != nil {
45166					return err
45167				}
45168				hiodlstp.TimeToLive = timeToLive
45169			}
45170		case "version":
45171			if v != nil {
45172				var version interface{}
45173				err = json.Unmarshal(*v, &version)
45174				if err != nil {
45175					return err
45176				}
45177				hiodlstp.Version = version
45178			}
45179		case "linkedServiceName":
45180			if v != nil {
45181				var linkedServiceName LinkedServiceReference
45182				err = json.Unmarshal(*v, &linkedServiceName)
45183				if err != nil {
45184					return err
45185				}
45186				hiodlstp.LinkedServiceName = &linkedServiceName
45187			}
45188		case "hostSubscriptionId":
45189			if v != nil {
45190				var hostSubscriptionID interface{}
45191				err = json.Unmarshal(*v, &hostSubscriptionID)
45192				if err != nil {
45193					return err
45194				}
45195				hiodlstp.HostSubscriptionID = hostSubscriptionID
45196			}
45197		case "servicePrincipalId":
45198			if v != nil {
45199				var servicePrincipalID interface{}
45200				err = json.Unmarshal(*v, &servicePrincipalID)
45201				if err != nil {
45202					return err
45203				}
45204				hiodlstp.ServicePrincipalID = servicePrincipalID
45205			}
45206		case "servicePrincipalKey":
45207			if v != nil {
45208				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
45209				if err != nil {
45210					return err
45211				}
45212				hiodlstp.ServicePrincipalKey = servicePrincipalKey
45213			}
45214		case "tenant":
45215			if v != nil {
45216				var tenant interface{}
45217				err = json.Unmarshal(*v, &tenant)
45218				if err != nil {
45219					return err
45220				}
45221				hiodlstp.Tenant = tenant
45222			}
45223		case "clusterResourceGroup":
45224			if v != nil {
45225				var clusterResourceGroup interface{}
45226				err = json.Unmarshal(*v, &clusterResourceGroup)
45227				if err != nil {
45228					return err
45229				}
45230				hiodlstp.ClusterResourceGroup = clusterResourceGroup
45231			}
45232		case "clusterNamePrefix":
45233			if v != nil {
45234				var clusterNamePrefix interface{}
45235				err = json.Unmarshal(*v, &clusterNamePrefix)
45236				if err != nil {
45237					return err
45238				}
45239				hiodlstp.ClusterNamePrefix = clusterNamePrefix
45240			}
45241		case "clusterUserName":
45242			if v != nil {
45243				var clusterUserName interface{}
45244				err = json.Unmarshal(*v, &clusterUserName)
45245				if err != nil {
45246					return err
45247				}
45248				hiodlstp.ClusterUserName = clusterUserName
45249			}
45250		case "clusterPassword":
45251			if v != nil {
45252				clusterPassword, err := unmarshalBasicSecretBase(*v)
45253				if err != nil {
45254					return err
45255				}
45256				hiodlstp.ClusterPassword = clusterPassword
45257			}
45258		case "clusterSshUserName":
45259			if v != nil {
45260				var clusterSSHUserName interface{}
45261				err = json.Unmarshal(*v, &clusterSSHUserName)
45262				if err != nil {
45263					return err
45264				}
45265				hiodlstp.ClusterSSHUserName = clusterSSHUserName
45266			}
45267		case "clusterSshPassword":
45268			if v != nil {
45269				clusterSSHPassword, err := unmarshalBasicSecretBase(*v)
45270				if err != nil {
45271					return err
45272				}
45273				hiodlstp.ClusterSSHPassword = clusterSSHPassword
45274			}
45275		case "additionalLinkedServiceNames":
45276			if v != nil {
45277				var additionalLinkedServiceNames []LinkedServiceReference
45278				err = json.Unmarshal(*v, &additionalLinkedServiceNames)
45279				if err != nil {
45280					return err
45281				}
45282				hiodlstp.AdditionalLinkedServiceNames = &additionalLinkedServiceNames
45283			}
45284		case "hcatalogLinkedServiceName":
45285			if v != nil {
45286				var hcatalogLinkedServiceName LinkedServiceReference
45287				err = json.Unmarshal(*v, &hcatalogLinkedServiceName)
45288				if err != nil {
45289					return err
45290				}
45291				hiodlstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName
45292			}
45293		case "clusterType":
45294			if v != nil {
45295				var clusterType interface{}
45296				err = json.Unmarshal(*v, &clusterType)
45297				if err != nil {
45298					return err
45299				}
45300				hiodlstp.ClusterType = clusterType
45301			}
45302		case "sparkVersion":
45303			if v != nil {
45304				var sparkVersion interface{}
45305				err = json.Unmarshal(*v, &sparkVersion)
45306				if err != nil {
45307					return err
45308				}
45309				hiodlstp.SparkVersion = sparkVersion
45310			}
45311		case "coreConfiguration":
45312			if v != nil {
45313				var coreConfiguration interface{}
45314				err = json.Unmarshal(*v, &coreConfiguration)
45315				if err != nil {
45316					return err
45317				}
45318				hiodlstp.CoreConfiguration = coreConfiguration
45319			}
45320		case "hBaseConfiguration":
45321			if v != nil {
45322				var hBaseConfiguration interface{}
45323				err = json.Unmarshal(*v, &hBaseConfiguration)
45324				if err != nil {
45325					return err
45326				}
45327				hiodlstp.HBaseConfiguration = hBaseConfiguration
45328			}
45329		case "hdfsConfiguration":
45330			if v != nil {
45331				var hdfsConfiguration interface{}
45332				err = json.Unmarshal(*v, &hdfsConfiguration)
45333				if err != nil {
45334					return err
45335				}
45336				hiodlstp.HdfsConfiguration = hdfsConfiguration
45337			}
45338		case "hiveConfiguration":
45339			if v != nil {
45340				var hiveConfiguration interface{}
45341				err = json.Unmarshal(*v, &hiveConfiguration)
45342				if err != nil {
45343					return err
45344				}
45345				hiodlstp.HiveConfiguration = hiveConfiguration
45346			}
45347		case "mapReduceConfiguration":
45348			if v != nil {
45349				var mapReduceConfiguration interface{}
45350				err = json.Unmarshal(*v, &mapReduceConfiguration)
45351				if err != nil {
45352					return err
45353				}
45354				hiodlstp.MapReduceConfiguration = mapReduceConfiguration
45355			}
45356		case "oozieConfiguration":
45357			if v != nil {
45358				var oozieConfiguration interface{}
45359				err = json.Unmarshal(*v, &oozieConfiguration)
45360				if err != nil {
45361					return err
45362				}
45363				hiodlstp.OozieConfiguration = oozieConfiguration
45364			}
45365		case "stormConfiguration":
45366			if v != nil {
45367				var stormConfiguration interface{}
45368				err = json.Unmarshal(*v, &stormConfiguration)
45369				if err != nil {
45370					return err
45371				}
45372				hiodlstp.StormConfiguration = stormConfiguration
45373			}
45374		case "yarnConfiguration":
45375			if v != nil {
45376				var yarnConfiguration interface{}
45377				err = json.Unmarshal(*v, &yarnConfiguration)
45378				if err != nil {
45379					return err
45380				}
45381				hiodlstp.YarnConfiguration = yarnConfiguration
45382			}
45383		case "encryptedCredential":
45384			if v != nil {
45385				var encryptedCredential interface{}
45386				err = json.Unmarshal(*v, &encryptedCredential)
45387				if err != nil {
45388					return err
45389				}
45390				hiodlstp.EncryptedCredential = encryptedCredential
45391			}
45392		case "headNodeSize":
45393			if v != nil {
45394				var headNodeSize interface{}
45395				err = json.Unmarshal(*v, &headNodeSize)
45396				if err != nil {
45397					return err
45398				}
45399				hiodlstp.HeadNodeSize = headNodeSize
45400			}
45401		case "dataNodeSize":
45402			if v != nil {
45403				var dataNodeSize interface{}
45404				err = json.Unmarshal(*v, &dataNodeSize)
45405				if err != nil {
45406					return err
45407				}
45408				hiodlstp.DataNodeSize = dataNodeSize
45409			}
45410		case "zookeeperNodeSize":
45411			if v != nil {
45412				var zookeeperNodeSize interface{}
45413				err = json.Unmarshal(*v, &zookeeperNodeSize)
45414				if err != nil {
45415					return err
45416				}
45417				hiodlstp.ZookeeperNodeSize = zookeeperNodeSize
45418			}
45419		}
45420	}
45421
45422	return nil
45423}
45424
45425// HDInsightPigActivity hDInsight Pig activity type.
45426type HDInsightPigActivity struct {
45427	// HDInsightPigActivityTypeProperties - HDInsight Pig activity properties.
45428	*HDInsightPigActivityTypeProperties `json:"typeProperties,omitempty"`
45429	// LinkedServiceName - Linked service reference.
45430	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
45431	// Policy - Activity policy.
45432	Policy *ActivityPolicy `json:"policy,omitempty"`
45433	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
45434	AdditionalProperties map[string]interface{} `json:""`
45435	// Name - Activity name.
45436	Name *string `json:"name,omitempty"`
45437	// Description - Activity description.
45438	Description *string `json:"description,omitempty"`
45439	// DependsOn - Activity depends on condition.
45440	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
45441	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
45442	Type TypeBasicActivity `json:"type,omitempty"`
45443}
45444
45445// MarshalJSON is the custom marshaler for HDInsightPigActivity.
45446func (hipa HDInsightPigActivity) MarshalJSON() ([]byte, error) {
45447	hipa.Type = TypeHDInsightPig
45448	objectMap := make(map[string]interface{})
45449	if hipa.HDInsightPigActivityTypeProperties != nil {
45450		objectMap["typeProperties"] = hipa.HDInsightPigActivityTypeProperties
45451	}
45452	if hipa.LinkedServiceName != nil {
45453		objectMap["linkedServiceName"] = hipa.LinkedServiceName
45454	}
45455	if hipa.Policy != nil {
45456		objectMap["policy"] = hipa.Policy
45457	}
45458	if hipa.Name != nil {
45459		objectMap["name"] = hipa.Name
45460	}
45461	if hipa.Description != nil {
45462		objectMap["description"] = hipa.Description
45463	}
45464	if hipa.DependsOn != nil {
45465		objectMap["dependsOn"] = hipa.DependsOn
45466	}
45467	if hipa.Type != "" {
45468		objectMap["type"] = hipa.Type
45469	}
45470	for k, v := range hipa.AdditionalProperties {
45471		objectMap[k] = v
45472	}
45473	return json.Marshal(objectMap)
45474}
45475
45476// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightPigActivity.
45477func (hipa HDInsightPigActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
45478	return nil, false
45479}
45480
45481// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightPigActivity.
45482func (hipa HDInsightPigActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
45483	return nil, false
45484}
45485
45486// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightPigActivity.
45487func (hipa HDInsightPigActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
45488	return nil, false
45489}
45490
45491// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
45492func (hipa HDInsightPigActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
45493	return nil, false
45494}
45495
45496// AsGetMetadataActivity is the BasicActivity implementation for HDInsightPigActivity.
45497func (hipa HDInsightPigActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
45498	return nil, false
45499}
45500
45501// AsWebActivity is the BasicActivity implementation for HDInsightPigActivity.
45502func (hipa HDInsightPigActivity) AsWebActivity() (*WebActivity, bool) {
45503	return nil, false
45504}
45505
45506// AsLookupActivity is the BasicActivity implementation for HDInsightPigActivity.
45507func (hipa HDInsightPigActivity) AsLookupActivity() (*LookupActivity, bool) {
45508	return nil, false
45509}
45510
45511// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightPigActivity.
45512func (hipa HDInsightPigActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
45513	return nil, false
45514}
45515
45516// AsCustomActivity is the BasicActivity implementation for HDInsightPigActivity.
45517func (hipa HDInsightPigActivity) AsCustomActivity() (*CustomActivity, bool) {
45518	return nil, false
45519}
45520
45521// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightPigActivity.
45522func (hipa HDInsightPigActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
45523	return nil, false
45524}
45525
45526// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightPigActivity.
45527func (hipa HDInsightPigActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
45528	return nil, false
45529}
45530
45531// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightPigActivity.
45532func (hipa HDInsightPigActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
45533	return nil, false
45534}
45535
45536// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightPigActivity.
45537func (hipa HDInsightPigActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
45538	return nil, false
45539}
45540
45541// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightPigActivity.
45542func (hipa HDInsightPigActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
45543	return &hipa, true
45544}
45545
45546// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightPigActivity.
45547func (hipa HDInsightPigActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
45548	return nil, false
45549}
45550
45551// AsCopyActivity is the BasicActivity implementation for HDInsightPigActivity.
45552func (hipa HDInsightPigActivity) AsCopyActivity() (*CopyActivity, bool) {
45553	return nil, false
45554}
45555
45556// AsExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
45557func (hipa HDInsightPigActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
45558	return nil, false
45559}
45560
45561// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
45562func (hipa HDInsightPigActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
45563	return &hipa, true
45564}
45565
45566// AsFilterActivity is the BasicActivity implementation for HDInsightPigActivity.
45567func (hipa HDInsightPigActivity) AsFilterActivity() (*FilterActivity, bool) {
45568	return nil, false
45569}
45570
45571// AsUntilActivity is the BasicActivity implementation for HDInsightPigActivity.
45572func (hipa HDInsightPigActivity) AsUntilActivity() (*UntilActivity, bool) {
45573	return nil, false
45574}
45575
45576// AsWaitActivity is the BasicActivity implementation for HDInsightPigActivity.
45577func (hipa HDInsightPigActivity) AsWaitActivity() (*WaitActivity, bool) {
45578	return nil, false
45579}
45580
45581// AsForEachActivity is the BasicActivity implementation for HDInsightPigActivity.
45582func (hipa HDInsightPigActivity) AsForEachActivity() (*ForEachActivity, bool) {
45583	return nil, false
45584}
45585
45586// AsIfConditionActivity is the BasicActivity implementation for HDInsightPigActivity.
45587func (hipa HDInsightPigActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
45588	return nil, false
45589}
45590
45591// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity.
45592func (hipa HDInsightPigActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
45593	return nil, false
45594}
45595
45596// AsControlActivity is the BasicActivity implementation for HDInsightPigActivity.
45597func (hipa HDInsightPigActivity) AsControlActivity() (*ControlActivity, bool) {
45598	return nil, false
45599}
45600
45601// AsBasicControlActivity is the BasicActivity implementation for HDInsightPigActivity.
45602func (hipa HDInsightPigActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
45603	return nil, false
45604}
45605
45606// AsActivity is the BasicActivity implementation for HDInsightPigActivity.
45607func (hipa HDInsightPigActivity) AsActivity() (*Activity, bool) {
45608	return nil, false
45609}
45610
45611// AsBasicActivity is the BasicActivity implementation for HDInsightPigActivity.
45612func (hipa HDInsightPigActivity) AsBasicActivity() (BasicActivity, bool) {
45613	return &hipa, true
45614}
45615
45616// UnmarshalJSON is the custom unmarshaler for HDInsightPigActivity struct.
45617func (hipa *HDInsightPigActivity) UnmarshalJSON(body []byte) error {
45618	var m map[string]*json.RawMessage
45619	err := json.Unmarshal(body, &m)
45620	if err != nil {
45621		return err
45622	}
45623	for k, v := range m {
45624		switch k {
45625		case "typeProperties":
45626			if v != nil {
45627				var hDInsightPigActivityTypeProperties HDInsightPigActivityTypeProperties
45628				err = json.Unmarshal(*v, &hDInsightPigActivityTypeProperties)
45629				if err != nil {
45630					return err
45631				}
45632				hipa.HDInsightPigActivityTypeProperties = &hDInsightPigActivityTypeProperties
45633			}
45634		case "linkedServiceName":
45635			if v != nil {
45636				var linkedServiceName LinkedServiceReference
45637				err = json.Unmarshal(*v, &linkedServiceName)
45638				if err != nil {
45639					return err
45640				}
45641				hipa.LinkedServiceName = &linkedServiceName
45642			}
45643		case "policy":
45644			if v != nil {
45645				var policy ActivityPolicy
45646				err = json.Unmarshal(*v, &policy)
45647				if err != nil {
45648					return err
45649				}
45650				hipa.Policy = &policy
45651			}
45652		default:
45653			if v != nil {
45654				var additionalProperties interface{}
45655				err = json.Unmarshal(*v, &additionalProperties)
45656				if err != nil {
45657					return err
45658				}
45659				if hipa.AdditionalProperties == nil {
45660					hipa.AdditionalProperties = make(map[string]interface{})
45661				}
45662				hipa.AdditionalProperties[k] = additionalProperties
45663			}
45664		case "name":
45665			if v != nil {
45666				var name string
45667				err = json.Unmarshal(*v, &name)
45668				if err != nil {
45669					return err
45670				}
45671				hipa.Name = &name
45672			}
45673		case "description":
45674			if v != nil {
45675				var description string
45676				err = json.Unmarshal(*v, &description)
45677				if err != nil {
45678					return err
45679				}
45680				hipa.Description = &description
45681			}
45682		case "dependsOn":
45683			if v != nil {
45684				var dependsOn []ActivityDependency
45685				err = json.Unmarshal(*v, &dependsOn)
45686				if err != nil {
45687					return err
45688				}
45689				hipa.DependsOn = &dependsOn
45690			}
45691		case "type":
45692			if v != nil {
45693				var typeVar TypeBasicActivity
45694				err = json.Unmarshal(*v, &typeVar)
45695				if err != nil {
45696					return err
45697				}
45698				hipa.Type = typeVar
45699			}
45700		}
45701	}
45702
45703	return nil
45704}
45705
45706// HDInsightPigActivityTypeProperties hDInsight Pig activity properties.
45707type HDInsightPigActivityTypeProperties struct {
45708	// StorageLinkedServices - Storage linked service references.
45709	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
45710	// Arguments - User specified arguments to HDInsightActivity.
45711	Arguments *[]interface{} `json:"arguments,omitempty"`
45712	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
45713	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
45714	// ScriptPath - Script path. Type: string (or Expression with resultType string).
45715	ScriptPath interface{} `json:"scriptPath,omitempty"`
45716	// ScriptLinkedService - Script linked service reference.
45717	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
45718	// Defines - Allows user to specify defines for Pig job request.
45719	Defines map[string]interface{} `json:"defines"`
45720}
45721
45722// MarshalJSON is the custom marshaler for HDInsightPigActivityTypeProperties.
45723func (hipatp HDInsightPigActivityTypeProperties) MarshalJSON() ([]byte, error) {
45724	objectMap := make(map[string]interface{})
45725	if hipatp.StorageLinkedServices != nil {
45726		objectMap["storageLinkedServices"] = hipatp.StorageLinkedServices
45727	}
45728	if hipatp.Arguments != nil {
45729		objectMap["arguments"] = hipatp.Arguments
45730	}
45731	if hipatp.GetDebugInfo != "" {
45732		objectMap["getDebugInfo"] = hipatp.GetDebugInfo
45733	}
45734	if hipatp.ScriptPath != nil {
45735		objectMap["scriptPath"] = hipatp.ScriptPath
45736	}
45737	if hipatp.ScriptLinkedService != nil {
45738		objectMap["scriptLinkedService"] = hipatp.ScriptLinkedService
45739	}
45740	if hipatp.Defines != nil {
45741		objectMap["defines"] = hipatp.Defines
45742	}
45743	return json.Marshal(objectMap)
45744}
45745
45746// HDInsightSparkActivity hDInsight Spark activity.
45747type HDInsightSparkActivity struct {
45748	// HDInsightSparkActivityTypeProperties - HDInsight spark activity properties.
45749	*HDInsightSparkActivityTypeProperties `json:"typeProperties,omitempty"`
45750	// LinkedServiceName - Linked service reference.
45751	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
45752	// Policy - Activity policy.
45753	Policy *ActivityPolicy `json:"policy,omitempty"`
45754	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
45755	AdditionalProperties map[string]interface{} `json:""`
45756	// Name - Activity name.
45757	Name *string `json:"name,omitempty"`
45758	// Description - Activity description.
45759	Description *string `json:"description,omitempty"`
45760	// DependsOn - Activity depends on condition.
45761	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
45762	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
45763	Type TypeBasicActivity `json:"type,omitempty"`
45764}
45765
45766// MarshalJSON is the custom marshaler for HDInsightSparkActivity.
45767func (hisa HDInsightSparkActivity) MarshalJSON() ([]byte, error) {
45768	hisa.Type = TypeHDInsightSpark
45769	objectMap := make(map[string]interface{})
45770	if hisa.HDInsightSparkActivityTypeProperties != nil {
45771		objectMap["typeProperties"] = hisa.HDInsightSparkActivityTypeProperties
45772	}
45773	if hisa.LinkedServiceName != nil {
45774		objectMap["linkedServiceName"] = hisa.LinkedServiceName
45775	}
45776	if hisa.Policy != nil {
45777		objectMap["policy"] = hisa.Policy
45778	}
45779	if hisa.Name != nil {
45780		objectMap["name"] = hisa.Name
45781	}
45782	if hisa.Description != nil {
45783		objectMap["description"] = hisa.Description
45784	}
45785	if hisa.DependsOn != nil {
45786		objectMap["dependsOn"] = hisa.DependsOn
45787	}
45788	if hisa.Type != "" {
45789		objectMap["type"] = hisa.Type
45790	}
45791	for k, v := range hisa.AdditionalProperties {
45792		objectMap[k] = v
45793	}
45794	return json.Marshal(objectMap)
45795}
45796
45797// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightSparkActivity.
45798func (hisa HDInsightSparkActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
45799	return nil, false
45800}
45801
45802// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightSparkActivity.
45803func (hisa HDInsightSparkActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
45804	return nil, false
45805}
45806
45807// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightSparkActivity.
45808func (hisa HDInsightSparkActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
45809	return nil, false
45810}
45811
45812// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
45813func (hisa HDInsightSparkActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
45814	return nil, false
45815}
45816
45817// AsGetMetadataActivity is the BasicActivity implementation for HDInsightSparkActivity.
45818func (hisa HDInsightSparkActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
45819	return nil, false
45820}
45821
45822// AsWebActivity is the BasicActivity implementation for HDInsightSparkActivity.
45823func (hisa HDInsightSparkActivity) AsWebActivity() (*WebActivity, bool) {
45824	return nil, false
45825}
45826
45827// AsLookupActivity is the BasicActivity implementation for HDInsightSparkActivity.
45828func (hisa HDInsightSparkActivity) AsLookupActivity() (*LookupActivity, bool) {
45829	return nil, false
45830}
45831
45832// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightSparkActivity.
45833func (hisa HDInsightSparkActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
45834	return nil, false
45835}
45836
45837// AsCustomActivity is the BasicActivity implementation for HDInsightSparkActivity.
45838func (hisa HDInsightSparkActivity) AsCustomActivity() (*CustomActivity, bool) {
45839	return nil, false
45840}
45841
45842// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightSparkActivity.
45843func (hisa HDInsightSparkActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
45844	return nil, false
45845}
45846
45847// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightSparkActivity.
45848func (hisa HDInsightSparkActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
45849	return &hisa, true
45850}
45851
45852// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightSparkActivity.
45853func (hisa HDInsightSparkActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
45854	return nil, false
45855}
45856
45857// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightSparkActivity.
45858func (hisa HDInsightSparkActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
45859	return nil, false
45860}
45861
45862// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightSparkActivity.
45863func (hisa HDInsightSparkActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
45864	return nil, false
45865}
45866
45867// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightSparkActivity.
45868func (hisa HDInsightSparkActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
45869	return nil, false
45870}
45871
45872// AsCopyActivity is the BasicActivity implementation for HDInsightSparkActivity.
45873func (hisa HDInsightSparkActivity) AsCopyActivity() (*CopyActivity, bool) {
45874	return nil, false
45875}
45876
45877// AsExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
45878func (hisa HDInsightSparkActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
45879	return nil, false
45880}
45881
45882// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
45883func (hisa HDInsightSparkActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
45884	return &hisa, true
45885}
45886
45887// AsFilterActivity is the BasicActivity implementation for HDInsightSparkActivity.
45888func (hisa HDInsightSparkActivity) AsFilterActivity() (*FilterActivity, bool) {
45889	return nil, false
45890}
45891
45892// AsUntilActivity is the BasicActivity implementation for HDInsightSparkActivity.
45893func (hisa HDInsightSparkActivity) AsUntilActivity() (*UntilActivity, bool) {
45894	return nil, false
45895}
45896
45897// AsWaitActivity is the BasicActivity implementation for HDInsightSparkActivity.
45898func (hisa HDInsightSparkActivity) AsWaitActivity() (*WaitActivity, bool) {
45899	return nil, false
45900}
45901
45902// AsForEachActivity is the BasicActivity implementation for HDInsightSparkActivity.
45903func (hisa HDInsightSparkActivity) AsForEachActivity() (*ForEachActivity, bool) {
45904	return nil, false
45905}
45906
45907// AsIfConditionActivity is the BasicActivity implementation for HDInsightSparkActivity.
45908func (hisa HDInsightSparkActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
45909	return nil, false
45910}
45911
45912// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity.
45913func (hisa HDInsightSparkActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
45914	return nil, false
45915}
45916
45917// AsControlActivity is the BasicActivity implementation for HDInsightSparkActivity.
45918func (hisa HDInsightSparkActivity) AsControlActivity() (*ControlActivity, bool) {
45919	return nil, false
45920}
45921
45922// AsBasicControlActivity is the BasicActivity implementation for HDInsightSparkActivity.
45923func (hisa HDInsightSparkActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
45924	return nil, false
45925}
45926
45927// AsActivity is the BasicActivity implementation for HDInsightSparkActivity.
45928func (hisa HDInsightSparkActivity) AsActivity() (*Activity, bool) {
45929	return nil, false
45930}
45931
45932// AsBasicActivity is the BasicActivity implementation for HDInsightSparkActivity.
45933func (hisa HDInsightSparkActivity) AsBasicActivity() (BasicActivity, bool) {
45934	return &hisa, true
45935}
45936
45937// UnmarshalJSON is the custom unmarshaler for HDInsightSparkActivity struct.
45938func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error {
45939	var m map[string]*json.RawMessage
45940	err := json.Unmarshal(body, &m)
45941	if err != nil {
45942		return err
45943	}
45944	for k, v := range m {
45945		switch k {
45946		case "typeProperties":
45947			if v != nil {
45948				var hDInsightSparkActivityTypeProperties HDInsightSparkActivityTypeProperties
45949				err = json.Unmarshal(*v, &hDInsightSparkActivityTypeProperties)
45950				if err != nil {
45951					return err
45952				}
45953				hisa.HDInsightSparkActivityTypeProperties = &hDInsightSparkActivityTypeProperties
45954			}
45955		case "linkedServiceName":
45956			if v != nil {
45957				var linkedServiceName LinkedServiceReference
45958				err = json.Unmarshal(*v, &linkedServiceName)
45959				if err != nil {
45960					return err
45961				}
45962				hisa.LinkedServiceName = &linkedServiceName
45963			}
45964		case "policy":
45965			if v != nil {
45966				var policy ActivityPolicy
45967				err = json.Unmarshal(*v, &policy)
45968				if err != nil {
45969					return err
45970				}
45971				hisa.Policy = &policy
45972			}
45973		default:
45974			if v != nil {
45975				var additionalProperties interface{}
45976				err = json.Unmarshal(*v, &additionalProperties)
45977				if err != nil {
45978					return err
45979				}
45980				if hisa.AdditionalProperties == nil {
45981					hisa.AdditionalProperties = make(map[string]interface{})
45982				}
45983				hisa.AdditionalProperties[k] = additionalProperties
45984			}
45985		case "name":
45986			if v != nil {
45987				var name string
45988				err = json.Unmarshal(*v, &name)
45989				if err != nil {
45990					return err
45991				}
45992				hisa.Name = &name
45993			}
45994		case "description":
45995			if v != nil {
45996				var description string
45997				err = json.Unmarshal(*v, &description)
45998				if err != nil {
45999					return err
46000				}
46001				hisa.Description = &description
46002			}
46003		case "dependsOn":
46004			if v != nil {
46005				var dependsOn []ActivityDependency
46006				err = json.Unmarshal(*v, &dependsOn)
46007				if err != nil {
46008					return err
46009				}
46010				hisa.DependsOn = &dependsOn
46011			}
46012		case "type":
46013			if v != nil {
46014				var typeVar TypeBasicActivity
46015				err = json.Unmarshal(*v, &typeVar)
46016				if err != nil {
46017					return err
46018				}
46019				hisa.Type = typeVar
46020			}
46021		}
46022	}
46023
46024	return nil
46025}
46026
46027// HDInsightSparkActivityTypeProperties hDInsight spark activity properties.
46028type HDInsightSparkActivityTypeProperties struct {
46029	// RootPath - The root path in 'sparkJobLinkedService' for all the job’s files. Type: string (or Expression with resultType string).
46030	RootPath interface{} `json:"rootPath,omitempty"`
46031	// EntryFilePath - The relative path to the root folder of the code/package to be executed. Type: string (or Expression with resultType string).
46032	EntryFilePath interface{} `json:"entryFilePath,omitempty"`
46033	// Arguments - The user-specified arguments to HDInsightSparkActivity.
46034	Arguments *[]interface{} `json:"arguments,omitempty"`
46035	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
46036	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
46037	// SparkJobLinkedService - The storage linked service for uploading the entry file and dependencies, and for receiving logs.
46038	SparkJobLinkedService *LinkedServiceReference `json:"sparkJobLinkedService,omitempty"`
46039	// ClassName - The application's Java/Spark main class.
46040	ClassName *string `json:"className,omitempty"`
46041	// ProxyUser - The user to impersonate that will execute the job. Type: string (or Expression with resultType string).
46042	ProxyUser interface{} `json:"proxyUser,omitempty"`
46043	// SparkConfig - Spark configuration property.
46044	SparkConfig map[string]interface{} `json:"sparkConfig"`
46045}
46046
46047// MarshalJSON is the custom marshaler for HDInsightSparkActivityTypeProperties.
46048func (hisatp HDInsightSparkActivityTypeProperties) MarshalJSON() ([]byte, error) {
46049	objectMap := make(map[string]interface{})
46050	if hisatp.RootPath != nil {
46051		objectMap["rootPath"] = hisatp.RootPath
46052	}
46053	if hisatp.EntryFilePath != nil {
46054		objectMap["entryFilePath"] = hisatp.EntryFilePath
46055	}
46056	if hisatp.Arguments != nil {
46057		objectMap["arguments"] = hisatp.Arguments
46058	}
46059	if hisatp.GetDebugInfo != "" {
46060		objectMap["getDebugInfo"] = hisatp.GetDebugInfo
46061	}
46062	if hisatp.SparkJobLinkedService != nil {
46063		objectMap["sparkJobLinkedService"] = hisatp.SparkJobLinkedService
46064	}
46065	if hisatp.ClassName != nil {
46066		objectMap["className"] = hisatp.ClassName
46067	}
46068	if hisatp.ProxyUser != nil {
46069		objectMap["proxyUser"] = hisatp.ProxyUser
46070	}
46071	if hisatp.SparkConfig != nil {
46072		objectMap["sparkConfig"] = hisatp.SparkConfig
46073	}
46074	return json.Marshal(objectMap)
46075}
46076
46077// HDInsightStreamingActivity hDInsight streaming activity type.
46078type HDInsightStreamingActivity struct {
46079	// HDInsightStreamingActivityTypeProperties - HDInsight streaming activity properties.
46080	*HDInsightStreamingActivityTypeProperties `json:"typeProperties,omitempty"`
46081	// LinkedServiceName - Linked service reference.
46082	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
46083	// Policy - Activity policy.
46084	Policy *ActivityPolicy `json:"policy,omitempty"`
46085	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
46086	AdditionalProperties map[string]interface{} `json:""`
46087	// Name - Activity name.
46088	Name *string `json:"name,omitempty"`
46089	// Description - Activity description.
46090	Description *string `json:"description,omitempty"`
46091	// DependsOn - Activity depends on condition.
46092	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
46093	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
46094	Type TypeBasicActivity `json:"type,omitempty"`
46095}
46096
46097// MarshalJSON is the custom marshaler for HDInsightStreamingActivity.
46098func (hisa HDInsightStreamingActivity) MarshalJSON() ([]byte, error) {
46099	hisa.Type = TypeHDInsightStreaming
46100	objectMap := make(map[string]interface{})
46101	if hisa.HDInsightStreamingActivityTypeProperties != nil {
46102		objectMap["typeProperties"] = hisa.HDInsightStreamingActivityTypeProperties
46103	}
46104	if hisa.LinkedServiceName != nil {
46105		objectMap["linkedServiceName"] = hisa.LinkedServiceName
46106	}
46107	if hisa.Policy != nil {
46108		objectMap["policy"] = hisa.Policy
46109	}
46110	if hisa.Name != nil {
46111		objectMap["name"] = hisa.Name
46112	}
46113	if hisa.Description != nil {
46114		objectMap["description"] = hisa.Description
46115	}
46116	if hisa.DependsOn != nil {
46117		objectMap["dependsOn"] = hisa.DependsOn
46118	}
46119	if hisa.Type != "" {
46120		objectMap["type"] = hisa.Type
46121	}
46122	for k, v := range hisa.AdditionalProperties {
46123		objectMap[k] = v
46124	}
46125	return json.Marshal(objectMap)
46126}
46127
46128// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46129func (hisa HDInsightStreamingActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
46130	return nil, false
46131}
46132
46133// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46134func (hisa HDInsightStreamingActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
46135	return nil, false
46136}
46137
46138// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46139func (hisa HDInsightStreamingActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
46140	return nil, false
46141}
46142
46143// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46144func (hisa HDInsightStreamingActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
46145	return nil, false
46146}
46147
46148// AsGetMetadataActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46149func (hisa HDInsightStreamingActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
46150	return nil, false
46151}
46152
46153// AsWebActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46154func (hisa HDInsightStreamingActivity) AsWebActivity() (*WebActivity, bool) {
46155	return nil, false
46156}
46157
46158// AsLookupActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46159func (hisa HDInsightStreamingActivity) AsLookupActivity() (*LookupActivity, bool) {
46160	return nil, false
46161}
46162
46163// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46164func (hisa HDInsightStreamingActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
46165	return nil, false
46166}
46167
46168// AsCustomActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46169func (hisa HDInsightStreamingActivity) AsCustomActivity() (*CustomActivity, bool) {
46170	return nil, false
46171}
46172
46173// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46174func (hisa HDInsightStreamingActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
46175	return nil, false
46176}
46177
46178// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46179func (hisa HDInsightStreamingActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
46180	return nil, false
46181}
46182
46183// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46184func (hisa HDInsightStreamingActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
46185	return &hisa, true
46186}
46187
46188// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46189func (hisa HDInsightStreamingActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
46190	return nil, false
46191}
46192
46193// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46194func (hisa HDInsightStreamingActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
46195	return nil, false
46196}
46197
46198// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46199func (hisa HDInsightStreamingActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
46200	return nil, false
46201}
46202
46203// AsCopyActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46204func (hisa HDInsightStreamingActivity) AsCopyActivity() (*CopyActivity, bool) {
46205	return nil, false
46206}
46207
46208// AsExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46209func (hisa HDInsightStreamingActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
46210	return nil, false
46211}
46212
46213// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46214func (hisa HDInsightStreamingActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
46215	return &hisa, true
46216}
46217
46218// AsFilterActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46219func (hisa HDInsightStreamingActivity) AsFilterActivity() (*FilterActivity, bool) {
46220	return nil, false
46221}
46222
46223// AsUntilActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46224func (hisa HDInsightStreamingActivity) AsUntilActivity() (*UntilActivity, bool) {
46225	return nil, false
46226}
46227
46228// AsWaitActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46229func (hisa HDInsightStreamingActivity) AsWaitActivity() (*WaitActivity, bool) {
46230	return nil, false
46231}
46232
46233// AsForEachActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46234func (hisa HDInsightStreamingActivity) AsForEachActivity() (*ForEachActivity, bool) {
46235	return nil, false
46236}
46237
46238// AsIfConditionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46239func (hisa HDInsightStreamingActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
46240	return nil, false
46241}
46242
46243// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46244func (hisa HDInsightStreamingActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
46245	return nil, false
46246}
46247
46248// AsControlActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46249func (hisa HDInsightStreamingActivity) AsControlActivity() (*ControlActivity, bool) {
46250	return nil, false
46251}
46252
46253// AsBasicControlActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46254func (hisa HDInsightStreamingActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
46255	return nil, false
46256}
46257
46258// AsActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46259func (hisa HDInsightStreamingActivity) AsActivity() (*Activity, bool) {
46260	return nil, false
46261}
46262
46263// AsBasicActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46264func (hisa HDInsightStreamingActivity) AsBasicActivity() (BasicActivity, bool) {
46265	return &hisa, true
46266}
46267
46268// UnmarshalJSON is the custom unmarshaler for HDInsightStreamingActivity struct.
46269func (hisa *HDInsightStreamingActivity) UnmarshalJSON(body []byte) error {
46270	var m map[string]*json.RawMessage
46271	err := json.Unmarshal(body, &m)
46272	if err != nil {
46273		return err
46274	}
46275	for k, v := range m {
46276		switch k {
46277		case "typeProperties":
46278			if v != nil {
46279				var hDInsightStreamingActivityTypeProperties HDInsightStreamingActivityTypeProperties
46280				err = json.Unmarshal(*v, &hDInsightStreamingActivityTypeProperties)
46281				if err != nil {
46282					return err
46283				}
46284				hisa.HDInsightStreamingActivityTypeProperties = &hDInsightStreamingActivityTypeProperties
46285			}
46286		case "linkedServiceName":
46287			if v != nil {
46288				var linkedServiceName LinkedServiceReference
46289				err = json.Unmarshal(*v, &linkedServiceName)
46290				if err != nil {
46291					return err
46292				}
46293				hisa.LinkedServiceName = &linkedServiceName
46294			}
46295		case "policy":
46296			if v != nil {
46297				var policy ActivityPolicy
46298				err = json.Unmarshal(*v, &policy)
46299				if err != nil {
46300					return err
46301				}
46302				hisa.Policy = &policy
46303			}
46304		default:
46305			if v != nil {
46306				var additionalProperties interface{}
46307				err = json.Unmarshal(*v, &additionalProperties)
46308				if err != nil {
46309					return err
46310				}
46311				if hisa.AdditionalProperties == nil {
46312					hisa.AdditionalProperties = make(map[string]interface{})
46313				}
46314				hisa.AdditionalProperties[k] = additionalProperties
46315			}
46316		case "name":
46317			if v != nil {
46318				var name string
46319				err = json.Unmarshal(*v, &name)
46320				if err != nil {
46321					return err
46322				}
46323				hisa.Name = &name
46324			}
46325		case "description":
46326			if v != nil {
46327				var description string
46328				err = json.Unmarshal(*v, &description)
46329				if err != nil {
46330					return err
46331				}
46332				hisa.Description = &description
46333			}
46334		case "dependsOn":
46335			if v != nil {
46336				var dependsOn []ActivityDependency
46337				err = json.Unmarshal(*v, &dependsOn)
46338				if err != nil {
46339					return err
46340				}
46341				hisa.DependsOn = &dependsOn
46342			}
46343		case "type":
46344			if v != nil {
46345				var typeVar TypeBasicActivity
46346				err = json.Unmarshal(*v, &typeVar)
46347				if err != nil {
46348					return err
46349				}
46350				hisa.Type = typeVar
46351			}
46352		}
46353	}
46354
46355	return nil
46356}
46357
46358// HDInsightStreamingActivityTypeProperties hDInsight streaming activity properties.
46359type HDInsightStreamingActivityTypeProperties struct {
46360	// StorageLinkedServices - Storage linked service references.
46361	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
46362	// Arguments - User specified arguments to HDInsightActivity.
46363	Arguments *[]interface{} `json:"arguments,omitempty"`
46364	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
46365	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
46366	// Mapper - Mapper executable name. Type: string (or Expression with resultType string).
46367	Mapper interface{} `json:"mapper,omitempty"`
46368	// Reducer - Reducer executable name. Type: string (or Expression with resultType string).
46369	Reducer interface{} `json:"reducer,omitempty"`
46370	// Input - Input blob path. Type: string (or Expression with resultType string).
46371	Input interface{} `json:"input,omitempty"`
46372	// Output - Output blob path. Type: string (or Expression with resultType string).
46373	Output interface{} `json:"output,omitempty"`
46374	// FilePaths - Paths to streaming job files. Can be directories.
46375	FilePaths *[]interface{} `json:"filePaths,omitempty"`
46376	// FileLinkedService - Linked service reference where the files are located.
46377	FileLinkedService *LinkedServiceReference `json:"fileLinkedService,omitempty"`
46378	// Combiner - Combiner executable name. Type: string (or Expression with resultType string).
46379	Combiner interface{} `json:"combiner,omitempty"`
46380	// CommandEnvironment - Command line environment values.
46381	CommandEnvironment *[]interface{} `json:"commandEnvironment,omitempty"`
46382	// Defines - Allows user to specify defines for streaming job request.
46383	Defines map[string]interface{} `json:"defines"`
46384}
46385
46386// MarshalJSON is the custom marshaler for HDInsightStreamingActivityTypeProperties.
46387func (hisatp HDInsightStreamingActivityTypeProperties) MarshalJSON() ([]byte, error) {
46388	objectMap := make(map[string]interface{})
46389	if hisatp.StorageLinkedServices != nil {
46390		objectMap["storageLinkedServices"] = hisatp.StorageLinkedServices
46391	}
46392	if hisatp.Arguments != nil {
46393		objectMap["arguments"] = hisatp.Arguments
46394	}
46395	if hisatp.GetDebugInfo != "" {
46396		objectMap["getDebugInfo"] = hisatp.GetDebugInfo
46397	}
46398	if hisatp.Mapper != nil {
46399		objectMap["mapper"] = hisatp.Mapper
46400	}
46401	if hisatp.Reducer != nil {
46402		objectMap["reducer"] = hisatp.Reducer
46403	}
46404	if hisatp.Input != nil {
46405		objectMap["input"] = hisatp.Input
46406	}
46407	if hisatp.Output != nil {
46408		objectMap["output"] = hisatp.Output
46409	}
46410	if hisatp.FilePaths != nil {
46411		objectMap["filePaths"] = hisatp.FilePaths
46412	}
46413	if hisatp.FileLinkedService != nil {
46414		objectMap["fileLinkedService"] = hisatp.FileLinkedService
46415	}
46416	if hisatp.Combiner != nil {
46417		objectMap["combiner"] = hisatp.Combiner
46418	}
46419	if hisatp.CommandEnvironment != nil {
46420		objectMap["commandEnvironment"] = hisatp.CommandEnvironment
46421	}
46422	if hisatp.Defines != nil {
46423		objectMap["defines"] = hisatp.Defines
46424	}
46425	return json.Marshal(objectMap)
46426}
46427
46428// HiveLinkedService hive Server linked service.
46429type HiveLinkedService struct {
46430	// HiveLinkedServiceTypeProperties - Hive Server linked service properties.
46431	*HiveLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
46432	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
46433	AdditionalProperties map[string]interface{} `json:""`
46434	// ConnectVia - The integration runtime reference.
46435	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
46436	// Description - Linked service description.
46437	Description *string `json:"description,omitempty"`
46438	// Parameters - Parameters for linked service.
46439	Parameters map[string]*ParameterSpecification `json:"parameters"`
46440	// Annotations - List of tags that can be used for describing the Dataset.
46441	Annotations *[]interface{} `json:"annotations,omitempty"`
46442	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
46443	Type TypeBasicLinkedService `json:"type,omitempty"`
46444}
46445
46446// MarshalJSON is the custom marshaler for HiveLinkedService.
46447func (hls HiveLinkedService) MarshalJSON() ([]byte, error) {
46448	hls.Type = TypeHive
46449	objectMap := make(map[string]interface{})
46450	if hls.HiveLinkedServiceTypeProperties != nil {
46451		objectMap["typeProperties"] = hls.HiveLinkedServiceTypeProperties
46452	}
46453	if hls.ConnectVia != nil {
46454		objectMap["connectVia"] = hls.ConnectVia
46455	}
46456	if hls.Description != nil {
46457		objectMap["description"] = hls.Description
46458	}
46459	if hls.Parameters != nil {
46460		objectMap["parameters"] = hls.Parameters
46461	}
46462	if hls.Annotations != nil {
46463		objectMap["annotations"] = hls.Annotations
46464	}
46465	if hls.Type != "" {
46466		objectMap["type"] = hls.Type
46467	}
46468	for k, v := range hls.AdditionalProperties {
46469		objectMap[k] = v
46470	}
46471	return json.Marshal(objectMap)
46472}
46473
46474// AsResponsysLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46475func (hls HiveLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
46476	return nil, false
46477}
46478
46479// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46480func (hls HiveLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
46481	return nil, false
46482}
46483
46484// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46485func (hls HiveLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
46486	return nil, false
46487}
46488
46489// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46490func (hls HiveLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
46491	return nil, false
46492}
46493
46494// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46495func (hls HiveLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
46496	return nil, false
46497}
46498
46499// AsNetezzaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46500func (hls HiveLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
46501	return nil, false
46502}
46503
46504// AsVerticaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46505func (hls HiveLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
46506	return nil, false
46507}
46508
46509// AsZohoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46510func (hls HiveLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
46511	return nil, false
46512}
46513
46514// AsXeroLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46515func (hls HiveLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
46516	return nil, false
46517}
46518
46519// AsSquareLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46520func (hls HiveLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
46521	return nil, false
46522}
46523
46524// AsSparkLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46525func (hls HiveLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
46526	return nil, false
46527}
46528
46529// AsShopifyLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46530func (hls HiveLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
46531	return nil, false
46532}
46533
46534// AsServiceNowLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46535func (hls HiveLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
46536	return nil, false
46537}
46538
46539// AsQuickBooksLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46540func (hls HiveLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
46541	return nil, false
46542}
46543
46544// AsPrestoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46545func (hls HiveLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
46546	return nil, false
46547}
46548
46549// AsPhoenixLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46550func (hls HiveLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
46551	return nil, false
46552}
46553
46554// AsPaypalLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46555func (hls HiveLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
46556	return nil, false
46557}
46558
46559// AsMarketoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46560func (hls HiveLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
46561	return nil, false
46562}
46563
46564// AsMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46565func (hls HiveLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
46566	return nil, false
46567}
46568
46569// AsMagentoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46570func (hls HiveLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
46571	return nil, false
46572}
46573
46574// AsJiraLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46575func (hls HiveLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
46576	return nil, false
46577}
46578
46579// AsImpalaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46580func (hls HiveLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
46581	return nil, false
46582}
46583
46584// AsHubspotLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46585func (hls HiveLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
46586	return nil, false
46587}
46588
46589// AsHiveLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46590func (hls HiveLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
46591	return &hls, true
46592}
46593
46594// AsHBaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46595func (hls HiveLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
46596	return nil, false
46597}
46598
46599// AsGreenplumLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46600func (hls HiveLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
46601	return nil, false
46602}
46603
46604// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46605func (hls HiveLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
46606	return nil, false
46607}
46608
46609// AsEloquaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46610func (hls HiveLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
46611	return nil, false
46612}
46613
46614// AsDrillLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46615func (hls HiveLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
46616	return nil, false
46617}
46618
46619// AsCouchbaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46620func (hls HiveLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
46621	return nil, false
46622}
46623
46624// AsConcurLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46625func (hls HiveLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
46626	return nil, false
46627}
46628
46629// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46630func (hls HiveLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
46631	return nil, false
46632}
46633
46634// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46635func (hls HiveLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
46636	return nil, false
46637}
46638
46639// AsSapHanaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46640func (hls HiveLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
46641	return nil, false
46642}
46643
46644// AsSapBWLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46645func (hls HiveLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
46646	return nil, false
46647}
46648
46649// AsSftpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46650func (hls HiveLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
46651	return nil, false
46652}
46653
46654// AsFtpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46655func (hls HiveLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
46656	return nil, false
46657}
46658
46659// AsHTTPLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46660func (hls HiveLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
46661	return nil, false
46662}
46663
46664// AsAzureSearchLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46665func (hls HiveLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
46666	return nil, false
46667}
46668
46669// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46670func (hls HiveLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
46671	return nil, false
46672}
46673
46674// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46675func (hls HiveLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
46676	return nil, false
46677}
46678
46679// AsAmazonS3LinkedService is the BasicLinkedService implementation for HiveLinkedService.
46680func (hls HiveLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
46681	return nil, false
46682}
46683
46684// AsSapEccLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46685func (hls HiveLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
46686	return nil, false
46687}
46688
46689// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46690func (hls HiveLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
46691	return nil, false
46692}
46693
46694// AsSalesforceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46695func (hls HiveLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
46696	return nil, false
46697}
46698
46699// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46700func (hls HiveLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
46701	return nil, false
46702}
46703
46704// AsMongoDbLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46705func (hls HiveLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
46706	return nil, false
46707}
46708
46709// AsCassandraLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46710func (hls HiveLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
46711	return nil, false
46712}
46713
46714// AsWebLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46715func (hls HiveLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
46716	return nil, false
46717}
46718
46719// AsODataLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46720func (hls HiveLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
46721	return nil, false
46722}
46723
46724// AsHdfsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46725func (hls HiveLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
46726	return nil, false
46727}
46728
46729// AsOdbcLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46730func (hls HiveLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
46731	return nil, false
46732}
46733
46734// AsAzureMLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46735func (hls HiveLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
46736	return nil, false
46737}
46738
46739// AsTeradataLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46740func (hls HiveLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
46741	return nil, false
46742}
46743
46744// AsDb2LinkedService is the BasicLinkedService implementation for HiveLinkedService.
46745func (hls HiveLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
46746	return nil, false
46747}
46748
46749// AsSybaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46750func (hls HiveLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
46751	return nil, false
46752}
46753
46754// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46755func (hls HiveLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
46756	return nil, false
46757}
46758
46759// AsMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46760func (hls HiveLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
46761	return nil, false
46762}
46763
46764// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46765func (hls HiveLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
46766	return nil, false
46767}
46768
46769// AsOracleLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46770func (hls HiveLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
46771	return nil, false
46772}
46773
46774// AsFileServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46775func (hls HiveLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
46776	return nil, false
46777}
46778
46779// AsHDInsightLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46780func (hls HiveLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
46781	return nil, false
46782}
46783
46784// AsDynamicsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46785func (hls HiveLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
46786	return nil, false
46787}
46788
46789// AsCosmosDbLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46790func (hls HiveLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
46791	return nil, false
46792}
46793
46794// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46795func (hls HiveLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
46796	return nil, false
46797}
46798
46799// AsAzureBatchLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46800func (hls HiveLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
46801	return nil, false
46802}
46803
46804// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46805func (hls HiveLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
46806	return nil, false
46807}
46808
46809// AsSQLServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46810func (hls HiveLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
46811	return nil, false
46812}
46813
46814// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46815func (hls HiveLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
46816	return nil, false
46817}
46818
46819// AsAzureStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46820func (hls HiveLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
46821	return nil, false
46822}
46823
46824// AsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46825func (hls HiveLinkedService) AsLinkedService() (*LinkedService, bool) {
46826	return nil, false
46827}
46828
46829// AsBasicLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46830func (hls HiveLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
46831	return &hls, true
46832}
46833
46834// UnmarshalJSON is the custom unmarshaler for HiveLinkedService struct.
46835func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error {
46836	var m map[string]*json.RawMessage
46837	err := json.Unmarshal(body, &m)
46838	if err != nil {
46839		return err
46840	}
46841	for k, v := range m {
46842		switch k {
46843		case "typeProperties":
46844			if v != nil {
46845				var hiveLinkedServiceTypeProperties HiveLinkedServiceTypeProperties
46846				err = json.Unmarshal(*v, &hiveLinkedServiceTypeProperties)
46847				if err != nil {
46848					return err
46849				}
46850				hls.HiveLinkedServiceTypeProperties = &hiveLinkedServiceTypeProperties
46851			}
46852		default:
46853			if v != nil {
46854				var additionalProperties interface{}
46855				err = json.Unmarshal(*v, &additionalProperties)
46856				if err != nil {
46857					return err
46858				}
46859				if hls.AdditionalProperties == nil {
46860					hls.AdditionalProperties = make(map[string]interface{})
46861				}
46862				hls.AdditionalProperties[k] = additionalProperties
46863			}
46864		case "connectVia":
46865			if v != nil {
46866				var connectVia IntegrationRuntimeReference
46867				err = json.Unmarshal(*v, &connectVia)
46868				if err != nil {
46869					return err
46870				}
46871				hls.ConnectVia = &connectVia
46872			}
46873		case "description":
46874			if v != nil {
46875				var description string
46876				err = json.Unmarshal(*v, &description)
46877				if err != nil {
46878					return err
46879				}
46880				hls.Description = &description
46881			}
46882		case "parameters":
46883			if v != nil {
46884				var parameters map[string]*ParameterSpecification
46885				err = json.Unmarshal(*v, &parameters)
46886				if err != nil {
46887					return err
46888				}
46889				hls.Parameters = parameters
46890			}
46891		case "annotations":
46892			if v != nil {
46893				var annotations []interface{}
46894				err = json.Unmarshal(*v, &annotations)
46895				if err != nil {
46896					return err
46897				}
46898				hls.Annotations = &annotations
46899			}
46900		case "type":
46901			if v != nil {
46902				var typeVar TypeBasicLinkedService
46903				err = json.Unmarshal(*v, &typeVar)
46904				if err != nil {
46905					return err
46906				}
46907				hls.Type = typeVar
46908			}
46909		}
46910	}
46911
46912	return nil
46913}
46914
46915// HiveLinkedServiceTypeProperties hive Server linked service properties.
46916type HiveLinkedServiceTypeProperties struct {
46917	// Host - IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).
46918	Host interface{} `json:"host,omitempty"`
46919	// Port - The TCP port that the Hive server uses to listen for client connections.
46920	Port interface{} `json:"port,omitempty"`
46921	// ServerType - The type of Hive server. Possible values include: 'HiveServer1', 'HiveServer2', 'HiveThriftServer'
46922	ServerType HiveServerType `json:"serverType,omitempty"`
46923	// ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'Binary', 'SASL', 'HTTP'
46924	ThriftTransportProtocol HiveThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"`
46925	// AuthenticationType - The authentication method used to access the Hive server. Possible values include: 'Anonymous', 'Username', 'UsernameAndPassword', 'WindowsAzureHDInsightService'
46926	AuthenticationType HiveAuthenticationType `json:"authenticationType,omitempty"`
46927	// ServiceDiscoveryMode - true to indicate using the ZooKeeper service, false not.
46928	ServiceDiscoveryMode interface{} `json:"serviceDiscoveryMode,omitempty"`
46929	// ZooKeeperNameSpace - The namespace on ZooKeeper under which Hive Server 2 nodes are added.
46930	ZooKeeperNameSpace interface{} `json:"zooKeeperNameSpace,omitempty"`
46931	// UseNativeQuery - Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL.
46932	UseNativeQuery interface{} `json:"useNativeQuery,omitempty"`
46933	// Username - The user name that you use to access Hive Server.
46934	Username interface{} `json:"username,omitempty"`
46935	// Password - The password corresponding to the user name that you provided in the Username field
46936	Password BasicSecretBase `json:"password,omitempty"`
46937	// HTTPPath - The partial URL corresponding to the Hive server.
46938	HTTPPath interface{} `json:"httpPath,omitempty"`
46939	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
46940	EnableSsl interface{} `json:"enableSsl,omitempty"`
46941	// TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
46942	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
46943	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
46944	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
46945	// AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
46946	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
46947	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
46948	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
46949	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
46950	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
46951}
46952
46953// UnmarshalJSON is the custom unmarshaler for HiveLinkedServiceTypeProperties struct.
46954func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
46955	var m map[string]*json.RawMessage
46956	err := json.Unmarshal(body, &m)
46957	if err != nil {
46958		return err
46959	}
46960	for k, v := range m {
46961		switch k {
46962		case "host":
46963			if v != nil {
46964				var host interface{}
46965				err = json.Unmarshal(*v, &host)
46966				if err != nil {
46967					return err
46968				}
46969				hlstp.Host = host
46970			}
46971		case "port":
46972			if v != nil {
46973				var port interface{}
46974				err = json.Unmarshal(*v, &port)
46975				if err != nil {
46976					return err
46977				}
46978				hlstp.Port = port
46979			}
46980		case "serverType":
46981			if v != nil {
46982				var serverType HiveServerType
46983				err = json.Unmarshal(*v, &serverType)
46984				if err != nil {
46985					return err
46986				}
46987				hlstp.ServerType = serverType
46988			}
46989		case "thriftTransportProtocol":
46990			if v != nil {
46991				var thriftTransportProtocol HiveThriftTransportProtocol
46992				err = json.Unmarshal(*v, &thriftTransportProtocol)
46993				if err != nil {
46994					return err
46995				}
46996				hlstp.ThriftTransportProtocol = thriftTransportProtocol
46997			}
46998		case "authenticationType":
46999			if v != nil {
47000				var authenticationType HiveAuthenticationType
47001				err = json.Unmarshal(*v, &authenticationType)
47002				if err != nil {
47003					return err
47004				}
47005				hlstp.AuthenticationType = authenticationType
47006			}
47007		case "serviceDiscoveryMode":
47008			if v != nil {
47009				var serviceDiscoveryMode interface{}
47010				err = json.Unmarshal(*v, &serviceDiscoveryMode)
47011				if err != nil {
47012					return err
47013				}
47014				hlstp.ServiceDiscoveryMode = serviceDiscoveryMode
47015			}
47016		case "zooKeeperNameSpace":
47017			if v != nil {
47018				var zooKeeperNameSpace interface{}
47019				err = json.Unmarshal(*v, &zooKeeperNameSpace)
47020				if err != nil {
47021					return err
47022				}
47023				hlstp.ZooKeeperNameSpace = zooKeeperNameSpace
47024			}
47025		case "useNativeQuery":
47026			if v != nil {
47027				var useNativeQuery interface{}
47028				err = json.Unmarshal(*v, &useNativeQuery)
47029				if err != nil {
47030					return err
47031				}
47032				hlstp.UseNativeQuery = useNativeQuery
47033			}
47034		case "username":
47035			if v != nil {
47036				var username interface{}
47037				err = json.Unmarshal(*v, &username)
47038				if err != nil {
47039					return err
47040				}
47041				hlstp.Username = username
47042			}
47043		case "password":
47044			if v != nil {
47045				password, err := unmarshalBasicSecretBase(*v)
47046				if err != nil {
47047					return err
47048				}
47049				hlstp.Password = password
47050			}
47051		case "httpPath":
47052			if v != nil {
47053				var HTTPPath interface{}
47054				err = json.Unmarshal(*v, &HTTPPath)
47055				if err != nil {
47056					return err
47057				}
47058				hlstp.HTTPPath = HTTPPath
47059			}
47060		case "enableSsl":
47061			if v != nil {
47062				var enableSsl interface{}
47063				err = json.Unmarshal(*v, &enableSsl)
47064				if err != nil {
47065					return err
47066				}
47067				hlstp.EnableSsl = enableSsl
47068			}
47069		case "trustedCertPath":
47070			if v != nil {
47071				var trustedCertPath interface{}
47072				err = json.Unmarshal(*v, &trustedCertPath)
47073				if err != nil {
47074					return err
47075				}
47076				hlstp.TrustedCertPath = trustedCertPath
47077			}
47078		case "useSystemTrustStore":
47079			if v != nil {
47080				var useSystemTrustStore interface{}
47081				err = json.Unmarshal(*v, &useSystemTrustStore)
47082				if err != nil {
47083					return err
47084				}
47085				hlstp.UseSystemTrustStore = useSystemTrustStore
47086			}
47087		case "allowHostNameCNMismatch":
47088			if v != nil {
47089				var allowHostNameCNMismatch interface{}
47090				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
47091				if err != nil {
47092					return err
47093				}
47094				hlstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
47095			}
47096		case "allowSelfSignedServerCert":
47097			if v != nil {
47098				var allowSelfSignedServerCert interface{}
47099				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
47100				if err != nil {
47101					return err
47102				}
47103				hlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
47104			}
47105		case "encryptedCredential":
47106			if v != nil {
47107				var encryptedCredential interface{}
47108				err = json.Unmarshal(*v, &encryptedCredential)
47109				if err != nil {
47110					return err
47111				}
47112				hlstp.EncryptedCredential = encryptedCredential
47113			}
47114		}
47115	}
47116
47117	return nil
47118}
47119
47120// HiveObjectDataset hive Server dataset.
47121type HiveObjectDataset struct {
47122	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
47123	AdditionalProperties map[string]interface{} `json:""`
47124	// Description - Dataset description.
47125	Description *string `json:"description,omitempty"`
47126	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
47127	Structure interface{} `json:"structure,omitempty"`
47128	// LinkedServiceName - Linked service reference.
47129	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
47130	// Parameters - Parameters for dataset.
47131	Parameters map[string]*ParameterSpecification `json:"parameters"`
47132	// Annotations - List of tags that can be used for describing the Dataset.
47133	Annotations *[]interface{} `json:"annotations,omitempty"`
47134	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
47135	Type TypeBasicDataset `json:"type,omitempty"`
47136}
47137
47138// MarshalJSON is the custom marshaler for HiveObjectDataset.
47139func (hod HiveObjectDataset) MarshalJSON() ([]byte, error) {
47140	hod.Type = TypeHiveObject
47141	objectMap := make(map[string]interface{})
47142	if hod.Description != nil {
47143		objectMap["description"] = hod.Description
47144	}
47145	if hod.Structure != nil {
47146		objectMap["structure"] = hod.Structure
47147	}
47148	if hod.LinkedServiceName != nil {
47149		objectMap["linkedServiceName"] = hod.LinkedServiceName
47150	}
47151	if hod.Parameters != nil {
47152		objectMap["parameters"] = hod.Parameters
47153	}
47154	if hod.Annotations != nil {
47155		objectMap["annotations"] = hod.Annotations
47156	}
47157	if hod.Type != "" {
47158		objectMap["type"] = hod.Type
47159	}
47160	for k, v := range hod.AdditionalProperties {
47161		objectMap[k] = v
47162	}
47163	return json.Marshal(objectMap)
47164}
47165
47166// AsResponsysObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47167func (hod HiveObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
47168	return nil, false
47169}
47170
47171// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47172func (hod HiveObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
47173	return nil, false
47174}
47175
47176// AsVerticaTableDataset is the BasicDataset implementation for HiveObjectDataset.
47177func (hod HiveObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
47178	return nil, false
47179}
47180
47181// AsNetezzaTableDataset is the BasicDataset implementation for HiveObjectDataset.
47182func (hod HiveObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
47183	return nil, false
47184}
47185
47186// AsZohoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47187func (hod HiveObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
47188	return nil, false
47189}
47190
47191// AsXeroObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47192func (hod HiveObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
47193	return nil, false
47194}
47195
47196// AsSquareObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47197func (hod HiveObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
47198	return nil, false
47199}
47200
47201// AsSparkObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47202func (hod HiveObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
47203	return nil, false
47204}
47205
47206// AsShopifyObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47207func (hod HiveObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
47208	return nil, false
47209}
47210
47211// AsServiceNowObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47212func (hod HiveObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
47213	return nil, false
47214}
47215
47216// AsQuickBooksObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47217func (hod HiveObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
47218	return nil, false
47219}
47220
47221// AsPrestoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47222func (hod HiveObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
47223	return nil, false
47224}
47225
47226// AsPhoenixObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47227func (hod HiveObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
47228	return nil, false
47229}
47230
47231// AsPaypalObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47232func (hod HiveObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
47233	return nil, false
47234}
47235
47236// AsMarketoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47237func (hod HiveObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
47238	return nil, false
47239}
47240
47241// AsMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset.
47242func (hod HiveObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
47243	return nil, false
47244}
47245
47246// AsMagentoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47247func (hod HiveObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
47248	return nil, false
47249}
47250
47251// AsJiraObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47252func (hod HiveObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
47253	return nil, false
47254}
47255
47256// AsImpalaObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47257func (hod HiveObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
47258	return nil, false
47259}
47260
47261// AsHubspotObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47262func (hod HiveObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
47263	return nil, false
47264}
47265
47266// AsHiveObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47267func (hod HiveObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
47268	return &hod, true
47269}
47270
47271// AsHBaseObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47272func (hod HiveObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
47273	return nil, false
47274}
47275
47276// AsGreenplumTableDataset is the BasicDataset implementation for HiveObjectDataset.
47277func (hod HiveObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
47278	return nil, false
47279}
47280
47281// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47282func (hod HiveObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
47283	return nil, false
47284}
47285
47286// AsEloquaObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47287func (hod HiveObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
47288	return nil, false
47289}
47290
47291// AsDrillTableDataset is the BasicDataset implementation for HiveObjectDataset.
47292func (hod HiveObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
47293	return nil, false
47294}
47295
47296// AsCouchbaseTableDataset is the BasicDataset implementation for HiveObjectDataset.
47297func (hod HiveObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
47298	return nil, false
47299}
47300
47301// AsConcurObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47302func (hod HiveObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
47303	return nil, false
47304}
47305
47306// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
47307func (hod HiveObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
47308	return nil, false
47309}
47310
47311// AsAmazonMWSObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47312func (hod HiveObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
47313	return nil, false
47314}
47315
47316// AsHTTPDataset is the BasicDataset implementation for HiveObjectDataset.
47317func (hod HiveObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
47318	return nil, false
47319}
47320
47321// AsAzureSearchIndexDataset is the BasicDataset implementation for HiveObjectDataset.
47322func (hod HiveObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
47323	return nil, false
47324}
47325
47326// AsWebTableDataset is the BasicDataset implementation for HiveObjectDataset.
47327func (hod HiveObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
47328	return nil, false
47329}
47330
47331// AsSQLServerTableDataset is the BasicDataset implementation for HiveObjectDataset.
47332func (hod HiveObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
47333	return nil, false
47334}
47335
47336// AsSapEccResourceDataset is the BasicDataset implementation for HiveObjectDataset.
47337func (hod HiveObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
47338	return nil, false
47339}
47340
47341// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HiveObjectDataset.
47342func (hod HiveObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
47343	return nil, false
47344}
47345
47346// AsSalesforceObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47347func (hod HiveObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
47348	return nil, false
47349}
47350
47351// AsRelationalTableDataset is the BasicDataset implementation for HiveObjectDataset.
47352func (hod HiveObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
47353	return nil, false
47354}
47355
47356// AsAzureMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
47357func (hod HiveObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
47358	return nil, false
47359}
47360
47361// AsOracleTableDataset is the BasicDataset implementation for HiveObjectDataset.
47362func (hod HiveObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
47363	return nil, false
47364}
47365
47366// AsODataResourceDataset is the BasicDataset implementation for HiveObjectDataset.
47367func (hod HiveObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
47368	return nil, false
47369}
47370
47371// AsMongoDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset.
47372func (hod HiveObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
47373	return nil, false
47374}
47375
47376// AsFileShareDataset is the BasicDataset implementation for HiveObjectDataset.
47377func (hod HiveObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
47378	return nil, false
47379}
47380
47381// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HiveObjectDataset.
47382func (hod HiveObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
47383	return nil, false
47384}
47385
47386// AsDynamicsEntityDataset is the BasicDataset implementation for HiveObjectDataset.
47387func (hod HiveObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
47388	return nil, false
47389}
47390
47391// AsDocumentDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset.
47392func (hod HiveObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
47393	return nil, false
47394}
47395
47396// AsCustomDataset is the BasicDataset implementation for HiveObjectDataset.
47397func (hod HiveObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
47398	return nil, false
47399}
47400
47401// AsCassandraTableDataset is the BasicDataset implementation for HiveObjectDataset.
47402func (hod HiveObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
47403	return nil, false
47404}
47405
47406// AsAzureSQLDWTableDataset is the BasicDataset implementation for HiveObjectDataset.
47407func (hod HiveObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
47408	return nil, false
47409}
47410
47411// AsAzureSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
47412func (hod HiveObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
47413	return nil, false
47414}
47415
47416// AsAzureTableDataset is the BasicDataset implementation for HiveObjectDataset.
47417func (hod HiveObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
47418	return nil, false
47419}
47420
47421// AsAzureBlobDataset is the BasicDataset implementation for HiveObjectDataset.
47422func (hod HiveObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
47423	return nil, false
47424}
47425
47426// AsAmazonS3Dataset is the BasicDataset implementation for HiveObjectDataset.
47427func (hod HiveObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
47428	return nil, false
47429}
47430
47431// AsDataset is the BasicDataset implementation for HiveObjectDataset.
47432func (hod HiveObjectDataset) AsDataset() (*Dataset, bool) {
47433	return nil, false
47434}
47435
47436// AsBasicDataset is the BasicDataset implementation for HiveObjectDataset.
47437func (hod HiveObjectDataset) AsBasicDataset() (BasicDataset, bool) {
47438	return &hod, true
47439}
47440
47441// UnmarshalJSON is the custom unmarshaler for HiveObjectDataset struct.
47442func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error {
47443	var m map[string]*json.RawMessage
47444	err := json.Unmarshal(body, &m)
47445	if err != nil {
47446		return err
47447	}
47448	for k, v := range m {
47449		switch k {
47450		default:
47451			if v != nil {
47452				var additionalProperties interface{}
47453				err = json.Unmarshal(*v, &additionalProperties)
47454				if err != nil {
47455					return err
47456				}
47457				if hod.AdditionalProperties == nil {
47458					hod.AdditionalProperties = make(map[string]interface{})
47459				}
47460				hod.AdditionalProperties[k] = additionalProperties
47461			}
47462		case "description":
47463			if v != nil {
47464				var description string
47465				err = json.Unmarshal(*v, &description)
47466				if err != nil {
47467					return err
47468				}
47469				hod.Description = &description
47470			}
47471		case "structure":
47472			if v != nil {
47473				var structure interface{}
47474				err = json.Unmarshal(*v, &structure)
47475				if err != nil {
47476					return err
47477				}
47478				hod.Structure = structure
47479			}
47480		case "linkedServiceName":
47481			if v != nil {
47482				var linkedServiceName LinkedServiceReference
47483				err = json.Unmarshal(*v, &linkedServiceName)
47484				if err != nil {
47485					return err
47486				}
47487				hod.LinkedServiceName = &linkedServiceName
47488			}
47489		case "parameters":
47490			if v != nil {
47491				var parameters map[string]*ParameterSpecification
47492				err = json.Unmarshal(*v, &parameters)
47493				if err != nil {
47494					return err
47495				}
47496				hod.Parameters = parameters
47497			}
47498		case "annotations":
47499			if v != nil {
47500				var annotations []interface{}
47501				err = json.Unmarshal(*v, &annotations)
47502				if err != nil {
47503					return err
47504				}
47505				hod.Annotations = &annotations
47506			}
47507		case "type":
47508			if v != nil {
47509				var typeVar TypeBasicDataset
47510				err = json.Unmarshal(*v, &typeVar)
47511				if err != nil {
47512					return err
47513				}
47514				hod.Type = typeVar
47515			}
47516		}
47517	}
47518
47519	return nil
47520}
47521
47522// HiveSource a copy activity Hive Server source.
47523type HiveSource struct {
47524	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
47525	Query interface{} `json:"query,omitempty"`
47526	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
47527	AdditionalProperties map[string]interface{} `json:""`
47528	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
47529	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
47530	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
47531	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
47532	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
47533	Type TypeBasicCopySource `json:"type,omitempty"`
47534}
47535
47536// MarshalJSON is the custom marshaler for HiveSource.
47537func (hs HiveSource) MarshalJSON() ([]byte, error) {
47538	hs.Type = TypeHiveSource
47539	objectMap := make(map[string]interface{})
47540	if hs.Query != nil {
47541		objectMap["query"] = hs.Query
47542	}
47543	if hs.SourceRetryCount != nil {
47544		objectMap["sourceRetryCount"] = hs.SourceRetryCount
47545	}
47546	if hs.SourceRetryWait != nil {
47547		objectMap["sourceRetryWait"] = hs.SourceRetryWait
47548	}
47549	if hs.Type != "" {
47550		objectMap["type"] = hs.Type
47551	}
47552	for k, v := range hs.AdditionalProperties {
47553		objectMap[k] = v
47554	}
47555	return json.Marshal(objectMap)
47556}
47557
47558// AsAmazonRedshiftSource is the BasicCopySource implementation for HiveSource.
47559func (hs HiveSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
47560	return nil, false
47561}
47562
47563// AsResponsysSource is the BasicCopySource implementation for HiveSource.
47564func (hs HiveSource) AsResponsysSource() (*ResponsysSource, bool) {
47565	return nil, false
47566}
47567
47568// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HiveSource.
47569func (hs HiveSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
47570	return nil, false
47571}
47572
47573// AsVerticaSource is the BasicCopySource implementation for HiveSource.
47574func (hs HiveSource) AsVerticaSource() (*VerticaSource, bool) {
47575	return nil, false
47576}
47577
47578// AsNetezzaSource is the BasicCopySource implementation for HiveSource.
47579func (hs HiveSource) AsNetezzaSource() (*NetezzaSource, bool) {
47580	return nil, false
47581}
47582
47583// AsZohoSource is the BasicCopySource implementation for HiveSource.
47584func (hs HiveSource) AsZohoSource() (*ZohoSource, bool) {
47585	return nil, false
47586}
47587
47588// AsXeroSource is the BasicCopySource implementation for HiveSource.
47589func (hs HiveSource) AsXeroSource() (*XeroSource, bool) {
47590	return nil, false
47591}
47592
47593// AsSquareSource is the BasicCopySource implementation for HiveSource.
47594func (hs HiveSource) AsSquareSource() (*SquareSource, bool) {
47595	return nil, false
47596}
47597
47598// AsSparkSource is the BasicCopySource implementation for HiveSource.
47599func (hs HiveSource) AsSparkSource() (*SparkSource, bool) {
47600	return nil, false
47601}
47602
47603// AsShopifySource is the BasicCopySource implementation for HiveSource.
47604func (hs HiveSource) AsShopifySource() (*ShopifySource, bool) {
47605	return nil, false
47606}
47607
47608// AsServiceNowSource is the BasicCopySource implementation for HiveSource.
47609func (hs HiveSource) AsServiceNowSource() (*ServiceNowSource, bool) {
47610	return nil, false
47611}
47612
47613// AsQuickBooksSource is the BasicCopySource implementation for HiveSource.
47614func (hs HiveSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
47615	return nil, false
47616}
47617
47618// AsPrestoSource is the BasicCopySource implementation for HiveSource.
47619func (hs HiveSource) AsPrestoSource() (*PrestoSource, bool) {
47620	return nil, false
47621}
47622
47623// AsPhoenixSource is the BasicCopySource implementation for HiveSource.
47624func (hs HiveSource) AsPhoenixSource() (*PhoenixSource, bool) {
47625	return nil, false
47626}
47627
47628// AsPaypalSource is the BasicCopySource implementation for HiveSource.
47629func (hs HiveSource) AsPaypalSource() (*PaypalSource, bool) {
47630	return nil, false
47631}
47632
47633// AsMarketoSource is the BasicCopySource implementation for HiveSource.
47634func (hs HiveSource) AsMarketoSource() (*MarketoSource, bool) {
47635	return nil, false
47636}
47637
47638// AsMariaDBSource is the BasicCopySource implementation for HiveSource.
47639func (hs HiveSource) AsMariaDBSource() (*MariaDBSource, bool) {
47640	return nil, false
47641}
47642
47643// AsMagentoSource is the BasicCopySource implementation for HiveSource.
47644func (hs HiveSource) AsMagentoSource() (*MagentoSource, bool) {
47645	return nil, false
47646}
47647
47648// AsJiraSource is the BasicCopySource implementation for HiveSource.
47649func (hs HiveSource) AsJiraSource() (*JiraSource, bool) {
47650	return nil, false
47651}
47652
47653// AsImpalaSource is the BasicCopySource implementation for HiveSource.
47654func (hs HiveSource) AsImpalaSource() (*ImpalaSource, bool) {
47655	return nil, false
47656}
47657
47658// AsHubspotSource is the BasicCopySource implementation for HiveSource.
47659func (hs HiveSource) AsHubspotSource() (*HubspotSource, bool) {
47660	return nil, false
47661}
47662
47663// AsHiveSource is the BasicCopySource implementation for HiveSource.
47664func (hs HiveSource) AsHiveSource() (*HiveSource, bool) {
47665	return &hs, true
47666}
47667
47668// AsHBaseSource is the BasicCopySource implementation for HiveSource.
47669func (hs HiveSource) AsHBaseSource() (*HBaseSource, bool) {
47670	return nil, false
47671}
47672
47673// AsGreenplumSource is the BasicCopySource implementation for HiveSource.
47674func (hs HiveSource) AsGreenplumSource() (*GreenplumSource, bool) {
47675	return nil, false
47676}
47677
47678// AsGoogleBigQuerySource is the BasicCopySource implementation for HiveSource.
47679func (hs HiveSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
47680	return nil, false
47681}
47682
47683// AsEloquaSource is the BasicCopySource implementation for HiveSource.
47684func (hs HiveSource) AsEloquaSource() (*EloquaSource, bool) {
47685	return nil, false
47686}
47687
47688// AsDrillSource is the BasicCopySource implementation for HiveSource.
47689func (hs HiveSource) AsDrillSource() (*DrillSource, bool) {
47690	return nil, false
47691}
47692
47693// AsCouchbaseSource is the BasicCopySource implementation for HiveSource.
47694func (hs HiveSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
47695	return nil, false
47696}
47697
47698// AsConcurSource is the BasicCopySource implementation for HiveSource.
47699func (hs HiveSource) AsConcurSource() (*ConcurSource, bool) {
47700	return nil, false
47701}
47702
47703// AsAzurePostgreSQLSource is the BasicCopySource implementation for HiveSource.
47704func (hs HiveSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
47705	return nil, false
47706}
47707
47708// AsAmazonMWSSource is the BasicCopySource implementation for HiveSource.
47709func (hs HiveSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
47710	return nil, false
47711}
47712
47713// AsHTTPSource is the BasicCopySource implementation for HiveSource.
47714func (hs HiveSource) AsHTTPSource() (*HTTPSource, bool) {
47715	return nil, false
47716}
47717
47718// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HiveSource.
47719func (hs HiveSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
47720	return nil, false
47721}
47722
47723// AsMongoDbSource is the BasicCopySource implementation for HiveSource.
47724func (hs HiveSource) AsMongoDbSource() (*MongoDbSource, bool) {
47725	return nil, false
47726}
47727
47728// AsCassandraSource is the BasicCopySource implementation for HiveSource.
47729func (hs HiveSource) AsCassandraSource() (*CassandraSource, bool) {
47730	return nil, false
47731}
47732
47733// AsWebSource is the BasicCopySource implementation for HiveSource.
47734func (hs HiveSource) AsWebSource() (*WebSource, bool) {
47735	return nil, false
47736}
47737
47738// AsOracleSource is the BasicCopySource implementation for HiveSource.
47739func (hs HiveSource) AsOracleSource() (*OracleSource, bool) {
47740	return nil, false
47741}
47742
47743// AsAzureMySQLSource is the BasicCopySource implementation for HiveSource.
47744func (hs HiveSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
47745	return nil, false
47746}
47747
47748// AsHdfsSource is the BasicCopySource implementation for HiveSource.
47749func (hs HiveSource) AsHdfsSource() (*HdfsSource, bool) {
47750	return nil, false
47751}
47752
47753// AsFileSystemSource is the BasicCopySource implementation for HiveSource.
47754func (hs HiveSource) AsFileSystemSource() (*FileSystemSource, bool) {
47755	return nil, false
47756}
47757
47758// AsSQLDWSource is the BasicCopySource implementation for HiveSource.
47759func (hs HiveSource) AsSQLDWSource() (*SQLDWSource, bool) {
47760	return nil, false
47761}
47762
47763// AsSQLSource is the BasicCopySource implementation for HiveSource.
47764func (hs HiveSource) AsSQLSource() (*SQLSource, bool) {
47765	return nil, false
47766}
47767
47768// AsSapEccSource is the BasicCopySource implementation for HiveSource.
47769func (hs HiveSource) AsSapEccSource() (*SapEccSource, bool) {
47770	return nil, false
47771}
47772
47773// AsSapCloudForCustomerSource is the BasicCopySource implementation for HiveSource.
47774func (hs HiveSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
47775	return nil, false
47776}
47777
47778// AsSalesforceSource is the BasicCopySource implementation for HiveSource.
47779func (hs HiveSource) AsSalesforceSource() (*SalesforceSource, bool) {
47780	return nil, false
47781}
47782
47783// AsRelationalSource is the BasicCopySource implementation for HiveSource.
47784func (hs HiveSource) AsRelationalSource() (*RelationalSource, bool) {
47785	return nil, false
47786}
47787
47788// AsDynamicsSource is the BasicCopySource implementation for HiveSource.
47789func (hs HiveSource) AsDynamicsSource() (*DynamicsSource, bool) {
47790	return nil, false
47791}
47792
47793// AsDocumentDbCollectionSource is the BasicCopySource implementation for HiveSource.
47794func (hs HiveSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
47795	return nil, false
47796}
47797
47798// AsBlobSource is the BasicCopySource implementation for HiveSource.
47799func (hs HiveSource) AsBlobSource() (*BlobSource, bool) {
47800	return nil, false
47801}
47802
47803// AsAzureTableSource is the BasicCopySource implementation for HiveSource.
47804func (hs HiveSource) AsAzureTableSource() (*AzureTableSource, bool) {
47805	return nil, false
47806}
47807
47808// AsCopySource is the BasicCopySource implementation for HiveSource.
47809func (hs HiveSource) AsCopySource() (*CopySource, bool) {
47810	return nil, false
47811}
47812
47813// AsBasicCopySource is the BasicCopySource implementation for HiveSource.
47814func (hs HiveSource) AsBasicCopySource() (BasicCopySource, bool) {
47815	return &hs, true
47816}
47817
47818// UnmarshalJSON is the custom unmarshaler for HiveSource struct.
47819func (hs *HiveSource) UnmarshalJSON(body []byte) error {
47820	var m map[string]*json.RawMessage
47821	err := json.Unmarshal(body, &m)
47822	if err != nil {
47823		return err
47824	}
47825	for k, v := range m {
47826		switch k {
47827		case "query":
47828			if v != nil {
47829				var query interface{}
47830				err = json.Unmarshal(*v, &query)
47831				if err != nil {
47832					return err
47833				}
47834				hs.Query = query
47835			}
47836		default:
47837			if v != nil {
47838				var additionalProperties interface{}
47839				err = json.Unmarshal(*v, &additionalProperties)
47840				if err != nil {
47841					return err
47842				}
47843				if hs.AdditionalProperties == nil {
47844					hs.AdditionalProperties = make(map[string]interface{})
47845				}
47846				hs.AdditionalProperties[k] = additionalProperties
47847			}
47848		case "sourceRetryCount":
47849			if v != nil {
47850				var sourceRetryCount interface{}
47851				err = json.Unmarshal(*v, &sourceRetryCount)
47852				if err != nil {
47853					return err
47854				}
47855				hs.SourceRetryCount = sourceRetryCount
47856			}
47857		case "sourceRetryWait":
47858			if v != nil {
47859				var sourceRetryWait interface{}
47860				err = json.Unmarshal(*v, &sourceRetryWait)
47861				if err != nil {
47862					return err
47863				}
47864				hs.SourceRetryWait = sourceRetryWait
47865			}
47866		case "type":
47867			if v != nil {
47868				var typeVar TypeBasicCopySource
47869				err = json.Unmarshal(*v, &typeVar)
47870				if err != nil {
47871					return err
47872				}
47873				hs.Type = typeVar
47874			}
47875		}
47876	}
47877
47878	return nil
47879}
47880
47881// HTTPDataset a file in an HTTP web server.
47882type HTTPDataset struct {
47883	// HTTPDatasetTypeProperties - Properties specific to this dataset type.
47884	*HTTPDatasetTypeProperties `json:"typeProperties,omitempty"`
47885	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
47886	AdditionalProperties map[string]interface{} `json:""`
47887	// Description - Dataset description.
47888	Description *string `json:"description,omitempty"`
47889	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
47890	Structure interface{} `json:"structure,omitempty"`
47891	// LinkedServiceName - Linked service reference.
47892	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
47893	// Parameters - Parameters for dataset.
47894	Parameters map[string]*ParameterSpecification `json:"parameters"`
47895	// Annotations - List of tags that can be used for describing the Dataset.
47896	Annotations *[]interface{} `json:"annotations,omitempty"`
47897	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
47898	Type TypeBasicDataset `json:"type,omitempty"`
47899}
47900
47901// MarshalJSON is the custom marshaler for HTTPDataset.
47902func (hd HTTPDataset) MarshalJSON() ([]byte, error) {
47903	hd.Type = TypeHTTPFile
47904	objectMap := make(map[string]interface{})
47905	if hd.HTTPDatasetTypeProperties != nil {
47906		objectMap["typeProperties"] = hd.HTTPDatasetTypeProperties
47907	}
47908	if hd.Description != nil {
47909		objectMap["description"] = hd.Description
47910	}
47911	if hd.Structure != nil {
47912		objectMap["structure"] = hd.Structure
47913	}
47914	if hd.LinkedServiceName != nil {
47915		objectMap["linkedServiceName"] = hd.LinkedServiceName
47916	}
47917	if hd.Parameters != nil {
47918		objectMap["parameters"] = hd.Parameters
47919	}
47920	if hd.Annotations != nil {
47921		objectMap["annotations"] = hd.Annotations
47922	}
47923	if hd.Type != "" {
47924		objectMap["type"] = hd.Type
47925	}
47926	for k, v := range hd.AdditionalProperties {
47927		objectMap[k] = v
47928	}
47929	return json.Marshal(objectMap)
47930}
47931
47932// AsResponsysObjectDataset is the BasicDataset implementation for HTTPDataset.
47933func (hd HTTPDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
47934	return nil, false
47935}
47936
47937// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HTTPDataset.
47938func (hd HTTPDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
47939	return nil, false
47940}
47941
47942// AsVerticaTableDataset is the BasicDataset implementation for HTTPDataset.
47943func (hd HTTPDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
47944	return nil, false
47945}
47946
47947// AsNetezzaTableDataset is the BasicDataset implementation for HTTPDataset.
47948func (hd HTTPDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
47949	return nil, false
47950}
47951
47952// AsZohoObjectDataset is the BasicDataset implementation for HTTPDataset.
47953func (hd HTTPDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
47954	return nil, false
47955}
47956
47957// AsXeroObjectDataset is the BasicDataset implementation for HTTPDataset.
47958func (hd HTTPDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
47959	return nil, false
47960}
47961
47962// AsSquareObjectDataset is the BasicDataset implementation for HTTPDataset.
47963func (hd HTTPDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
47964	return nil, false
47965}
47966
47967// AsSparkObjectDataset is the BasicDataset implementation for HTTPDataset.
47968func (hd HTTPDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
47969	return nil, false
47970}
47971
47972// AsShopifyObjectDataset is the BasicDataset implementation for HTTPDataset.
47973func (hd HTTPDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
47974	return nil, false
47975}
47976
47977// AsServiceNowObjectDataset is the BasicDataset implementation for HTTPDataset.
47978func (hd HTTPDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
47979	return nil, false
47980}
47981
47982// AsQuickBooksObjectDataset is the BasicDataset implementation for HTTPDataset.
47983func (hd HTTPDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
47984	return nil, false
47985}
47986
47987// AsPrestoObjectDataset is the BasicDataset implementation for HTTPDataset.
47988func (hd HTTPDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
47989	return nil, false
47990}
47991
47992// AsPhoenixObjectDataset is the BasicDataset implementation for HTTPDataset.
47993func (hd HTTPDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
47994	return nil, false
47995}
47996
47997// AsPaypalObjectDataset is the BasicDataset implementation for HTTPDataset.
47998func (hd HTTPDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
47999	return nil, false
48000}
48001
48002// AsMarketoObjectDataset is the BasicDataset implementation for HTTPDataset.
48003func (hd HTTPDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
48004	return nil, false
48005}
48006
48007// AsMariaDBTableDataset is the BasicDataset implementation for HTTPDataset.
48008func (hd HTTPDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
48009	return nil, false
48010}
48011
48012// AsMagentoObjectDataset is the BasicDataset implementation for HTTPDataset.
48013func (hd HTTPDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
48014	return nil, false
48015}
48016
48017// AsJiraObjectDataset is the BasicDataset implementation for HTTPDataset.
48018func (hd HTTPDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
48019	return nil, false
48020}
48021
48022// AsImpalaObjectDataset is the BasicDataset implementation for HTTPDataset.
48023func (hd HTTPDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
48024	return nil, false
48025}
48026
48027// AsHubspotObjectDataset is the BasicDataset implementation for HTTPDataset.
48028func (hd HTTPDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
48029	return nil, false
48030}
48031
48032// AsHiveObjectDataset is the BasicDataset implementation for HTTPDataset.
48033func (hd HTTPDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
48034	return nil, false
48035}
48036
48037// AsHBaseObjectDataset is the BasicDataset implementation for HTTPDataset.
48038func (hd HTTPDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
48039	return nil, false
48040}
48041
48042// AsGreenplumTableDataset is the BasicDataset implementation for HTTPDataset.
48043func (hd HTTPDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
48044	return nil, false
48045}
48046
48047// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HTTPDataset.
48048func (hd HTTPDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
48049	return nil, false
48050}
48051
48052// AsEloquaObjectDataset is the BasicDataset implementation for HTTPDataset.
48053func (hd HTTPDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
48054	return nil, false
48055}
48056
48057// AsDrillTableDataset is the BasicDataset implementation for HTTPDataset.
48058func (hd HTTPDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
48059	return nil, false
48060}
48061
48062// AsCouchbaseTableDataset is the BasicDataset implementation for HTTPDataset.
48063func (hd HTTPDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
48064	return nil, false
48065}
48066
48067// AsConcurObjectDataset is the BasicDataset implementation for HTTPDataset.
48068func (hd HTTPDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
48069	return nil, false
48070}
48071
48072// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HTTPDataset.
48073func (hd HTTPDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
48074	return nil, false
48075}
48076
48077// AsAmazonMWSObjectDataset is the BasicDataset implementation for HTTPDataset.
48078func (hd HTTPDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
48079	return nil, false
48080}
48081
48082// AsHTTPDataset is the BasicDataset implementation for HTTPDataset.
48083func (hd HTTPDataset) AsHTTPDataset() (*HTTPDataset, bool) {
48084	return &hd, true
48085}
48086
48087// AsAzureSearchIndexDataset is the BasicDataset implementation for HTTPDataset.
48088func (hd HTTPDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
48089	return nil, false
48090}
48091
48092// AsWebTableDataset is the BasicDataset implementation for HTTPDataset.
48093func (hd HTTPDataset) AsWebTableDataset() (*WebTableDataset, bool) {
48094	return nil, false
48095}
48096
48097// AsSQLServerTableDataset is the BasicDataset implementation for HTTPDataset.
48098func (hd HTTPDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
48099	return nil, false
48100}
48101
48102// AsSapEccResourceDataset is the BasicDataset implementation for HTTPDataset.
48103func (hd HTTPDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
48104	return nil, false
48105}
48106
48107// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HTTPDataset.
48108func (hd HTTPDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
48109	return nil, false
48110}
48111
48112// AsSalesforceObjectDataset is the BasicDataset implementation for HTTPDataset.
48113func (hd HTTPDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
48114	return nil, false
48115}
48116
48117// AsRelationalTableDataset is the BasicDataset implementation for HTTPDataset.
48118func (hd HTTPDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
48119	return nil, false
48120}
48121
48122// AsAzureMySQLTableDataset is the BasicDataset implementation for HTTPDataset.
48123func (hd HTTPDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
48124	return nil, false
48125}
48126
48127// AsOracleTableDataset is the BasicDataset implementation for HTTPDataset.
48128func (hd HTTPDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
48129	return nil, false
48130}
48131
48132// AsODataResourceDataset is the BasicDataset implementation for HTTPDataset.
48133func (hd HTTPDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
48134	return nil, false
48135}
48136
48137// AsMongoDbCollectionDataset is the BasicDataset implementation for HTTPDataset.
48138func (hd HTTPDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
48139	return nil, false
48140}
48141
48142// AsFileShareDataset is the BasicDataset implementation for HTTPDataset.
48143func (hd HTTPDataset) AsFileShareDataset() (*FileShareDataset, bool) {
48144	return nil, false
48145}
48146
48147// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HTTPDataset.
48148func (hd HTTPDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
48149	return nil, false
48150}
48151
48152// AsDynamicsEntityDataset is the BasicDataset implementation for HTTPDataset.
48153func (hd HTTPDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
48154	return nil, false
48155}
48156
48157// AsDocumentDbCollectionDataset is the BasicDataset implementation for HTTPDataset.
48158func (hd HTTPDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
48159	return nil, false
48160}
48161
48162// AsCustomDataset is the BasicDataset implementation for HTTPDataset.
48163func (hd HTTPDataset) AsCustomDataset() (*CustomDataset, bool) {
48164	return nil, false
48165}
48166
48167// AsCassandraTableDataset is the BasicDataset implementation for HTTPDataset.
48168func (hd HTTPDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
48169	return nil, false
48170}
48171
48172// AsAzureSQLDWTableDataset is the BasicDataset implementation for HTTPDataset.
48173func (hd HTTPDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
48174	return nil, false
48175}
48176
48177// AsAzureSQLTableDataset is the BasicDataset implementation for HTTPDataset.
48178func (hd HTTPDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
48179	return nil, false
48180}
48181
48182// AsAzureTableDataset is the BasicDataset implementation for HTTPDataset.
48183func (hd HTTPDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
48184	return nil, false
48185}
48186
48187// AsAzureBlobDataset is the BasicDataset implementation for HTTPDataset.
48188func (hd HTTPDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
48189	return nil, false
48190}
48191
48192// AsAmazonS3Dataset is the BasicDataset implementation for HTTPDataset.
48193func (hd HTTPDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
48194	return nil, false
48195}
48196
48197// AsDataset is the BasicDataset implementation for HTTPDataset.
48198func (hd HTTPDataset) AsDataset() (*Dataset, bool) {
48199	return nil, false
48200}
48201
48202// AsBasicDataset is the BasicDataset implementation for HTTPDataset.
48203func (hd HTTPDataset) AsBasicDataset() (BasicDataset, bool) {
48204	return &hd, true
48205}
48206
48207// UnmarshalJSON is the custom unmarshaler for HTTPDataset struct.
48208func (hd *HTTPDataset) UnmarshalJSON(body []byte) error {
48209	var m map[string]*json.RawMessage
48210	err := json.Unmarshal(body, &m)
48211	if err != nil {
48212		return err
48213	}
48214	for k, v := range m {
48215		switch k {
48216		case "typeProperties":
48217			if v != nil {
48218				var HTTPDatasetTypeProperties HTTPDatasetTypeProperties
48219				err = json.Unmarshal(*v, &HTTPDatasetTypeProperties)
48220				if err != nil {
48221					return err
48222				}
48223				hd.HTTPDatasetTypeProperties = &HTTPDatasetTypeProperties
48224			}
48225		default:
48226			if v != nil {
48227				var additionalProperties interface{}
48228				err = json.Unmarshal(*v, &additionalProperties)
48229				if err != nil {
48230					return err
48231				}
48232				if hd.AdditionalProperties == nil {
48233					hd.AdditionalProperties = make(map[string]interface{})
48234				}
48235				hd.AdditionalProperties[k] = additionalProperties
48236			}
48237		case "description":
48238			if v != nil {
48239				var description string
48240				err = json.Unmarshal(*v, &description)
48241				if err != nil {
48242					return err
48243				}
48244				hd.Description = &description
48245			}
48246		case "structure":
48247			if v != nil {
48248				var structure interface{}
48249				err = json.Unmarshal(*v, &structure)
48250				if err != nil {
48251					return err
48252				}
48253				hd.Structure = structure
48254			}
48255		case "linkedServiceName":
48256			if v != nil {
48257				var linkedServiceName LinkedServiceReference
48258				err = json.Unmarshal(*v, &linkedServiceName)
48259				if err != nil {
48260					return err
48261				}
48262				hd.LinkedServiceName = &linkedServiceName
48263			}
48264		case "parameters":
48265			if v != nil {
48266				var parameters map[string]*ParameterSpecification
48267				err = json.Unmarshal(*v, &parameters)
48268				if err != nil {
48269					return err
48270				}
48271				hd.Parameters = parameters
48272			}
48273		case "annotations":
48274			if v != nil {
48275				var annotations []interface{}
48276				err = json.Unmarshal(*v, &annotations)
48277				if err != nil {
48278					return err
48279				}
48280				hd.Annotations = &annotations
48281			}
48282		case "type":
48283			if v != nil {
48284				var typeVar TypeBasicDataset
48285				err = json.Unmarshal(*v, &typeVar)
48286				if err != nil {
48287					return err
48288				}
48289				hd.Type = typeVar
48290			}
48291		}
48292	}
48293
48294	return nil
48295}
48296
48297// HTTPDatasetTypeProperties properties specific to this dataset type.
48298type HTTPDatasetTypeProperties struct {
48299	// RelativeURL - The relative URL based on the URL in the HttpLinkedService refers to an HTTP file Type: string (or Expression with resultType string).
48300	RelativeURL interface{} `json:"relativeUrl,omitempty"`
48301	// RequestMethod - The HTTP method for the HTTP request. Type: string (or Expression with resultType string).
48302	RequestMethod interface{} `json:"requestMethod,omitempty"`
48303	// RequestBody - The body for the HTTP request. Type: string (or Expression with resultType string).
48304	RequestBody interface{} `json:"requestBody,omitempty"`
48305	// AdditionalHeaders - The headers for the HTTP Request. e.g. request-header-name-1:request-header-value-1
48306	// ...
48307	// request-header-name-n:request-header-value-n Type: string (or Expression with resultType string).
48308	AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"`
48309	// Format - The format of files.
48310	Format BasicDatasetStorageFormat `json:"format,omitempty"`
48311	// Compression - The data compression method used on files.
48312	Compression BasicDatasetCompression `json:"compression,omitempty"`
48313}
48314
48315// UnmarshalJSON is the custom unmarshaler for HTTPDatasetTypeProperties struct.
48316func (hdtp *HTTPDatasetTypeProperties) UnmarshalJSON(body []byte) error {
48317	var m map[string]*json.RawMessage
48318	err := json.Unmarshal(body, &m)
48319	if err != nil {
48320		return err
48321	}
48322	for k, v := range m {
48323		switch k {
48324		case "relativeUrl":
48325			if v != nil {
48326				var relativeURL interface{}
48327				err = json.Unmarshal(*v, &relativeURL)
48328				if err != nil {
48329					return err
48330				}
48331				hdtp.RelativeURL = relativeURL
48332			}
48333		case "requestMethod":
48334			if v != nil {
48335				var requestMethod interface{}
48336				err = json.Unmarshal(*v, &requestMethod)
48337				if err != nil {
48338					return err
48339				}
48340				hdtp.RequestMethod = requestMethod
48341			}
48342		case "requestBody":
48343			if v != nil {
48344				var requestBody interface{}
48345				err = json.Unmarshal(*v, &requestBody)
48346				if err != nil {
48347					return err
48348				}
48349				hdtp.RequestBody = requestBody
48350			}
48351		case "additionalHeaders":
48352			if v != nil {
48353				var additionalHeaders interface{}
48354				err = json.Unmarshal(*v, &additionalHeaders)
48355				if err != nil {
48356					return err
48357				}
48358				hdtp.AdditionalHeaders = additionalHeaders
48359			}
48360		case "format":
48361			if v != nil {
48362				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
48363				if err != nil {
48364					return err
48365				}
48366				hdtp.Format = formatVar
48367			}
48368		case "compression":
48369			if v != nil {
48370				compression, err := unmarshalBasicDatasetCompression(*v)
48371				if err != nil {
48372					return err
48373				}
48374				hdtp.Compression = compression
48375			}
48376		}
48377	}
48378
48379	return nil
48380}
48381
48382// HTTPLinkedService linked service for an HTTP source.
48383type HTTPLinkedService struct {
48384	// HTTPLinkedServiceTypeProperties - Properties specific to this linked service type.
48385	*HTTPLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
48386	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
48387	AdditionalProperties map[string]interface{} `json:""`
48388	// ConnectVia - The integration runtime reference.
48389	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
48390	// Description - Linked service description.
48391	Description *string `json:"description,omitempty"`
48392	// Parameters - Parameters for linked service.
48393	Parameters map[string]*ParameterSpecification `json:"parameters"`
48394	// Annotations - List of tags that can be used for describing the Dataset.
48395	Annotations *[]interface{} `json:"annotations,omitempty"`
48396	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
48397	Type TypeBasicLinkedService `json:"type,omitempty"`
48398}
48399
48400// MarshalJSON is the custom marshaler for HTTPLinkedService.
48401func (hls HTTPLinkedService) MarshalJSON() ([]byte, error) {
48402	hls.Type = TypeHTTPServer
48403	objectMap := make(map[string]interface{})
48404	if hls.HTTPLinkedServiceTypeProperties != nil {
48405		objectMap["typeProperties"] = hls.HTTPLinkedServiceTypeProperties
48406	}
48407	if hls.ConnectVia != nil {
48408		objectMap["connectVia"] = hls.ConnectVia
48409	}
48410	if hls.Description != nil {
48411		objectMap["description"] = hls.Description
48412	}
48413	if hls.Parameters != nil {
48414		objectMap["parameters"] = hls.Parameters
48415	}
48416	if hls.Annotations != nil {
48417		objectMap["annotations"] = hls.Annotations
48418	}
48419	if hls.Type != "" {
48420		objectMap["type"] = hls.Type
48421	}
48422	for k, v := range hls.AdditionalProperties {
48423		objectMap[k] = v
48424	}
48425	return json.Marshal(objectMap)
48426}
48427
48428// AsResponsysLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48429func (hls HTTPLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
48430	return nil, false
48431}
48432
48433// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48434func (hls HTTPLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
48435	return nil, false
48436}
48437
48438// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48439func (hls HTTPLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
48440	return nil, false
48441}
48442
48443// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48444func (hls HTTPLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
48445	return nil, false
48446}
48447
48448// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48449func (hls HTTPLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
48450	return nil, false
48451}
48452
48453// AsNetezzaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48454func (hls HTTPLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
48455	return nil, false
48456}
48457
48458// AsVerticaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48459func (hls HTTPLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
48460	return nil, false
48461}
48462
48463// AsZohoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48464func (hls HTTPLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
48465	return nil, false
48466}
48467
48468// AsXeroLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48469func (hls HTTPLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
48470	return nil, false
48471}
48472
48473// AsSquareLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48474func (hls HTTPLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
48475	return nil, false
48476}
48477
48478// AsSparkLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48479func (hls HTTPLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
48480	return nil, false
48481}
48482
48483// AsShopifyLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48484func (hls HTTPLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
48485	return nil, false
48486}
48487
48488// AsServiceNowLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48489func (hls HTTPLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
48490	return nil, false
48491}
48492
48493// AsQuickBooksLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48494func (hls HTTPLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
48495	return nil, false
48496}
48497
48498// AsPrestoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48499func (hls HTTPLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
48500	return nil, false
48501}
48502
48503// AsPhoenixLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48504func (hls HTTPLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
48505	return nil, false
48506}
48507
48508// AsPaypalLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48509func (hls HTTPLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
48510	return nil, false
48511}
48512
48513// AsMarketoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48514func (hls HTTPLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
48515	return nil, false
48516}
48517
48518// AsMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48519func (hls HTTPLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
48520	return nil, false
48521}
48522
48523// AsMagentoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48524func (hls HTTPLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
48525	return nil, false
48526}
48527
48528// AsJiraLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48529func (hls HTTPLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
48530	return nil, false
48531}
48532
48533// AsImpalaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48534func (hls HTTPLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
48535	return nil, false
48536}
48537
48538// AsHubspotLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48539func (hls HTTPLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
48540	return nil, false
48541}
48542
48543// AsHiveLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48544func (hls HTTPLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
48545	return nil, false
48546}
48547
48548// AsHBaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48549func (hls HTTPLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
48550	return nil, false
48551}
48552
48553// AsGreenplumLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48554func (hls HTTPLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
48555	return nil, false
48556}
48557
48558// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48559func (hls HTTPLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
48560	return nil, false
48561}
48562
48563// AsEloquaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48564func (hls HTTPLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
48565	return nil, false
48566}
48567
48568// AsDrillLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48569func (hls HTTPLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
48570	return nil, false
48571}
48572
48573// AsCouchbaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48574func (hls HTTPLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
48575	return nil, false
48576}
48577
48578// AsConcurLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48579func (hls HTTPLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
48580	return nil, false
48581}
48582
48583// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48584func (hls HTTPLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
48585	return nil, false
48586}
48587
48588// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48589func (hls HTTPLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
48590	return nil, false
48591}
48592
48593// AsSapHanaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48594func (hls HTTPLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
48595	return nil, false
48596}
48597
48598// AsSapBWLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48599func (hls HTTPLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
48600	return nil, false
48601}
48602
48603// AsSftpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48604func (hls HTTPLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
48605	return nil, false
48606}
48607
48608// AsFtpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48609func (hls HTTPLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
48610	return nil, false
48611}
48612
48613// AsHTTPLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48614func (hls HTTPLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
48615	return &hls, true
48616}
48617
48618// AsAzureSearchLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48619func (hls HTTPLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
48620	return nil, false
48621}
48622
48623// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48624func (hls HTTPLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
48625	return nil, false
48626}
48627
48628// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48629func (hls HTTPLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
48630	return nil, false
48631}
48632
48633// AsAmazonS3LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48634func (hls HTTPLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
48635	return nil, false
48636}
48637
48638// AsSapEccLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48639func (hls HTTPLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
48640	return nil, false
48641}
48642
48643// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48644func (hls HTTPLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
48645	return nil, false
48646}
48647
48648// AsSalesforceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48649func (hls HTTPLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
48650	return nil, false
48651}
48652
48653// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48654func (hls HTTPLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
48655	return nil, false
48656}
48657
48658// AsMongoDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48659func (hls HTTPLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
48660	return nil, false
48661}
48662
48663// AsCassandraLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48664func (hls HTTPLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
48665	return nil, false
48666}
48667
48668// AsWebLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48669func (hls HTTPLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
48670	return nil, false
48671}
48672
48673// AsODataLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48674func (hls HTTPLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
48675	return nil, false
48676}
48677
48678// AsHdfsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48679func (hls HTTPLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
48680	return nil, false
48681}
48682
48683// AsOdbcLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48684func (hls HTTPLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
48685	return nil, false
48686}
48687
48688// AsAzureMLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48689func (hls HTTPLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
48690	return nil, false
48691}
48692
48693// AsTeradataLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48694func (hls HTTPLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
48695	return nil, false
48696}
48697
48698// AsDb2LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48699func (hls HTTPLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
48700	return nil, false
48701}
48702
48703// AsSybaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48704func (hls HTTPLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
48705	return nil, false
48706}
48707
48708// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48709func (hls HTTPLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
48710	return nil, false
48711}
48712
48713// AsMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48714func (hls HTTPLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
48715	return nil, false
48716}
48717
48718// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48719func (hls HTTPLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
48720	return nil, false
48721}
48722
48723// AsOracleLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48724func (hls HTTPLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
48725	return nil, false
48726}
48727
48728// AsFileServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48729func (hls HTTPLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
48730	return nil, false
48731}
48732
48733// AsHDInsightLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48734func (hls HTTPLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
48735	return nil, false
48736}
48737
48738// AsDynamicsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48739func (hls HTTPLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
48740	return nil, false
48741}
48742
48743// AsCosmosDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48744func (hls HTTPLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
48745	return nil, false
48746}
48747
48748// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48749func (hls HTTPLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
48750	return nil, false
48751}
48752
48753// AsAzureBatchLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48754func (hls HTTPLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
48755	return nil, false
48756}
48757
48758// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48759func (hls HTTPLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
48760	return nil, false
48761}
48762
48763// AsSQLServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48764func (hls HTTPLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
48765	return nil, false
48766}
48767
48768// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48769func (hls HTTPLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
48770	return nil, false
48771}
48772
48773// AsAzureStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48774func (hls HTTPLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
48775	return nil, false
48776}
48777
48778// AsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48779func (hls HTTPLinkedService) AsLinkedService() (*LinkedService, bool) {
48780	return nil, false
48781}
48782
48783// AsBasicLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48784func (hls HTTPLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
48785	return &hls, true
48786}
48787
48788// UnmarshalJSON is the custom unmarshaler for HTTPLinkedService struct.
48789func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error {
48790	var m map[string]*json.RawMessage
48791	err := json.Unmarshal(body, &m)
48792	if err != nil {
48793		return err
48794	}
48795	for k, v := range m {
48796		switch k {
48797		case "typeProperties":
48798			if v != nil {
48799				var HTTPLinkedServiceTypeProperties HTTPLinkedServiceTypeProperties
48800				err = json.Unmarshal(*v, &HTTPLinkedServiceTypeProperties)
48801				if err != nil {
48802					return err
48803				}
48804				hls.HTTPLinkedServiceTypeProperties = &HTTPLinkedServiceTypeProperties
48805			}
48806		default:
48807			if v != nil {
48808				var additionalProperties interface{}
48809				err = json.Unmarshal(*v, &additionalProperties)
48810				if err != nil {
48811					return err
48812				}
48813				if hls.AdditionalProperties == nil {
48814					hls.AdditionalProperties = make(map[string]interface{})
48815				}
48816				hls.AdditionalProperties[k] = additionalProperties
48817			}
48818		case "connectVia":
48819			if v != nil {
48820				var connectVia IntegrationRuntimeReference
48821				err = json.Unmarshal(*v, &connectVia)
48822				if err != nil {
48823					return err
48824				}
48825				hls.ConnectVia = &connectVia
48826			}
48827		case "description":
48828			if v != nil {
48829				var description string
48830				err = json.Unmarshal(*v, &description)
48831				if err != nil {
48832					return err
48833				}
48834				hls.Description = &description
48835			}
48836		case "parameters":
48837			if v != nil {
48838				var parameters map[string]*ParameterSpecification
48839				err = json.Unmarshal(*v, &parameters)
48840				if err != nil {
48841					return err
48842				}
48843				hls.Parameters = parameters
48844			}
48845		case "annotations":
48846			if v != nil {
48847				var annotations []interface{}
48848				err = json.Unmarshal(*v, &annotations)
48849				if err != nil {
48850					return err
48851				}
48852				hls.Annotations = &annotations
48853			}
48854		case "type":
48855			if v != nil {
48856				var typeVar TypeBasicLinkedService
48857				err = json.Unmarshal(*v, &typeVar)
48858				if err != nil {
48859					return err
48860				}
48861				hls.Type = typeVar
48862			}
48863		}
48864	}
48865
48866	return nil
48867}
48868
48869// HTTPLinkedServiceTypeProperties properties specific to this linked service type.
48870type HTTPLinkedServiceTypeProperties struct {
48871	// URL - The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: string (or Expression with resultType string).
48872	URL interface{} `json:"url,omitempty"`
48873	// AuthenticationType - The authentication type to be used to connect to the HTTP server. Possible values include: 'HTTPAuthenticationTypeBasic', 'HTTPAuthenticationTypeAnonymous', 'HTTPAuthenticationTypeDigest', 'HTTPAuthenticationTypeWindows', 'HTTPAuthenticationTypeClientCertificate'
48874	AuthenticationType HTTPAuthenticationType `json:"authenticationType,omitempty"`
48875	// UserName - User name for Basic, Digest, or Windows authentication. Type: string (or Expression with resultType string).
48876	UserName interface{} `json:"userName,omitempty"`
48877	// Password - Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication.
48878	Password BasicSecretBase `json:"password,omitempty"`
48879	// EmbeddedCertData - Base64 encoded certificate data for ClientCertificate authentication. For on-premises copy with ClientCertificate authentication, either CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression with resultType string).
48880	EmbeddedCertData interface{} `json:"embeddedCertData,omitempty"`
48881	// CertThumbprint - Thumbprint of certificate for ClientCertificate authentication. Only valid for on-premises copy. For on-premises copy with ClientCertificate authentication, either CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression with resultType string).
48882	CertThumbprint interface{} `json:"certThumbprint,omitempty"`
48883	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
48884	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
48885	// EnableServerCertificateValidation - If true, validate the HTTPS server SSL certificate. Default value is true. Type: boolean (or Expression with resultType boolean).
48886	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
48887}
48888
48889// UnmarshalJSON is the custom unmarshaler for HTTPLinkedServiceTypeProperties struct.
48890func (hlstp *HTTPLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
48891	var m map[string]*json.RawMessage
48892	err := json.Unmarshal(body, &m)
48893	if err != nil {
48894		return err
48895	}
48896	for k, v := range m {
48897		switch k {
48898		case "url":
48899			if v != nil {
48900				var URL interface{}
48901				err = json.Unmarshal(*v, &URL)
48902				if err != nil {
48903					return err
48904				}
48905				hlstp.URL = URL
48906			}
48907		case "authenticationType":
48908			if v != nil {
48909				var authenticationType HTTPAuthenticationType
48910				err = json.Unmarshal(*v, &authenticationType)
48911				if err != nil {
48912					return err
48913				}
48914				hlstp.AuthenticationType = authenticationType
48915			}
48916		case "userName":
48917			if v != nil {
48918				var userName interface{}
48919				err = json.Unmarshal(*v, &userName)
48920				if err != nil {
48921					return err
48922				}
48923				hlstp.UserName = userName
48924			}
48925		case "password":
48926			if v != nil {
48927				password, err := unmarshalBasicSecretBase(*v)
48928				if err != nil {
48929					return err
48930				}
48931				hlstp.Password = password
48932			}
48933		case "embeddedCertData":
48934			if v != nil {
48935				var embeddedCertData interface{}
48936				err = json.Unmarshal(*v, &embeddedCertData)
48937				if err != nil {
48938					return err
48939				}
48940				hlstp.EmbeddedCertData = embeddedCertData
48941			}
48942		case "certThumbprint":
48943			if v != nil {
48944				var certThumbprint interface{}
48945				err = json.Unmarshal(*v, &certThumbprint)
48946				if err != nil {
48947					return err
48948				}
48949				hlstp.CertThumbprint = certThumbprint
48950			}
48951		case "encryptedCredential":
48952			if v != nil {
48953				var encryptedCredential interface{}
48954				err = json.Unmarshal(*v, &encryptedCredential)
48955				if err != nil {
48956					return err
48957				}
48958				hlstp.EncryptedCredential = encryptedCredential
48959			}
48960		case "enableServerCertificateValidation":
48961			if v != nil {
48962				var enableServerCertificateValidation interface{}
48963				err = json.Unmarshal(*v, &enableServerCertificateValidation)
48964				if err != nil {
48965					return err
48966				}
48967				hlstp.EnableServerCertificateValidation = enableServerCertificateValidation
48968			}
48969		}
48970	}
48971
48972	return nil
48973}
48974
48975// HTTPSource a copy activity source for an HTTP file.
48976type HTTPSource struct {
48977	// HTTPRequestTimeout - Specifies the timeout for a HTTP client to get HTTP response from HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
48978	HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"`
48979	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
48980	AdditionalProperties map[string]interface{} `json:""`
48981	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
48982	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
48983	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
48984	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
48985	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
48986	Type TypeBasicCopySource `json:"type,omitempty"`
48987}
48988
48989// MarshalJSON is the custom marshaler for HTTPSource.
48990func (hs HTTPSource) MarshalJSON() ([]byte, error) {
48991	hs.Type = TypeHTTPSource
48992	objectMap := make(map[string]interface{})
48993	if hs.HTTPRequestTimeout != nil {
48994		objectMap["httpRequestTimeout"] = hs.HTTPRequestTimeout
48995	}
48996	if hs.SourceRetryCount != nil {
48997		objectMap["sourceRetryCount"] = hs.SourceRetryCount
48998	}
48999	if hs.SourceRetryWait != nil {
49000		objectMap["sourceRetryWait"] = hs.SourceRetryWait
49001	}
49002	if hs.Type != "" {
49003		objectMap["type"] = hs.Type
49004	}
49005	for k, v := range hs.AdditionalProperties {
49006		objectMap[k] = v
49007	}
49008	return json.Marshal(objectMap)
49009}
49010
49011// AsAmazonRedshiftSource is the BasicCopySource implementation for HTTPSource.
49012func (hs HTTPSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
49013	return nil, false
49014}
49015
49016// AsResponsysSource is the BasicCopySource implementation for HTTPSource.
49017func (hs HTTPSource) AsResponsysSource() (*ResponsysSource, bool) {
49018	return nil, false
49019}
49020
49021// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HTTPSource.
49022func (hs HTTPSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
49023	return nil, false
49024}
49025
49026// AsVerticaSource is the BasicCopySource implementation for HTTPSource.
49027func (hs HTTPSource) AsVerticaSource() (*VerticaSource, bool) {
49028	return nil, false
49029}
49030
49031// AsNetezzaSource is the BasicCopySource implementation for HTTPSource.
49032func (hs HTTPSource) AsNetezzaSource() (*NetezzaSource, bool) {
49033	return nil, false
49034}
49035
49036// AsZohoSource is the BasicCopySource implementation for HTTPSource.
49037func (hs HTTPSource) AsZohoSource() (*ZohoSource, bool) {
49038	return nil, false
49039}
49040
49041// AsXeroSource is the BasicCopySource implementation for HTTPSource.
49042func (hs HTTPSource) AsXeroSource() (*XeroSource, bool) {
49043	return nil, false
49044}
49045
49046// AsSquareSource is the BasicCopySource implementation for HTTPSource.
49047func (hs HTTPSource) AsSquareSource() (*SquareSource, bool) {
49048	return nil, false
49049}
49050
49051// AsSparkSource is the BasicCopySource implementation for HTTPSource.
49052func (hs HTTPSource) AsSparkSource() (*SparkSource, bool) {
49053	return nil, false
49054}
49055
49056// AsShopifySource is the BasicCopySource implementation for HTTPSource.
49057func (hs HTTPSource) AsShopifySource() (*ShopifySource, bool) {
49058	return nil, false
49059}
49060
49061// AsServiceNowSource is the BasicCopySource implementation for HTTPSource.
49062func (hs HTTPSource) AsServiceNowSource() (*ServiceNowSource, bool) {
49063	return nil, false
49064}
49065
49066// AsQuickBooksSource is the BasicCopySource implementation for HTTPSource.
49067func (hs HTTPSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
49068	return nil, false
49069}
49070
49071// AsPrestoSource is the BasicCopySource implementation for HTTPSource.
49072func (hs HTTPSource) AsPrestoSource() (*PrestoSource, bool) {
49073	return nil, false
49074}
49075
49076// AsPhoenixSource is the BasicCopySource implementation for HTTPSource.
49077func (hs HTTPSource) AsPhoenixSource() (*PhoenixSource, bool) {
49078	return nil, false
49079}
49080
49081// AsPaypalSource is the BasicCopySource implementation for HTTPSource.
49082func (hs HTTPSource) AsPaypalSource() (*PaypalSource, bool) {
49083	return nil, false
49084}
49085
49086// AsMarketoSource is the BasicCopySource implementation for HTTPSource.
49087func (hs HTTPSource) AsMarketoSource() (*MarketoSource, bool) {
49088	return nil, false
49089}
49090
49091// AsMariaDBSource is the BasicCopySource implementation for HTTPSource.
49092func (hs HTTPSource) AsMariaDBSource() (*MariaDBSource, bool) {
49093	return nil, false
49094}
49095
49096// AsMagentoSource is the BasicCopySource implementation for HTTPSource.
49097func (hs HTTPSource) AsMagentoSource() (*MagentoSource, bool) {
49098	return nil, false
49099}
49100
49101// AsJiraSource is the BasicCopySource implementation for HTTPSource.
49102func (hs HTTPSource) AsJiraSource() (*JiraSource, bool) {
49103	return nil, false
49104}
49105
49106// AsImpalaSource is the BasicCopySource implementation for HTTPSource.
49107func (hs HTTPSource) AsImpalaSource() (*ImpalaSource, bool) {
49108	return nil, false
49109}
49110
49111// AsHubspotSource is the BasicCopySource implementation for HTTPSource.
49112func (hs HTTPSource) AsHubspotSource() (*HubspotSource, bool) {
49113	return nil, false
49114}
49115
49116// AsHiveSource is the BasicCopySource implementation for HTTPSource.
49117func (hs HTTPSource) AsHiveSource() (*HiveSource, bool) {
49118	return nil, false
49119}
49120
49121// AsHBaseSource is the BasicCopySource implementation for HTTPSource.
49122func (hs HTTPSource) AsHBaseSource() (*HBaseSource, bool) {
49123	return nil, false
49124}
49125
49126// AsGreenplumSource is the BasicCopySource implementation for HTTPSource.
49127func (hs HTTPSource) AsGreenplumSource() (*GreenplumSource, bool) {
49128	return nil, false
49129}
49130
49131// AsGoogleBigQuerySource is the BasicCopySource implementation for HTTPSource.
49132func (hs HTTPSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
49133	return nil, false
49134}
49135
49136// AsEloquaSource is the BasicCopySource implementation for HTTPSource.
49137func (hs HTTPSource) AsEloquaSource() (*EloquaSource, bool) {
49138	return nil, false
49139}
49140
49141// AsDrillSource is the BasicCopySource implementation for HTTPSource.
49142func (hs HTTPSource) AsDrillSource() (*DrillSource, bool) {
49143	return nil, false
49144}
49145
49146// AsCouchbaseSource is the BasicCopySource implementation for HTTPSource.
49147func (hs HTTPSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
49148	return nil, false
49149}
49150
49151// AsConcurSource is the BasicCopySource implementation for HTTPSource.
49152func (hs HTTPSource) AsConcurSource() (*ConcurSource, bool) {
49153	return nil, false
49154}
49155
49156// AsAzurePostgreSQLSource is the BasicCopySource implementation for HTTPSource.
49157func (hs HTTPSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
49158	return nil, false
49159}
49160
49161// AsAmazonMWSSource is the BasicCopySource implementation for HTTPSource.
49162func (hs HTTPSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
49163	return nil, false
49164}
49165
49166// AsHTTPSource is the BasicCopySource implementation for HTTPSource.
49167func (hs HTTPSource) AsHTTPSource() (*HTTPSource, bool) {
49168	return &hs, true
49169}
49170
49171// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HTTPSource.
49172func (hs HTTPSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
49173	return nil, false
49174}
49175
49176// AsMongoDbSource is the BasicCopySource implementation for HTTPSource.
49177func (hs HTTPSource) AsMongoDbSource() (*MongoDbSource, bool) {
49178	return nil, false
49179}
49180
49181// AsCassandraSource is the BasicCopySource implementation for HTTPSource.
49182func (hs HTTPSource) AsCassandraSource() (*CassandraSource, bool) {
49183	return nil, false
49184}
49185
49186// AsWebSource is the BasicCopySource implementation for HTTPSource.
49187func (hs HTTPSource) AsWebSource() (*WebSource, bool) {
49188	return nil, false
49189}
49190
49191// AsOracleSource is the BasicCopySource implementation for HTTPSource.
49192func (hs HTTPSource) AsOracleSource() (*OracleSource, bool) {
49193	return nil, false
49194}
49195
49196// AsAzureMySQLSource is the BasicCopySource implementation for HTTPSource.
49197func (hs HTTPSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
49198	return nil, false
49199}
49200
49201// AsHdfsSource is the BasicCopySource implementation for HTTPSource.
49202func (hs HTTPSource) AsHdfsSource() (*HdfsSource, bool) {
49203	return nil, false
49204}
49205
49206// AsFileSystemSource is the BasicCopySource implementation for HTTPSource.
49207func (hs HTTPSource) AsFileSystemSource() (*FileSystemSource, bool) {
49208	return nil, false
49209}
49210
49211// AsSQLDWSource is the BasicCopySource implementation for HTTPSource.
49212func (hs HTTPSource) AsSQLDWSource() (*SQLDWSource, bool) {
49213	return nil, false
49214}
49215
49216// AsSQLSource is the BasicCopySource implementation for HTTPSource.
49217func (hs HTTPSource) AsSQLSource() (*SQLSource, bool) {
49218	return nil, false
49219}
49220
49221// AsSapEccSource is the BasicCopySource implementation for HTTPSource.
49222func (hs HTTPSource) AsSapEccSource() (*SapEccSource, bool) {
49223	return nil, false
49224}
49225
49226// AsSapCloudForCustomerSource is the BasicCopySource implementation for HTTPSource.
49227func (hs HTTPSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
49228	return nil, false
49229}
49230
49231// AsSalesforceSource is the BasicCopySource implementation for HTTPSource.
49232func (hs HTTPSource) AsSalesforceSource() (*SalesforceSource, bool) {
49233	return nil, false
49234}
49235
49236// AsRelationalSource is the BasicCopySource implementation for HTTPSource.
49237func (hs HTTPSource) AsRelationalSource() (*RelationalSource, bool) {
49238	return nil, false
49239}
49240
49241// AsDynamicsSource is the BasicCopySource implementation for HTTPSource.
49242func (hs HTTPSource) AsDynamicsSource() (*DynamicsSource, bool) {
49243	return nil, false
49244}
49245
49246// AsDocumentDbCollectionSource is the BasicCopySource implementation for HTTPSource.
49247func (hs HTTPSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
49248	return nil, false
49249}
49250
49251// AsBlobSource is the BasicCopySource implementation for HTTPSource.
49252func (hs HTTPSource) AsBlobSource() (*BlobSource, bool) {
49253	return nil, false
49254}
49255
49256// AsAzureTableSource is the BasicCopySource implementation for HTTPSource.
49257func (hs HTTPSource) AsAzureTableSource() (*AzureTableSource, bool) {
49258	return nil, false
49259}
49260
49261// AsCopySource is the BasicCopySource implementation for HTTPSource.
49262func (hs HTTPSource) AsCopySource() (*CopySource, bool) {
49263	return nil, false
49264}
49265
49266// AsBasicCopySource is the BasicCopySource implementation for HTTPSource.
49267func (hs HTTPSource) AsBasicCopySource() (BasicCopySource, bool) {
49268	return &hs, true
49269}
49270
49271// UnmarshalJSON is the custom unmarshaler for HTTPSource struct.
49272func (hs *HTTPSource) UnmarshalJSON(body []byte) error {
49273	var m map[string]*json.RawMessage
49274	err := json.Unmarshal(body, &m)
49275	if err != nil {
49276		return err
49277	}
49278	for k, v := range m {
49279		switch k {
49280		case "httpRequestTimeout":
49281			if v != nil {
49282				var HTTPRequestTimeout interface{}
49283				err = json.Unmarshal(*v, &HTTPRequestTimeout)
49284				if err != nil {
49285					return err
49286				}
49287				hs.HTTPRequestTimeout = HTTPRequestTimeout
49288			}
49289		default:
49290			if v != nil {
49291				var additionalProperties interface{}
49292				err = json.Unmarshal(*v, &additionalProperties)
49293				if err != nil {
49294					return err
49295				}
49296				if hs.AdditionalProperties == nil {
49297					hs.AdditionalProperties = make(map[string]interface{})
49298				}
49299				hs.AdditionalProperties[k] = additionalProperties
49300			}
49301		case "sourceRetryCount":
49302			if v != nil {
49303				var sourceRetryCount interface{}
49304				err = json.Unmarshal(*v, &sourceRetryCount)
49305				if err != nil {
49306					return err
49307				}
49308				hs.SourceRetryCount = sourceRetryCount
49309			}
49310		case "sourceRetryWait":
49311			if v != nil {
49312				var sourceRetryWait interface{}
49313				err = json.Unmarshal(*v, &sourceRetryWait)
49314				if err != nil {
49315					return err
49316				}
49317				hs.SourceRetryWait = sourceRetryWait
49318			}
49319		case "type":
49320			if v != nil {
49321				var typeVar TypeBasicCopySource
49322				err = json.Unmarshal(*v, &typeVar)
49323				if err != nil {
49324					return err
49325				}
49326				hs.Type = typeVar
49327			}
49328		}
49329	}
49330
49331	return nil
49332}
49333
49334// HubspotLinkedService hubspot Service linked service.
49335type HubspotLinkedService struct {
49336	// HubspotLinkedServiceTypeProperties - Hubspot Service linked service properties.
49337	*HubspotLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
49338	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
49339	AdditionalProperties map[string]interface{} `json:""`
49340	// ConnectVia - The integration runtime reference.
49341	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
49342	// Description - Linked service description.
49343	Description *string `json:"description,omitempty"`
49344	// Parameters - Parameters for linked service.
49345	Parameters map[string]*ParameterSpecification `json:"parameters"`
49346	// Annotations - List of tags that can be used for describing the Dataset.
49347	Annotations *[]interface{} `json:"annotations,omitempty"`
49348	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
49349	Type TypeBasicLinkedService `json:"type,omitempty"`
49350}
49351
49352// MarshalJSON is the custom marshaler for HubspotLinkedService.
49353func (hls HubspotLinkedService) MarshalJSON() ([]byte, error) {
49354	hls.Type = TypeHubspot
49355	objectMap := make(map[string]interface{})
49356	if hls.HubspotLinkedServiceTypeProperties != nil {
49357		objectMap["typeProperties"] = hls.HubspotLinkedServiceTypeProperties
49358	}
49359	if hls.ConnectVia != nil {
49360		objectMap["connectVia"] = hls.ConnectVia
49361	}
49362	if hls.Description != nil {
49363		objectMap["description"] = hls.Description
49364	}
49365	if hls.Parameters != nil {
49366		objectMap["parameters"] = hls.Parameters
49367	}
49368	if hls.Annotations != nil {
49369		objectMap["annotations"] = hls.Annotations
49370	}
49371	if hls.Type != "" {
49372		objectMap["type"] = hls.Type
49373	}
49374	for k, v := range hls.AdditionalProperties {
49375		objectMap[k] = v
49376	}
49377	return json.Marshal(objectMap)
49378}
49379
49380// AsResponsysLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49381func (hls HubspotLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
49382	return nil, false
49383}
49384
49385// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49386func (hls HubspotLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
49387	return nil, false
49388}
49389
49390// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49391func (hls HubspotLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
49392	return nil, false
49393}
49394
49395// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49396func (hls HubspotLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
49397	return nil, false
49398}
49399
49400// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49401func (hls HubspotLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
49402	return nil, false
49403}
49404
49405// AsNetezzaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49406func (hls HubspotLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
49407	return nil, false
49408}
49409
49410// AsVerticaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49411func (hls HubspotLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
49412	return nil, false
49413}
49414
49415// AsZohoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49416func (hls HubspotLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
49417	return nil, false
49418}
49419
49420// AsXeroLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49421func (hls HubspotLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
49422	return nil, false
49423}
49424
49425// AsSquareLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49426func (hls HubspotLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
49427	return nil, false
49428}
49429
49430// AsSparkLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49431func (hls HubspotLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
49432	return nil, false
49433}
49434
49435// AsShopifyLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49436func (hls HubspotLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
49437	return nil, false
49438}
49439
49440// AsServiceNowLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49441func (hls HubspotLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
49442	return nil, false
49443}
49444
49445// AsQuickBooksLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49446func (hls HubspotLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
49447	return nil, false
49448}
49449
49450// AsPrestoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49451func (hls HubspotLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
49452	return nil, false
49453}
49454
49455// AsPhoenixLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49456func (hls HubspotLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
49457	return nil, false
49458}
49459
49460// AsPaypalLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49461func (hls HubspotLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
49462	return nil, false
49463}
49464
49465// AsMarketoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49466func (hls HubspotLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
49467	return nil, false
49468}
49469
49470// AsMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49471func (hls HubspotLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
49472	return nil, false
49473}
49474
49475// AsMagentoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49476func (hls HubspotLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
49477	return nil, false
49478}
49479
49480// AsJiraLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49481func (hls HubspotLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
49482	return nil, false
49483}
49484
49485// AsImpalaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49486func (hls HubspotLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
49487	return nil, false
49488}
49489
49490// AsHubspotLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49491func (hls HubspotLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
49492	return &hls, true
49493}
49494
49495// AsHiveLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49496func (hls HubspotLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
49497	return nil, false
49498}
49499
49500// AsHBaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49501func (hls HubspotLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
49502	return nil, false
49503}
49504
49505// AsGreenplumLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49506func (hls HubspotLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
49507	return nil, false
49508}
49509
49510// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49511func (hls HubspotLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
49512	return nil, false
49513}
49514
49515// AsEloquaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49516func (hls HubspotLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
49517	return nil, false
49518}
49519
49520// AsDrillLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49521func (hls HubspotLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
49522	return nil, false
49523}
49524
49525// AsCouchbaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49526func (hls HubspotLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
49527	return nil, false
49528}
49529
49530// AsConcurLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49531func (hls HubspotLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
49532	return nil, false
49533}
49534
49535// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49536func (hls HubspotLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
49537	return nil, false
49538}
49539
49540// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49541func (hls HubspotLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
49542	return nil, false
49543}
49544
49545// AsSapHanaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49546func (hls HubspotLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
49547	return nil, false
49548}
49549
49550// AsSapBWLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49551func (hls HubspotLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
49552	return nil, false
49553}
49554
49555// AsSftpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49556func (hls HubspotLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
49557	return nil, false
49558}
49559
49560// AsFtpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49561func (hls HubspotLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
49562	return nil, false
49563}
49564
49565// AsHTTPLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49566func (hls HubspotLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
49567	return nil, false
49568}
49569
49570// AsAzureSearchLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49571func (hls HubspotLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
49572	return nil, false
49573}
49574
49575// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49576func (hls HubspotLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
49577	return nil, false
49578}
49579
49580// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49581func (hls HubspotLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
49582	return nil, false
49583}
49584
49585// AsAmazonS3LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49586func (hls HubspotLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
49587	return nil, false
49588}
49589
49590// AsSapEccLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49591func (hls HubspotLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
49592	return nil, false
49593}
49594
49595// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49596func (hls HubspotLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
49597	return nil, false
49598}
49599
49600// AsSalesforceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49601func (hls HubspotLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
49602	return nil, false
49603}
49604
49605// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49606func (hls HubspotLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
49607	return nil, false
49608}
49609
49610// AsMongoDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49611func (hls HubspotLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
49612	return nil, false
49613}
49614
49615// AsCassandraLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49616func (hls HubspotLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
49617	return nil, false
49618}
49619
49620// AsWebLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49621func (hls HubspotLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
49622	return nil, false
49623}
49624
49625// AsODataLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49626func (hls HubspotLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
49627	return nil, false
49628}
49629
49630// AsHdfsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49631func (hls HubspotLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
49632	return nil, false
49633}
49634
49635// AsOdbcLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49636func (hls HubspotLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
49637	return nil, false
49638}
49639
49640// AsAzureMLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49641func (hls HubspotLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
49642	return nil, false
49643}
49644
49645// AsTeradataLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49646func (hls HubspotLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
49647	return nil, false
49648}
49649
49650// AsDb2LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49651func (hls HubspotLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
49652	return nil, false
49653}
49654
49655// AsSybaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49656func (hls HubspotLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
49657	return nil, false
49658}
49659
49660// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49661func (hls HubspotLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
49662	return nil, false
49663}
49664
49665// AsMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49666func (hls HubspotLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
49667	return nil, false
49668}
49669
49670// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49671func (hls HubspotLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
49672	return nil, false
49673}
49674
49675// AsOracleLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49676func (hls HubspotLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
49677	return nil, false
49678}
49679
49680// AsFileServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49681func (hls HubspotLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
49682	return nil, false
49683}
49684
49685// AsHDInsightLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49686func (hls HubspotLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
49687	return nil, false
49688}
49689
49690// AsDynamicsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49691func (hls HubspotLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
49692	return nil, false
49693}
49694
49695// AsCosmosDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49696func (hls HubspotLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
49697	return nil, false
49698}
49699
49700// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49701func (hls HubspotLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
49702	return nil, false
49703}
49704
49705// AsAzureBatchLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49706func (hls HubspotLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
49707	return nil, false
49708}
49709
49710// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49711func (hls HubspotLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
49712	return nil, false
49713}
49714
49715// AsSQLServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49716func (hls HubspotLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
49717	return nil, false
49718}
49719
49720// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49721func (hls HubspotLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
49722	return nil, false
49723}
49724
49725// AsAzureStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49726func (hls HubspotLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
49727	return nil, false
49728}
49729
49730// AsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49731func (hls HubspotLinkedService) AsLinkedService() (*LinkedService, bool) {
49732	return nil, false
49733}
49734
49735// AsBasicLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49736func (hls HubspotLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
49737	return &hls, true
49738}
49739
49740// UnmarshalJSON is the custom unmarshaler for HubspotLinkedService struct.
49741func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error {
49742	var m map[string]*json.RawMessage
49743	err := json.Unmarshal(body, &m)
49744	if err != nil {
49745		return err
49746	}
49747	for k, v := range m {
49748		switch k {
49749		case "typeProperties":
49750			if v != nil {
49751				var hubspotLinkedServiceTypeProperties HubspotLinkedServiceTypeProperties
49752				err = json.Unmarshal(*v, &hubspotLinkedServiceTypeProperties)
49753				if err != nil {
49754					return err
49755				}
49756				hls.HubspotLinkedServiceTypeProperties = &hubspotLinkedServiceTypeProperties
49757			}
49758		default:
49759			if v != nil {
49760				var additionalProperties interface{}
49761				err = json.Unmarshal(*v, &additionalProperties)
49762				if err != nil {
49763					return err
49764				}
49765				if hls.AdditionalProperties == nil {
49766					hls.AdditionalProperties = make(map[string]interface{})
49767				}
49768				hls.AdditionalProperties[k] = additionalProperties
49769			}
49770		case "connectVia":
49771			if v != nil {
49772				var connectVia IntegrationRuntimeReference
49773				err = json.Unmarshal(*v, &connectVia)
49774				if err != nil {
49775					return err
49776				}
49777				hls.ConnectVia = &connectVia
49778			}
49779		case "description":
49780			if v != nil {
49781				var description string
49782				err = json.Unmarshal(*v, &description)
49783				if err != nil {
49784					return err
49785				}
49786				hls.Description = &description
49787			}
49788		case "parameters":
49789			if v != nil {
49790				var parameters map[string]*ParameterSpecification
49791				err = json.Unmarshal(*v, &parameters)
49792				if err != nil {
49793					return err
49794				}
49795				hls.Parameters = parameters
49796			}
49797		case "annotations":
49798			if v != nil {
49799				var annotations []interface{}
49800				err = json.Unmarshal(*v, &annotations)
49801				if err != nil {
49802					return err
49803				}
49804				hls.Annotations = &annotations
49805			}
49806		case "type":
49807			if v != nil {
49808				var typeVar TypeBasicLinkedService
49809				err = json.Unmarshal(*v, &typeVar)
49810				if err != nil {
49811					return err
49812				}
49813				hls.Type = typeVar
49814			}
49815		}
49816	}
49817
49818	return nil
49819}
49820
49821// HubspotLinkedServiceTypeProperties hubspot Service linked service properties.
49822type HubspotLinkedServiceTypeProperties struct {
49823	// ClientID - The client ID associated with your Hubspot application.
49824	ClientID interface{} `json:"clientId,omitempty"`
49825	// ClientSecret - The client secret associated with your Hubspot application.
49826	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
49827	// AccessToken - The access token obtained when initially authenticating your OAuth integration.
49828	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
49829	// RefreshToken - The refresh token obtained when initially authenticating your OAuth integration.
49830	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
49831	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
49832	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
49833	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
49834	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
49835	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
49836	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
49837	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
49838	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
49839}
49840
49841// UnmarshalJSON is the custom unmarshaler for HubspotLinkedServiceTypeProperties struct.
49842func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
49843	var m map[string]*json.RawMessage
49844	err := json.Unmarshal(body, &m)
49845	if err != nil {
49846		return err
49847	}
49848	for k, v := range m {
49849		switch k {
49850		case "clientId":
49851			if v != nil {
49852				var clientID interface{}
49853				err = json.Unmarshal(*v, &clientID)
49854				if err != nil {
49855					return err
49856				}
49857				hlstp.ClientID = clientID
49858			}
49859		case "clientSecret":
49860			if v != nil {
49861				clientSecret, err := unmarshalBasicSecretBase(*v)
49862				if err != nil {
49863					return err
49864				}
49865				hlstp.ClientSecret = clientSecret
49866			}
49867		case "accessToken":
49868			if v != nil {
49869				accessToken, err := unmarshalBasicSecretBase(*v)
49870				if err != nil {
49871					return err
49872				}
49873				hlstp.AccessToken = accessToken
49874			}
49875		case "refreshToken":
49876			if v != nil {
49877				refreshToken, err := unmarshalBasicSecretBase(*v)
49878				if err != nil {
49879					return err
49880				}
49881				hlstp.RefreshToken = refreshToken
49882			}
49883		case "useEncryptedEndpoints":
49884			if v != nil {
49885				var useEncryptedEndpoints interface{}
49886				err = json.Unmarshal(*v, &useEncryptedEndpoints)
49887				if err != nil {
49888					return err
49889				}
49890				hlstp.UseEncryptedEndpoints = useEncryptedEndpoints
49891			}
49892		case "useHostVerification":
49893			if v != nil {
49894				var useHostVerification interface{}
49895				err = json.Unmarshal(*v, &useHostVerification)
49896				if err != nil {
49897					return err
49898				}
49899				hlstp.UseHostVerification = useHostVerification
49900			}
49901		case "usePeerVerification":
49902			if v != nil {
49903				var usePeerVerification interface{}
49904				err = json.Unmarshal(*v, &usePeerVerification)
49905				if err != nil {
49906					return err
49907				}
49908				hlstp.UsePeerVerification = usePeerVerification
49909			}
49910		case "encryptedCredential":
49911			if v != nil {
49912				var encryptedCredential interface{}
49913				err = json.Unmarshal(*v, &encryptedCredential)
49914				if err != nil {
49915					return err
49916				}
49917				hlstp.EncryptedCredential = encryptedCredential
49918			}
49919		}
49920	}
49921
49922	return nil
49923}
49924
49925// HubspotObjectDataset hubspot Service dataset.
49926type HubspotObjectDataset struct {
49927	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
49928	AdditionalProperties map[string]interface{} `json:""`
49929	// Description - Dataset description.
49930	Description *string `json:"description,omitempty"`
49931	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
49932	Structure interface{} `json:"structure,omitempty"`
49933	// LinkedServiceName - Linked service reference.
49934	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
49935	// Parameters - Parameters for dataset.
49936	Parameters map[string]*ParameterSpecification `json:"parameters"`
49937	// Annotations - List of tags that can be used for describing the Dataset.
49938	Annotations *[]interface{} `json:"annotations,omitempty"`
49939	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
49940	Type TypeBasicDataset `json:"type,omitempty"`
49941}
49942
49943// MarshalJSON is the custom marshaler for HubspotObjectDataset.
49944func (hod HubspotObjectDataset) MarshalJSON() ([]byte, error) {
49945	hod.Type = TypeHubspotObject
49946	objectMap := make(map[string]interface{})
49947	if hod.Description != nil {
49948		objectMap["description"] = hod.Description
49949	}
49950	if hod.Structure != nil {
49951		objectMap["structure"] = hod.Structure
49952	}
49953	if hod.LinkedServiceName != nil {
49954		objectMap["linkedServiceName"] = hod.LinkedServiceName
49955	}
49956	if hod.Parameters != nil {
49957		objectMap["parameters"] = hod.Parameters
49958	}
49959	if hod.Annotations != nil {
49960		objectMap["annotations"] = hod.Annotations
49961	}
49962	if hod.Type != "" {
49963		objectMap["type"] = hod.Type
49964	}
49965	for k, v := range hod.AdditionalProperties {
49966		objectMap[k] = v
49967	}
49968	return json.Marshal(objectMap)
49969}
49970
49971// AsResponsysObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
49972func (hod HubspotObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
49973	return nil, false
49974}
49975
49976// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
49977func (hod HubspotObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
49978	return nil, false
49979}
49980
49981// AsVerticaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
49982func (hod HubspotObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
49983	return nil, false
49984}
49985
49986// AsNetezzaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
49987func (hod HubspotObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
49988	return nil, false
49989}
49990
49991// AsZohoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
49992func (hod HubspotObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
49993	return nil, false
49994}
49995
49996// AsXeroObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
49997func (hod HubspotObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
49998	return nil, false
49999}
50000
50001// AsSquareObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50002func (hod HubspotObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
50003	return nil, false
50004}
50005
50006// AsSparkObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50007func (hod HubspotObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
50008	return nil, false
50009}
50010
50011// AsShopifyObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50012func (hod HubspotObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
50013	return nil, false
50014}
50015
50016// AsServiceNowObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50017func (hod HubspotObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
50018	return nil, false
50019}
50020
50021// AsQuickBooksObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50022func (hod HubspotObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
50023	return nil, false
50024}
50025
50026// AsPrestoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50027func (hod HubspotObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
50028	return nil, false
50029}
50030
50031// AsPhoenixObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50032func (hod HubspotObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
50033	return nil, false
50034}
50035
50036// AsPaypalObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50037func (hod HubspotObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
50038	return nil, false
50039}
50040
50041// AsMarketoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50042func (hod HubspotObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
50043	return nil, false
50044}
50045
50046// AsMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50047func (hod HubspotObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
50048	return nil, false
50049}
50050
50051// AsMagentoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50052func (hod HubspotObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
50053	return nil, false
50054}
50055
50056// AsJiraObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50057func (hod HubspotObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
50058	return nil, false
50059}
50060
50061// AsImpalaObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50062func (hod HubspotObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
50063	return nil, false
50064}
50065
50066// AsHubspotObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50067func (hod HubspotObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
50068	return &hod, true
50069}
50070
50071// AsHiveObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50072func (hod HubspotObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
50073	return nil, false
50074}
50075
50076// AsHBaseObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50077func (hod HubspotObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
50078	return nil, false
50079}
50080
50081// AsGreenplumTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50082func (hod HubspotObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
50083	return nil, false
50084}
50085
50086// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50087func (hod HubspotObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
50088	return nil, false
50089}
50090
50091// AsEloquaObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50092func (hod HubspotObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
50093	return nil, false
50094}
50095
50096// AsDrillTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50097func (hod HubspotObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
50098	return nil, false
50099}
50100
50101// AsCouchbaseTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50102func (hod HubspotObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
50103	return nil, false
50104}
50105
50106// AsConcurObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50107func (hod HubspotObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
50108	return nil, false
50109}
50110
50111// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50112func (hod HubspotObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
50113	return nil, false
50114}
50115
50116// AsAmazonMWSObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50117func (hod HubspotObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
50118	return nil, false
50119}
50120
50121// AsHTTPDataset is the BasicDataset implementation for HubspotObjectDataset.
50122func (hod HubspotObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
50123	return nil, false
50124}
50125
50126// AsAzureSearchIndexDataset is the BasicDataset implementation for HubspotObjectDataset.
50127func (hod HubspotObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
50128	return nil, false
50129}
50130
50131// AsWebTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50132func (hod HubspotObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
50133	return nil, false
50134}
50135
50136// AsSQLServerTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50137func (hod HubspotObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
50138	return nil, false
50139}
50140
50141// AsSapEccResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
50142func (hod HubspotObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
50143	return nil, false
50144}
50145
50146// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
50147func (hod HubspotObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
50148	return nil, false
50149}
50150
50151// AsSalesforceObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50152func (hod HubspotObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
50153	return nil, false
50154}
50155
50156// AsRelationalTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50157func (hod HubspotObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
50158	return nil, false
50159}
50160
50161// AsAzureMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50162func (hod HubspotObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
50163	return nil, false
50164}
50165
50166// AsOracleTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50167func (hod HubspotObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
50168	return nil, false
50169}
50170
50171// AsODataResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
50172func (hod HubspotObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
50173	return nil, false
50174}
50175
50176// AsMongoDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
50177func (hod HubspotObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
50178	return nil, false
50179}
50180
50181// AsFileShareDataset is the BasicDataset implementation for HubspotObjectDataset.
50182func (hod HubspotObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
50183	return nil, false
50184}
50185
50186// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HubspotObjectDataset.
50187func (hod HubspotObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
50188	return nil, false
50189}
50190
50191// AsDynamicsEntityDataset is the BasicDataset implementation for HubspotObjectDataset.
50192func (hod HubspotObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
50193	return nil, false
50194}
50195
50196// AsDocumentDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
50197func (hod HubspotObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
50198	return nil, false
50199}
50200
50201// AsCustomDataset is the BasicDataset implementation for HubspotObjectDataset.
50202func (hod HubspotObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
50203	return nil, false
50204}
50205
50206// AsCassandraTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50207func (hod HubspotObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
50208	return nil, false
50209}
50210
50211// AsAzureSQLDWTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50212func (hod HubspotObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
50213	return nil, false
50214}
50215
50216// AsAzureSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50217func (hod HubspotObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
50218	return nil, false
50219}
50220
50221// AsAzureTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50222func (hod HubspotObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
50223	return nil, false
50224}
50225
50226// AsAzureBlobDataset is the BasicDataset implementation for HubspotObjectDataset.
50227func (hod HubspotObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
50228	return nil, false
50229}
50230
50231// AsAmazonS3Dataset is the BasicDataset implementation for HubspotObjectDataset.
50232func (hod HubspotObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
50233	return nil, false
50234}
50235
50236// AsDataset is the BasicDataset implementation for HubspotObjectDataset.
50237func (hod HubspotObjectDataset) AsDataset() (*Dataset, bool) {
50238	return nil, false
50239}
50240
50241// AsBasicDataset is the BasicDataset implementation for HubspotObjectDataset.
50242func (hod HubspotObjectDataset) AsBasicDataset() (BasicDataset, bool) {
50243	return &hod, true
50244}
50245
50246// UnmarshalJSON is the custom unmarshaler for HubspotObjectDataset struct.
50247func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error {
50248	var m map[string]*json.RawMessage
50249	err := json.Unmarshal(body, &m)
50250	if err != nil {
50251		return err
50252	}
50253	for k, v := range m {
50254		switch k {
50255		default:
50256			if v != nil {
50257				var additionalProperties interface{}
50258				err = json.Unmarshal(*v, &additionalProperties)
50259				if err != nil {
50260					return err
50261				}
50262				if hod.AdditionalProperties == nil {
50263					hod.AdditionalProperties = make(map[string]interface{})
50264				}
50265				hod.AdditionalProperties[k] = additionalProperties
50266			}
50267		case "description":
50268			if v != nil {
50269				var description string
50270				err = json.Unmarshal(*v, &description)
50271				if err != nil {
50272					return err
50273				}
50274				hod.Description = &description
50275			}
50276		case "structure":
50277			if v != nil {
50278				var structure interface{}
50279				err = json.Unmarshal(*v, &structure)
50280				if err != nil {
50281					return err
50282				}
50283				hod.Structure = structure
50284			}
50285		case "linkedServiceName":
50286			if v != nil {
50287				var linkedServiceName LinkedServiceReference
50288				err = json.Unmarshal(*v, &linkedServiceName)
50289				if err != nil {
50290					return err
50291				}
50292				hod.LinkedServiceName = &linkedServiceName
50293			}
50294		case "parameters":
50295			if v != nil {
50296				var parameters map[string]*ParameterSpecification
50297				err = json.Unmarshal(*v, &parameters)
50298				if err != nil {
50299					return err
50300				}
50301				hod.Parameters = parameters
50302			}
50303		case "annotations":
50304			if v != nil {
50305				var annotations []interface{}
50306				err = json.Unmarshal(*v, &annotations)
50307				if err != nil {
50308					return err
50309				}
50310				hod.Annotations = &annotations
50311			}
50312		case "type":
50313			if v != nil {
50314				var typeVar TypeBasicDataset
50315				err = json.Unmarshal(*v, &typeVar)
50316				if err != nil {
50317					return err
50318				}
50319				hod.Type = typeVar
50320			}
50321		}
50322	}
50323
50324	return nil
50325}
50326
50327// HubspotSource a copy activity Hubspot Service source.
50328type HubspotSource struct {
50329	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
50330	Query interface{} `json:"query,omitempty"`
50331	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
50332	AdditionalProperties map[string]interface{} `json:""`
50333	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
50334	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
50335	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
50336	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
50337	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
50338	Type TypeBasicCopySource `json:"type,omitempty"`
50339}
50340
50341// MarshalJSON is the custom marshaler for HubspotSource.
50342func (hs HubspotSource) MarshalJSON() ([]byte, error) {
50343	hs.Type = TypeHubspotSource
50344	objectMap := make(map[string]interface{})
50345	if hs.Query != nil {
50346		objectMap["query"] = hs.Query
50347	}
50348	if hs.SourceRetryCount != nil {
50349		objectMap["sourceRetryCount"] = hs.SourceRetryCount
50350	}
50351	if hs.SourceRetryWait != nil {
50352		objectMap["sourceRetryWait"] = hs.SourceRetryWait
50353	}
50354	if hs.Type != "" {
50355		objectMap["type"] = hs.Type
50356	}
50357	for k, v := range hs.AdditionalProperties {
50358		objectMap[k] = v
50359	}
50360	return json.Marshal(objectMap)
50361}
50362
50363// AsAmazonRedshiftSource is the BasicCopySource implementation for HubspotSource.
50364func (hs HubspotSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
50365	return nil, false
50366}
50367
50368// AsResponsysSource is the BasicCopySource implementation for HubspotSource.
50369func (hs HubspotSource) AsResponsysSource() (*ResponsysSource, bool) {
50370	return nil, false
50371}
50372
50373// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HubspotSource.
50374func (hs HubspotSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
50375	return nil, false
50376}
50377
50378// AsVerticaSource is the BasicCopySource implementation for HubspotSource.
50379func (hs HubspotSource) AsVerticaSource() (*VerticaSource, bool) {
50380	return nil, false
50381}
50382
50383// AsNetezzaSource is the BasicCopySource implementation for HubspotSource.
50384func (hs HubspotSource) AsNetezzaSource() (*NetezzaSource, bool) {
50385	return nil, false
50386}
50387
50388// AsZohoSource is the BasicCopySource implementation for HubspotSource.
50389func (hs HubspotSource) AsZohoSource() (*ZohoSource, bool) {
50390	return nil, false
50391}
50392
50393// AsXeroSource is the BasicCopySource implementation for HubspotSource.
50394func (hs HubspotSource) AsXeroSource() (*XeroSource, bool) {
50395	return nil, false
50396}
50397
50398// AsSquareSource is the BasicCopySource implementation for HubspotSource.
50399func (hs HubspotSource) AsSquareSource() (*SquareSource, bool) {
50400	return nil, false
50401}
50402
50403// AsSparkSource is the BasicCopySource implementation for HubspotSource.
50404func (hs HubspotSource) AsSparkSource() (*SparkSource, bool) {
50405	return nil, false
50406}
50407
50408// AsShopifySource is the BasicCopySource implementation for HubspotSource.
50409func (hs HubspotSource) AsShopifySource() (*ShopifySource, bool) {
50410	return nil, false
50411}
50412
50413// AsServiceNowSource is the BasicCopySource implementation for HubspotSource.
50414func (hs HubspotSource) AsServiceNowSource() (*ServiceNowSource, bool) {
50415	return nil, false
50416}
50417
50418// AsQuickBooksSource is the BasicCopySource implementation for HubspotSource.
50419func (hs HubspotSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
50420	return nil, false
50421}
50422
50423// AsPrestoSource is the BasicCopySource implementation for HubspotSource.
50424func (hs HubspotSource) AsPrestoSource() (*PrestoSource, bool) {
50425	return nil, false
50426}
50427
50428// AsPhoenixSource is the BasicCopySource implementation for HubspotSource.
50429func (hs HubspotSource) AsPhoenixSource() (*PhoenixSource, bool) {
50430	return nil, false
50431}
50432
50433// AsPaypalSource is the BasicCopySource implementation for HubspotSource.
50434func (hs HubspotSource) AsPaypalSource() (*PaypalSource, bool) {
50435	return nil, false
50436}
50437
50438// AsMarketoSource is the BasicCopySource implementation for HubspotSource.
50439func (hs HubspotSource) AsMarketoSource() (*MarketoSource, bool) {
50440	return nil, false
50441}
50442
50443// AsMariaDBSource is the BasicCopySource implementation for HubspotSource.
50444func (hs HubspotSource) AsMariaDBSource() (*MariaDBSource, bool) {
50445	return nil, false
50446}
50447
50448// AsMagentoSource is the BasicCopySource implementation for HubspotSource.
50449func (hs HubspotSource) AsMagentoSource() (*MagentoSource, bool) {
50450	return nil, false
50451}
50452
50453// AsJiraSource is the BasicCopySource implementation for HubspotSource.
50454func (hs HubspotSource) AsJiraSource() (*JiraSource, bool) {
50455	return nil, false
50456}
50457
50458// AsImpalaSource is the BasicCopySource implementation for HubspotSource.
50459func (hs HubspotSource) AsImpalaSource() (*ImpalaSource, bool) {
50460	return nil, false
50461}
50462
50463// AsHubspotSource is the BasicCopySource implementation for HubspotSource.
50464func (hs HubspotSource) AsHubspotSource() (*HubspotSource, bool) {
50465	return &hs, true
50466}
50467
50468// AsHiveSource is the BasicCopySource implementation for HubspotSource.
50469func (hs HubspotSource) AsHiveSource() (*HiveSource, bool) {
50470	return nil, false
50471}
50472
50473// AsHBaseSource is the BasicCopySource implementation for HubspotSource.
50474func (hs HubspotSource) AsHBaseSource() (*HBaseSource, bool) {
50475	return nil, false
50476}
50477
50478// AsGreenplumSource is the BasicCopySource implementation for HubspotSource.
50479func (hs HubspotSource) AsGreenplumSource() (*GreenplumSource, bool) {
50480	return nil, false
50481}
50482
50483// AsGoogleBigQuerySource is the BasicCopySource implementation for HubspotSource.
50484func (hs HubspotSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
50485	return nil, false
50486}
50487
50488// AsEloquaSource is the BasicCopySource implementation for HubspotSource.
50489func (hs HubspotSource) AsEloquaSource() (*EloquaSource, bool) {
50490	return nil, false
50491}
50492
50493// AsDrillSource is the BasicCopySource implementation for HubspotSource.
50494func (hs HubspotSource) AsDrillSource() (*DrillSource, bool) {
50495	return nil, false
50496}
50497
50498// AsCouchbaseSource is the BasicCopySource implementation for HubspotSource.
50499func (hs HubspotSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
50500	return nil, false
50501}
50502
50503// AsConcurSource is the BasicCopySource implementation for HubspotSource.
50504func (hs HubspotSource) AsConcurSource() (*ConcurSource, bool) {
50505	return nil, false
50506}
50507
50508// AsAzurePostgreSQLSource is the BasicCopySource implementation for HubspotSource.
50509func (hs HubspotSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
50510	return nil, false
50511}
50512
50513// AsAmazonMWSSource is the BasicCopySource implementation for HubspotSource.
50514func (hs HubspotSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
50515	return nil, false
50516}
50517
50518// AsHTTPSource is the BasicCopySource implementation for HubspotSource.
50519func (hs HubspotSource) AsHTTPSource() (*HTTPSource, bool) {
50520	return nil, false
50521}
50522
50523// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HubspotSource.
50524func (hs HubspotSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
50525	return nil, false
50526}
50527
50528// AsMongoDbSource is the BasicCopySource implementation for HubspotSource.
50529func (hs HubspotSource) AsMongoDbSource() (*MongoDbSource, bool) {
50530	return nil, false
50531}
50532
50533// AsCassandraSource is the BasicCopySource implementation for HubspotSource.
50534func (hs HubspotSource) AsCassandraSource() (*CassandraSource, bool) {
50535	return nil, false
50536}
50537
50538// AsWebSource is the BasicCopySource implementation for HubspotSource.
50539func (hs HubspotSource) AsWebSource() (*WebSource, bool) {
50540	return nil, false
50541}
50542
50543// AsOracleSource is the BasicCopySource implementation for HubspotSource.
50544func (hs HubspotSource) AsOracleSource() (*OracleSource, bool) {
50545	return nil, false
50546}
50547
50548// AsAzureMySQLSource is the BasicCopySource implementation for HubspotSource.
50549func (hs HubspotSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
50550	return nil, false
50551}
50552
50553// AsHdfsSource is the BasicCopySource implementation for HubspotSource.
50554func (hs HubspotSource) AsHdfsSource() (*HdfsSource, bool) {
50555	return nil, false
50556}
50557
50558// AsFileSystemSource is the BasicCopySource implementation for HubspotSource.
50559func (hs HubspotSource) AsFileSystemSource() (*FileSystemSource, bool) {
50560	return nil, false
50561}
50562
50563// AsSQLDWSource is the BasicCopySource implementation for HubspotSource.
50564func (hs HubspotSource) AsSQLDWSource() (*SQLDWSource, bool) {
50565	return nil, false
50566}
50567
50568// AsSQLSource is the BasicCopySource implementation for HubspotSource.
50569func (hs HubspotSource) AsSQLSource() (*SQLSource, bool) {
50570	return nil, false
50571}
50572
50573// AsSapEccSource is the BasicCopySource implementation for HubspotSource.
50574func (hs HubspotSource) AsSapEccSource() (*SapEccSource, bool) {
50575	return nil, false
50576}
50577
50578// AsSapCloudForCustomerSource is the BasicCopySource implementation for HubspotSource.
50579func (hs HubspotSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
50580	return nil, false
50581}
50582
50583// AsSalesforceSource is the BasicCopySource implementation for HubspotSource.
50584func (hs HubspotSource) AsSalesforceSource() (*SalesforceSource, bool) {
50585	return nil, false
50586}
50587
50588// AsRelationalSource is the BasicCopySource implementation for HubspotSource.
50589func (hs HubspotSource) AsRelationalSource() (*RelationalSource, bool) {
50590	return nil, false
50591}
50592
50593// AsDynamicsSource is the BasicCopySource implementation for HubspotSource.
50594func (hs HubspotSource) AsDynamicsSource() (*DynamicsSource, bool) {
50595	return nil, false
50596}
50597
50598// AsDocumentDbCollectionSource is the BasicCopySource implementation for HubspotSource.
50599func (hs HubspotSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
50600	return nil, false
50601}
50602
50603// AsBlobSource is the BasicCopySource implementation for HubspotSource.
50604func (hs HubspotSource) AsBlobSource() (*BlobSource, bool) {
50605	return nil, false
50606}
50607
50608// AsAzureTableSource is the BasicCopySource implementation for HubspotSource.
50609func (hs HubspotSource) AsAzureTableSource() (*AzureTableSource, bool) {
50610	return nil, false
50611}
50612
50613// AsCopySource is the BasicCopySource implementation for HubspotSource.
50614func (hs HubspotSource) AsCopySource() (*CopySource, bool) {
50615	return nil, false
50616}
50617
50618// AsBasicCopySource is the BasicCopySource implementation for HubspotSource.
50619func (hs HubspotSource) AsBasicCopySource() (BasicCopySource, bool) {
50620	return &hs, true
50621}
50622
50623// UnmarshalJSON is the custom unmarshaler for HubspotSource struct.
50624func (hs *HubspotSource) UnmarshalJSON(body []byte) error {
50625	var m map[string]*json.RawMessage
50626	err := json.Unmarshal(body, &m)
50627	if err != nil {
50628		return err
50629	}
50630	for k, v := range m {
50631		switch k {
50632		case "query":
50633			if v != nil {
50634				var query interface{}
50635				err = json.Unmarshal(*v, &query)
50636				if err != nil {
50637					return err
50638				}
50639				hs.Query = query
50640			}
50641		default:
50642			if v != nil {
50643				var additionalProperties interface{}
50644				err = json.Unmarshal(*v, &additionalProperties)
50645				if err != nil {
50646					return err
50647				}
50648				if hs.AdditionalProperties == nil {
50649					hs.AdditionalProperties = make(map[string]interface{})
50650				}
50651				hs.AdditionalProperties[k] = additionalProperties
50652			}
50653		case "sourceRetryCount":
50654			if v != nil {
50655				var sourceRetryCount interface{}
50656				err = json.Unmarshal(*v, &sourceRetryCount)
50657				if err != nil {
50658					return err
50659				}
50660				hs.SourceRetryCount = sourceRetryCount
50661			}
50662		case "sourceRetryWait":
50663			if v != nil {
50664				var sourceRetryWait interface{}
50665				err = json.Unmarshal(*v, &sourceRetryWait)
50666				if err != nil {
50667					return err
50668				}
50669				hs.SourceRetryWait = sourceRetryWait
50670			}
50671		case "type":
50672			if v != nil {
50673				var typeVar TypeBasicCopySource
50674				err = json.Unmarshal(*v, &typeVar)
50675				if err != nil {
50676					return err
50677				}
50678				hs.Type = typeVar
50679			}
50680		}
50681	}
50682
50683	return nil
50684}
50685
50686// IfConditionActivity this activity evaluates a boolean expression and executes either the activities
50687// under the ifTrueActivities property or the ifFalseActivities property depending on the result of the
50688// expression.
50689type IfConditionActivity struct {
50690	// IfConditionActivityTypeProperties - IfCondition activity properties.
50691	*IfConditionActivityTypeProperties `json:"typeProperties,omitempty"`
50692	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
50693	AdditionalProperties map[string]interface{} `json:""`
50694	// Name - Activity name.
50695	Name *string `json:"name,omitempty"`
50696	// Description - Activity description.
50697	Description *string `json:"description,omitempty"`
50698	// DependsOn - Activity depends on condition.
50699	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
50700	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
50701	Type TypeBasicActivity `json:"type,omitempty"`
50702}
50703
50704// MarshalJSON is the custom marshaler for IfConditionActivity.
50705func (ica IfConditionActivity) MarshalJSON() ([]byte, error) {
50706	ica.Type = TypeIfCondition
50707	objectMap := make(map[string]interface{})
50708	if ica.IfConditionActivityTypeProperties != nil {
50709		objectMap["typeProperties"] = ica.IfConditionActivityTypeProperties
50710	}
50711	if ica.Name != nil {
50712		objectMap["name"] = ica.Name
50713	}
50714	if ica.Description != nil {
50715		objectMap["description"] = ica.Description
50716	}
50717	if ica.DependsOn != nil {
50718		objectMap["dependsOn"] = ica.DependsOn
50719	}
50720	if ica.Type != "" {
50721		objectMap["type"] = ica.Type
50722	}
50723	for k, v := range ica.AdditionalProperties {
50724		objectMap[k] = v
50725	}
50726	return json.Marshal(objectMap)
50727}
50728
50729// AsDatabricksNotebookActivity is the BasicActivity implementation for IfConditionActivity.
50730func (ica IfConditionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
50731	return nil, false
50732}
50733
50734// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for IfConditionActivity.
50735func (ica IfConditionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
50736	return nil, false
50737}
50738
50739// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for IfConditionActivity.
50740func (ica IfConditionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
50741	return nil, false
50742}
50743
50744// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for IfConditionActivity.
50745func (ica IfConditionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
50746	return nil, false
50747}
50748
50749// AsGetMetadataActivity is the BasicActivity implementation for IfConditionActivity.
50750func (ica IfConditionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
50751	return nil, false
50752}
50753
50754// AsWebActivity is the BasicActivity implementation for IfConditionActivity.
50755func (ica IfConditionActivity) AsWebActivity() (*WebActivity, bool) {
50756	return nil, false
50757}
50758
50759// AsLookupActivity is the BasicActivity implementation for IfConditionActivity.
50760func (ica IfConditionActivity) AsLookupActivity() (*LookupActivity, bool) {
50761	return nil, false
50762}
50763
50764// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for IfConditionActivity.
50765func (ica IfConditionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
50766	return nil, false
50767}
50768
50769// AsCustomActivity is the BasicActivity implementation for IfConditionActivity.
50770func (ica IfConditionActivity) AsCustomActivity() (*CustomActivity, bool) {
50771	return nil, false
50772}
50773
50774// AsExecuteSSISPackageActivity is the BasicActivity implementation for IfConditionActivity.
50775func (ica IfConditionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
50776	return nil, false
50777}
50778
50779// AsHDInsightSparkActivity is the BasicActivity implementation for IfConditionActivity.
50780func (ica IfConditionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
50781	return nil, false
50782}
50783
50784// AsHDInsightStreamingActivity is the BasicActivity implementation for IfConditionActivity.
50785func (ica IfConditionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
50786	return nil, false
50787}
50788
50789// AsHDInsightMapReduceActivity is the BasicActivity implementation for IfConditionActivity.
50790func (ica IfConditionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
50791	return nil, false
50792}
50793
50794// AsHDInsightPigActivity is the BasicActivity implementation for IfConditionActivity.
50795func (ica IfConditionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
50796	return nil, false
50797}
50798
50799// AsHDInsightHiveActivity is the BasicActivity implementation for IfConditionActivity.
50800func (ica IfConditionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
50801	return nil, false
50802}
50803
50804// AsCopyActivity is the BasicActivity implementation for IfConditionActivity.
50805func (ica IfConditionActivity) AsCopyActivity() (*CopyActivity, bool) {
50806	return nil, false
50807}
50808
50809// AsExecutionActivity is the BasicActivity implementation for IfConditionActivity.
50810func (ica IfConditionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
50811	return nil, false
50812}
50813
50814// AsBasicExecutionActivity is the BasicActivity implementation for IfConditionActivity.
50815func (ica IfConditionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
50816	return nil, false
50817}
50818
50819// AsFilterActivity is the BasicActivity implementation for IfConditionActivity.
50820func (ica IfConditionActivity) AsFilterActivity() (*FilterActivity, bool) {
50821	return nil, false
50822}
50823
50824// AsUntilActivity is the BasicActivity implementation for IfConditionActivity.
50825func (ica IfConditionActivity) AsUntilActivity() (*UntilActivity, bool) {
50826	return nil, false
50827}
50828
50829// AsWaitActivity is the BasicActivity implementation for IfConditionActivity.
50830func (ica IfConditionActivity) AsWaitActivity() (*WaitActivity, bool) {
50831	return nil, false
50832}
50833
50834// AsForEachActivity is the BasicActivity implementation for IfConditionActivity.
50835func (ica IfConditionActivity) AsForEachActivity() (*ForEachActivity, bool) {
50836	return nil, false
50837}
50838
50839// AsIfConditionActivity is the BasicActivity implementation for IfConditionActivity.
50840func (ica IfConditionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
50841	return &ica, true
50842}
50843
50844// AsExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity.
50845func (ica IfConditionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
50846	return nil, false
50847}
50848
50849// AsControlActivity is the BasicActivity implementation for IfConditionActivity.
50850func (ica IfConditionActivity) AsControlActivity() (*ControlActivity, bool) {
50851	return nil, false
50852}
50853
50854// AsBasicControlActivity is the BasicActivity implementation for IfConditionActivity.
50855func (ica IfConditionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
50856	return &ica, true
50857}
50858
50859// AsActivity is the BasicActivity implementation for IfConditionActivity.
50860func (ica IfConditionActivity) AsActivity() (*Activity, bool) {
50861	return nil, false
50862}
50863
50864// AsBasicActivity is the BasicActivity implementation for IfConditionActivity.
50865func (ica IfConditionActivity) AsBasicActivity() (BasicActivity, bool) {
50866	return &ica, true
50867}
50868
50869// UnmarshalJSON is the custom unmarshaler for IfConditionActivity struct.
50870func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error {
50871	var m map[string]*json.RawMessage
50872	err := json.Unmarshal(body, &m)
50873	if err != nil {
50874		return err
50875	}
50876	for k, v := range m {
50877		switch k {
50878		case "typeProperties":
50879			if v != nil {
50880				var ifConditionActivityTypeProperties IfConditionActivityTypeProperties
50881				err = json.Unmarshal(*v, &ifConditionActivityTypeProperties)
50882				if err != nil {
50883					return err
50884				}
50885				ica.IfConditionActivityTypeProperties = &ifConditionActivityTypeProperties
50886			}
50887		default:
50888			if v != nil {
50889				var additionalProperties interface{}
50890				err = json.Unmarshal(*v, &additionalProperties)
50891				if err != nil {
50892					return err
50893				}
50894				if ica.AdditionalProperties == nil {
50895					ica.AdditionalProperties = make(map[string]interface{})
50896				}
50897				ica.AdditionalProperties[k] = additionalProperties
50898			}
50899		case "name":
50900			if v != nil {
50901				var name string
50902				err = json.Unmarshal(*v, &name)
50903				if err != nil {
50904					return err
50905				}
50906				ica.Name = &name
50907			}
50908		case "description":
50909			if v != nil {
50910				var description string
50911				err = json.Unmarshal(*v, &description)
50912				if err != nil {
50913					return err
50914				}
50915				ica.Description = &description
50916			}
50917		case "dependsOn":
50918			if v != nil {
50919				var dependsOn []ActivityDependency
50920				err = json.Unmarshal(*v, &dependsOn)
50921				if err != nil {
50922					return err
50923				}
50924				ica.DependsOn = &dependsOn
50925			}
50926		case "type":
50927			if v != nil {
50928				var typeVar TypeBasicActivity
50929				err = json.Unmarshal(*v, &typeVar)
50930				if err != nil {
50931					return err
50932				}
50933				ica.Type = typeVar
50934			}
50935		}
50936	}
50937
50938	return nil
50939}
50940
50941// IfConditionActivityTypeProperties ifCondition activity properties.
50942type IfConditionActivityTypeProperties struct {
50943	// Expression - An expression that would evaluate to Boolean. This is used to determine the block of activities (ifTrueActivities or ifFalseActivities) that will be executed.
50944	Expression *Expression `json:"expression,omitempty"`
50945	// IfTrueActivities - List of activities to execute if expression is evaluated to true. This is an optional property and if not provided, the activity will exit without any action.
50946	IfTrueActivities *[]BasicActivity `json:"ifTrueActivities,omitempty"`
50947	// IfFalseActivities - List of activities to execute if expression is evaluated to false. This is an optional property and if not provided, the activity will exit without any action.
50948	IfFalseActivities *[]BasicActivity `json:"ifFalseActivities,omitempty"`
50949}
50950
50951// UnmarshalJSON is the custom unmarshaler for IfConditionActivityTypeProperties struct.
50952func (icatp *IfConditionActivityTypeProperties) UnmarshalJSON(body []byte) error {
50953	var m map[string]*json.RawMessage
50954	err := json.Unmarshal(body, &m)
50955	if err != nil {
50956		return err
50957	}
50958	for k, v := range m {
50959		switch k {
50960		case "expression":
50961			if v != nil {
50962				var expression Expression
50963				err = json.Unmarshal(*v, &expression)
50964				if err != nil {
50965					return err
50966				}
50967				icatp.Expression = &expression
50968			}
50969		case "ifTrueActivities":
50970			if v != nil {
50971				ifTrueActivities, err := unmarshalBasicActivityArray(*v)
50972				if err != nil {
50973					return err
50974				}
50975				icatp.IfTrueActivities = &ifTrueActivities
50976			}
50977		case "ifFalseActivities":
50978			if v != nil {
50979				ifFalseActivities, err := unmarshalBasicActivityArray(*v)
50980				if err != nil {
50981					return err
50982				}
50983				icatp.IfFalseActivities = &ifFalseActivities
50984			}
50985		}
50986	}
50987
50988	return nil
50989}
50990
50991// ImpalaLinkedService impala server linked service.
50992type ImpalaLinkedService struct {
50993	// ImpalaLinkedServiceTypeProperties - Impala server linked service properties.
50994	*ImpalaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
50995	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
50996	AdditionalProperties map[string]interface{} `json:""`
50997	// ConnectVia - The integration runtime reference.
50998	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
50999	// Description - Linked service description.
51000	Description *string `json:"description,omitempty"`
51001	// Parameters - Parameters for linked service.
51002	Parameters map[string]*ParameterSpecification `json:"parameters"`
51003	// Annotations - List of tags that can be used for describing the Dataset.
51004	Annotations *[]interface{} `json:"annotations,omitempty"`
51005	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
51006	Type TypeBasicLinkedService `json:"type,omitempty"`
51007}
51008
51009// MarshalJSON is the custom marshaler for ImpalaLinkedService.
51010func (ils ImpalaLinkedService) MarshalJSON() ([]byte, error) {
51011	ils.Type = TypeImpala
51012	objectMap := make(map[string]interface{})
51013	if ils.ImpalaLinkedServiceTypeProperties != nil {
51014		objectMap["typeProperties"] = ils.ImpalaLinkedServiceTypeProperties
51015	}
51016	if ils.ConnectVia != nil {
51017		objectMap["connectVia"] = ils.ConnectVia
51018	}
51019	if ils.Description != nil {
51020		objectMap["description"] = ils.Description
51021	}
51022	if ils.Parameters != nil {
51023		objectMap["parameters"] = ils.Parameters
51024	}
51025	if ils.Annotations != nil {
51026		objectMap["annotations"] = ils.Annotations
51027	}
51028	if ils.Type != "" {
51029		objectMap["type"] = ils.Type
51030	}
51031	for k, v := range ils.AdditionalProperties {
51032		objectMap[k] = v
51033	}
51034	return json.Marshal(objectMap)
51035}
51036
51037// AsResponsysLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51038func (ils ImpalaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
51039	return nil, false
51040}
51041
51042// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51043func (ils ImpalaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
51044	return nil, false
51045}
51046
51047// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51048func (ils ImpalaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
51049	return nil, false
51050}
51051
51052// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51053func (ils ImpalaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
51054	return nil, false
51055}
51056
51057// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51058func (ils ImpalaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
51059	return nil, false
51060}
51061
51062// AsNetezzaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51063func (ils ImpalaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
51064	return nil, false
51065}
51066
51067// AsVerticaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51068func (ils ImpalaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
51069	return nil, false
51070}
51071
51072// AsZohoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51073func (ils ImpalaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
51074	return nil, false
51075}
51076
51077// AsXeroLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51078func (ils ImpalaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
51079	return nil, false
51080}
51081
51082// AsSquareLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51083func (ils ImpalaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
51084	return nil, false
51085}
51086
51087// AsSparkLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51088func (ils ImpalaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
51089	return nil, false
51090}
51091
51092// AsShopifyLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51093func (ils ImpalaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
51094	return nil, false
51095}
51096
51097// AsServiceNowLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51098func (ils ImpalaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
51099	return nil, false
51100}
51101
51102// AsQuickBooksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51103func (ils ImpalaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
51104	return nil, false
51105}
51106
51107// AsPrestoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51108func (ils ImpalaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
51109	return nil, false
51110}
51111
51112// AsPhoenixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51113func (ils ImpalaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
51114	return nil, false
51115}
51116
51117// AsPaypalLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51118func (ils ImpalaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
51119	return nil, false
51120}
51121
51122// AsMarketoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51123func (ils ImpalaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
51124	return nil, false
51125}
51126
51127// AsMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51128func (ils ImpalaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
51129	return nil, false
51130}
51131
51132// AsMagentoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51133func (ils ImpalaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
51134	return nil, false
51135}
51136
51137// AsJiraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51138func (ils ImpalaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
51139	return nil, false
51140}
51141
51142// AsImpalaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51143func (ils ImpalaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
51144	return &ils, true
51145}
51146
51147// AsHubspotLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51148func (ils ImpalaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
51149	return nil, false
51150}
51151
51152// AsHiveLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51153func (ils ImpalaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
51154	return nil, false
51155}
51156
51157// AsHBaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51158func (ils ImpalaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
51159	return nil, false
51160}
51161
51162// AsGreenplumLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51163func (ils ImpalaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
51164	return nil, false
51165}
51166
51167// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51168func (ils ImpalaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
51169	return nil, false
51170}
51171
51172// AsEloquaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51173func (ils ImpalaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
51174	return nil, false
51175}
51176
51177// AsDrillLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51178func (ils ImpalaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
51179	return nil, false
51180}
51181
51182// AsCouchbaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51183func (ils ImpalaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
51184	return nil, false
51185}
51186
51187// AsConcurLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51188func (ils ImpalaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
51189	return nil, false
51190}
51191
51192// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51193func (ils ImpalaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
51194	return nil, false
51195}
51196
51197// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51198func (ils ImpalaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
51199	return nil, false
51200}
51201
51202// AsSapHanaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51203func (ils ImpalaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
51204	return nil, false
51205}
51206
51207// AsSapBWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51208func (ils ImpalaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
51209	return nil, false
51210}
51211
51212// AsSftpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51213func (ils ImpalaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
51214	return nil, false
51215}
51216
51217// AsFtpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51218func (ils ImpalaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
51219	return nil, false
51220}
51221
51222// AsHTTPLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51223func (ils ImpalaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
51224	return nil, false
51225}
51226
51227// AsAzureSearchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51228func (ils ImpalaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
51229	return nil, false
51230}
51231
51232// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51233func (ils ImpalaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
51234	return nil, false
51235}
51236
51237// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51238func (ils ImpalaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
51239	return nil, false
51240}
51241
51242// AsAmazonS3LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51243func (ils ImpalaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
51244	return nil, false
51245}
51246
51247// AsSapEccLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51248func (ils ImpalaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
51249	return nil, false
51250}
51251
51252// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51253func (ils ImpalaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
51254	return nil, false
51255}
51256
51257// AsSalesforceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51258func (ils ImpalaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
51259	return nil, false
51260}
51261
51262// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51263func (ils ImpalaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
51264	return nil, false
51265}
51266
51267// AsMongoDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51268func (ils ImpalaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
51269	return nil, false
51270}
51271
51272// AsCassandraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51273func (ils ImpalaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
51274	return nil, false
51275}
51276
51277// AsWebLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51278func (ils ImpalaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
51279	return nil, false
51280}
51281
51282// AsODataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51283func (ils ImpalaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
51284	return nil, false
51285}
51286
51287// AsHdfsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51288func (ils ImpalaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
51289	return nil, false
51290}
51291
51292// AsOdbcLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51293func (ils ImpalaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
51294	return nil, false
51295}
51296
51297// AsAzureMLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51298func (ils ImpalaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
51299	return nil, false
51300}
51301
51302// AsTeradataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51303func (ils ImpalaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
51304	return nil, false
51305}
51306
51307// AsDb2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51308func (ils ImpalaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
51309	return nil, false
51310}
51311
51312// AsSybaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51313func (ils ImpalaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
51314	return nil, false
51315}
51316
51317// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51318func (ils ImpalaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
51319	return nil, false
51320}
51321
51322// AsMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51323func (ils ImpalaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
51324	return nil, false
51325}
51326
51327// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51328func (ils ImpalaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
51329	return nil, false
51330}
51331
51332// AsOracleLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51333func (ils ImpalaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
51334	return nil, false
51335}
51336
51337// AsFileServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51338func (ils ImpalaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
51339	return nil, false
51340}
51341
51342// AsHDInsightLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51343func (ils ImpalaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
51344	return nil, false
51345}
51346
51347// AsDynamicsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51348func (ils ImpalaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
51349	return nil, false
51350}
51351
51352// AsCosmosDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51353func (ils ImpalaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
51354	return nil, false
51355}
51356
51357// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51358func (ils ImpalaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
51359	return nil, false
51360}
51361
51362// AsAzureBatchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51363func (ils ImpalaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
51364	return nil, false
51365}
51366
51367// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51368func (ils ImpalaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
51369	return nil, false
51370}
51371
51372// AsSQLServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51373func (ils ImpalaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
51374	return nil, false
51375}
51376
51377// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51378func (ils ImpalaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
51379	return nil, false
51380}
51381
51382// AsAzureStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51383func (ils ImpalaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
51384	return nil, false
51385}
51386
51387// AsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51388func (ils ImpalaLinkedService) AsLinkedService() (*LinkedService, bool) {
51389	return nil, false
51390}
51391
51392// AsBasicLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51393func (ils ImpalaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
51394	return &ils, true
51395}
51396
51397// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedService struct.
51398func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error {
51399	var m map[string]*json.RawMessage
51400	err := json.Unmarshal(body, &m)
51401	if err != nil {
51402		return err
51403	}
51404	for k, v := range m {
51405		switch k {
51406		case "typeProperties":
51407			if v != nil {
51408				var impalaLinkedServiceTypeProperties ImpalaLinkedServiceTypeProperties
51409				err = json.Unmarshal(*v, &impalaLinkedServiceTypeProperties)
51410				if err != nil {
51411					return err
51412				}
51413				ils.ImpalaLinkedServiceTypeProperties = &impalaLinkedServiceTypeProperties
51414			}
51415		default:
51416			if v != nil {
51417				var additionalProperties interface{}
51418				err = json.Unmarshal(*v, &additionalProperties)
51419				if err != nil {
51420					return err
51421				}
51422				if ils.AdditionalProperties == nil {
51423					ils.AdditionalProperties = make(map[string]interface{})
51424				}
51425				ils.AdditionalProperties[k] = additionalProperties
51426			}
51427		case "connectVia":
51428			if v != nil {
51429				var connectVia IntegrationRuntimeReference
51430				err = json.Unmarshal(*v, &connectVia)
51431				if err != nil {
51432					return err
51433				}
51434				ils.ConnectVia = &connectVia
51435			}
51436		case "description":
51437			if v != nil {
51438				var description string
51439				err = json.Unmarshal(*v, &description)
51440				if err != nil {
51441					return err
51442				}
51443				ils.Description = &description
51444			}
51445		case "parameters":
51446			if v != nil {
51447				var parameters map[string]*ParameterSpecification
51448				err = json.Unmarshal(*v, &parameters)
51449				if err != nil {
51450					return err
51451				}
51452				ils.Parameters = parameters
51453			}
51454		case "annotations":
51455			if v != nil {
51456				var annotations []interface{}
51457				err = json.Unmarshal(*v, &annotations)
51458				if err != nil {
51459					return err
51460				}
51461				ils.Annotations = &annotations
51462			}
51463		case "type":
51464			if v != nil {
51465				var typeVar TypeBasicLinkedService
51466				err = json.Unmarshal(*v, &typeVar)
51467				if err != nil {
51468					return err
51469				}
51470				ils.Type = typeVar
51471			}
51472		}
51473	}
51474
51475	return nil
51476}
51477
51478// ImpalaLinkedServiceTypeProperties impala server linked service properties.
51479type ImpalaLinkedServiceTypeProperties struct {
51480	// Host - The IP address or host name of the Impala server. (i.e. 192.168.222.160)
51481	Host interface{} `json:"host,omitempty"`
51482	// Port - The TCP port that the Impala server uses to listen for client connections. The default value is 21050.
51483	Port interface{} `json:"port,omitempty"`
51484	// AuthenticationType - The authentication type to use. Possible values include: 'ImpalaAuthenticationTypeAnonymous', 'ImpalaAuthenticationTypeSASLUsername', 'ImpalaAuthenticationTypeUsernameAndPassword'
51485	AuthenticationType ImpalaAuthenticationType `json:"authenticationType,omitempty"`
51486	// Username - The user name used to access the Impala server. The default value is anonymous when using SASLUsername.
51487	Username interface{} `json:"username,omitempty"`
51488	// Password - The password corresponding to the user name when using UsernameAndPassword.
51489	Password BasicSecretBase `json:"password,omitempty"`
51490	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
51491	EnableSsl interface{} `json:"enableSsl,omitempty"`
51492	// TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
51493	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
51494	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
51495	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
51496	// AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
51497	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
51498	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
51499	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
51500	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
51501	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
51502}
51503
51504// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedServiceTypeProperties struct.
51505func (ilstp *ImpalaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
51506	var m map[string]*json.RawMessage
51507	err := json.Unmarshal(body, &m)
51508	if err != nil {
51509		return err
51510	}
51511	for k, v := range m {
51512		switch k {
51513		case "host":
51514			if v != nil {
51515				var host interface{}
51516				err = json.Unmarshal(*v, &host)
51517				if err != nil {
51518					return err
51519				}
51520				ilstp.Host = host
51521			}
51522		case "port":
51523			if v != nil {
51524				var port interface{}
51525				err = json.Unmarshal(*v, &port)
51526				if err != nil {
51527					return err
51528				}
51529				ilstp.Port = port
51530			}
51531		case "authenticationType":
51532			if v != nil {
51533				var authenticationType ImpalaAuthenticationType
51534				err = json.Unmarshal(*v, &authenticationType)
51535				if err != nil {
51536					return err
51537				}
51538				ilstp.AuthenticationType = authenticationType
51539			}
51540		case "username":
51541			if v != nil {
51542				var username interface{}
51543				err = json.Unmarshal(*v, &username)
51544				if err != nil {
51545					return err
51546				}
51547				ilstp.Username = username
51548			}
51549		case "password":
51550			if v != nil {
51551				password, err := unmarshalBasicSecretBase(*v)
51552				if err != nil {
51553					return err
51554				}
51555				ilstp.Password = password
51556			}
51557		case "enableSsl":
51558			if v != nil {
51559				var enableSsl interface{}
51560				err = json.Unmarshal(*v, &enableSsl)
51561				if err != nil {
51562					return err
51563				}
51564				ilstp.EnableSsl = enableSsl
51565			}
51566		case "trustedCertPath":
51567			if v != nil {
51568				var trustedCertPath interface{}
51569				err = json.Unmarshal(*v, &trustedCertPath)
51570				if err != nil {
51571					return err
51572				}
51573				ilstp.TrustedCertPath = trustedCertPath
51574			}
51575		case "useSystemTrustStore":
51576			if v != nil {
51577				var useSystemTrustStore interface{}
51578				err = json.Unmarshal(*v, &useSystemTrustStore)
51579				if err != nil {
51580					return err
51581				}
51582				ilstp.UseSystemTrustStore = useSystemTrustStore
51583			}
51584		case "allowHostNameCNMismatch":
51585			if v != nil {
51586				var allowHostNameCNMismatch interface{}
51587				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
51588				if err != nil {
51589					return err
51590				}
51591				ilstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
51592			}
51593		case "allowSelfSignedServerCert":
51594			if v != nil {
51595				var allowSelfSignedServerCert interface{}
51596				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
51597				if err != nil {
51598					return err
51599				}
51600				ilstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
51601			}
51602		case "encryptedCredential":
51603			if v != nil {
51604				var encryptedCredential interface{}
51605				err = json.Unmarshal(*v, &encryptedCredential)
51606				if err != nil {
51607					return err
51608				}
51609				ilstp.EncryptedCredential = encryptedCredential
51610			}
51611		}
51612	}
51613
51614	return nil
51615}
51616
51617// ImpalaObjectDataset impala server dataset.
51618type ImpalaObjectDataset struct {
51619	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
51620	AdditionalProperties map[string]interface{} `json:""`
51621	// Description - Dataset description.
51622	Description *string `json:"description,omitempty"`
51623	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
51624	Structure interface{} `json:"structure,omitempty"`
51625	// LinkedServiceName - Linked service reference.
51626	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
51627	// Parameters - Parameters for dataset.
51628	Parameters map[string]*ParameterSpecification `json:"parameters"`
51629	// Annotations - List of tags that can be used for describing the Dataset.
51630	Annotations *[]interface{} `json:"annotations,omitempty"`
51631	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
51632	Type TypeBasicDataset `json:"type,omitempty"`
51633}
51634
51635// MarshalJSON is the custom marshaler for ImpalaObjectDataset.
51636func (iod ImpalaObjectDataset) MarshalJSON() ([]byte, error) {
51637	iod.Type = TypeImpalaObject
51638	objectMap := make(map[string]interface{})
51639	if iod.Description != nil {
51640		objectMap["description"] = iod.Description
51641	}
51642	if iod.Structure != nil {
51643		objectMap["structure"] = iod.Structure
51644	}
51645	if iod.LinkedServiceName != nil {
51646		objectMap["linkedServiceName"] = iod.LinkedServiceName
51647	}
51648	if iod.Parameters != nil {
51649		objectMap["parameters"] = iod.Parameters
51650	}
51651	if iod.Annotations != nil {
51652		objectMap["annotations"] = iod.Annotations
51653	}
51654	if iod.Type != "" {
51655		objectMap["type"] = iod.Type
51656	}
51657	for k, v := range iod.AdditionalProperties {
51658		objectMap[k] = v
51659	}
51660	return json.Marshal(objectMap)
51661}
51662
51663// AsResponsysObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51664func (iod ImpalaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
51665	return nil, false
51666}
51667
51668// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51669func (iod ImpalaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
51670	return nil, false
51671}
51672
51673// AsVerticaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51674func (iod ImpalaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
51675	return nil, false
51676}
51677
51678// AsNetezzaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51679func (iod ImpalaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
51680	return nil, false
51681}
51682
51683// AsZohoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51684func (iod ImpalaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
51685	return nil, false
51686}
51687
51688// AsXeroObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51689func (iod ImpalaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
51690	return nil, false
51691}
51692
51693// AsSquareObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51694func (iod ImpalaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
51695	return nil, false
51696}
51697
51698// AsSparkObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51699func (iod ImpalaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
51700	return nil, false
51701}
51702
51703// AsShopifyObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51704func (iod ImpalaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
51705	return nil, false
51706}
51707
51708// AsServiceNowObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51709func (iod ImpalaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
51710	return nil, false
51711}
51712
51713// AsQuickBooksObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51714func (iod ImpalaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
51715	return nil, false
51716}
51717
51718// AsPrestoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51719func (iod ImpalaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
51720	return nil, false
51721}
51722
51723// AsPhoenixObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51724func (iod ImpalaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
51725	return nil, false
51726}
51727
51728// AsPaypalObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51729func (iod ImpalaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
51730	return nil, false
51731}
51732
51733// AsMarketoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51734func (iod ImpalaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
51735	return nil, false
51736}
51737
51738// AsMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51739func (iod ImpalaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
51740	return nil, false
51741}
51742
51743// AsMagentoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51744func (iod ImpalaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
51745	return nil, false
51746}
51747
51748// AsJiraObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51749func (iod ImpalaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
51750	return nil, false
51751}
51752
51753// AsImpalaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51754func (iod ImpalaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
51755	return &iod, true
51756}
51757
51758// AsHubspotObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51759func (iod ImpalaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
51760	return nil, false
51761}
51762
51763// AsHiveObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51764func (iod ImpalaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
51765	return nil, false
51766}
51767
51768// AsHBaseObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51769func (iod ImpalaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
51770	return nil, false
51771}
51772
51773// AsGreenplumTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51774func (iod ImpalaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
51775	return nil, false
51776}
51777
51778// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51779func (iod ImpalaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
51780	return nil, false
51781}
51782
51783// AsEloquaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51784func (iod ImpalaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
51785	return nil, false
51786}
51787
51788// AsDrillTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51789func (iod ImpalaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
51790	return nil, false
51791}
51792
51793// AsCouchbaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51794func (iod ImpalaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
51795	return nil, false
51796}
51797
51798// AsConcurObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51799func (iod ImpalaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
51800	return nil, false
51801}
51802
51803// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51804func (iod ImpalaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
51805	return nil, false
51806}
51807
51808// AsAmazonMWSObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51809func (iod ImpalaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
51810	return nil, false
51811}
51812
51813// AsHTTPDataset is the BasicDataset implementation for ImpalaObjectDataset.
51814func (iod ImpalaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
51815	return nil, false
51816}
51817
51818// AsAzureSearchIndexDataset is the BasicDataset implementation for ImpalaObjectDataset.
51819func (iod ImpalaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
51820	return nil, false
51821}
51822
51823// AsWebTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51824func (iod ImpalaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
51825	return nil, false
51826}
51827
51828// AsSQLServerTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51829func (iod ImpalaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
51830	return nil, false
51831}
51832
51833// AsSapEccResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
51834func (iod ImpalaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
51835	return nil, false
51836}
51837
51838// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
51839func (iod ImpalaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
51840	return nil, false
51841}
51842
51843// AsSalesforceObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51844func (iod ImpalaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
51845	return nil, false
51846}
51847
51848// AsRelationalTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51849func (iod ImpalaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
51850	return nil, false
51851}
51852
51853// AsAzureMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51854func (iod ImpalaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
51855	return nil, false
51856}
51857
51858// AsOracleTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51859func (iod ImpalaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
51860	return nil, false
51861}
51862
51863// AsODataResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
51864func (iod ImpalaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
51865	return nil, false
51866}
51867
51868// AsMongoDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
51869func (iod ImpalaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
51870	return nil, false
51871}
51872
51873// AsFileShareDataset is the BasicDataset implementation for ImpalaObjectDataset.
51874func (iod ImpalaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
51875	return nil, false
51876}
51877
51878// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ImpalaObjectDataset.
51879func (iod ImpalaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
51880	return nil, false
51881}
51882
51883// AsDynamicsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset.
51884func (iod ImpalaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
51885	return nil, false
51886}
51887
51888// AsDocumentDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
51889func (iod ImpalaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
51890	return nil, false
51891}
51892
51893// AsCustomDataset is the BasicDataset implementation for ImpalaObjectDataset.
51894func (iod ImpalaObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
51895	return nil, false
51896}
51897
51898// AsCassandraTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51899func (iod ImpalaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
51900	return nil, false
51901}
51902
51903// AsAzureSQLDWTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51904func (iod ImpalaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
51905	return nil, false
51906}
51907
51908// AsAzureSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51909func (iod ImpalaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
51910	return nil, false
51911}
51912
51913// AsAzureTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51914func (iod ImpalaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
51915	return nil, false
51916}
51917
51918// AsAzureBlobDataset is the BasicDataset implementation for ImpalaObjectDataset.
51919func (iod ImpalaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
51920	return nil, false
51921}
51922
51923// AsAmazonS3Dataset is the BasicDataset implementation for ImpalaObjectDataset.
51924func (iod ImpalaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
51925	return nil, false
51926}
51927
51928// AsDataset is the BasicDataset implementation for ImpalaObjectDataset.
51929func (iod ImpalaObjectDataset) AsDataset() (*Dataset, bool) {
51930	return nil, false
51931}
51932
51933// AsBasicDataset is the BasicDataset implementation for ImpalaObjectDataset.
51934func (iod ImpalaObjectDataset) AsBasicDataset() (BasicDataset, bool) {
51935	return &iod, true
51936}
51937
51938// UnmarshalJSON is the custom unmarshaler for ImpalaObjectDataset struct.
51939func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error {
51940	var m map[string]*json.RawMessage
51941	err := json.Unmarshal(body, &m)
51942	if err != nil {
51943		return err
51944	}
51945	for k, v := range m {
51946		switch k {
51947		default:
51948			if v != nil {
51949				var additionalProperties interface{}
51950				err = json.Unmarshal(*v, &additionalProperties)
51951				if err != nil {
51952					return err
51953				}
51954				if iod.AdditionalProperties == nil {
51955					iod.AdditionalProperties = make(map[string]interface{})
51956				}
51957				iod.AdditionalProperties[k] = additionalProperties
51958			}
51959		case "description":
51960			if v != nil {
51961				var description string
51962				err = json.Unmarshal(*v, &description)
51963				if err != nil {
51964					return err
51965				}
51966				iod.Description = &description
51967			}
51968		case "structure":
51969			if v != nil {
51970				var structure interface{}
51971				err = json.Unmarshal(*v, &structure)
51972				if err != nil {
51973					return err
51974				}
51975				iod.Structure = structure
51976			}
51977		case "linkedServiceName":
51978			if v != nil {
51979				var linkedServiceName LinkedServiceReference
51980				err = json.Unmarshal(*v, &linkedServiceName)
51981				if err != nil {
51982					return err
51983				}
51984				iod.LinkedServiceName = &linkedServiceName
51985			}
51986		case "parameters":
51987			if v != nil {
51988				var parameters map[string]*ParameterSpecification
51989				err = json.Unmarshal(*v, &parameters)
51990				if err != nil {
51991					return err
51992				}
51993				iod.Parameters = parameters
51994			}
51995		case "annotations":
51996			if v != nil {
51997				var annotations []interface{}
51998				err = json.Unmarshal(*v, &annotations)
51999				if err != nil {
52000					return err
52001				}
52002				iod.Annotations = &annotations
52003			}
52004		case "type":
52005			if v != nil {
52006				var typeVar TypeBasicDataset
52007				err = json.Unmarshal(*v, &typeVar)
52008				if err != nil {
52009					return err
52010				}
52011				iod.Type = typeVar
52012			}
52013		}
52014	}
52015
52016	return nil
52017}
52018
52019// ImpalaSource a copy activity Impala server source.
52020type ImpalaSource struct {
52021	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
52022	Query interface{} `json:"query,omitempty"`
52023	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52024	AdditionalProperties map[string]interface{} `json:""`
52025	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
52026	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
52027	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
52028	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
52029	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
52030	Type TypeBasicCopySource `json:"type,omitempty"`
52031}
52032
52033// MarshalJSON is the custom marshaler for ImpalaSource.
52034func (is ImpalaSource) MarshalJSON() ([]byte, error) {
52035	is.Type = TypeImpalaSource
52036	objectMap := make(map[string]interface{})
52037	if is.Query != nil {
52038		objectMap["query"] = is.Query
52039	}
52040	if is.SourceRetryCount != nil {
52041		objectMap["sourceRetryCount"] = is.SourceRetryCount
52042	}
52043	if is.SourceRetryWait != nil {
52044		objectMap["sourceRetryWait"] = is.SourceRetryWait
52045	}
52046	if is.Type != "" {
52047		objectMap["type"] = is.Type
52048	}
52049	for k, v := range is.AdditionalProperties {
52050		objectMap[k] = v
52051	}
52052	return json.Marshal(objectMap)
52053}
52054
52055// AsAmazonRedshiftSource is the BasicCopySource implementation for ImpalaSource.
52056func (is ImpalaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
52057	return nil, false
52058}
52059
52060// AsResponsysSource is the BasicCopySource implementation for ImpalaSource.
52061func (is ImpalaSource) AsResponsysSource() (*ResponsysSource, bool) {
52062	return nil, false
52063}
52064
52065// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ImpalaSource.
52066func (is ImpalaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
52067	return nil, false
52068}
52069
52070// AsVerticaSource is the BasicCopySource implementation for ImpalaSource.
52071func (is ImpalaSource) AsVerticaSource() (*VerticaSource, bool) {
52072	return nil, false
52073}
52074
52075// AsNetezzaSource is the BasicCopySource implementation for ImpalaSource.
52076func (is ImpalaSource) AsNetezzaSource() (*NetezzaSource, bool) {
52077	return nil, false
52078}
52079
52080// AsZohoSource is the BasicCopySource implementation for ImpalaSource.
52081func (is ImpalaSource) AsZohoSource() (*ZohoSource, bool) {
52082	return nil, false
52083}
52084
52085// AsXeroSource is the BasicCopySource implementation for ImpalaSource.
52086func (is ImpalaSource) AsXeroSource() (*XeroSource, bool) {
52087	return nil, false
52088}
52089
52090// AsSquareSource is the BasicCopySource implementation for ImpalaSource.
52091func (is ImpalaSource) AsSquareSource() (*SquareSource, bool) {
52092	return nil, false
52093}
52094
52095// AsSparkSource is the BasicCopySource implementation for ImpalaSource.
52096func (is ImpalaSource) AsSparkSource() (*SparkSource, bool) {
52097	return nil, false
52098}
52099
52100// AsShopifySource is the BasicCopySource implementation for ImpalaSource.
52101func (is ImpalaSource) AsShopifySource() (*ShopifySource, bool) {
52102	return nil, false
52103}
52104
52105// AsServiceNowSource is the BasicCopySource implementation for ImpalaSource.
52106func (is ImpalaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
52107	return nil, false
52108}
52109
52110// AsQuickBooksSource is the BasicCopySource implementation for ImpalaSource.
52111func (is ImpalaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
52112	return nil, false
52113}
52114
52115// AsPrestoSource is the BasicCopySource implementation for ImpalaSource.
52116func (is ImpalaSource) AsPrestoSource() (*PrestoSource, bool) {
52117	return nil, false
52118}
52119
52120// AsPhoenixSource is the BasicCopySource implementation for ImpalaSource.
52121func (is ImpalaSource) AsPhoenixSource() (*PhoenixSource, bool) {
52122	return nil, false
52123}
52124
52125// AsPaypalSource is the BasicCopySource implementation for ImpalaSource.
52126func (is ImpalaSource) AsPaypalSource() (*PaypalSource, bool) {
52127	return nil, false
52128}
52129
52130// AsMarketoSource is the BasicCopySource implementation for ImpalaSource.
52131func (is ImpalaSource) AsMarketoSource() (*MarketoSource, bool) {
52132	return nil, false
52133}
52134
52135// AsMariaDBSource is the BasicCopySource implementation for ImpalaSource.
52136func (is ImpalaSource) AsMariaDBSource() (*MariaDBSource, bool) {
52137	return nil, false
52138}
52139
52140// AsMagentoSource is the BasicCopySource implementation for ImpalaSource.
52141func (is ImpalaSource) AsMagentoSource() (*MagentoSource, bool) {
52142	return nil, false
52143}
52144
52145// AsJiraSource is the BasicCopySource implementation for ImpalaSource.
52146func (is ImpalaSource) AsJiraSource() (*JiraSource, bool) {
52147	return nil, false
52148}
52149
52150// AsImpalaSource is the BasicCopySource implementation for ImpalaSource.
52151func (is ImpalaSource) AsImpalaSource() (*ImpalaSource, bool) {
52152	return &is, true
52153}
52154
52155// AsHubspotSource is the BasicCopySource implementation for ImpalaSource.
52156func (is ImpalaSource) AsHubspotSource() (*HubspotSource, bool) {
52157	return nil, false
52158}
52159
52160// AsHiveSource is the BasicCopySource implementation for ImpalaSource.
52161func (is ImpalaSource) AsHiveSource() (*HiveSource, bool) {
52162	return nil, false
52163}
52164
52165// AsHBaseSource is the BasicCopySource implementation for ImpalaSource.
52166func (is ImpalaSource) AsHBaseSource() (*HBaseSource, bool) {
52167	return nil, false
52168}
52169
52170// AsGreenplumSource is the BasicCopySource implementation for ImpalaSource.
52171func (is ImpalaSource) AsGreenplumSource() (*GreenplumSource, bool) {
52172	return nil, false
52173}
52174
52175// AsGoogleBigQuerySource is the BasicCopySource implementation for ImpalaSource.
52176func (is ImpalaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
52177	return nil, false
52178}
52179
52180// AsEloquaSource is the BasicCopySource implementation for ImpalaSource.
52181func (is ImpalaSource) AsEloquaSource() (*EloquaSource, bool) {
52182	return nil, false
52183}
52184
52185// AsDrillSource is the BasicCopySource implementation for ImpalaSource.
52186func (is ImpalaSource) AsDrillSource() (*DrillSource, bool) {
52187	return nil, false
52188}
52189
52190// AsCouchbaseSource is the BasicCopySource implementation for ImpalaSource.
52191func (is ImpalaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
52192	return nil, false
52193}
52194
52195// AsConcurSource is the BasicCopySource implementation for ImpalaSource.
52196func (is ImpalaSource) AsConcurSource() (*ConcurSource, bool) {
52197	return nil, false
52198}
52199
52200// AsAzurePostgreSQLSource is the BasicCopySource implementation for ImpalaSource.
52201func (is ImpalaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
52202	return nil, false
52203}
52204
52205// AsAmazonMWSSource is the BasicCopySource implementation for ImpalaSource.
52206func (is ImpalaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
52207	return nil, false
52208}
52209
52210// AsHTTPSource is the BasicCopySource implementation for ImpalaSource.
52211func (is ImpalaSource) AsHTTPSource() (*HTTPSource, bool) {
52212	return nil, false
52213}
52214
52215// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ImpalaSource.
52216func (is ImpalaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
52217	return nil, false
52218}
52219
52220// AsMongoDbSource is the BasicCopySource implementation for ImpalaSource.
52221func (is ImpalaSource) AsMongoDbSource() (*MongoDbSource, bool) {
52222	return nil, false
52223}
52224
52225// AsCassandraSource is the BasicCopySource implementation for ImpalaSource.
52226func (is ImpalaSource) AsCassandraSource() (*CassandraSource, bool) {
52227	return nil, false
52228}
52229
52230// AsWebSource is the BasicCopySource implementation for ImpalaSource.
52231func (is ImpalaSource) AsWebSource() (*WebSource, bool) {
52232	return nil, false
52233}
52234
52235// AsOracleSource is the BasicCopySource implementation for ImpalaSource.
52236func (is ImpalaSource) AsOracleSource() (*OracleSource, bool) {
52237	return nil, false
52238}
52239
52240// AsAzureMySQLSource is the BasicCopySource implementation for ImpalaSource.
52241func (is ImpalaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
52242	return nil, false
52243}
52244
52245// AsHdfsSource is the BasicCopySource implementation for ImpalaSource.
52246func (is ImpalaSource) AsHdfsSource() (*HdfsSource, bool) {
52247	return nil, false
52248}
52249
52250// AsFileSystemSource is the BasicCopySource implementation for ImpalaSource.
52251func (is ImpalaSource) AsFileSystemSource() (*FileSystemSource, bool) {
52252	return nil, false
52253}
52254
52255// AsSQLDWSource is the BasicCopySource implementation for ImpalaSource.
52256func (is ImpalaSource) AsSQLDWSource() (*SQLDWSource, bool) {
52257	return nil, false
52258}
52259
52260// AsSQLSource is the BasicCopySource implementation for ImpalaSource.
52261func (is ImpalaSource) AsSQLSource() (*SQLSource, bool) {
52262	return nil, false
52263}
52264
52265// AsSapEccSource is the BasicCopySource implementation for ImpalaSource.
52266func (is ImpalaSource) AsSapEccSource() (*SapEccSource, bool) {
52267	return nil, false
52268}
52269
52270// AsSapCloudForCustomerSource is the BasicCopySource implementation for ImpalaSource.
52271func (is ImpalaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
52272	return nil, false
52273}
52274
52275// AsSalesforceSource is the BasicCopySource implementation for ImpalaSource.
52276func (is ImpalaSource) AsSalesforceSource() (*SalesforceSource, bool) {
52277	return nil, false
52278}
52279
52280// AsRelationalSource is the BasicCopySource implementation for ImpalaSource.
52281func (is ImpalaSource) AsRelationalSource() (*RelationalSource, bool) {
52282	return nil, false
52283}
52284
52285// AsDynamicsSource is the BasicCopySource implementation for ImpalaSource.
52286func (is ImpalaSource) AsDynamicsSource() (*DynamicsSource, bool) {
52287	return nil, false
52288}
52289
52290// AsDocumentDbCollectionSource is the BasicCopySource implementation for ImpalaSource.
52291func (is ImpalaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
52292	return nil, false
52293}
52294
52295// AsBlobSource is the BasicCopySource implementation for ImpalaSource.
52296func (is ImpalaSource) AsBlobSource() (*BlobSource, bool) {
52297	return nil, false
52298}
52299
52300// AsAzureTableSource is the BasicCopySource implementation for ImpalaSource.
52301func (is ImpalaSource) AsAzureTableSource() (*AzureTableSource, bool) {
52302	return nil, false
52303}
52304
52305// AsCopySource is the BasicCopySource implementation for ImpalaSource.
52306func (is ImpalaSource) AsCopySource() (*CopySource, bool) {
52307	return nil, false
52308}
52309
52310// AsBasicCopySource is the BasicCopySource implementation for ImpalaSource.
52311func (is ImpalaSource) AsBasicCopySource() (BasicCopySource, bool) {
52312	return &is, true
52313}
52314
52315// UnmarshalJSON is the custom unmarshaler for ImpalaSource struct.
52316func (is *ImpalaSource) UnmarshalJSON(body []byte) error {
52317	var m map[string]*json.RawMessage
52318	err := json.Unmarshal(body, &m)
52319	if err != nil {
52320		return err
52321	}
52322	for k, v := range m {
52323		switch k {
52324		case "query":
52325			if v != nil {
52326				var query interface{}
52327				err = json.Unmarshal(*v, &query)
52328				if err != nil {
52329					return err
52330				}
52331				is.Query = query
52332			}
52333		default:
52334			if v != nil {
52335				var additionalProperties interface{}
52336				err = json.Unmarshal(*v, &additionalProperties)
52337				if err != nil {
52338					return err
52339				}
52340				if is.AdditionalProperties == nil {
52341					is.AdditionalProperties = make(map[string]interface{})
52342				}
52343				is.AdditionalProperties[k] = additionalProperties
52344			}
52345		case "sourceRetryCount":
52346			if v != nil {
52347				var sourceRetryCount interface{}
52348				err = json.Unmarshal(*v, &sourceRetryCount)
52349				if err != nil {
52350					return err
52351				}
52352				is.SourceRetryCount = sourceRetryCount
52353			}
52354		case "sourceRetryWait":
52355			if v != nil {
52356				var sourceRetryWait interface{}
52357				err = json.Unmarshal(*v, &sourceRetryWait)
52358				if err != nil {
52359					return err
52360				}
52361				is.SourceRetryWait = sourceRetryWait
52362			}
52363		case "type":
52364			if v != nil {
52365				var typeVar TypeBasicCopySource
52366				err = json.Unmarshal(*v, &typeVar)
52367				if err != nil {
52368					return err
52369				}
52370				is.Type = typeVar
52371			}
52372		}
52373	}
52374
52375	return nil
52376}
52377
52378// BasicIntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities.
52379type BasicIntegrationRuntime interface {
52380	AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool)
52381	AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool)
52382	AsIntegrationRuntime() (*IntegrationRuntime, bool)
52383}
52384
52385// IntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities.
52386type IntegrationRuntime struct {
52387	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52388	AdditionalProperties map[string]interface{} `json:""`
52389	// Description - Integration runtime description.
52390	Description *string `json:"description,omitempty"`
52391	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
52392	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
52393}
52394
52395func unmarshalBasicIntegrationRuntime(body []byte) (BasicIntegrationRuntime, error) {
52396	var m map[string]interface{}
52397	err := json.Unmarshal(body, &m)
52398	if err != nil {
52399		return nil, err
52400	}
52401
52402	switch m["type"] {
52403	case string(TypeSelfHosted):
52404		var shir SelfHostedIntegrationRuntime
52405		err := json.Unmarshal(body, &shir)
52406		return shir, err
52407	case string(TypeManaged):
52408		var mir ManagedIntegrationRuntime
52409		err := json.Unmarshal(body, &mir)
52410		return mir, err
52411	default:
52412		var ir IntegrationRuntime
52413		err := json.Unmarshal(body, &ir)
52414		return ir, err
52415	}
52416}
52417func unmarshalBasicIntegrationRuntimeArray(body []byte) ([]BasicIntegrationRuntime, error) {
52418	var rawMessages []*json.RawMessage
52419	err := json.Unmarshal(body, &rawMessages)
52420	if err != nil {
52421		return nil, err
52422	}
52423
52424	irArray := make([]BasicIntegrationRuntime, len(rawMessages))
52425
52426	for index, rawMessage := range rawMessages {
52427		ir, err := unmarshalBasicIntegrationRuntime(*rawMessage)
52428		if err != nil {
52429			return nil, err
52430		}
52431		irArray[index] = ir
52432	}
52433	return irArray, nil
52434}
52435
52436// MarshalJSON is the custom marshaler for IntegrationRuntime.
52437func (ir IntegrationRuntime) MarshalJSON() ([]byte, error) {
52438	ir.Type = TypeIntegrationRuntime
52439	objectMap := make(map[string]interface{})
52440	if ir.Description != nil {
52441		objectMap["description"] = ir.Description
52442	}
52443	if ir.Type != "" {
52444		objectMap["type"] = ir.Type
52445	}
52446	for k, v := range ir.AdditionalProperties {
52447		objectMap[k] = v
52448	}
52449	return json.Marshal(objectMap)
52450}
52451
52452// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
52453func (ir IntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
52454	return nil, false
52455}
52456
52457// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
52458func (ir IntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
52459	return nil, false
52460}
52461
52462// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
52463func (ir IntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
52464	return &ir, true
52465}
52466
52467// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
52468func (ir IntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
52469	return &ir, true
52470}
52471
52472// UnmarshalJSON is the custom unmarshaler for IntegrationRuntime struct.
52473func (ir *IntegrationRuntime) UnmarshalJSON(body []byte) error {
52474	var m map[string]*json.RawMessage
52475	err := json.Unmarshal(body, &m)
52476	if err != nil {
52477		return err
52478	}
52479	for k, v := range m {
52480		switch k {
52481		default:
52482			if v != nil {
52483				var additionalProperties interface{}
52484				err = json.Unmarshal(*v, &additionalProperties)
52485				if err != nil {
52486					return err
52487				}
52488				if ir.AdditionalProperties == nil {
52489					ir.AdditionalProperties = make(map[string]interface{})
52490				}
52491				ir.AdditionalProperties[k] = additionalProperties
52492			}
52493		case "description":
52494			if v != nil {
52495				var description string
52496				err = json.Unmarshal(*v, &description)
52497				if err != nil {
52498					return err
52499				}
52500				ir.Description = &description
52501			}
52502		case "type":
52503			if v != nil {
52504				var typeVar TypeBasicIntegrationRuntime
52505				err = json.Unmarshal(*v, &typeVar)
52506				if err != nil {
52507					return err
52508				}
52509				ir.Type = typeVar
52510			}
52511		}
52512	}
52513
52514	return nil
52515}
52516
52517// IntegrationRuntimeAuthKeys the integration runtime authentication keys.
52518type IntegrationRuntimeAuthKeys struct {
52519	autorest.Response `json:"-"`
52520	// AuthKey1 - The primary integration runtime authentication key.
52521	AuthKey1 *string `json:"authKey1,omitempty"`
52522	// AuthKey2 - The secondary integration runtime authentication key.
52523	AuthKey2 *string `json:"authKey2,omitempty"`
52524}
52525
52526// IntegrationRuntimeComputeProperties the compute resource properties for managed integration runtime.
52527type IntegrationRuntimeComputeProperties struct {
52528	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52529	AdditionalProperties map[string]interface{} `json:""`
52530	// Location - The location for managed integration runtime. The supported regions could be found on https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities
52531	Location *string `json:"location,omitempty"`
52532	// NodeSize - The node size requirement to managed integration runtime.
52533	NodeSize *string `json:"nodeSize,omitempty"`
52534	// NumberOfNodes - The required number of nodes for managed integration runtime.
52535	NumberOfNodes *int32 `json:"numberOfNodes,omitempty"`
52536	// MaxParallelExecutionsPerNode - Maximum parallel executions count per node for managed integration runtime.
52537	MaxParallelExecutionsPerNode *int32 `json:"maxParallelExecutionsPerNode,omitempty"`
52538	// VNetProperties - VNet properties for managed integration runtime.
52539	VNetProperties *IntegrationRuntimeVNetProperties `json:"vNetProperties,omitempty"`
52540}
52541
52542// MarshalJSON is the custom marshaler for IntegrationRuntimeComputeProperties.
52543func (ircp IntegrationRuntimeComputeProperties) MarshalJSON() ([]byte, error) {
52544	objectMap := make(map[string]interface{})
52545	if ircp.Location != nil {
52546		objectMap["location"] = ircp.Location
52547	}
52548	if ircp.NodeSize != nil {
52549		objectMap["nodeSize"] = ircp.NodeSize
52550	}
52551	if ircp.NumberOfNodes != nil {
52552		objectMap["numberOfNodes"] = ircp.NumberOfNodes
52553	}
52554	if ircp.MaxParallelExecutionsPerNode != nil {
52555		objectMap["maxParallelExecutionsPerNode"] = ircp.MaxParallelExecutionsPerNode
52556	}
52557	if ircp.VNetProperties != nil {
52558		objectMap["vNetProperties"] = ircp.VNetProperties
52559	}
52560	for k, v := range ircp.AdditionalProperties {
52561		objectMap[k] = v
52562	}
52563	return json.Marshal(objectMap)
52564}
52565
52566// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeComputeProperties struct.
52567func (ircp *IntegrationRuntimeComputeProperties) UnmarshalJSON(body []byte) error {
52568	var m map[string]*json.RawMessage
52569	err := json.Unmarshal(body, &m)
52570	if err != nil {
52571		return err
52572	}
52573	for k, v := range m {
52574		switch k {
52575		default:
52576			if v != nil {
52577				var additionalProperties interface{}
52578				err = json.Unmarshal(*v, &additionalProperties)
52579				if err != nil {
52580					return err
52581				}
52582				if ircp.AdditionalProperties == nil {
52583					ircp.AdditionalProperties = make(map[string]interface{})
52584				}
52585				ircp.AdditionalProperties[k] = additionalProperties
52586			}
52587		case "location":
52588			if v != nil {
52589				var location string
52590				err = json.Unmarshal(*v, &location)
52591				if err != nil {
52592					return err
52593				}
52594				ircp.Location = &location
52595			}
52596		case "nodeSize":
52597			if v != nil {
52598				var nodeSize string
52599				err = json.Unmarshal(*v, &nodeSize)
52600				if err != nil {
52601					return err
52602				}
52603				ircp.NodeSize = &nodeSize
52604			}
52605		case "numberOfNodes":
52606			if v != nil {
52607				var numberOfNodes int32
52608				err = json.Unmarshal(*v, &numberOfNodes)
52609				if err != nil {
52610					return err
52611				}
52612				ircp.NumberOfNodes = &numberOfNodes
52613			}
52614		case "maxParallelExecutionsPerNode":
52615			if v != nil {
52616				var maxParallelExecutionsPerNode int32
52617				err = json.Unmarshal(*v, &maxParallelExecutionsPerNode)
52618				if err != nil {
52619					return err
52620				}
52621				ircp.MaxParallelExecutionsPerNode = &maxParallelExecutionsPerNode
52622			}
52623		case "vNetProperties":
52624			if v != nil {
52625				var vNetProperties IntegrationRuntimeVNetProperties
52626				err = json.Unmarshal(*v, &vNetProperties)
52627				if err != nil {
52628					return err
52629				}
52630				ircp.VNetProperties = &vNetProperties
52631			}
52632		}
52633	}
52634
52635	return nil
52636}
52637
52638// IntegrationRuntimeConnectionInfo connection information for encrypting the on-premises data source
52639// credentials.
52640type IntegrationRuntimeConnectionInfo struct {
52641	autorest.Response `json:"-"`
52642	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52643	AdditionalProperties map[string]interface{} `json:""`
52644	// ServiceToken - READ-ONLY; The token generated in service. Callers use this token to authenticate to integration runtime.
52645	ServiceToken *string `json:"serviceToken,omitempty"`
52646	// IdentityCertThumbprint - READ-ONLY; The integration runtime SSL certificate thumbprint. Click-Once application uses it to do server validation.
52647	IdentityCertThumbprint *string `json:"identityCertThumbprint,omitempty"`
52648	// HostServiceURI - READ-ONLY; The on-premises integration runtime host URL.
52649	HostServiceURI *string `json:"hostServiceUri,omitempty"`
52650	// Version - READ-ONLY; The integration runtime version.
52651	Version *string `json:"version,omitempty"`
52652	// PublicKey - READ-ONLY; The public key for encrypting a credential when transferring the credential to the integration runtime.
52653	PublicKey *string `json:"publicKey,omitempty"`
52654	// IsIdentityCertExprired - READ-ONLY; Whether the identity certificate is expired.
52655	IsIdentityCertExprired *bool `json:"isIdentityCertExprired,omitempty"`
52656}
52657
52658// MarshalJSON is the custom marshaler for IntegrationRuntimeConnectionInfo.
52659func (irci IntegrationRuntimeConnectionInfo) MarshalJSON() ([]byte, error) {
52660	objectMap := make(map[string]interface{})
52661	for k, v := range irci.AdditionalProperties {
52662		objectMap[k] = v
52663	}
52664	return json.Marshal(objectMap)
52665}
52666
52667// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeConnectionInfo struct.
52668func (irci *IntegrationRuntimeConnectionInfo) UnmarshalJSON(body []byte) error {
52669	var m map[string]*json.RawMessage
52670	err := json.Unmarshal(body, &m)
52671	if err != nil {
52672		return err
52673	}
52674	for k, v := range m {
52675		switch k {
52676		default:
52677			if v != nil {
52678				var additionalProperties interface{}
52679				err = json.Unmarshal(*v, &additionalProperties)
52680				if err != nil {
52681					return err
52682				}
52683				if irci.AdditionalProperties == nil {
52684					irci.AdditionalProperties = make(map[string]interface{})
52685				}
52686				irci.AdditionalProperties[k] = additionalProperties
52687			}
52688		case "serviceToken":
52689			if v != nil {
52690				var serviceToken string
52691				err = json.Unmarshal(*v, &serviceToken)
52692				if err != nil {
52693					return err
52694				}
52695				irci.ServiceToken = &serviceToken
52696			}
52697		case "identityCertThumbprint":
52698			if v != nil {
52699				var identityCertThumbprint string
52700				err = json.Unmarshal(*v, &identityCertThumbprint)
52701				if err != nil {
52702					return err
52703				}
52704				irci.IdentityCertThumbprint = &identityCertThumbprint
52705			}
52706		case "hostServiceUri":
52707			if v != nil {
52708				var hostServiceURI string
52709				err = json.Unmarshal(*v, &hostServiceURI)
52710				if err != nil {
52711					return err
52712				}
52713				irci.HostServiceURI = &hostServiceURI
52714			}
52715		case "version":
52716			if v != nil {
52717				var version string
52718				err = json.Unmarshal(*v, &version)
52719				if err != nil {
52720					return err
52721				}
52722				irci.Version = &version
52723			}
52724		case "publicKey":
52725			if v != nil {
52726				var publicKey string
52727				err = json.Unmarshal(*v, &publicKey)
52728				if err != nil {
52729					return err
52730				}
52731				irci.PublicKey = &publicKey
52732			}
52733		case "isIdentityCertExprired":
52734			if v != nil {
52735				var isIdentityCertExprired bool
52736				err = json.Unmarshal(*v, &isIdentityCertExprired)
52737				if err != nil {
52738					return err
52739				}
52740				irci.IsIdentityCertExprired = &isIdentityCertExprired
52741			}
52742		}
52743	}
52744
52745	return nil
52746}
52747
52748// IntegrationRuntimeCustomSetupScriptProperties custom setup script properties for a managed dedicated
52749// integration runtime.
52750type IntegrationRuntimeCustomSetupScriptProperties struct {
52751	// BlobContainerURI - The URI of the Azure blob container that contains the custom setup script.
52752	BlobContainerURI *string `json:"blobContainerUri,omitempty"`
52753	// SasToken - The SAS token of the Azure blob container.
52754	SasToken *SecureString `json:"sasToken,omitempty"`
52755}
52756
52757// IntegrationRuntimeDataProxyProperties data proxy properties for a managed dedicated integration runtime.
52758type IntegrationRuntimeDataProxyProperties struct {
52759	// ConnectVia - The self-hosted integration runtime reference.
52760	ConnectVia *EntityReference `json:"connectVia,omitempty"`
52761	// StagingLinkedService - The staging linked service reference.
52762	StagingLinkedService *EntityReference `json:"stagingLinkedService,omitempty"`
52763	// Path - The path to contain the staged data in the Blob storage.
52764	Path *string `json:"path,omitempty"`
52765}
52766
52767// IntegrationRuntimeListResponse a list of integration runtime resources.
52768type IntegrationRuntimeListResponse struct {
52769	autorest.Response `json:"-"`
52770	// Value - List of integration runtimes.
52771	Value *[]IntegrationRuntimeResource `json:"value,omitempty"`
52772	// NextLink - The link to the next page of results, if any remaining results exist.
52773	NextLink *string `json:"nextLink,omitempty"`
52774}
52775
52776// IntegrationRuntimeListResponseIterator provides access to a complete listing of
52777// IntegrationRuntimeResource values.
52778type IntegrationRuntimeListResponseIterator struct {
52779	i    int
52780	page IntegrationRuntimeListResponsePage
52781}
52782
52783// NextWithContext advances to the next value.  If there was an error making
52784// the request the iterator does not advance and the error is returned.
52785func (iter *IntegrationRuntimeListResponseIterator) NextWithContext(ctx context.Context) (err error) {
52786	if tracing.IsEnabled() {
52787		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponseIterator.NextWithContext")
52788		defer func() {
52789			sc := -1
52790			if iter.Response().Response.Response != nil {
52791				sc = iter.Response().Response.Response.StatusCode
52792			}
52793			tracing.EndSpan(ctx, sc, err)
52794		}()
52795	}
52796	iter.i++
52797	if iter.i < len(iter.page.Values()) {
52798		return nil
52799	}
52800	err = iter.page.NextWithContext(ctx)
52801	if err != nil {
52802		iter.i--
52803		return err
52804	}
52805	iter.i = 0
52806	return nil
52807}
52808
52809// Next advances to the next value.  If there was an error making
52810// the request the iterator does not advance and the error is returned.
52811// Deprecated: Use NextWithContext() instead.
52812func (iter *IntegrationRuntimeListResponseIterator) Next() error {
52813	return iter.NextWithContext(context.Background())
52814}
52815
52816// NotDone returns true if the enumeration should be started or is not yet complete.
52817func (iter IntegrationRuntimeListResponseIterator) NotDone() bool {
52818	return iter.page.NotDone() && iter.i < len(iter.page.Values())
52819}
52820
52821// Response returns the raw server response from the last page request.
52822func (iter IntegrationRuntimeListResponseIterator) Response() IntegrationRuntimeListResponse {
52823	return iter.page.Response()
52824}
52825
52826// Value returns the current value or a zero-initialized value if the
52827// iterator has advanced beyond the end of the collection.
52828func (iter IntegrationRuntimeListResponseIterator) Value() IntegrationRuntimeResource {
52829	if !iter.page.NotDone() {
52830		return IntegrationRuntimeResource{}
52831	}
52832	return iter.page.Values()[iter.i]
52833}
52834
52835// Creates a new instance of the IntegrationRuntimeListResponseIterator type.
52836func NewIntegrationRuntimeListResponseIterator(page IntegrationRuntimeListResponsePage) IntegrationRuntimeListResponseIterator {
52837	return IntegrationRuntimeListResponseIterator{page: page}
52838}
52839
52840// IsEmpty returns true if the ListResult contains no values.
52841func (irlr IntegrationRuntimeListResponse) IsEmpty() bool {
52842	return irlr.Value == nil || len(*irlr.Value) == 0
52843}
52844
52845// hasNextLink returns true if the NextLink is not empty.
52846func (irlr IntegrationRuntimeListResponse) hasNextLink() bool {
52847	return irlr.NextLink != nil && len(*irlr.NextLink) != 0
52848}
52849
52850// integrationRuntimeListResponsePreparer prepares a request to retrieve the next set of results.
52851// It returns nil if no more results exist.
52852func (irlr IntegrationRuntimeListResponse) integrationRuntimeListResponsePreparer(ctx context.Context) (*http.Request, error) {
52853	if !irlr.hasNextLink() {
52854		return nil, nil
52855	}
52856	return autorest.Prepare((&http.Request{}).WithContext(ctx),
52857		autorest.AsJSON(),
52858		autorest.AsGet(),
52859		autorest.WithBaseURL(to.String(irlr.NextLink)))
52860}
52861
52862// IntegrationRuntimeListResponsePage contains a page of IntegrationRuntimeResource values.
52863type IntegrationRuntimeListResponsePage struct {
52864	fn   func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)
52865	irlr IntegrationRuntimeListResponse
52866}
52867
52868// NextWithContext advances to the next page of values.  If there was an error making
52869// the request the page does not advance and the error is returned.
52870func (page *IntegrationRuntimeListResponsePage) NextWithContext(ctx context.Context) (err error) {
52871	if tracing.IsEnabled() {
52872		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponsePage.NextWithContext")
52873		defer func() {
52874			sc := -1
52875			if page.Response().Response.Response != nil {
52876				sc = page.Response().Response.Response.StatusCode
52877			}
52878			tracing.EndSpan(ctx, sc, err)
52879		}()
52880	}
52881	for {
52882		next, err := page.fn(ctx, page.irlr)
52883		if err != nil {
52884			return err
52885		}
52886		page.irlr = next
52887		if !next.hasNextLink() || !next.IsEmpty() {
52888			break
52889		}
52890	}
52891	return nil
52892}
52893
52894// Next advances to the next page of values.  If there was an error making
52895// the request the page does not advance and the error is returned.
52896// Deprecated: Use NextWithContext() instead.
52897func (page *IntegrationRuntimeListResponsePage) Next() error {
52898	return page.NextWithContext(context.Background())
52899}
52900
52901// NotDone returns true if the page enumeration should be started or is not yet complete.
52902func (page IntegrationRuntimeListResponsePage) NotDone() bool {
52903	return !page.irlr.IsEmpty()
52904}
52905
52906// Response returns the raw server response from the last page request.
52907func (page IntegrationRuntimeListResponsePage) Response() IntegrationRuntimeListResponse {
52908	return page.irlr
52909}
52910
52911// Values returns the slice of values for the current page or nil if there are no values.
52912func (page IntegrationRuntimeListResponsePage) Values() []IntegrationRuntimeResource {
52913	if page.irlr.IsEmpty() {
52914		return nil
52915	}
52916	return *page.irlr.Value
52917}
52918
52919// Creates a new instance of the IntegrationRuntimeListResponsePage type.
52920func NewIntegrationRuntimeListResponsePage(cur IntegrationRuntimeListResponse, getNextPage func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)) IntegrationRuntimeListResponsePage {
52921	return IntegrationRuntimeListResponsePage{
52922		fn:   getNextPage,
52923		irlr: cur,
52924	}
52925}
52926
52927// IntegrationRuntimeMonitoringData get monitoring data response.
52928type IntegrationRuntimeMonitoringData struct {
52929	autorest.Response `json:"-"`
52930	// Name - Integration runtime name.
52931	Name *string `json:"name,omitempty"`
52932	// Nodes - Integration runtime node monitoring data.
52933	Nodes *[]IntegrationRuntimeNodeMonitoringData `json:"nodes,omitempty"`
52934}
52935
52936// IntegrationRuntimeNodeIPAddress the IP address of self-hosted integration runtime node.
52937type IntegrationRuntimeNodeIPAddress struct {
52938	autorest.Response `json:"-"`
52939	// IPAddress - READ-ONLY; The IP address of self-hosted integration runtime node.
52940	IPAddress *string `json:"ipAddress,omitempty"`
52941}
52942
52943// MarshalJSON is the custom marshaler for IntegrationRuntimeNodeIPAddress.
52944func (irnia IntegrationRuntimeNodeIPAddress) MarshalJSON() ([]byte, error) {
52945	objectMap := make(map[string]interface{})
52946	return json.Marshal(objectMap)
52947}
52948
52949// IntegrationRuntimeNodeMonitoringData monitoring data for integration runtime node.
52950type IntegrationRuntimeNodeMonitoringData struct {
52951	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52952	AdditionalProperties map[string]interface{} `json:""`
52953	// NodeName - READ-ONLY; Name of the integration runtime node.
52954	NodeName *string `json:"nodeName,omitempty"`
52955	// AvailableMemoryInMB - READ-ONLY; Available memory (MB) on the integration runtime node.
52956	AvailableMemoryInMB *int32 `json:"availableMemoryInMB,omitempty"`
52957	// CPUUtilization - READ-ONLY; CPU percentage on the integration runtime node.
52958	CPUUtilization *float64 `json:"cpuUtilization,omitempty"`
52959	// ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node.
52960	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
52961	// ConcurrentJobsRunning - READ-ONLY; The number of jobs currently running on the integration runtime node.
52962	ConcurrentJobsRunning *int32 `json:"concurrentJobsRunning,omitempty"`
52963	// MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime.
52964	MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"`
52965	// SentBytes - READ-ONLY; Sent bytes on the integration runtime node.
52966	SentBytes *float64 `json:"sentBytes,omitempty"`
52967	// ReceivedBytes - READ-ONLY; Received bytes on the integration runtime node.
52968	ReceivedBytes *float64 `json:"receivedBytes,omitempty"`
52969}
52970
52971// MarshalJSON is the custom marshaler for IntegrationRuntimeNodeMonitoringData.
52972func (irnmd IntegrationRuntimeNodeMonitoringData) MarshalJSON() ([]byte, error) {
52973	objectMap := make(map[string]interface{})
52974	for k, v := range irnmd.AdditionalProperties {
52975		objectMap[k] = v
52976	}
52977	return json.Marshal(objectMap)
52978}
52979
52980// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeNodeMonitoringData struct.
52981func (irnmd *IntegrationRuntimeNodeMonitoringData) UnmarshalJSON(body []byte) error {
52982	var m map[string]*json.RawMessage
52983	err := json.Unmarshal(body, &m)
52984	if err != nil {
52985		return err
52986	}
52987	for k, v := range m {
52988		switch k {
52989		default:
52990			if v != nil {
52991				var additionalProperties interface{}
52992				err = json.Unmarshal(*v, &additionalProperties)
52993				if err != nil {
52994					return err
52995				}
52996				if irnmd.AdditionalProperties == nil {
52997					irnmd.AdditionalProperties = make(map[string]interface{})
52998				}
52999				irnmd.AdditionalProperties[k] = additionalProperties
53000			}
53001		case "nodeName":
53002			if v != nil {
53003				var nodeName string
53004				err = json.Unmarshal(*v, &nodeName)
53005				if err != nil {
53006					return err
53007				}
53008				irnmd.NodeName = &nodeName
53009			}
53010		case "availableMemoryInMB":
53011			if v != nil {
53012				var availableMemoryInMB int32
53013				err = json.Unmarshal(*v, &availableMemoryInMB)
53014				if err != nil {
53015					return err
53016				}
53017				irnmd.AvailableMemoryInMB = &availableMemoryInMB
53018			}
53019		case "cpuUtilization":
53020			if v != nil {
53021				var CPUUtilization float64
53022				err = json.Unmarshal(*v, &CPUUtilization)
53023				if err != nil {
53024					return err
53025				}
53026				irnmd.CPUUtilization = &CPUUtilization
53027			}
53028		case "concurrentJobsLimit":
53029			if v != nil {
53030				var concurrentJobsLimit int32
53031				err = json.Unmarshal(*v, &concurrentJobsLimit)
53032				if err != nil {
53033					return err
53034				}
53035				irnmd.ConcurrentJobsLimit = &concurrentJobsLimit
53036			}
53037		case "concurrentJobsRunning":
53038			if v != nil {
53039				var concurrentJobsRunning int32
53040				err = json.Unmarshal(*v, &concurrentJobsRunning)
53041				if err != nil {
53042					return err
53043				}
53044				irnmd.ConcurrentJobsRunning = &concurrentJobsRunning
53045			}
53046		case "maxConcurrentJobs":
53047			if v != nil {
53048				var maxConcurrentJobs int32
53049				err = json.Unmarshal(*v, &maxConcurrentJobs)
53050				if err != nil {
53051					return err
53052				}
53053				irnmd.MaxConcurrentJobs = &maxConcurrentJobs
53054			}
53055		case "sentBytes":
53056			if v != nil {
53057				var sentBytes float64
53058				err = json.Unmarshal(*v, &sentBytes)
53059				if err != nil {
53060					return err
53061				}
53062				irnmd.SentBytes = &sentBytes
53063			}
53064		case "receivedBytes":
53065			if v != nil {
53066				var receivedBytes float64
53067				err = json.Unmarshal(*v, &receivedBytes)
53068				if err != nil {
53069					return err
53070				}
53071				irnmd.ReceivedBytes = &receivedBytes
53072			}
53073		}
53074	}
53075
53076	return nil
53077}
53078
53079// IntegrationRuntimeReference integration runtime reference type.
53080type IntegrationRuntimeReference struct {
53081	// Type - Type of integration runtime.
53082	Type *string `json:"type,omitempty"`
53083	// ReferenceName - Reference integration runtime name.
53084	ReferenceName *string `json:"referenceName,omitempty"`
53085	// Parameters - Arguments for integration runtime.
53086	Parameters map[string]interface{} `json:"parameters"`
53087}
53088
53089// MarshalJSON is the custom marshaler for IntegrationRuntimeReference.
53090func (irr IntegrationRuntimeReference) MarshalJSON() ([]byte, error) {
53091	objectMap := make(map[string]interface{})
53092	if irr.Type != nil {
53093		objectMap["type"] = irr.Type
53094	}
53095	if irr.ReferenceName != nil {
53096		objectMap["referenceName"] = irr.ReferenceName
53097	}
53098	if irr.Parameters != nil {
53099		objectMap["parameters"] = irr.Parameters
53100	}
53101	return json.Marshal(objectMap)
53102}
53103
53104// IntegrationRuntimeRegenerateKeyParameters parameters to regenerate the authentication key.
53105type IntegrationRuntimeRegenerateKeyParameters struct {
53106	// KeyName - The name of the authentication key to regenerate. Possible values include: 'AuthKey1', 'AuthKey2'
53107	KeyName IntegrationRuntimeAuthKeyName `json:"keyName,omitempty"`
53108}
53109
53110// IntegrationRuntimeRemoveNodeRequest request to remove a node.
53111type IntegrationRuntimeRemoveNodeRequest struct {
53112	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53113	AdditionalProperties map[string]interface{} `json:""`
53114	// NodeName - The name of the node to be removed.
53115	NodeName *string `json:"nodeName,omitempty"`
53116}
53117
53118// MarshalJSON is the custom marshaler for IntegrationRuntimeRemoveNodeRequest.
53119func (irrnr IntegrationRuntimeRemoveNodeRequest) MarshalJSON() ([]byte, error) {
53120	objectMap := make(map[string]interface{})
53121	if irrnr.NodeName != nil {
53122		objectMap["nodeName"] = irrnr.NodeName
53123	}
53124	for k, v := range irrnr.AdditionalProperties {
53125		objectMap[k] = v
53126	}
53127	return json.Marshal(objectMap)
53128}
53129
53130// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeRemoveNodeRequest struct.
53131func (irrnr *IntegrationRuntimeRemoveNodeRequest) UnmarshalJSON(body []byte) error {
53132	var m map[string]*json.RawMessage
53133	err := json.Unmarshal(body, &m)
53134	if err != nil {
53135		return err
53136	}
53137	for k, v := range m {
53138		switch k {
53139		default:
53140			if v != nil {
53141				var additionalProperties interface{}
53142				err = json.Unmarshal(*v, &additionalProperties)
53143				if err != nil {
53144					return err
53145				}
53146				if irrnr.AdditionalProperties == nil {
53147					irrnr.AdditionalProperties = make(map[string]interface{})
53148				}
53149				irrnr.AdditionalProperties[k] = additionalProperties
53150			}
53151		case "nodeName":
53152			if v != nil {
53153				var nodeName string
53154				err = json.Unmarshal(*v, &nodeName)
53155				if err != nil {
53156					return err
53157				}
53158				irrnr.NodeName = &nodeName
53159			}
53160		}
53161	}
53162
53163	return nil
53164}
53165
53166// IntegrationRuntimeResource integration runtime resource type.
53167type IntegrationRuntimeResource struct {
53168	autorest.Response `json:"-"`
53169	// Properties - Integration runtime properties.
53170	Properties BasicIntegrationRuntime `json:"properties,omitempty"`
53171	// ID - READ-ONLY; The resource identifier.
53172	ID *string `json:"id,omitempty"`
53173	// Name - READ-ONLY; The resource name.
53174	Name *string `json:"name,omitempty"`
53175	// Type - READ-ONLY; The resource type.
53176	Type *string `json:"type,omitempty"`
53177	// Etag - READ-ONLY; Etag identifies change in the resource.
53178	Etag *string `json:"etag,omitempty"`
53179}
53180
53181// MarshalJSON is the custom marshaler for IntegrationRuntimeResource.
53182func (irr IntegrationRuntimeResource) MarshalJSON() ([]byte, error) {
53183	objectMap := make(map[string]interface{})
53184	objectMap["properties"] = irr.Properties
53185	return json.Marshal(objectMap)
53186}
53187
53188// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeResource struct.
53189func (irr *IntegrationRuntimeResource) UnmarshalJSON(body []byte) error {
53190	var m map[string]*json.RawMessage
53191	err := json.Unmarshal(body, &m)
53192	if err != nil {
53193		return err
53194	}
53195	for k, v := range m {
53196		switch k {
53197		case "properties":
53198			if v != nil {
53199				properties, err := unmarshalBasicIntegrationRuntime(*v)
53200				if err != nil {
53201					return err
53202				}
53203				irr.Properties = properties
53204			}
53205		case "id":
53206			if v != nil {
53207				var ID string
53208				err = json.Unmarshal(*v, &ID)
53209				if err != nil {
53210					return err
53211				}
53212				irr.ID = &ID
53213			}
53214		case "name":
53215			if v != nil {
53216				var name string
53217				err = json.Unmarshal(*v, &name)
53218				if err != nil {
53219					return err
53220				}
53221				irr.Name = &name
53222			}
53223		case "type":
53224			if v != nil {
53225				var typeVar string
53226				err = json.Unmarshal(*v, &typeVar)
53227				if err != nil {
53228					return err
53229				}
53230				irr.Type = &typeVar
53231			}
53232		case "etag":
53233			if v != nil {
53234				var etag string
53235				err = json.Unmarshal(*v, &etag)
53236				if err != nil {
53237					return err
53238				}
53239				irr.Etag = &etag
53240			}
53241		}
53242	}
53243
53244	return nil
53245}
53246
53247// IntegrationRuntimeSsisCatalogInfo catalog information for managed dedicated integration runtime.
53248type IntegrationRuntimeSsisCatalogInfo struct {
53249	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53250	AdditionalProperties map[string]interface{} `json:""`
53251	// CatalogServerEndpoint - The catalog database server URL.
53252	CatalogServerEndpoint *string `json:"catalogServerEndpoint,omitempty"`
53253	// CatalogAdminUserName - The administrator user name of catalog database.
53254	CatalogAdminUserName *string `json:"catalogAdminUserName,omitempty"`
53255	// CatalogAdminPassword - The password of the administrator user account of the catalog database.
53256	CatalogAdminPassword *SecureString `json:"catalogAdminPassword,omitempty"`
53257	// CatalogPricingTier - The pricing tier for the catalog database. The valid values could be found in https://azure.microsoft.com/en-us/pricing/details/sql-database/
53258	CatalogPricingTier *string `json:"catalogPricingTier,omitempty"`
53259}
53260
53261// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisCatalogInfo.
53262func (irsci IntegrationRuntimeSsisCatalogInfo) MarshalJSON() ([]byte, error) {
53263	objectMap := make(map[string]interface{})
53264	if irsci.CatalogServerEndpoint != nil {
53265		objectMap["catalogServerEndpoint"] = irsci.CatalogServerEndpoint
53266	}
53267	if irsci.CatalogAdminUserName != nil {
53268		objectMap["catalogAdminUserName"] = irsci.CatalogAdminUserName
53269	}
53270	if irsci.CatalogAdminPassword != nil {
53271		objectMap["catalogAdminPassword"] = irsci.CatalogAdminPassword
53272	}
53273	if irsci.CatalogPricingTier != nil {
53274		objectMap["catalogPricingTier"] = irsci.CatalogPricingTier
53275	}
53276	for k, v := range irsci.AdditionalProperties {
53277		objectMap[k] = v
53278	}
53279	return json.Marshal(objectMap)
53280}
53281
53282// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisCatalogInfo struct.
53283func (irsci *IntegrationRuntimeSsisCatalogInfo) UnmarshalJSON(body []byte) error {
53284	var m map[string]*json.RawMessage
53285	err := json.Unmarshal(body, &m)
53286	if err != nil {
53287		return err
53288	}
53289	for k, v := range m {
53290		switch k {
53291		default:
53292			if v != nil {
53293				var additionalProperties interface{}
53294				err = json.Unmarshal(*v, &additionalProperties)
53295				if err != nil {
53296					return err
53297				}
53298				if irsci.AdditionalProperties == nil {
53299					irsci.AdditionalProperties = make(map[string]interface{})
53300				}
53301				irsci.AdditionalProperties[k] = additionalProperties
53302			}
53303		case "catalogServerEndpoint":
53304			if v != nil {
53305				var catalogServerEndpoint string
53306				err = json.Unmarshal(*v, &catalogServerEndpoint)
53307				if err != nil {
53308					return err
53309				}
53310				irsci.CatalogServerEndpoint = &catalogServerEndpoint
53311			}
53312		case "catalogAdminUserName":
53313			if v != nil {
53314				var catalogAdminUserName string
53315				err = json.Unmarshal(*v, &catalogAdminUserName)
53316				if err != nil {
53317					return err
53318				}
53319				irsci.CatalogAdminUserName = &catalogAdminUserName
53320			}
53321		case "catalogAdminPassword":
53322			if v != nil {
53323				var catalogAdminPassword SecureString
53324				err = json.Unmarshal(*v, &catalogAdminPassword)
53325				if err != nil {
53326					return err
53327				}
53328				irsci.CatalogAdminPassword = &catalogAdminPassword
53329			}
53330		case "catalogPricingTier":
53331			if v != nil {
53332				var catalogPricingTier string
53333				err = json.Unmarshal(*v, &catalogPricingTier)
53334				if err != nil {
53335					return err
53336				}
53337				irsci.CatalogPricingTier = &catalogPricingTier
53338			}
53339		}
53340	}
53341
53342	return nil
53343}
53344
53345// IntegrationRuntimeSsisProperties SSIS properties for managed integration runtime.
53346type IntegrationRuntimeSsisProperties struct {
53347	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53348	AdditionalProperties map[string]interface{} `json:""`
53349	// CatalogInfo - Catalog information for managed dedicated integration runtime.
53350	CatalogInfo *IntegrationRuntimeSsisCatalogInfo `json:"catalogInfo,omitempty"`
53351	// LicenseType - License type for bringing your own license scenario. Possible values include: 'BasePrice', 'LicenseIncluded'
53352	LicenseType IntegrationRuntimeLicenseType `json:"licenseType,omitempty"`
53353	// CustomSetupScriptProperties - Custom setup script properties for a managed dedicated integration runtime.
53354	CustomSetupScriptProperties *IntegrationRuntimeCustomSetupScriptProperties `json:"customSetupScriptProperties,omitempty"`
53355	// DataProxyProperties - Data proxy properties for a managed dedicated integration runtime.
53356	DataProxyProperties *IntegrationRuntimeDataProxyProperties `json:"dataProxyProperties,omitempty"`
53357	// Edition - The edition for the SSIS Integration Runtime. Possible values include: 'Standard', 'Enterprise'
53358	Edition IntegrationRuntimeEdition `json:"edition,omitempty"`
53359}
53360
53361// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisProperties.
53362func (irsp IntegrationRuntimeSsisProperties) MarshalJSON() ([]byte, error) {
53363	objectMap := make(map[string]interface{})
53364	if irsp.CatalogInfo != nil {
53365		objectMap["catalogInfo"] = irsp.CatalogInfo
53366	}
53367	if irsp.LicenseType != "" {
53368		objectMap["licenseType"] = irsp.LicenseType
53369	}
53370	if irsp.CustomSetupScriptProperties != nil {
53371		objectMap["customSetupScriptProperties"] = irsp.CustomSetupScriptProperties
53372	}
53373	if irsp.DataProxyProperties != nil {
53374		objectMap["dataProxyProperties"] = irsp.DataProxyProperties
53375	}
53376	if irsp.Edition != "" {
53377		objectMap["edition"] = irsp.Edition
53378	}
53379	for k, v := range irsp.AdditionalProperties {
53380		objectMap[k] = v
53381	}
53382	return json.Marshal(objectMap)
53383}
53384
53385// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisProperties struct.
53386func (irsp *IntegrationRuntimeSsisProperties) UnmarshalJSON(body []byte) error {
53387	var m map[string]*json.RawMessage
53388	err := json.Unmarshal(body, &m)
53389	if err != nil {
53390		return err
53391	}
53392	for k, v := range m {
53393		switch k {
53394		default:
53395			if v != nil {
53396				var additionalProperties interface{}
53397				err = json.Unmarshal(*v, &additionalProperties)
53398				if err != nil {
53399					return err
53400				}
53401				if irsp.AdditionalProperties == nil {
53402					irsp.AdditionalProperties = make(map[string]interface{})
53403				}
53404				irsp.AdditionalProperties[k] = additionalProperties
53405			}
53406		case "catalogInfo":
53407			if v != nil {
53408				var catalogInfo IntegrationRuntimeSsisCatalogInfo
53409				err = json.Unmarshal(*v, &catalogInfo)
53410				if err != nil {
53411					return err
53412				}
53413				irsp.CatalogInfo = &catalogInfo
53414			}
53415		case "licenseType":
53416			if v != nil {
53417				var licenseType IntegrationRuntimeLicenseType
53418				err = json.Unmarshal(*v, &licenseType)
53419				if err != nil {
53420					return err
53421				}
53422				irsp.LicenseType = licenseType
53423			}
53424		case "customSetupScriptProperties":
53425			if v != nil {
53426				var customSetupScriptProperties IntegrationRuntimeCustomSetupScriptProperties
53427				err = json.Unmarshal(*v, &customSetupScriptProperties)
53428				if err != nil {
53429					return err
53430				}
53431				irsp.CustomSetupScriptProperties = &customSetupScriptProperties
53432			}
53433		case "dataProxyProperties":
53434			if v != nil {
53435				var dataProxyProperties IntegrationRuntimeDataProxyProperties
53436				err = json.Unmarshal(*v, &dataProxyProperties)
53437				if err != nil {
53438					return err
53439				}
53440				irsp.DataProxyProperties = &dataProxyProperties
53441			}
53442		case "edition":
53443			if v != nil {
53444				var edition IntegrationRuntimeEdition
53445				err = json.Unmarshal(*v, &edition)
53446				if err != nil {
53447					return err
53448				}
53449				irsp.Edition = edition
53450			}
53451		}
53452	}
53453
53454	return nil
53455}
53456
53457// IntegrationRuntimesStartFuture an abstraction for monitoring and retrieving the results of a
53458// long-running operation.
53459type IntegrationRuntimesStartFuture struct {
53460	azure.FutureAPI
53461	// Result returns the result of the asynchronous operation.
53462	// If the operation has not completed it will return an error.
53463	Result func(IntegrationRuntimesClient) (IntegrationRuntimeStatusResponse, error)
53464}
53465
53466// UnmarshalJSON is the custom unmarshaller for CreateFuture.
53467func (future *IntegrationRuntimesStartFuture) UnmarshalJSON(body []byte) error {
53468	var azFuture azure.Future
53469	if err := json.Unmarshal(body, &azFuture); err != nil {
53470		return err
53471	}
53472	future.FutureAPI = &azFuture
53473	future.Result = future.result
53474	return nil
53475}
53476
53477// result is the default implementation for IntegrationRuntimesStartFuture.Result.
53478func (future *IntegrationRuntimesStartFuture) result(client IntegrationRuntimesClient) (irsr IntegrationRuntimeStatusResponse, err error) {
53479	var done bool
53480	done, err = future.DoneWithContext(context.Background(), client)
53481	if err != nil {
53482		err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStartFuture", "Result", future.Response(), "Polling failure")
53483		return
53484	}
53485	if !done {
53486		irsr.Response.Response = future.Response()
53487		err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimesStartFuture")
53488		return
53489	}
53490	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
53491	if irsr.Response.Response, err = future.GetResult(sender); err == nil && irsr.Response.Response.StatusCode != http.StatusNoContent {
53492		irsr, err = client.StartResponder(irsr.Response.Response)
53493		if err != nil {
53494			err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStartFuture", "Result", irsr.Response.Response, "Failure responding to request")
53495		}
53496	}
53497	return
53498}
53499
53500// IntegrationRuntimesStopFuture an abstraction for monitoring and retrieving the results of a long-running
53501// operation.
53502type IntegrationRuntimesStopFuture struct {
53503	azure.FutureAPI
53504	// Result returns the result of the asynchronous operation.
53505	// If the operation has not completed it will return an error.
53506	Result func(IntegrationRuntimesClient) (autorest.Response, error)
53507}
53508
53509// UnmarshalJSON is the custom unmarshaller for CreateFuture.
53510func (future *IntegrationRuntimesStopFuture) UnmarshalJSON(body []byte) error {
53511	var azFuture azure.Future
53512	if err := json.Unmarshal(body, &azFuture); err != nil {
53513		return err
53514	}
53515	future.FutureAPI = &azFuture
53516	future.Result = future.result
53517	return nil
53518}
53519
53520// result is the default implementation for IntegrationRuntimesStopFuture.Result.
53521func (future *IntegrationRuntimesStopFuture) result(client IntegrationRuntimesClient) (ar autorest.Response, err error) {
53522	var done bool
53523	done, err = future.DoneWithContext(context.Background(), client)
53524	if err != nil {
53525		err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStopFuture", "Result", future.Response(), "Polling failure")
53526		return
53527	}
53528	if !done {
53529		ar.Response = future.Response()
53530		err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimesStopFuture")
53531		return
53532	}
53533	ar.Response = future.Response()
53534	return
53535}
53536
53537// BasicIntegrationRuntimeStatus integration runtime status.
53538type BasicIntegrationRuntimeStatus interface {
53539	AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool)
53540	AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool)
53541	AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool)
53542}
53543
53544// IntegrationRuntimeStatus integration runtime status.
53545type IntegrationRuntimeStatus struct {
53546	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53547	AdditionalProperties map[string]interface{} `json:""`
53548	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
53549	DataFactoryName *string `json:"dataFactoryName,omitempty"`
53550	// State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline'
53551	State IntegrationRuntimeState `json:"state,omitempty"`
53552	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
53553	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
53554}
53555
53556func unmarshalBasicIntegrationRuntimeStatus(body []byte) (BasicIntegrationRuntimeStatus, error) {
53557	var m map[string]interface{}
53558	err := json.Unmarshal(body, &m)
53559	if err != nil {
53560		return nil, err
53561	}
53562
53563	switch m["type"] {
53564	case string(TypeBasicIntegrationRuntimeStatusTypeSelfHosted):
53565		var shirs SelfHostedIntegrationRuntimeStatus
53566		err := json.Unmarshal(body, &shirs)
53567		return shirs, err
53568	case string(TypeBasicIntegrationRuntimeStatusTypeManaged):
53569		var mirs ManagedIntegrationRuntimeStatus
53570		err := json.Unmarshal(body, &mirs)
53571		return mirs, err
53572	default:
53573		var irs IntegrationRuntimeStatus
53574		err := json.Unmarshal(body, &irs)
53575		return irs, err
53576	}
53577}
53578func unmarshalBasicIntegrationRuntimeStatusArray(body []byte) ([]BasicIntegrationRuntimeStatus, error) {
53579	var rawMessages []*json.RawMessage
53580	err := json.Unmarshal(body, &rawMessages)
53581	if err != nil {
53582		return nil, err
53583	}
53584
53585	irsArray := make([]BasicIntegrationRuntimeStatus, len(rawMessages))
53586
53587	for index, rawMessage := range rawMessages {
53588		irs, err := unmarshalBasicIntegrationRuntimeStatus(*rawMessage)
53589		if err != nil {
53590			return nil, err
53591		}
53592		irsArray[index] = irs
53593	}
53594	return irsArray, nil
53595}
53596
53597// MarshalJSON is the custom marshaler for IntegrationRuntimeStatus.
53598func (irs IntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
53599	irs.Type = TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus
53600	objectMap := make(map[string]interface{})
53601	if irs.Type != "" {
53602		objectMap["type"] = irs.Type
53603	}
53604	for k, v := range irs.AdditionalProperties {
53605		objectMap[k] = v
53606	}
53607	return json.Marshal(objectMap)
53608}
53609
53610// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
53611func (irs IntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
53612	return nil, false
53613}
53614
53615// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
53616func (irs IntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
53617	return nil, false
53618}
53619
53620// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
53621func (irs IntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
53622	return &irs, true
53623}
53624
53625// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
53626func (irs IntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
53627	return &irs, true
53628}
53629
53630// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatus struct.
53631func (irs *IntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
53632	var m map[string]*json.RawMessage
53633	err := json.Unmarshal(body, &m)
53634	if err != nil {
53635		return err
53636	}
53637	for k, v := range m {
53638		switch k {
53639		default:
53640			if v != nil {
53641				var additionalProperties interface{}
53642				err = json.Unmarshal(*v, &additionalProperties)
53643				if err != nil {
53644					return err
53645				}
53646				if irs.AdditionalProperties == nil {
53647					irs.AdditionalProperties = make(map[string]interface{})
53648				}
53649				irs.AdditionalProperties[k] = additionalProperties
53650			}
53651		case "dataFactoryName":
53652			if v != nil {
53653				var dataFactoryName string
53654				err = json.Unmarshal(*v, &dataFactoryName)
53655				if err != nil {
53656					return err
53657				}
53658				irs.DataFactoryName = &dataFactoryName
53659			}
53660		case "state":
53661			if v != nil {
53662				var state IntegrationRuntimeState
53663				err = json.Unmarshal(*v, &state)
53664				if err != nil {
53665					return err
53666				}
53667				irs.State = state
53668			}
53669		case "type":
53670			if v != nil {
53671				var typeVar TypeBasicIntegrationRuntimeStatus
53672				err = json.Unmarshal(*v, &typeVar)
53673				if err != nil {
53674					return err
53675				}
53676				irs.Type = typeVar
53677			}
53678		}
53679	}
53680
53681	return nil
53682}
53683
53684// IntegrationRuntimeStatusListResponse a list of integration runtime status.
53685type IntegrationRuntimeStatusListResponse struct {
53686	// Value - List of integration runtime status.
53687	Value *[]IntegrationRuntimeStatusResponse `json:"value,omitempty"`
53688	// NextLink - The link to the next page of results, if any remaining results exist.
53689	NextLink *string `json:"nextLink,omitempty"`
53690}
53691
53692// IntegrationRuntimeStatusResponse integration runtime status response.
53693type IntegrationRuntimeStatusResponse struct {
53694	autorest.Response `json:"-"`
53695	// Name - READ-ONLY; The integration runtime name.
53696	Name *string `json:"name,omitempty"`
53697	// Properties - Integration runtime properties.
53698	Properties BasicIntegrationRuntimeStatus `json:"properties,omitempty"`
53699}
53700
53701// MarshalJSON is the custom marshaler for IntegrationRuntimeStatusResponse.
53702func (irsr IntegrationRuntimeStatusResponse) MarshalJSON() ([]byte, error) {
53703	objectMap := make(map[string]interface{})
53704	objectMap["properties"] = irsr.Properties
53705	return json.Marshal(objectMap)
53706}
53707
53708// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatusResponse struct.
53709func (irsr *IntegrationRuntimeStatusResponse) UnmarshalJSON(body []byte) error {
53710	var m map[string]*json.RawMessage
53711	err := json.Unmarshal(body, &m)
53712	if err != nil {
53713		return err
53714	}
53715	for k, v := range m {
53716		switch k {
53717		case "name":
53718			if v != nil {
53719				var name string
53720				err = json.Unmarshal(*v, &name)
53721				if err != nil {
53722					return err
53723				}
53724				irsr.Name = &name
53725			}
53726		case "properties":
53727			if v != nil {
53728				properties, err := unmarshalBasicIntegrationRuntimeStatus(*v)
53729				if err != nil {
53730					return err
53731				}
53732				irsr.Properties = properties
53733			}
53734		}
53735	}
53736
53737	return nil
53738}
53739
53740// IntegrationRuntimeVNetProperties vNet properties for managed integration runtime.
53741type IntegrationRuntimeVNetProperties struct {
53742	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53743	AdditionalProperties map[string]interface{} `json:""`
53744	// VNetID - The ID of the VNet that this integration runtime will join.
53745	VNetID *string `json:"vNetId,omitempty"`
53746	// Subnet - The name of the subnet this integration runtime will join.
53747	Subnet *string `json:"subnet,omitempty"`
53748}
53749
53750// MarshalJSON is the custom marshaler for IntegrationRuntimeVNetProperties.
53751func (irvnp IntegrationRuntimeVNetProperties) MarshalJSON() ([]byte, error) {
53752	objectMap := make(map[string]interface{})
53753	if irvnp.VNetID != nil {
53754		objectMap["vNetId"] = irvnp.VNetID
53755	}
53756	if irvnp.Subnet != nil {
53757		objectMap["subnet"] = irvnp.Subnet
53758	}
53759	for k, v := range irvnp.AdditionalProperties {
53760		objectMap[k] = v
53761	}
53762	return json.Marshal(objectMap)
53763}
53764
53765// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeVNetProperties struct.
53766func (irvnp *IntegrationRuntimeVNetProperties) UnmarshalJSON(body []byte) error {
53767	var m map[string]*json.RawMessage
53768	err := json.Unmarshal(body, &m)
53769	if err != nil {
53770		return err
53771	}
53772	for k, v := range m {
53773		switch k {
53774		default:
53775			if v != nil {
53776				var additionalProperties interface{}
53777				err = json.Unmarshal(*v, &additionalProperties)
53778				if err != nil {
53779					return err
53780				}
53781				if irvnp.AdditionalProperties == nil {
53782					irvnp.AdditionalProperties = make(map[string]interface{})
53783				}
53784				irvnp.AdditionalProperties[k] = additionalProperties
53785			}
53786		case "vNetId":
53787			if v != nil {
53788				var vNetID string
53789				err = json.Unmarshal(*v, &vNetID)
53790				if err != nil {
53791					return err
53792				}
53793				irvnp.VNetID = &vNetID
53794			}
53795		case "subnet":
53796			if v != nil {
53797				var subnet string
53798				err = json.Unmarshal(*v, &subnet)
53799				if err != nil {
53800					return err
53801				}
53802				irvnp.Subnet = &subnet
53803			}
53804		}
53805	}
53806
53807	return nil
53808}
53809
53810// JiraLinkedService jira Service linked service.
53811type JiraLinkedService struct {
53812	// JiraLinkedServiceTypeProperties - Jira Service linked service properties.
53813	*JiraLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
53814	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53815	AdditionalProperties map[string]interface{} `json:""`
53816	// ConnectVia - The integration runtime reference.
53817	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
53818	// Description - Linked service description.
53819	Description *string `json:"description,omitempty"`
53820	// Parameters - Parameters for linked service.
53821	Parameters map[string]*ParameterSpecification `json:"parameters"`
53822	// Annotations - List of tags that can be used for describing the Dataset.
53823	Annotations *[]interface{} `json:"annotations,omitempty"`
53824	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
53825	Type TypeBasicLinkedService `json:"type,omitempty"`
53826}
53827
53828// MarshalJSON is the custom marshaler for JiraLinkedService.
53829func (jls JiraLinkedService) MarshalJSON() ([]byte, error) {
53830	jls.Type = TypeJira
53831	objectMap := make(map[string]interface{})
53832	if jls.JiraLinkedServiceTypeProperties != nil {
53833		objectMap["typeProperties"] = jls.JiraLinkedServiceTypeProperties
53834	}
53835	if jls.ConnectVia != nil {
53836		objectMap["connectVia"] = jls.ConnectVia
53837	}
53838	if jls.Description != nil {
53839		objectMap["description"] = jls.Description
53840	}
53841	if jls.Parameters != nil {
53842		objectMap["parameters"] = jls.Parameters
53843	}
53844	if jls.Annotations != nil {
53845		objectMap["annotations"] = jls.Annotations
53846	}
53847	if jls.Type != "" {
53848		objectMap["type"] = jls.Type
53849	}
53850	for k, v := range jls.AdditionalProperties {
53851		objectMap[k] = v
53852	}
53853	return json.Marshal(objectMap)
53854}
53855
53856// AsResponsysLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53857func (jls JiraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
53858	return nil, false
53859}
53860
53861// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53862func (jls JiraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
53863	return nil, false
53864}
53865
53866// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53867func (jls JiraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
53868	return nil, false
53869}
53870
53871// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53872func (jls JiraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
53873	return nil, false
53874}
53875
53876// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53877func (jls JiraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
53878	return nil, false
53879}
53880
53881// AsNetezzaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53882func (jls JiraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
53883	return nil, false
53884}
53885
53886// AsVerticaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53887func (jls JiraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
53888	return nil, false
53889}
53890
53891// AsZohoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53892func (jls JiraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
53893	return nil, false
53894}
53895
53896// AsXeroLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53897func (jls JiraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
53898	return nil, false
53899}
53900
53901// AsSquareLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53902func (jls JiraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
53903	return nil, false
53904}
53905
53906// AsSparkLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53907func (jls JiraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
53908	return nil, false
53909}
53910
53911// AsShopifyLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53912func (jls JiraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
53913	return nil, false
53914}
53915
53916// AsServiceNowLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53917func (jls JiraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
53918	return nil, false
53919}
53920
53921// AsQuickBooksLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53922func (jls JiraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
53923	return nil, false
53924}
53925
53926// AsPrestoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53927func (jls JiraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
53928	return nil, false
53929}
53930
53931// AsPhoenixLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53932func (jls JiraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
53933	return nil, false
53934}
53935
53936// AsPaypalLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53937func (jls JiraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
53938	return nil, false
53939}
53940
53941// AsMarketoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53942func (jls JiraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
53943	return nil, false
53944}
53945
53946// AsMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53947func (jls JiraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
53948	return nil, false
53949}
53950
53951// AsMagentoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53952func (jls JiraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
53953	return nil, false
53954}
53955
53956// AsJiraLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53957func (jls JiraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
53958	return &jls, true
53959}
53960
53961// AsImpalaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53962func (jls JiraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
53963	return nil, false
53964}
53965
53966// AsHubspotLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53967func (jls JiraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
53968	return nil, false
53969}
53970
53971// AsHiveLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53972func (jls JiraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
53973	return nil, false
53974}
53975
53976// AsHBaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53977func (jls JiraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
53978	return nil, false
53979}
53980
53981// AsGreenplumLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53982func (jls JiraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
53983	return nil, false
53984}
53985
53986// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53987func (jls JiraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
53988	return nil, false
53989}
53990
53991// AsEloquaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53992func (jls JiraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
53993	return nil, false
53994}
53995
53996// AsDrillLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53997func (jls JiraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
53998	return nil, false
53999}
54000
54001// AsCouchbaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54002func (jls JiraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
54003	return nil, false
54004}
54005
54006// AsConcurLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54007func (jls JiraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
54008	return nil, false
54009}
54010
54011// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54012func (jls JiraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
54013	return nil, false
54014}
54015
54016// AsAmazonMWSLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54017func (jls JiraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
54018	return nil, false
54019}
54020
54021// AsSapHanaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54022func (jls JiraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
54023	return nil, false
54024}
54025
54026// AsSapBWLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54027func (jls JiraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
54028	return nil, false
54029}
54030
54031// AsSftpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54032func (jls JiraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
54033	return nil, false
54034}
54035
54036// AsFtpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54037func (jls JiraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
54038	return nil, false
54039}
54040
54041// AsHTTPLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54042func (jls JiraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
54043	return nil, false
54044}
54045
54046// AsAzureSearchLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54047func (jls JiraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
54048	return nil, false
54049}
54050
54051// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54052func (jls JiraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
54053	return nil, false
54054}
54055
54056// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54057func (jls JiraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
54058	return nil, false
54059}
54060
54061// AsAmazonS3LinkedService is the BasicLinkedService implementation for JiraLinkedService.
54062func (jls JiraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
54063	return nil, false
54064}
54065
54066// AsSapEccLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54067func (jls JiraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
54068	return nil, false
54069}
54070
54071// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54072func (jls JiraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
54073	return nil, false
54074}
54075
54076// AsSalesforceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54077func (jls JiraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
54078	return nil, false
54079}
54080
54081// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54082func (jls JiraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
54083	return nil, false
54084}
54085
54086// AsMongoDbLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54087func (jls JiraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
54088	return nil, false
54089}
54090
54091// AsCassandraLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54092func (jls JiraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
54093	return nil, false
54094}
54095
54096// AsWebLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54097func (jls JiraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
54098	return nil, false
54099}
54100
54101// AsODataLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54102func (jls JiraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
54103	return nil, false
54104}
54105
54106// AsHdfsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54107func (jls JiraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
54108	return nil, false
54109}
54110
54111// AsOdbcLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54112func (jls JiraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
54113	return nil, false
54114}
54115
54116// AsAzureMLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54117func (jls JiraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
54118	return nil, false
54119}
54120
54121// AsTeradataLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54122func (jls JiraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
54123	return nil, false
54124}
54125
54126// AsDb2LinkedService is the BasicLinkedService implementation for JiraLinkedService.
54127func (jls JiraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
54128	return nil, false
54129}
54130
54131// AsSybaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54132func (jls JiraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
54133	return nil, false
54134}
54135
54136// AsPostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54137func (jls JiraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
54138	return nil, false
54139}
54140
54141// AsMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54142func (jls JiraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
54143	return nil, false
54144}
54145
54146// AsAzureMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54147func (jls JiraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
54148	return nil, false
54149}
54150
54151// AsOracleLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54152func (jls JiraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
54153	return nil, false
54154}
54155
54156// AsFileServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54157func (jls JiraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
54158	return nil, false
54159}
54160
54161// AsHDInsightLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54162func (jls JiraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
54163	return nil, false
54164}
54165
54166// AsDynamicsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54167func (jls JiraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
54168	return nil, false
54169}
54170
54171// AsCosmosDbLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54172func (jls JiraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
54173	return nil, false
54174}
54175
54176// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54177func (jls JiraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
54178	return nil, false
54179}
54180
54181// AsAzureBatchLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54182func (jls JiraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
54183	return nil, false
54184}
54185
54186// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54187func (jls JiraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
54188	return nil, false
54189}
54190
54191// AsSQLServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54192func (jls JiraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
54193	return nil, false
54194}
54195
54196// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54197func (jls JiraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
54198	return nil, false
54199}
54200
54201// AsAzureStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54202func (jls JiraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
54203	return nil, false
54204}
54205
54206// AsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54207func (jls JiraLinkedService) AsLinkedService() (*LinkedService, bool) {
54208	return nil, false
54209}
54210
54211// AsBasicLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54212func (jls JiraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
54213	return &jls, true
54214}
54215
54216// UnmarshalJSON is the custom unmarshaler for JiraLinkedService struct.
54217func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error {
54218	var m map[string]*json.RawMessage
54219	err := json.Unmarshal(body, &m)
54220	if err != nil {
54221		return err
54222	}
54223	for k, v := range m {
54224		switch k {
54225		case "typeProperties":
54226			if v != nil {
54227				var jiraLinkedServiceTypeProperties JiraLinkedServiceTypeProperties
54228				err = json.Unmarshal(*v, &jiraLinkedServiceTypeProperties)
54229				if err != nil {
54230					return err
54231				}
54232				jls.JiraLinkedServiceTypeProperties = &jiraLinkedServiceTypeProperties
54233			}
54234		default:
54235			if v != nil {
54236				var additionalProperties interface{}
54237				err = json.Unmarshal(*v, &additionalProperties)
54238				if err != nil {
54239					return err
54240				}
54241				if jls.AdditionalProperties == nil {
54242					jls.AdditionalProperties = make(map[string]interface{})
54243				}
54244				jls.AdditionalProperties[k] = additionalProperties
54245			}
54246		case "connectVia":
54247			if v != nil {
54248				var connectVia IntegrationRuntimeReference
54249				err = json.Unmarshal(*v, &connectVia)
54250				if err != nil {
54251					return err
54252				}
54253				jls.ConnectVia = &connectVia
54254			}
54255		case "description":
54256			if v != nil {
54257				var description string
54258				err = json.Unmarshal(*v, &description)
54259				if err != nil {
54260					return err
54261				}
54262				jls.Description = &description
54263			}
54264		case "parameters":
54265			if v != nil {
54266				var parameters map[string]*ParameterSpecification
54267				err = json.Unmarshal(*v, &parameters)
54268				if err != nil {
54269					return err
54270				}
54271				jls.Parameters = parameters
54272			}
54273		case "annotations":
54274			if v != nil {
54275				var annotations []interface{}
54276				err = json.Unmarshal(*v, &annotations)
54277				if err != nil {
54278					return err
54279				}
54280				jls.Annotations = &annotations
54281			}
54282		case "type":
54283			if v != nil {
54284				var typeVar TypeBasicLinkedService
54285				err = json.Unmarshal(*v, &typeVar)
54286				if err != nil {
54287					return err
54288				}
54289				jls.Type = typeVar
54290			}
54291		}
54292	}
54293
54294	return nil
54295}
54296
54297// JiraLinkedServiceTypeProperties jira Service linked service properties.
54298type JiraLinkedServiceTypeProperties struct {
54299	// Host - The IP address or host name of the Jira service. (e.g. jira.example.com)
54300	Host interface{} `json:"host,omitempty"`
54301	// Port - The TCP port that the Jira server uses to listen for client connections. The default value is 443 if connecting through HTTPS, or 8080 if connecting through HTTP.
54302	Port interface{} `json:"port,omitempty"`
54303	// Username - The user name that you use to access Jira Service.
54304	Username interface{} `json:"username,omitempty"`
54305	// Password - The password corresponding to the user name that you provided in the username field.
54306	Password BasicSecretBase `json:"password,omitempty"`
54307	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
54308	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
54309	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
54310	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
54311	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
54312	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
54313	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
54314	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
54315}
54316
54317// UnmarshalJSON is the custom unmarshaler for JiraLinkedServiceTypeProperties struct.
54318func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
54319	var m map[string]*json.RawMessage
54320	err := json.Unmarshal(body, &m)
54321	if err != nil {
54322		return err
54323	}
54324	for k, v := range m {
54325		switch k {
54326		case "host":
54327			if v != nil {
54328				var host interface{}
54329				err = json.Unmarshal(*v, &host)
54330				if err != nil {
54331					return err
54332				}
54333				jlstp.Host = host
54334			}
54335		case "port":
54336			if v != nil {
54337				var port interface{}
54338				err = json.Unmarshal(*v, &port)
54339				if err != nil {
54340					return err
54341				}
54342				jlstp.Port = port
54343			}
54344		case "username":
54345			if v != nil {
54346				var username interface{}
54347				err = json.Unmarshal(*v, &username)
54348				if err != nil {
54349					return err
54350				}
54351				jlstp.Username = username
54352			}
54353		case "password":
54354			if v != nil {
54355				password, err := unmarshalBasicSecretBase(*v)
54356				if err != nil {
54357					return err
54358				}
54359				jlstp.Password = password
54360			}
54361		case "useEncryptedEndpoints":
54362			if v != nil {
54363				var useEncryptedEndpoints interface{}
54364				err = json.Unmarshal(*v, &useEncryptedEndpoints)
54365				if err != nil {
54366					return err
54367				}
54368				jlstp.UseEncryptedEndpoints = useEncryptedEndpoints
54369			}
54370		case "useHostVerification":
54371			if v != nil {
54372				var useHostVerification interface{}
54373				err = json.Unmarshal(*v, &useHostVerification)
54374				if err != nil {
54375					return err
54376				}
54377				jlstp.UseHostVerification = useHostVerification
54378			}
54379		case "usePeerVerification":
54380			if v != nil {
54381				var usePeerVerification interface{}
54382				err = json.Unmarshal(*v, &usePeerVerification)
54383				if err != nil {
54384					return err
54385				}
54386				jlstp.UsePeerVerification = usePeerVerification
54387			}
54388		case "encryptedCredential":
54389			if v != nil {
54390				var encryptedCredential interface{}
54391				err = json.Unmarshal(*v, &encryptedCredential)
54392				if err != nil {
54393					return err
54394				}
54395				jlstp.EncryptedCredential = encryptedCredential
54396			}
54397		}
54398	}
54399
54400	return nil
54401}
54402
54403// JiraObjectDataset jira Service dataset.
54404type JiraObjectDataset struct {
54405	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54406	AdditionalProperties map[string]interface{} `json:""`
54407	// Description - Dataset description.
54408	Description *string `json:"description,omitempty"`
54409	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
54410	Structure interface{} `json:"structure,omitempty"`
54411	// LinkedServiceName - Linked service reference.
54412	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
54413	// Parameters - Parameters for dataset.
54414	Parameters map[string]*ParameterSpecification `json:"parameters"`
54415	// Annotations - List of tags that can be used for describing the Dataset.
54416	Annotations *[]interface{} `json:"annotations,omitempty"`
54417	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
54418	Type TypeBasicDataset `json:"type,omitempty"`
54419}
54420
54421// MarshalJSON is the custom marshaler for JiraObjectDataset.
54422func (jod JiraObjectDataset) MarshalJSON() ([]byte, error) {
54423	jod.Type = TypeJiraObject
54424	objectMap := make(map[string]interface{})
54425	if jod.Description != nil {
54426		objectMap["description"] = jod.Description
54427	}
54428	if jod.Structure != nil {
54429		objectMap["structure"] = jod.Structure
54430	}
54431	if jod.LinkedServiceName != nil {
54432		objectMap["linkedServiceName"] = jod.LinkedServiceName
54433	}
54434	if jod.Parameters != nil {
54435		objectMap["parameters"] = jod.Parameters
54436	}
54437	if jod.Annotations != nil {
54438		objectMap["annotations"] = jod.Annotations
54439	}
54440	if jod.Type != "" {
54441		objectMap["type"] = jod.Type
54442	}
54443	for k, v := range jod.AdditionalProperties {
54444		objectMap[k] = v
54445	}
54446	return json.Marshal(objectMap)
54447}
54448
54449// AsResponsysObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54450func (jod JiraObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
54451	return nil, false
54452}
54453
54454// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54455func (jod JiraObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
54456	return nil, false
54457}
54458
54459// AsVerticaTableDataset is the BasicDataset implementation for JiraObjectDataset.
54460func (jod JiraObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
54461	return nil, false
54462}
54463
54464// AsNetezzaTableDataset is the BasicDataset implementation for JiraObjectDataset.
54465func (jod JiraObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
54466	return nil, false
54467}
54468
54469// AsZohoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54470func (jod JiraObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
54471	return nil, false
54472}
54473
54474// AsXeroObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54475func (jod JiraObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
54476	return nil, false
54477}
54478
54479// AsSquareObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54480func (jod JiraObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
54481	return nil, false
54482}
54483
54484// AsSparkObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54485func (jod JiraObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
54486	return nil, false
54487}
54488
54489// AsShopifyObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54490func (jod JiraObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
54491	return nil, false
54492}
54493
54494// AsServiceNowObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54495func (jod JiraObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
54496	return nil, false
54497}
54498
54499// AsQuickBooksObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54500func (jod JiraObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
54501	return nil, false
54502}
54503
54504// AsPrestoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54505func (jod JiraObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
54506	return nil, false
54507}
54508
54509// AsPhoenixObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54510func (jod JiraObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
54511	return nil, false
54512}
54513
54514// AsPaypalObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54515func (jod JiraObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
54516	return nil, false
54517}
54518
54519// AsMarketoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54520func (jod JiraObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
54521	return nil, false
54522}
54523
54524// AsMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset.
54525func (jod JiraObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
54526	return nil, false
54527}
54528
54529// AsMagentoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54530func (jod JiraObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
54531	return nil, false
54532}
54533
54534// AsJiraObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54535func (jod JiraObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
54536	return &jod, true
54537}
54538
54539// AsImpalaObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54540func (jod JiraObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
54541	return nil, false
54542}
54543
54544// AsHubspotObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54545func (jod JiraObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
54546	return nil, false
54547}
54548
54549// AsHiveObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54550func (jod JiraObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
54551	return nil, false
54552}
54553
54554// AsHBaseObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54555func (jod JiraObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
54556	return nil, false
54557}
54558
54559// AsGreenplumTableDataset is the BasicDataset implementation for JiraObjectDataset.
54560func (jod JiraObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
54561	return nil, false
54562}
54563
54564// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54565func (jod JiraObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
54566	return nil, false
54567}
54568
54569// AsEloquaObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54570func (jod JiraObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
54571	return nil, false
54572}
54573
54574// AsDrillTableDataset is the BasicDataset implementation for JiraObjectDataset.
54575func (jod JiraObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
54576	return nil, false
54577}
54578
54579// AsCouchbaseTableDataset is the BasicDataset implementation for JiraObjectDataset.
54580func (jod JiraObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
54581	return nil, false
54582}
54583
54584// AsConcurObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54585func (jod JiraObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
54586	return nil, false
54587}
54588
54589// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
54590func (jod JiraObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
54591	return nil, false
54592}
54593
54594// AsAmazonMWSObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54595func (jod JiraObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
54596	return nil, false
54597}
54598
54599// AsHTTPDataset is the BasicDataset implementation for JiraObjectDataset.
54600func (jod JiraObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
54601	return nil, false
54602}
54603
54604// AsAzureSearchIndexDataset is the BasicDataset implementation for JiraObjectDataset.
54605func (jod JiraObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
54606	return nil, false
54607}
54608
54609// AsWebTableDataset is the BasicDataset implementation for JiraObjectDataset.
54610func (jod JiraObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
54611	return nil, false
54612}
54613
54614// AsSQLServerTableDataset is the BasicDataset implementation for JiraObjectDataset.
54615func (jod JiraObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
54616	return nil, false
54617}
54618
54619// AsSapEccResourceDataset is the BasicDataset implementation for JiraObjectDataset.
54620func (jod JiraObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
54621	return nil, false
54622}
54623
54624// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JiraObjectDataset.
54625func (jod JiraObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
54626	return nil, false
54627}
54628
54629// AsSalesforceObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54630func (jod JiraObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
54631	return nil, false
54632}
54633
54634// AsRelationalTableDataset is the BasicDataset implementation for JiraObjectDataset.
54635func (jod JiraObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
54636	return nil, false
54637}
54638
54639// AsAzureMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
54640func (jod JiraObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
54641	return nil, false
54642}
54643
54644// AsOracleTableDataset is the BasicDataset implementation for JiraObjectDataset.
54645func (jod JiraObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
54646	return nil, false
54647}
54648
54649// AsODataResourceDataset is the BasicDataset implementation for JiraObjectDataset.
54650func (jod JiraObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
54651	return nil, false
54652}
54653
54654// AsMongoDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset.
54655func (jod JiraObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
54656	return nil, false
54657}
54658
54659// AsFileShareDataset is the BasicDataset implementation for JiraObjectDataset.
54660func (jod JiraObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
54661	return nil, false
54662}
54663
54664// AsAzureDataLakeStoreDataset is the BasicDataset implementation for JiraObjectDataset.
54665func (jod JiraObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
54666	return nil, false
54667}
54668
54669// AsDynamicsEntityDataset is the BasicDataset implementation for JiraObjectDataset.
54670func (jod JiraObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
54671	return nil, false
54672}
54673
54674// AsDocumentDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset.
54675func (jod JiraObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
54676	return nil, false
54677}
54678
54679// AsCustomDataset is the BasicDataset implementation for JiraObjectDataset.
54680func (jod JiraObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
54681	return nil, false
54682}
54683
54684// AsCassandraTableDataset is the BasicDataset implementation for JiraObjectDataset.
54685func (jod JiraObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
54686	return nil, false
54687}
54688
54689// AsAzureSQLDWTableDataset is the BasicDataset implementation for JiraObjectDataset.
54690func (jod JiraObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
54691	return nil, false
54692}
54693
54694// AsAzureSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
54695func (jod JiraObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
54696	return nil, false
54697}
54698
54699// AsAzureTableDataset is the BasicDataset implementation for JiraObjectDataset.
54700func (jod JiraObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
54701	return nil, false
54702}
54703
54704// AsAzureBlobDataset is the BasicDataset implementation for JiraObjectDataset.
54705func (jod JiraObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
54706	return nil, false
54707}
54708
54709// AsAmazonS3Dataset is the BasicDataset implementation for JiraObjectDataset.
54710func (jod JiraObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
54711	return nil, false
54712}
54713
54714// AsDataset is the BasicDataset implementation for JiraObjectDataset.
54715func (jod JiraObjectDataset) AsDataset() (*Dataset, bool) {
54716	return nil, false
54717}
54718
54719// AsBasicDataset is the BasicDataset implementation for JiraObjectDataset.
54720func (jod JiraObjectDataset) AsBasicDataset() (BasicDataset, bool) {
54721	return &jod, true
54722}
54723
54724// UnmarshalJSON is the custom unmarshaler for JiraObjectDataset struct.
54725func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error {
54726	var m map[string]*json.RawMessage
54727	err := json.Unmarshal(body, &m)
54728	if err != nil {
54729		return err
54730	}
54731	for k, v := range m {
54732		switch k {
54733		default:
54734			if v != nil {
54735				var additionalProperties interface{}
54736				err = json.Unmarshal(*v, &additionalProperties)
54737				if err != nil {
54738					return err
54739				}
54740				if jod.AdditionalProperties == nil {
54741					jod.AdditionalProperties = make(map[string]interface{})
54742				}
54743				jod.AdditionalProperties[k] = additionalProperties
54744			}
54745		case "description":
54746			if v != nil {
54747				var description string
54748				err = json.Unmarshal(*v, &description)
54749				if err != nil {
54750					return err
54751				}
54752				jod.Description = &description
54753			}
54754		case "structure":
54755			if v != nil {
54756				var structure interface{}
54757				err = json.Unmarshal(*v, &structure)
54758				if err != nil {
54759					return err
54760				}
54761				jod.Structure = structure
54762			}
54763		case "linkedServiceName":
54764			if v != nil {
54765				var linkedServiceName LinkedServiceReference
54766				err = json.Unmarshal(*v, &linkedServiceName)
54767				if err != nil {
54768					return err
54769				}
54770				jod.LinkedServiceName = &linkedServiceName
54771			}
54772		case "parameters":
54773			if v != nil {
54774				var parameters map[string]*ParameterSpecification
54775				err = json.Unmarshal(*v, &parameters)
54776				if err != nil {
54777					return err
54778				}
54779				jod.Parameters = parameters
54780			}
54781		case "annotations":
54782			if v != nil {
54783				var annotations []interface{}
54784				err = json.Unmarshal(*v, &annotations)
54785				if err != nil {
54786					return err
54787				}
54788				jod.Annotations = &annotations
54789			}
54790		case "type":
54791			if v != nil {
54792				var typeVar TypeBasicDataset
54793				err = json.Unmarshal(*v, &typeVar)
54794				if err != nil {
54795					return err
54796				}
54797				jod.Type = typeVar
54798			}
54799		}
54800	}
54801
54802	return nil
54803}
54804
54805// JiraSource a copy activity Jira Service source.
54806type JiraSource struct {
54807	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
54808	Query interface{} `json:"query,omitempty"`
54809	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54810	AdditionalProperties map[string]interface{} `json:""`
54811	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
54812	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
54813	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
54814	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
54815	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
54816	Type TypeBasicCopySource `json:"type,omitempty"`
54817}
54818
54819// MarshalJSON is the custom marshaler for JiraSource.
54820func (js JiraSource) MarshalJSON() ([]byte, error) {
54821	js.Type = TypeJiraSource
54822	objectMap := make(map[string]interface{})
54823	if js.Query != nil {
54824		objectMap["query"] = js.Query
54825	}
54826	if js.SourceRetryCount != nil {
54827		objectMap["sourceRetryCount"] = js.SourceRetryCount
54828	}
54829	if js.SourceRetryWait != nil {
54830		objectMap["sourceRetryWait"] = js.SourceRetryWait
54831	}
54832	if js.Type != "" {
54833		objectMap["type"] = js.Type
54834	}
54835	for k, v := range js.AdditionalProperties {
54836		objectMap[k] = v
54837	}
54838	return json.Marshal(objectMap)
54839}
54840
54841// AsAmazonRedshiftSource is the BasicCopySource implementation for JiraSource.
54842func (js JiraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
54843	return nil, false
54844}
54845
54846// AsResponsysSource is the BasicCopySource implementation for JiraSource.
54847func (js JiraSource) AsResponsysSource() (*ResponsysSource, bool) {
54848	return nil, false
54849}
54850
54851// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JiraSource.
54852func (js JiraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
54853	return nil, false
54854}
54855
54856// AsVerticaSource is the BasicCopySource implementation for JiraSource.
54857func (js JiraSource) AsVerticaSource() (*VerticaSource, bool) {
54858	return nil, false
54859}
54860
54861// AsNetezzaSource is the BasicCopySource implementation for JiraSource.
54862func (js JiraSource) AsNetezzaSource() (*NetezzaSource, bool) {
54863	return nil, false
54864}
54865
54866// AsZohoSource is the BasicCopySource implementation for JiraSource.
54867func (js JiraSource) AsZohoSource() (*ZohoSource, bool) {
54868	return nil, false
54869}
54870
54871// AsXeroSource is the BasicCopySource implementation for JiraSource.
54872func (js JiraSource) AsXeroSource() (*XeroSource, bool) {
54873	return nil, false
54874}
54875
54876// AsSquareSource is the BasicCopySource implementation for JiraSource.
54877func (js JiraSource) AsSquareSource() (*SquareSource, bool) {
54878	return nil, false
54879}
54880
54881// AsSparkSource is the BasicCopySource implementation for JiraSource.
54882func (js JiraSource) AsSparkSource() (*SparkSource, bool) {
54883	return nil, false
54884}
54885
54886// AsShopifySource is the BasicCopySource implementation for JiraSource.
54887func (js JiraSource) AsShopifySource() (*ShopifySource, bool) {
54888	return nil, false
54889}
54890
54891// AsServiceNowSource is the BasicCopySource implementation for JiraSource.
54892func (js JiraSource) AsServiceNowSource() (*ServiceNowSource, bool) {
54893	return nil, false
54894}
54895
54896// AsQuickBooksSource is the BasicCopySource implementation for JiraSource.
54897func (js JiraSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
54898	return nil, false
54899}
54900
54901// AsPrestoSource is the BasicCopySource implementation for JiraSource.
54902func (js JiraSource) AsPrestoSource() (*PrestoSource, bool) {
54903	return nil, false
54904}
54905
54906// AsPhoenixSource is the BasicCopySource implementation for JiraSource.
54907func (js JiraSource) AsPhoenixSource() (*PhoenixSource, bool) {
54908	return nil, false
54909}
54910
54911// AsPaypalSource is the BasicCopySource implementation for JiraSource.
54912func (js JiraSource) AsPaypalSource() (*PaypalSource, bool) {
54913	return nil, false
54914}
54915
54916// AsMarketoSource is the BasicCopySource implementation for JiraSource.
54917func (js JiraSource) AsMarketoSource() (*MarketoSource, bool) {
54918	return nil, false
54919}
54920
54921// AsMariaDBSource is the BasicCopySource implementation for JiraSource.
54922func (js JiraSource) AsMariaDBSource() (*MariaDBSource, bool) {
54923	return nil, false
54924}
54925
54926// AsMagentoSource is the BasicCopySource implementation for JiraSource.
54927func (js JiraSource) AsMagentoSource() (*MagentoSource, bool) {
54928	return nil, false
54929}
54930
54931// AsJiraSource is the BasicCopySource implementation for JiraSource.
54932func (js JiraSource) AsJiraSource() (*JiraSource, bool) {
54933	return &js, true
54934}
54935
54936// AsImpalaSource is the BasicCopySource implementation for JiraSource.
54937func (js JiraSource) AsImpalaSource() (*ImpalaSource, bool) {
54938	return nil, false
54939}
54940
54941// AsHubspotSource is the BasicCopySource implementation for JiraSource.
54942func (js JiraSource) AsHubspotSource() (*HubspotSource, bool) {
54943	return nil, false
54944}
54945
54946// AsHiveSource is the BasicCopySource implementation for JiraSource.
54947func (js JiraSource) AsHiveSource() (*HiveSource, bool) {
54948	return nil, false
54949}
54950
54951// AsHBaseSource is the BasicCopySource implementation for JiraSource.
54952func (js JiraSource) AsHBaseSource() (*HBaseSource, bool) {
54953	return nil, false
54954}
54955
54956// AsGreenplumSource is the BasicCopySource implementation for JiraSource.
54957func (js JiraSource) AsGreenplumSource() (*GreenplumSource, bool) {
54958	return nil, false
54959}
54960
54961// AsGoogleBigQuerySource is the BasicCopySource implementation for JiraSource.
54962func (js JiraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
54963	return nil, false
54964}
54965
54966// AsEloquaSource is the BasicCopySource implementation for JiraSource.
54967func (js JiraSource) AsEloquaSource() (*EloquaSource, bool) {
54968	return nil, false
54969}
54970
54971// AsDrillSource is the BasicCopySource implementation for JiraSource.
54972func (js JiraSource) AsDrillSource() (*DrillSource, bool) {
54973	return nil, false
54974}
54975
54976// AsCouchbaseSource is the BasicCopySource implementation for JiraSource.
54977func (js JiraSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
54978	return nil, false
54979}
54980
54981// AsConcurSource is the BasicCopySource implementation for JiraSource.
54982func (js JiraSource) AsConcurSource() (*ConcurSource, bool) {
54983	return nil, false
54984}
54985
54986// AsAzurePostgreSQLSource is the BasicCopySource implementation for JiraSource.
54987func (js JiraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
54988	return nil, false
54989}
54990
54991// AsAmazonMWSSource is the BasicCopySource implementation for JiraSource.
54992func (js JiraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
54993	return nil, false
54994}
54995
54996// AsHTTPSource is the BasicCopySource implementation for JiraSource.
54997func (js JiraSource) AsHTTPSource() (*HTTPSource, bool) {
54998	return nil, false
54999}
55000
55001// AsAzureDataLakeStoreSource is the BasicCopySource implementation for JiraSource.
55002func (js JiraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
55003	return nil, false
55004}
55005
55006// AsMongoDbSource is the BasicCopySource implementation for JiraSource.
55007func (js JiraSource) AsMongoDbSource() (*MongoDbSource, bool) {
55008	return nil, false
55009}
55010
55011// AsCassandraSource is the BasicCopySource implementation for JiraSource.
55012func (js JiraSource) AsCassandraSource() (*CassandraSource, bool) {
55013	return nil, false
55014}
55015
55016// AsWebSource is the BasicCopySource implementation for JiraSource.
55017func (js JiraSource) AsWebSource() (*WebSource, bool) {
55018	return nil, false
55019}
55020
55021// AsOracleSource is the BasicCopySource implementation for JiraSource.
55022func (js JiraSource) AsOracleSource() (*OracleSource, bool) {
55023	return nil, false
55024}
55025
55026// AsAzureMySQLSource is the BasicCopySource implementation for JiraSource.
55027func (js JiraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
55028	return nil, false
55029}
55030
55031// AsHdfsSource is the BasicCopySource implementation for JiraSource.
55032func (js JiraSource) AsHdfsSource() (*HdfsSource, bool) {
55033	return nil, false
55034}
55035
55036// AsFileSystemSource is the BasicCopySource implementation for JiraSource.
55037func (js JiraSource) AsFileSystemSource() (*FileSystemSource, bool) {
55038	return nil, false
55039}
55040
55041// AsSQLDWSource is the BasicCopySource implementation for JiraSource.
55042func (js JiraSource) AsSQLDWSource() (*SQLDWSource, bool) {
55043	return nil, false
55044}
55045
55046// AsSQLSource is the BasicCopySource implementation for JiraSource.
55047func (js JiraSource) AsSQLSource() (*SQLSource, bool) {
55048	return nil, false
55049}
55050
55051// AsSapEccSource is the BasicCopySource implementation for JiraSource.
55052func (js JiraSource) AsSapEccSource() (*SapEccSource, bool) {
55053	return nil, false
55054}
55055
55056// AsSapCloudForCustomerSource is the BasicCopySource implementation for JiraSource.
55057func (js JiraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
55058	return nil, false
55059}
55060
55061// AsSalesforceSource is the BasicCopySource implementation for JiraSource.
55062func (js JiraSource) AsSalesforceSource() (*SalesforceSource, bool) {
55063	return nil, false
55064}
55065
55066// AsRelationalSource is the BasicCopySource implementation for JiraSource.
55067func (js JiraSource) AsRelationalSource() (*RelationalSource, bool) {
55068	return nil, false
55069}
55070
55071// AsDynamicsSource is the BasicCopySource implementation for JiraSource.
55072func (js JiraSource) AsDynamicsSource() (*DynamicsSource, bool) {
55073	return nil, false
55074}
55075
55076// AsDocumentDbCollectionSource is the BasicCopySource implementation for JiraSource.
55077func (js JiraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
55078	return nil, false
55079}
55080
55081// AsBlobSource is the BasicCopySource implementation for JiraSource.
55082func (js JiraSource) AsBlobSource() (*BlobSource, bool) {
55083	return nil, false
55084}
55085
55086// AsAzureTableSource is the BasicCopySource implementation for JiraSource.
55087func (js JiraSource) AsAzureTableSource() (*AzureTableSource, bool) {
55088	return nil, false
55089}
55090
55091// AsCopySource is the BasicCopySource implementation for JiraSource.
55092func (js JiraSource) AsCopySource() (*CopySource, bool) {
55093	return nil, false
55094}
55095
55096// AsBasicCopySource is the BasicCopySource implementation for JiraSource.
55097func (js JiraSource) AsBasicCopySource() (BasicCopySource, bool) {
55098	return &js, true
55099}
55100
55101// UnmarshalJSON is the custom unmarshaler for JiraSource struct.
55102func (js *JiraSource) UnmarshalJSON(body []byte) error {
55103	var m map[string]*json.RawMessage
55104	err := json.Unmarshal(body, &m)
55105	if err != nil {
55106		return err
55107	}
55108	for k, v := range m {
55109		switch k {
55110		case "query":
55111			if v != nil {
55112				var query interface{}
55113				err = json.Unmarshal(*v, &query)
55114				if err != nil {
55115					return err
55116				}
55117				js.Query = query
55118			}
55119		default:
55120			if v != nil {
55121				var additionalProperties interface{}
55122				err = json.Unmarshal(*v, &additionalProperties)
55123				if err != nil {
55124					return err
55125				}
55126				if js.AdditionalProperties == nil {
55127					js.AdditionalProperties = make(map[string]interface{})
55128				}
55129				js.AdditionalProperties[k] = additionalProperties
55130			}
55131		case "sourceRetryCount":
55132			if v != nil {
55133				var sourceRetryCount interface{}
55134				err = json.Unmarshal(*v, &sourceRetryCount)
55135				if err != nil {
55136					return err
55137				}
55138				js.SourceRetryCount = sourceRetryCount
55139			}
55140		case "sourceRetryWait":
55141			if v != nil {
55142				var sourceRetryWait interface{}
55143				err = json.Unmarshal(*v, &sourceRetryWait)
55144				if err != nil {
55145					return err
55146				}
55147				js.SourceRetryWait = sourceRetryWait
55148			}
55149		case "type":
55150			if v != nil {
55151				var typeVar TypeBasicCopySource
55152				err = json.Unmarshal(*v, &typeVar)
55153				if err != nil {
55154					return err
55155				}
55156				js.Type = typeVar
55157			}
55158		}
55159	}
55160
55161	return nil
55162}
55163
55164// JSONFormat the data stored in JSON format.
55165type JSONFormat struct {
55166	// FilePattern - File pattern of JSON. To be more specific, the way of separating a collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. Possible values include: 'SetOfObjects', 'ArrayOfObjects'
55167	FilePattern JSONFormatFilePattern `json:"filePattern,omitempty"`
55168	// NestingSeparator - The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string).
55169	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
55170	// EncodingName - The code page name of the preferred encoding. If not provided, the default value is 'utf-8', unless the byte order mark (BOM) denotes another Unicode encoding. The full list of supported values can be found in the 'Name' column of the table of encodings in the following reference: https://go.microsoft.com/fwlink/?linkid=861078. Type: string (or Expression with resultType string).
55171	EncodingName interface{} `json:"encodingName,omitempty"`
55172	// JSONNodeReference - The JSONPath of the JSON array element to be flattened. Example: "$.ArrayPath". Type: string (or Expression with resultType string).
55173	JSONNodeReference interface{} `json:"jsonNodeReference,omitempty"`
55174	// JSONPathDefinition - The JSONPath definition for each column mapping with a customized column name to extract data from JSON file. For fields under root object, start with "$"; for fields inside the array chosen by jsonNodeReference property, start from the array element. Example: {"Column1": "$.Column1Path", "Column2": "Column2PathInArray"}. Type: object (or Expression with resultType object).
55175	JSONPathDefinition interface{} `json:"jsonPathDefinition,omitempty"`
55176	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
55177	AdditionalProperties map[string]interface{} `json:""`
55178	// Serializer - Serializer. Type: string (or Expression with resultType string).
55179	Serializer interface{} `json:"serializer,omitempty"`
55180	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
55181	Deserializer interface{} `json:"deserializer,omitempty"`
55182	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
55183	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
55184}
55185
55186// MarshalJSON is the custom marshaler for JSONFormat.
55187func (jf JSONFormat) MarshalJSON() ([]byte, error) {
55188	jf.Type = TypeJSONFormat
55189	objectMap := make(map[string]interface{})
55190	if jf.FilePattern != "" {
55191		objectMap["filePattern"] = jf.FilePattern
55192	}
55193	if jf.NestingSeparator != nil {
55194		objectMap["nestingSeparator"] = jf.NestingSeparator
55195	}
55196	if jf.EncodingName != nil {
55197		objectMap["encodingName"] = jf.EncodingName
55198	}
55199	if jf.JSONNodeReference != nil {
55200		objectMap["jsonNodeReference"] = jf.JSONNodeReference
55201	}
55202	if jf.JSONPathDefinition != nil {
55203		objectMap["jsonPathDefinition"] = jf.JSONPathDefinition
55204	}
55205	if jf.Serializer != nil {
55206		objectMap["serializer"] = jf.Serializer
55207	}
55208	if jf.Deserializer != nil {
55209		objectMap["deserializer"] = jf.Deserializer
55210	}
55211	if jf.Type != "" {
55212		objectMap["type"] = jf.Type
55213	}
55214	for k, v := range jf.AdditionalProperties {
55215		objectMap[k] = v
55216	}
55217	return json.Marshal(objectMap)
55218}
55219
55220// AsParquetFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55221func (jf JSONFormat) AsParquetFormat() (*ParquetFormat, bool) {
55222	return nil, false
55223}
55224
55225// AsOrcFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55226func (jf JSONFormat) AsOrcFormat() (*OrcFormat, bool) {
55227	return nil, false
55228}
55229
55230// AsAvroFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55231func (jf JSONFormat) AsAvroFormat() (*AvroFormat, bool) {
55232	return nil, false
55233}
55234
55235// AsJSONFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55236func (jf JSONFormat) AsJSONFormat() (*JSONFormat, bool) {
55237	return &jf, true
55238}
55239
55240// AsTextFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55241func (jf JSONFormat) AsTextFormat() (*TextFormat, bool) {
55242	return nil, false
55243}
55244
55245// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55246func (jf JSONFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
55247	return nil, false
55248}
55249
55250// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55251func (jf JSONFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
55252	return &jf, true
55253}
55254
55255// UnmarshalJSON is the custom unmarshaler for JSONFormat struct.
55256func (jf *JSONFormat) UnmarshalJSON(body []byte) error {
55257	var m map[string]*json.RawMessage
55258	err := json.Unmarshal(body, &m)
55259	if err != nil {
55260		return err
55261	}
55262	for k, v := range m {
55263		switch k {
55264		case "filePattern":
55265			if v != nil {
55266				var filePattern JSONFormatFilePattern
55267				err = json.Unmarshal(*v, &filePattern)
55268				if err != nil {
55269					return err
55270				}
55271				jf.FilePattern = filePattern
55272			}
55273		case "nestingSeparator":
55274			if v != nil {
55275				var nestingSeparator interface{}
55276				err = json.Unmarshal(*v, &nestingSeparator)
55277				if err != nil {
55278					return err
55279				}
55280				jf.NestingSeparator = nestingSeparator
55281			}
55282		case "encodingName":
55283			if v != nil {
55284				var encodingName interface{}
55285				err = json.Unmarshal(*v, &encodingName)
55286				if err != nil {
55287					return err
55288				}
55289				jf.EncodingName = encodingName
55290			}
55291		case "jsonNodeReference":
55292			if v != nil {
55293				var JSONNodeReference interface{}
55294				err = json.Unmarshal(*v, &JSONNodeReference)
55295				if err != nil {
55296					return err
55297				}
55298				jf.JSONNodeReference = JSONNodeReference
55299			}
55300		case "jsonPathDefinition":
55301			if v != nil {
55302				var JSONPathDefinition interface{}
55303				err = json.Unmarshal(*v, &JSONPathDefinition)
55304				if err != nil {
55305					return err
55306				}
55307				jf.JSONPathDefinition = JSONPathDefinition
55308			}
55309		default:
55310			if v != nil {
55311				var additionalProperties interface{}
55312				err = json.Unmarshal(*v, &additionalProperties)
55313				if err != nil {
55314					return err
55315				}
55316				if jf.AdditionalProperties == nil {
55317					jf.AdditionalProperties = make(map[string]interface{})
55318				}
55319				jf.AdditionalProperties[k] = additionalProperties
55320			}
55321		case "serializer":
55322			if v != nil {
55323				var serializer interface{}
55324				err = json.Unmarshal(*v, &serializer)
55325				if err != nil {
55326					return err
55327				}
55328				jf.Serializer = serializer
55329			}
55330		case "deserializer":
55331			if v != nil {
55332				var deserializer interface{}
55333				err = json.Unmarshal(*v, &deserializer)
55334				if err != nil {
55335					return err
55336				}
55337				jf.Deserializer = deserializer
55338			}
55339		case "type":
55340			if v != nil {
55341				var typeVar TypeBasicDatasetStorageFormat
55342				err = json.Unmarshal(*v, &typeVar)
55343				if err != nil {
55344					return err
55345				}
55346				jf.Type = typeVar
55347			}
55348		}
55349	}
55350
55351	return nil
55352}
55353
55354// LinkedIntegrationRuntime the linked integration runtime information.
55355type LinkedIntegrationRuntime struct {
55356	// Name - READ-ONLY; The name of the linked integration runtime.
55357	Name *string `json:"name,omitempty"`
55358	// SubscriptionID - READ-ONLY; The subscription ID for which the linked integration runtime belong to.
55359	SubscriptionID *string `json:"subscriptionId,omitempty"`
55360	// DataFactoryName - READ-ONLY; The name of the data factory for which the linked integration runtime belong to.
55361	DataFactoryName *string `json:"dataFactoryName,omitempty"`
55362	// DataFactoryLocation - READ-ONLY; The location of the data factory for which the linked integration runtime belong to.
55363	DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"`
55364	// CreateTime - READ-ONLY; The creating time of the linked integration runtime.
55365	CreateTime *date.Time `json:"createTime,omitempty"`
55366}
55367
55368// MarshalJSON is the custom marshaler for LinkedIntegrationRuntime.
55369func (lir LinkedIntegrationRuntime) MarshalJSON() ([]byte, error) {
55370	objectMap := make(map[string]interface{})
55371	return json.Marshal(objectMap)
55372}
55373
55374// LinkedIntegrationRuntimeKey the base definition of a secret type.
55375type LinkedIntegrationRuntimeKey struct {
55376	// Key - Type of the secret.
55377	Key *SecureString `json:"key,omitempty"`
55378	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeProperties', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
55379	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
55380}
55381
55382// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeKey.
55383func (lirk LinkedIntegrationRuntimeKey) MarshalJSON() ([]byte, error) {
55384	lirk.AuthorizationType = AuthorizationTypeKey
55385	objectMap := make(map[string]interface{})
55386	if lirk.Key != nil {
55387		objectMap["key"] = lirk.Key
55388	}
55389	if lirk.AuthorizationType != "" {
55390		objectMap["authorizationType"] = lirk.AuthorizationType
55391	}
55392	return json.Marshal(objectMap)
55393}
55394
55395// AsLinkedIntegrationRuntimeRbac is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeKey.
55396func (lirk LinkedIntegrationRuntimeKey) AsLinkedIntegrationRuntimeRbac() (*LinkedIntegrationRuntimeRbac, bool) {
55397	return nil, false
55398}
55399
55400// AsLinkedIntegrationRuntimeKey is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeKey.
55401func (lirk LinkedIntegrationRuntimeKey) AsLinkedIntegrationRuntimeKey() (*LinkedIntegrationRuntimeKey, bool) {
55402	return &lirk, true
55403}
55404
55405// AsLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeKey.
55406func (lirk LinkedIntegrationRuntimeKey) AsLinkedIntegrationRuntimeProperties() (*LinkedIntegrationRuntimeProperties, bool) {
55407	return nil, false
55408}
55409
55410// AsBasicLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeKey.
55411func (lirk LinkedIntegrationRuntimeKey) AsBasicLinkedIntegrationRuntimeProperties() (BasicLinkedIntegrationRuntimeProperties, bool) {
55412	return &lirk, true
55413}
55414
55415// BasicLinkedIntegrationRuntimeProperties the base definition of a secret type.
55416type BasicLinkedIntegrationRuntimeProperties interface {
55417	AsLinkedIntegrationRuntimeRbac() (*LinkedIntegrationRuntimeRbac, bool)
55418	AsLinkedIntegrationRuntimeKey() (*LinkedIntegrationRuntimeKey, bool)
55419	AsLinkedIntegrationRuntimeProperties() (*LinkedIntegrationRuntimeProperties, bool)
55420}
55421
55422// LinkedIntegrationRuntimeProperties the base definition of a secret type.
55423type LinkedIntegrationRuntimeProperties struct {
55424	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeProperties', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
55425	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
55426}
55427
55428func unmarshalBasicLinkedIntegrationRuntimeProperties(body []byte) (BasicLinkedIntegrationRuntimeProperties, error) {
55429	var m map[string]interface{}
55430	err := json.Unmarshal(body, &m)
55431	if err != nil {
55432		return nil, err
55433	}
55434
55435	switch m["authorizationType"] {
55436	case string(AuthorizationTypeRBAC):
55437		var lirr LinkedIntegrationRuntimeRbac
55438		err := json.Unmarshal(body, &lirr)
55439		return lirr, err
55440	case string(AuthorizationTypeKey):
55441		var lirk LinkedIntegrationRuntimeKey
55442		err := json.Unmarshal(body, &lirk)
55443		return lirk, err
55444	default:
55445		var lirp LinkedIntegrationRuntimeProperties
55446		err := json.Unmarshal(body, &lirp)
55447		return lirp, err
55448	}
55449}
55450func unmarshalBasicLinkedIntegrationRuntimePropertiesArray(body []byte) ([]BasicLinkedIntegrationRuntimeProperties, error) {
55451	var rawMessages []*json.RawMessage
55452	err := json.Unmarshal(body, &rawMessages)
55453	if err != nil {
55454		return nil, err
55455	}
55456
55457	lirpArray := make([]BasicLinkedIntegrationRuntimeProperties, len(rawMessages))
55458
55459	for index, rawMessage := range rawMessages {
55460		lirp, err := unmarshalBasicLinkedIntegrationRuntimeProperties(*rawMessage)
55461		if err != nil {
55462			return nil, err
55463		}
55464		lirpArray[index] = lirp
55465	}
55466	return lirpArray, nil
55467}
55468
55469// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeProperties.
55470func (lirp LinkedIntegrationRuntimeProperties) MarshalJSON() ([]byte, error) {
55471	lirp.AuthorizationType = AuthorizationTypeLinkedIntegrationRuntimeProperties
55472	objectMap := make(map[string]interface{})
55473	if lirp.AuthorizationType != "" {
55474		objectMap["authorizationType"] = lirp.AuthorizationType
55475	}
55476	return json.Marshal(objectMap)
55477}
55478
55479// AsLinkedIntegrationRuntimeRbac is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeProperties.
55480func (lirp LinkedIntegrationRuntimeProperties) AsLinkedIntegrationRuntimeRbac() (*LinkedIntegrationRuntimeRbac, bool) {
55481	return nil, false
55482}
55483
55484// AsLinkedIntegrationRuntimeKey is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeProperties.
55485func (lirp LinkedIntegrationRuntimeProperties) AsLinkedIntegrationRuntimeKey() (*LinkedIntegrationRuntimeKey, bool) {
55486	return nil, false
55487}
55488
55489// AsLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeProperties.
55490func (lirp LinkedIntegrationRuntimeProperties) AsLinkedIntegrationRuntimeProperties() (*LinkedIntegrationRuntimeProperties, bool) {
55491	return &lirp, true
55492}
55493
55494// AsBasicLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeProperties.
55495func (lirp LinkedIntegrationRuntimeProperties) AsBasicLinkedIntegrationRuntimeProperties() (BasicLinkedIntegrationRuntimeProperties, bool) {
55496	return &lirp, true
55497}
55498
55499// LinkedIntegrationRuntimeRbac the base definition of a secret type.
55500type LinkedIntegrationRuntimeRbac struct {
55501	// ResourceID - The resource ID of the integration runtime to be shared.
55502	ResourceID *string `json:"resourceId,omitempty"`
55503	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeProperties', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
55504	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
55505}
55506
55507// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeRbac.
55508func (lirr LinkedIntegrationRuntimeRbac) MarshalJSON() ([]byte, error) {
55509	lirr.AuthorizationType = AuthorizationTypeRBAC
55510	objectMap := make(map[string]interface{})
55511	if lirr.ResourceID != nil {
55512		objectMap["resourceId"] = lirr.ResourceID
55513	}
55514	if lirr.AuthorizationType != "" {
55515		objectMap["authorizationType"] = lirr.AuthorizationType
55516	}
55517	return json.Marshal(objectMap)
55518}
55519
55520// AsLinkedIntegrationRuntimeRbac is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeRbac.
55521func (lirr LinkedIntegrationRuntimeRbac) AsLinkedIntegrationRuntimeRbac() (*LinkedIntegrationRuntimeRbac, bool) {
55522	return &lirr, true
55523}
55524
55525// AsLinkedIntegrationRuntimeKey is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeRbac.
55526func (lirr LinkedIntegrationRuntimeRbac) AsLinkedIntegrationRuntimeKey() (*LinkedIntegrationRuntimeKey, bool) {
55527	return nil, false
55528}
55529
55530// AsLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeRbac.
55531func (lirr LinkedIntegrationRuntimeRbac) AsLinkedIntegrationRuntimeProperties() (*LinkedIntegrationRuntimeProperties, bool) {
55532	return nil, false
55533}
55534
55535// AsBasicLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeRbac.
55536func (lirr LinkedIntegrationRuntimeRbac) AsBasicLinkedIntegrationRuntimeProperties() (BasicLinkedIntegrationRuntimeProperties, bool) {
55537	return &lirr, true
55538}
55539
55540// LinkedIntegrationRuntimeTypeProperties the base definition of a secret type.
55541type LinkedIntegrationRuntimeTypeProperties struct {
55542	LinkedInfo BasicLinkedIntegrationRuntimeProperties `json:"linkedInfo,omitempty"`
55543}
55544
55545// UnmarshalJSON is the custom unmarshaler for LinkedIntegrationRuntimeTypeProperties struct.
55546func (lirtp *LinkedIntegrationRuntimeTypeProperties) UnmarshalJSON(body []byte) error {
55547	var m map[string]*json.RawMessage
55548	err := json.Unmarshal(body, &m)
55549	if err != nil {
55550		return err
55551	}
55552	for k, v := range m {
55553		switch k {
55554		case "linkedInfo":
55555			if v != nil {
55556				linkedInfo, err := unmarshalBasicLinkedIntegrationRuntimeProperties(*v)
55557				if err != nil {
55558					return err
55559				}
55560				lirtp.LinkedInfo = linkedInfo
55561			}
55562		}
55563	}
55564
55565	return nil
55566}
55567
55568// BasicLinkedService the Azure Data Factory nested object which contains the information and credential which can be
55569// used to connect with related store or compute resource.
55570type BasicLinkedService interface {
55571	AsResponsysLinkedService() (*ResponsysLinkedService, bool)
55572	AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool)
55573	AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool)
55574	AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool)
55575	AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool)
55576	AsNetezzaLinkedService() (*NetezzaLinkedService, bool)
55577	AsVerticaLinkedService() (*VerticaLinkedService, bool)
55578	AsZohoLinkedService() (*ZohoLinkedService, bool)
55579	AsXeroLinkedService() (*XeroLinkedService, bool)
55580	AsSquareLinkedService() (*SquareLinkedService, bool)
55581	AsSparkLinkedService() (*SparkLinkedService, bool)
55582	AsShopifyLinkedService() (*ShopifyLinkedService, bool)
55583	AsServiceNowLinkedService() (*ServiceNowLinkedService, bool)
55584	AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool)
55585	AsPrestoLinkedService() (*PrestoLinkedService, bool)
55586	AsPhoenixLinkedService() (*PhoenixLinkedService, bool)
55587	AsPaypalLinkedService() (*PaypalLinkedService, bool)
55588	AsMarketoLinkedService() (*MarketoLinkedService, bool)
55589	AsMariaDBLinkedService() (*MariaDBLinkedService, bool)
55590	AsMagentoLinkedService() (*MagentoLinkedService, bool)
55591	AsJiraLinkedService() (*JiraLinkedService, bool)
55592	AsImpalaLinkedService() (*ImpalaLinkedService, bool)
55593	AsHubspotLinkedService() (*HubspotLinkedService, bool)
55594	AsHiveLinkedService() (*HiveLinkedService, bool)
55595	AsHBaseLinkedService() (*HBaseLinkedService, bool)
55596	AsGreenplumLinkedService() (*GreenplumLinkedService, bool)
55597	AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool)
55598	AsEloquaLinkedService() (*EloquaLinkedService, bool)
55599	AsDrillLinkedService() (*DrillLinkedService, bool)
55600	AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool)
55601	AsConcurLinkedService() (*ConcurLinkedService, bool)
55602	AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool)
55603	AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool)
55604	AsSapHanaLinkedService() (*SapHanaLinkedService, bool)
55605	AsSapBWLinkedService() (*SapBWLinkedService, bool)
55606	AsSftpServerLinkedService() (*SftpServerLinkedService, bool)
55607	AsFtpServerLinkedService() (*FtpServerLinkedService, bool)
55608	AsHTTPLinkedService() (*HTTPLinkedService, bool)
55609	AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool)
55610	AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool)
55611	AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool)
55612	AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool)
55613	AsSapEccLinkedService() (*SapEccLinkedService, bool)
55614	AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool)
55615	AsSalesforceLinkedService() (*SalesforceLinkedService, bool)
55616	AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool)
55617	AsMongoDbLinkedService() (*MongoDbLinkedService, bool)
55618	AsCassandraLinkedService() (*CassandraLinkedService, bool)
55619	AsWebLinkedService() (*WebLinkedService, bool)
55620	AsODataLinkedService() (*ODataLinkedService, bool)
55621	AsHdfsLinkedService() (*HdfsLinkedService, bool)
55622	AsOdbcLinkedService() (*OdbcLinkedService, bool)
55623	AsAzureMLLinkedService() (*AzureMLLinkedService, bool)
55624	AsTeradataLinkedService() (*TeradataLinkedService, bool)
55625	AsDb2LinkedService() (*Db2LinkedService, bool)
55626	AsSybaseLinkedService() (*SybaseLinkedService, bool)
55627	AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool)
55628	AsMySQLLinkedService() (*MySQLLinkedService, bool)
55629	AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool)
55630	AsOracleLinkedService() (*OracleLinkedService, bool)
55631	AsFileServerLinkedService() (*FileServerLinkedService, bool)
55632	AsHDInsightLinkedService() (*HDInsightLinkedService, bool)
55633	AsDynamicsLinkedService() (*DynamicsLinkedService, bool)
55634	AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool)
55635	AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool)
55636	AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool)
55637	AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool)
55638	AsSQLServerLinkedService() (*SQLServerLinkedService, bool)
55639	AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool)
55640	AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool)
55641	AsLinkedService() (*LinkedService, bool)
55642}
55643
55644// LinkedService the Azure Data Factory nested object which contains the information and credential which can
55645// be used to connect with related store or compute resource.
55646type LinkedService struct {
55647	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
55648	AdditionalProperties map[string]interface{} `json:""`
55649	// ConnectVia - The integration runtime reference.
55650	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
55651	// Description - Linked service description.
55652	Description *string `json:"description,omitempty"`
55653	// Parameters - Parameters for linked service.
55654	Parameters map[string]*ParameterSpecification `json:"parameters"`
55655	// Annotations - List of tags that can be used for describing the Dataset.
55656	Annotations *[]interface{} `json:"annotations,omitempty"`
55657	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
55658	Type TypeBasicLinkedService `json:"type,omitempty"`
55659}
55660
55661func unmarshalBasicLinkedService(body []byte) (BasicLinkedService, error) {
55662	var m map[string]interface{}
55663	err := json.Unmarshal(body, &m)
55664	if err != nil {
55665		return nil, err
55666	}
55667
55668	switch m["type"] {
55669	case string(TypeResponsys):
55670		var rls ResponsysLinkedService
55671		err := json.Unmarshal(body, &rls)
55672		return rls, err
55673	case string(TypeAzureDatabricks):
55674		var adls AzureDatabricksLinkedService
55675		err := json.Unmarshal(body, &adls)
55676		return adls, err
55677	case string(TypeAzureDataLakeAnalytics):
55678		var adlals AzureDataLakeAnalyticsLinkedService
55679		err := json.Unmarshal(body, &adlals)
55680		return adlals, err
55681	case string(TypeHDInsightOnDemand):
55682		var hiodls HDInsightOnDemandLinkedService
55683		err := json.Unmarshal(body, &hiodls)
55684		return hiodls, err
55685	case string(TypeSalesforceMarketingCloud):
55686		var smcls SalesforceMarketingCloudLinkedService
55687		err := json.Unmarshal(body, &smcls)
55688		return smcls, err
55689	case string(TypeNetezza):
55690		var nls NetezzaLinkedService
55691		err := json.Unmarshal(body, &nls)
55692		return nls, err
55693	case string(TypeVertica):
55694		var vls VerticaLinkedService
55695		err := json.Unmarshal(body, &vls)
55696		return vls, err
55697	case string(TypeZoho):
55698		var zls ZohoLinkedService
55699		err := json.Unmarshal(body, &zls)
55700		return zls, err
55701	case string(TypeXero):
55702		var xls XeroLinkedService
55703		err := json.Unmarshal(body, &xls)
55704		return xls, err
55705	case string(TypeSquare):
55706		var sls SquareLinkedService
55707		err := json.Unmarshal(body, &sls)
55708		return sls, err
55709	case string(TypeSpark):
55710		var sls SparkLinkedService
55711		err := json.Unmarshal(body, &sls)
55712		return sls, err
55713	case string(TypeShopify):
55714		var sls ShopifyLinkedService
55715		err := json.Unmarshal(body, &sls)
55716		return sls, err
55717	case string(TypeServiceNow):
55718		var snls ServiceNowLinkedService
55719		err := json.Unmarshal(body, &snls)
55720		return snls, err
55721	case string(TypeQuickBooks):
55722		var qbls QuickBooksLinkedService
55723		err := json.Unmarshal(body, &qbls)
55724		return qbls, err
55725	case string(TypePresto):
55726		var pls PrestoLinkedService
55727		err := json.Unmarshal(body, &pls)
55728		return pls, err
55729	case string(TypePhoenix):
55730		var pls PhoenixLinkedService
55731		err := json.Unmarshal(body, &pls)
55732		return pls, err
55733	case string(TypePaypal):
55734		var pls PaypalLinkedService
55735		err := json.Unmarshal(body, &pls)
55736		return pls, err
55737	case string(TypeMarketo):
55738		var mls MarketoLinkedService
55739		err := json.Unmarshal(body, &mls)
55740		return mls, err
55741	case string(TypeMariaDB):
55742		var mdls MariaDBLinkedService
55743		err := json.Unmarshal(body, &mdls)
55744		return mdls, err
55745	case string(TypeMagento):
55746		var mls MagentoLinkedService
55747		err := json.Unmarshal(body, &mls)
55748		return mls, err
55749	case string(TypeJira):
55750		var jls JiraLinkedService
55751		err := json.Unmarshal(body, &jls)
55752		return jls, err
55753	case string(TypeImpala):
55754		var ils ImpalaLinkedService
55755		err := json.Unmarshal(body, &ils)
55756		return ils, err
55757	case string(TypeHubspot):
55758		var hls HubspotLinkedService
55759		err := json.Unmarshal(body, &hls)
55760		return hls, err
55761	case string(TypeHive):
55762		var hls HiveLinkedService
55763		err := json.Unmarshal(body, &hls)
55764		return hls, err
55765	case string(TypeHBase):
55766		var hbls HBaseLinkedService
55767		err := json.Unmarshal(body, &hbls)
55768		return hbls, err
55769	case string(TypeGreenplum):
55770		var gls GreenplumLinkedService
55771		err := json.Unmarshal(body, &gls)
55772		return gls, err
55773	case string(TypeGoogleBigQuery):
55774		var gbqls GoogleBigQueryLinkedService
55775		err := json.Unmarshal(body, &gbqls)
55776		return gbqls, err
55777	case string(TypeEloqua):
55778		var els EloquaLinkedService
55779		err := json.Unmarshal(body, &els)
55780		return els, err
55781	case string(TypeDrill):
55782		var dls DrillLinkedService
55783		err := json.Unmarshal(body, &dls)
55784		return dls, err
55785	case string(TypeCouchbase):
55786		var cls CouchbaseLinkedService
55787		err := json.Unmarshal(body, &cls)
55788		return cls, err
55789	case string(TypeConcur):
55790		var cls ConcurLinkedService
55791		err := json.Unmarshal(body, &cls)
55792		return cls, err
55793	case string(TypeAzurePostgreSQL):
55794		var apsls AzurePostgreSQLLinkedService
55795		err := json.Unmarshal(body, &apsls)
55796		return apsls, err
55797	case string(TypeAmazonMWS):
55798		var amls AmazonMWSLinkedService
55799		err := json.Unmarshal(body, &amls)
55800		return amls, err
55801	case string(TypeSapHana):
55802		var shls SapHanaLinkedService
55803		err := json.Unmarshal(body, &shls)
55804		return shls, err
55805	case string(TypeSapBW):
55806		var sbls SapBWLinkedService
55807		err := json.Unmarshal(body, &sbls)
55808		return sbls, err
55809	case string(TypeSftp):
55810		var ssls SftpServerLinkedService
55811		err := json.Unmarshal(body, &ssls)
55812		return ssls, err
55813	case string(TypeFtpServer):
55814		var fsls FtpServerLinkedService
55815		err := json.Unmarshal(body, &fsls)
55816		return fsls, err
55817	case string(TypeHTTPServer):
55818		var hls HTTPLinkedService
55819		err := json.Unmarshal(body, &hls)
55820		return hls, err
55821	case string(TypeAzureSearch):
55822		var asls AzureSearchLinkedService
55823		err := json.Unmarshal(body, &asls)
55824		return asls, err
55825	case string(TypeCustomDataSource):
55826		var cdsls CustomDataSourceLinkedService
55827		err := json.Unmarshal(body, &cdsls)
55828		return cdsls, err
55829	case string(TypeAmazonRedshift):
55830		var arls AmazonRedshiftLinkedService
55831		err := json.Unmarshal(body, &arls)
55832		return arls, err
55833	case string(TypeAmazonS3):
55834		var asls AmazonS3LinkedService
55835		err := json.Unmarshal(body, &asls)
55836		return asls, err
55837	case string(TypeSapEcc):
55838		var sels SapEccLinkedService
55839		err := json.Unmarshal(body, &sels)
55840		return sels, err
55841	case string(TypeSapCloudForCustomer):
55842		var scfcls SapCloudForCustomerLinkedService
55843		err := json.Unmarshal(body, &scfcls)
55844		return scfcls, err
55845	case string(TypeSalesforce):
55846		var sls SalesforceLinkedService
55847		err := json.Unmarshal(body, &sls)
55848		return sls, err
55849	case string(TypeAzureDataLakeStore):
55850		var adlsls AzureDataLakeStoreLinkedService
55851		err := json.Unmarshal(body, &adlsls)
55852		return adlsls, err
55853	case string(TypeMongoDb):
55854		var mdls MongoDbLinkedService
55855		err := json.Unmarshal(body, &mdls)
55856		return mdls, err
55857	case string(TypeCassandra):
55858		var cls CassandraLinkedService
55859		err := json.Unmarshal(body, &cls)
55860		return cls, err
55861	case string(TypeWeb):
55862		var wls WebLinkedService
55863		err := json.Unmarshal(body, &wls)
55864		return wls, err
55865	case string(TypeOData):
55866		var odls ODataLinkedService
55867		err := json.Unmarshal(body, &odls)
55868		return odls, err
55869	case string(TypeHdfs):
55870		var hls HdfsLinkedService
55871		err := json.Unmarshal(body, &hls)
55872		return hls, err
55873	case string(TypeOdbc):
55874		var ols OdbcLinkedService
55875		err := json.Unmarshal(body, &ols)
55876		return ols, err
55877	case string(TypeAzureML):
55878		var amls AzureMLLinkedService
55879		err := json.Unmarshal(body, &amls)
55880		return amls, err
55881	case string(TypeTeradata):
55882		var TLSVar TeradataLinkedService
55883		err := json.Unmarshal(body, &TLSVar)
55884		return TLSVar, err
55885	case string(TypeDb2):
55886		var d2ls Db2LinkedService
55887		err := json.Unmarshal(body, &d2ls)
55888		return d2ls, err
55889	case string(TypeSybase):
55890		var sls SybaseLinkedService
55891		err := json.Unmarshal(body, &sls)
55892		return sls, err
55893	case string(TypePostgreSQL):
55894		var psls PostgreSQLLinkedService
55895		err := json.Unmarshal(body, &psls)
55896		return psls, err
55897	case string(TypeMySQL):
55898		var msls MySQLLinkedService
55899		err := json.Unmarshal(body, &msls)
55900		return msls, err
55901	case string(TypeAzureMySQL):
55902		var amsls AzureMySQLLinkedService
55903		err := json.Unmarshal(body, &amsls)
55904		return amsls, err
55905	case string(TypeOracle):
55906		var ols OracleLinkedService
55907		err := json.Unmarshal(body, &ols)
55908		return ols, err
55909	case string(TypeFileServer):
55910		var fsls FileServerLinkedService
55911		err := json.Unmarshal(body, &fsls)
55912		return fsls, err
55913	case string(TypeHDInsight):
55914		var hils HDInsightLinkedService
55915		err := json.Unmarshal(body, &hils)
55916		return hils, err
55917	case string(TypeDynamics):
55918		var dls DynamicsLinkedService
55919		err := json.Unmarshal(body, &dls)
55920		return dls, err
55921	case string(TypeCosmosDb):
55922		var cdls CosmosDbLinkedService
55923		err := json.Unmarshal(body, &cdls)
55924		return cdls, err
55925	case string(TypeAzureKeyVault):
55926		var akvls AzureKeyVaultLinkedService
55927		err := json.Unmarshal(body, &akvls)
55928		return akvls, err
55929	case string(TypeAzureBatch):
55930		var abls AzureBatchLinkedService
55931		err := json.Unmarshal(body, &abls)
55932		return abls, err
55933	case string(TypeAzureSQLDatabase):
55934		var asdls AzureSQLDatabaseLinkedService
55935		err := json.Unmarshal(body, &asdls)
55936		return asdls, err
55937	case string(TypeSQLServer):
55938		var ssls SQLServerLinkedService
55939		err := json.Unmarshal(body, &ssls)
55940		return ssls, err
55941	case string(TypeAzureSQLDW):
55942		var asdls AzureSQLDWLinkedService
55943		err := json.Unmarshal(body, &asdls)
55944		return asdls, err
55945	case string(TypeAzureStorage):
55946		var asls AzureStorageLinkedService
55947		err := json.Unmarshal(body, &asls)
55948		return asls, err
55949	default:
55950		var ls LinkedService
55951		err := json.Unmarshal(body, &ls)
55952		return ls, err
55953	}
55954}
55955func unmarshalBasicLinkedServiceArray(body []byte) ([]BasicLinkedService, error) {
55956	var rawMessages []*json.RawMessage
55957	err := json.Unmarshal(body, &rawMessages)
55958	if err != nil {
55959		return nil, err
55960	}
55961
55962	lsArray := make([]BasicLinkedService, len(rawMessages))
55963
55964	for index, rawMessage := range rawMessages {
55965		ls, err := unmarshalBasicLinkedService(*rawMessage)
55966		if err != nil {
55967			return nil, err
55968		}
55969		lsArray[index] = ls
55970	}
55971	return lsArray, nil
55972}
55973
55974// MarshalJSON is the custom marshaler for LinkedService.
55975func (ls LinkedService) MarshalJSON() ([]byte, error) {
55976	ls.Type = TypeLinkedService
55977	objectMap := make(map[string]interface{})
55978	if ls.ConnectVia != nil {
55979		objectMap["connectVia"] = ls.ConnectVia
55980	}
55981	if ls.Description != nil {
55982		objectMap["description"] = ls.Description
55983	}
55984	if ls.Parameters != nil {
55985		objectMap["parameters"] = ls.Parameters
55986	}
55987	if ls.Annotations != nil {
55988		objectMap["annotations"] = ls.Annotations
55989	}
55990	if ls.Type != "" {
55991		objectMap["type"] = ls.Type
55992	}
55993	for k, v := range ls.AdditionalProperties {
55994		objectMap[k] = v
55995	}
55996	return json.Marshal(objectMap)
55997}
55998
55999// AsResponsysLinkedService is the BasicLinkedService implementation for LinkedService.
56000func (ls LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
56001	return nil, false
56002}
56003
56004// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for LinkedService.
56005func (ls LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
56006	return nil, false
56007}
56008
56009// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for LinkedService.
56010func (ls LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
56011	return nil, false
56012}
56013
56014// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for LinkedService.
56015func (ls LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
56016	return nil, false
56017}
56018
56019// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for LinkedService.
56020func (ls LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
56021	return nil, false
56022}
56023
56024// AsNetezzaLinkedService is the BasicLinkedService implementation for LinkedService.
56025func (ls LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
56026	return nil, false
56027}
56028
56029// AsVerticaLinkedService is the BasicLinkedService implementation for LinkedService.
56030func (ls LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
56031	return nil, false
56032}
56033
56034// AsZohoLinkedService is the BasicLinkedService implementation for LinkedService.
56035func (ls LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
56036	return nil, false
56037}
56038
56039// AsXeroLinkedService is the BasicLinkedService implementation for LinkedService.
56040func (ls LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
56041	return nil, false
56042}
56043
56044// AsSquareLinkedService is the BasicLinkedService implementation for LinkedService.
56045func (ls LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
56046	return nil, false
56047}
56048
56049// AsSparkLinkedService is the BasicLinkedService implementation for LinkedService.
56050func (ls LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
56051	return nil, false
56052}
56053
56054// AsShopifyLinkedService is the BasicLinkedService implementation for LinkedService.
56055func (ls LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
56056	return nil, false
56057}
56058
56059// AsServiceNowLinkedService is the BasicLinkedService implementation for LinkedService.
56060func (ls LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
56061	return nil, false
56062}
56063
56064// AsQuickBooksLinkedService is the BasicLinkedService implementation for LinkedService.
56065func (ls LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
56066	return nil, false
56067}
56068
56069// AsPrestoLinkedService is the BasicLinkedService implementation for LinkedService.
56070func (ls LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
56071	return nil, false
56072}
56073
56074// AsPhoenixLinkedService is the BasicLinkedService implementation for LinkedService.
56075func (ls LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
56076	return nil, false
56077}
56078
56079// AsPaypalLinkedService is the BasicLinkedService implementation for LinkedService.
56080func (ls LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
56081	return nil, false
56082}
56083
56084// AsMarketoLinkedService is the BasicLinkedService implementation for LinkedService.
56085func (ls LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
56086	return nil, false
56087}
56088
56089// AsMariaDBLinkedService is the BasicLinkedService implementation for LinkedService.
56090func (ls LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
56091	return nil, false
56092}
56093
56094// AsMagentoLinkedService is the BasicLinkedService implementation for LinkedService.
56095func (ls LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
56096	return nil, false
56097}
56098
56099// AsJiraLinkedService is the BasicLinkedService implementation for LinkedService.
56100func (ls LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
56101	return nil, false
56102}
56103
56104// AsImpalaLinkedService is the BasicLinkedService implementation for LinkedService.
56105func (ls LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
56106	return nil, false
56107}
56108
56109// AsHubspotLinkedService is the BasicLinkedService implementation for LinkedService.
56110func (ls LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
56111	return nil, false
56112}
56113
56114// AsHiveLinkedService is the BasicLinkedService implementation for LinkedService.
56115func (ls LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
56116	return nil, false
56117}
56118
56119// AsHBaseLinkedService is the BasicLinkedService implementation for LinkedService.
56120func (ls LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
56121	return nil, false
56122}
56123
56124// AsGreenplumLinkedService is the BasicLinkedService implementation for LinkedService.
56125func (ls LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
56126	return nil, false
56127}
56128
56129// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for LinkedService.
56130func (ls LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
56131	return nil, false
56132}
56133
56134// AsEloquaLinkedService is the BasicLinkedService implementation for LinkedService.
56135func (ls LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
56136	return nil, false
56137}
56138
56139// AsDrillLinkedService is the BasicLinkedService implementation for LinkedService.
56140func (ls LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
56141	return nil, false
56142}
56143
56144// AsCouchbaseLinkedService is the BasicLinkedService implementation for LinkedService.
56145func (ls LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
56146	return nil, false
56147}
56148
56149// AsConcurLinkedService is the BasicLinkedService implementation for LinkedService.
56150func (ls LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
56151	return nil, false
56152}
56153
56154// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService.
56155func (ls LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
56156	return nil, false
56157}
56158
56159// AsAmazonMWSLinkedService is the BasicLinkedService implementation for LinkedService.
56160func (ls LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
56161	return nil, false
56162}
56163
56164// AsSapHanaLinkedService is the BasicLinkedService implementation for LinkedService.
56165func (ls LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
56166	return nil, false
56167}
56168
56169// AsSapBWLinkedService is the BasicLinkedService implementation for LinkedService.
56170func (ls LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
56171	return nil, false
56172}
56173
56174// AsSftpServerLinkedService is the BasicLinkedService implementation for LinkedService.
56175func (ls LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
56176	return nil, false
56177}
56178
56179// AsFtpServerLinkedService is the BasicLinkedService implementation for LinkedService.
56180func (ls LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
56181	return nil, false
56182}
56183
56184// AsHTTPLinkedService is the BasicLinkedService implementation for LinkedService.
56185func (ls LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
56186	return nil, false
56187}
56188
56189// AsAzureSearchLinkedService is the BasicLinkedService implementation for LinkedService.
56190func (ls LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
56191	return nil, false
56192}
56193
56194// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for LinkedService.
56195func (ls LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
56196	return nil, false
56197}
56198
56199// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for LinkedService.
56200func (ls LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
56201	return nil, false
56202}
56203
56204// AsAmazonS3LinkedService is the BasicLinkedService implementation for LinkedService.
56205func (ls LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
56206	return nil, false
56207}
56208
56209// AsSapEccLinkedService is the BasicLinkedService implementation for LinkedService.
56210func (ls LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
56211	return nil, false
56212}
56213
56214// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for LinkedService.
56215func (ls LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
56216	return nil, false
56217}
56218
56219// AsSalesforceLinkedService is the BasicLinkedService implementation for LinkedService.
56220func (ls LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
56221	return nil, false
56222}
56223
56224// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for LinkedService.
56225func (ls LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
56226	return nil, false
56227}
56228
56229// AsMongoDbLinkedService is the BasicLinkedService implementation for LinkedService.
56230func (ls LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
56231	return nil, false
56232}
56233
56234// AsCassandraLinkedService is the BasicLinkedService implementation for LinkedService.
56235func (ls LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
56236	return nil, false
56237}
56238
56239// AsWebLinkedService is the BasicLinkedService implementation for LinkedService.
56240func (ls LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
56241	return nil, false
56242}
56243
56244// AsODataLinkedService is the BasicLinkedService implementation for LinkedService.
56245func (ls LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
56246	return nil, false
56247}
56248
56249// AsHdfsLinkedService is the BasicLinkedService implementation for LinkedService.
56250func (ls LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
56251	return nil, false
56252}
56253
56254// AsOdbcLinkedService is the BasicLinkedService implementation for LinkedService.
56255func (ls LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
56256	return nil, false
56257}
56258
56259// AsAzureMLLinkedService is the BasicLinkedService implementation for LinkedService.
56260func (ls LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
56261	return nil, false
56262}
56263
56264// AsTeradataLinkedService is the BasicLinkedService implementation for LinkedService.
56265func (ls LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
56266	return nil, false
56267}
56268
56269// AsDb2LinkedService is the BasicLinkedService implementation for LinkedService.
56270func (ls LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
56271	return nil, false
56272}
56273
56274// AsSybaseLinkedService is the BasicLinkedService implementation for LinkedService.
56275func (ls LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
56276	return nil, false
56277}
56278
56279// AsPostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService.
56280func (ls LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
56281	return nil, false
56282}
56283
56284// AsMySQLLinkedService is the BasicLinkedService implementation for LinkedService.
56285func (ls LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
56286	return nil, false
56287}
56288
56289// AsAzureMySQLLinkedService is the BasicLinkedService implementation for LinkedService.
56290func (ls LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
56291	return nil, false
56292}
56293
56294// AsOracleLinkedService is the BasicLinkedService implementation for LinkedService.
56295func (ls LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
56296	return nil, false
56297}
56298
56299// AsFileServerLinkedService is the BasicLinkedService implementation for LinkedService.
56300func (ls LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
56301	return nil, false
56302}
56303
56304// AsHDInsightLinkedService is the BasicLinkedService implementation for LinkedService.
56305func (ls LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
56306	return nil, false
56307}
56308
56309// AsDynamicsLinkedService is the BasicLinkedService implementation for LinkedService.
56310func (ls LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
56311	return nil, false
56312}
56313
56314// AsCosmosDbLinkedService is the BasicLinkedService implementation for LinkedService.
56315func (ls LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
56316	return nil, false
56317}
56318
56319// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for LinkedService.
56320func (ls LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
56321	return nil, false
56322}
56323
56324// AsAzureBatchLinkedService is the BasicLinkedService implementation for LinkedService.
56325func (ls LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
56326	return nil, false
56327}
56328
56329// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for LinkedService.
56330func (ls LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
56331	return nil, false
56332}
56333
56334// AsSQLServerLinkedService is the BasicLinkedService implementation for LinkedService.
56335func (ls LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
56336	return nil, false
56337}
56338
56339// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for LinkedService.
56340func (ls LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
56341	return nil, false
56342}
56343
56344// AsAzureStorageLinkedService is the BasicLinkedService implementation for LinkedService.
56345func (ls LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
56346	return nil, false
56347}
56348
56349// AsLinkedService is the BasicLinkedService implementation for LinkedService.
56350func (ls LinkedService) AsLinkedService() (*LinkedService, bool) {
56351	return &ls, true
56352}
56353
56354// AsBasicLinkedService is the BasicLinkedService implementation for LinkedService.
56355func (ls LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
56356	return &ls, true
56357}
56358
56359// UnmarshalJSON is the custom unmarshaler for LinkedService struct.
56360func (ls *LinkedService) UnmarshalJSON(body []byte) error {
56361	var m map[string]*json.RawMessage
56362	err := json.Unmarshal(body, &m)
56363	if err != nil {
56364		return err
56365	}
56366	for k, v := range m {
56367		switch k {
56368		default:
56369			if v != nil {
56370				var additionalProperties interface{}
56371				err = json.Unmarshal(*v, &additionalProperties)
56372				if err != nil {
56373					return err
56374				}
56375				if ls.AdditionalProperties == nil {
56376					ls.AdditionalProperties = make(map[string]interface{})
56377				}
56378				ls.AdditionalProperties[k] = additionalProperties
56379			}
56380		case "connectVia":
56381			if v != nil {
56382				var connectVia IntegrationRuntimeReference
56383				err = json.Unmarshal(*v, &connectVia)
56384				if err != nil {
56385					return err
56386				}
56387				ls.ConnectVia = &connectVia
56388			}
56389		case "description":
56390			if v != nil {
56391				var description string
56392				err = json.Unmarshal(*v, &description)
56393				if err != nil {
56394					return err
56395				}
56396				ls.Description = &description
56397			}
56398		case "parameters":
56399			if v != nil {
56400				var parameters map[string]*ParameterSpecification
56401				err = json.Unmarshal(*v, &parameters)
56402				if err != nil {
56403					return err
56404				}
56405				ls.Parameters = parameters
56406			}
56407		case "annotations":
56408			if v != nil {
56409				var annotations []interface{}
56410				err = json.Unmarshal(*v, &annotations)
56411				if err != nil {
56412					return err
56413				}
56414				ls.Annotations = &annotations
56415			}
56416		case "type":
56417			if v != nil {
56418				var typeVar TypeBasicLinkedService
56419				err = json.Unmarshal(*v, &typeVar)
56420				if err != nil {
56421					return err
56422				}
56423				ls.Type = typeVar
56424			}
56425		}
56426	}
56427
56428	return nil
56429}
56430
56431// LinkedServiceListResponse a list of linked service resources.
56432type LinkedServiceListResponse struct {
56433	autorest.Response `json:"-"`
56434	// Value - List of linked services.
56435	Value *[]LinkedServiceResource `json:"value,omitempty"`
56436	// NextLink - The link to the next page of results, if any remaining results exist.
56437	NextLink *string `json:"nextLink,omitempty"`
56438}
56439
56440// LinkedServiceListResponseIterator provides access to a complete listing of LinkedServiceResource values.
56441type LinkedServiceListResponseIterator struct {
56442	i    int
56443	page LinkedServiceListResponsePage
56444}
56445
56446// NextWithContext advances to the next value.  If there was an error making
56447// the request the iterator does not advance and the error is returned.
56448func (iter *LinkedServiceListResponseIterator) NextWithContext(ctx context.Context) (err error) {
56449	if tracing.IsEnabled() {
56450		ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponseIterator.NextWithContext")
56451		defer func() {
56452			sc := -1
56453			if iter.Response().Response.Response != nil {
56454				sc = iter.Response().Response.Response.StatusCode
56455			}
56456			tracing.EndSpan(ctx, sc, err)
56457		}()
56458	}
56459	iter.i++
56460	if iter.i < len(iter.page.Values()) {
56461		return nil
56462	}
56463	err = iter.page.NextWithContext(ctx)
56464	if err != nil {
56465		iter.i--
56466		return err
56467	}
56468	iter.i = 0
56469	return nil
56470}
56471
56472// Next advances to the next value.  If there was an error making
56473// the request the iterator does not advance and the error is returned.
56474// Deprecated: Use NextWithContext() instead.
56475func (iter *LinkedServiceListResponseIterator) Next() error {
56476	return iter.NextWithContext(context.Background())
56477}
56478
56479// NotDone returns true if the enumeration should be started or is not yet complete.
56480func (iter LinkedServiceListResponseIterator) NotDone() bool {
56481	return iter.page.NotDone() && iter.i < len(iter.page.Values())
56482}
56483
56484// Response returns the raw server response from the last page request.
56485func (iter LinkedServiceListResponseIterator) Response() LinkedServiceListResponse {
56486	return iter.page.Response()
56487}
56488
56489// Value returns the current value or a zero-initialized value if the
56490// iterator has advanced beyond the end of the collection.
56491func (iter LinkedServiceListResponseIterator) Value() LinkedServiceResource {
56492	if !iter.page.NotDone() {
56493		return LinkedServiceResource{}
56494	}
56495	return iter.page.Values()[iter.i]
56496}
56497
56498// Creates a new instance of the LinkedServiceListResponseIterator type.
56499func NewLinkedServiceListResponseIterator(page LinkedServiceListResponsePage) LinkedServiceListResponseIterator {
56500	return LinkedServiceListResponseIterator{page: page}
56501}
56502
56503// IsEmpty returns true if the ListResult contains no values.
56504func (lslr LinkedServiceListResponse) IsEmpty() bool {
56505	return lslr.Value == nil || len(*lslr.Value) == 0
56506}
56507
56508// hasNextLink returns true if the NextLink is not empty.
56509func (lslr LinkedServiceListResponse) hasNextLink() bool {
56510	return lslr.NextLink != nil && len(*lslr.NextLink) != 0
56511}
56512
56513// linkedServiceListResponsePreparer prepares a request to retrieve the next set of results.
56514// It returns nil if no more results exist.
56515func (lslr LinkedServiceListResponse) linkedServiceListResponsePreparer(ctx context.Context) (*http.Request, error) {
56516	if !lslr.hasNextLink() {
56517		return nil, nil
56518	}
56519	return autorest.Prepare((&http.Request{}).WithContext(ctx),
56520		autorest.AsJSON(),
56521		autorest.AsGet(),
56522		autorest.WithBaseURL(to.String(lslr.NextLink)))
56523}
56524
56525// LinkedServiceListResponsePage contains a page of LinkedServiceResource values.
56526type LinkedServiceListResponsePage struct {
56527	fn   func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)
56528	lslr LinkedServiceListResponse
56529}
56530
56531// NextWithContext advances to the next page of values.  If there was an error making
56532// the request the page does not advance and the error is returned.
56533func (page *LinkedServiceListResponsePage) NextWithContext(ctx context.Context) (err error) {
56534	if tracing.IsEnabled() {
56535		ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponsePage.NextWithContext")
56536		defer func() {
56537			sc := -1
56538			if page.Response().Response.Response != nil {
56539				sc = page.Response().Response.Response.StatusCode
56540			}
56541			tracing.EndSpan(ctx, sc, err)
56542		}()
56543	}
56544	for {
56545		next, err := page.fn(ctx, page.lslr)
56546		if err != nil {
56547			return err
56548		}
56549		page.lslr = next
56550		if !next.hasNextLink() || !next.IsEmpty() {
56551			break
56552		}
56553	}
56554	return nil
56555}
56556
56557// Next advances to the next page of values.  If there was an error making
56558// the request the page does not advance and the error is returned.
56559// Deprecated: Use NextWithContext() instead.
56560func (page *LinkedServiceListResponsePage) Next() error {
56561	return page.NextWithContext(context.Background())
56562}
56563
56564// NotDone returns true if the page enumeration should be started or is not yet complete.
56565func (page LinkedServiceListResponsePage) NotDone() bool {
56566	return !page.lslr.IsEmpty()
56567}
56568
56569// Response returns the raw server response from the last page request.
56570func (page LinkedServiceListResponsePage) Response() LinkedServiceListResponse {
56571	return page.lslr
56572}
56573
56574// Values returns the slice of values for the current page or nil if there are no values.
56575func (page LinkedServiceListResponsePage) Values() []LinkedServiceResource {
56576	if page.lslr.IsEmpty() {
56577		return nil
56578	}
56579	return *page.lslr.Value
56580}
56581
56582// Creates a new instance of the LinkedServiceListResponsePage type.
56583func NewLinkedServiceListResponsePage(cur LinkedServiceListResponse, getNextPage func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)) LinkedServiceListResponsePage {
56584	return LinkedServiceListResponsePage{
56585		fn:   getNextPage,
56586		lslr: cur,
56587	}
56588}
56589
56590// LinkedServiceReference linked service reference type.
56591type LinkedServiceReference struct {
56592	// Type - Linked service reference type.
56593	Type *string `json:"type,omitempty"`
56594	// ReferenceName - Reference LinkedService name.
56595	ReferenceName *string `json:"referenceName,omitempty"`
56596	// Parameters - Arguments for LinkedService.
56597	Parameters map[string]interface{} `json:"parameters"`
56598}
56599
56600// MarshalJSON is the custom marshaler for LinkedServiceReference.
56601func (lsr LinkedServiceReference) MarshalJSON() ([]byte, error) {
56602	objectMap := make(map[string]interface{})
56603	if lsr.Type != nil {
56604		objectMap["type"] = lsr.Type
56605	}
56606	if lsr.ReferenceName != nil {
56607		objectMap["referenceName"] = lsr.ReferenceName
56608	}
56609	if lsr.Parameters != nil {
56610		objectMap["parameters"] = lsr.Parameters
56611	}
56612	return json.Marshal(objectMap)
56613}
56614
56615// LinkedServiceResource linked service resource type.
56616type LinkedServiceResource struct {
56617	autorest.Response `json:"-"`
56618	// Properties - Properties of linked service.
56619	Properties BasicLinkedService `json:"properties,omitempty"`
56620	// ID - READ-ONLY; The resource identifier.
56621	ID *string `json:"id,omitempty"`
56622	// Name - READ-ONLY; The resource name.
56623	Name *string `json:"name,omitempty"`
56624	// Type - READ-ONLY; The resource type.
56625	Type *string `json:"type,omitempty"`
56626	// Etag - READ-ONLY; Etag identifies change in the resource.
56627	Etag *string `json:"etag,omitempty"`
56628}
56629
56630// MarshalJSON is the custom marshaler for LinkedServiceResource.
56631func (lsr LinkedServiceResource) MarshalJSON() ([]byte, error) {
56632	objectMap := make(map[string]interface{})
56633	objectMap["properties"] = lsr.Properties
56634	return json.Marshal(objectMap)
56635}
56636
56637// UnmarshalJSON is the custom unmarshaler for LinkedServiceResource struct.
56638func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error {
56639	var m map[string]*json.RawMessage
56640	err := json.Unmarshal(body, &m)
56641	if err != nil {
56642		return err
56643	}
56644	for k, v := range m {
56645		switch k {
56646		case "properties":
56647			if v != nil {
56648				properties, err := unmarshalBasicLinkedService(*v)
56649				if err != nil {
56650					return err
56651				}
56652				lsr.Properties = properties
56653			}
56654		case "id":
56655			if v != nil {
56656				var ID string
56657				err = json.Unmarshal(*v, &ID)
56658				if err != nil {
56659					return err
56660				}
56661				lsr.ID = &ID
56662			}
56663		case "name":
56664			if v != nil {
56665				var name string
56666				err = json.Unmarshal(*v, &name)
56667				if err != nil {
56668					return err
56669				}
56670				lsr.Name = &name
56671			}
56672		case "type":
56673			if v != nil {
56674				var typeVar string
56675				err = json.Unmarshal(*v, &typeVar)
56676				if err != nil {
56677					return err
56678				}
56679				lsr.Type = &typeVar
56680			}
56681		case "etag":
56682			if v != nil {
56683				var etag string
56684				err = json.Unmarshal(*v, &etag)
56685				if err != nil {
56686					return err
56687				}
56688				lsr.Etag = &etag
56689			}
56690		}
56691	}
56692
56693	return nil
56694}
56695
56696// LookupActivity lookup activity.
56697type LookupActivity struct {
56698	// LookupActivityTypeProperties - Lookup activity properties.
56699	*LookupActivityTypeProperties `json:"typeProperties,omitempty"`
56700	// LinkedServiceName - Linked service reference.
56701	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
56702	// Policy - Activity policy.
56703	Policy *ActivityPolicy `json:"policy,omitempty"`
56704	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
56705	AdditionalProperties map[string]interface{} `json:""`
56706	// Name - Activity name.
56707	Name *string `json:"name,omitempty"`
56708	// Description - Activity description.
56709	Description *string `json:"description,omitempty"`
56710	// DependsOn - Activity depends on condition.
56711	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
56712	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
56713	Type TypeBasicActivity `json:"type,omitempty"`
56714}
56715
56716// MarshalJSON is the custom marshaler for LookupActivity.
56717func (la LookupActivity) MarshalJSON() ([]byte, error) {
56718	la.Type = TypeLookup
56719	objectMap := make(map[string]interface{})
56720	if la.LookupActivityTypeProperties != nil {
56721		objectMap["typeProperties"] = la.LookupActivityTypeProperties
56722	}
56723	if la.LinkedServiceName != nil {
56724		objectMap["linkedServiceName"] = la.LinkedServiceName
56725	}
56726	if la.Policy != nil {
56727		objectMap["policy"] = la.Policy
56728	}
56729	if la.Name != nil {
56730		objectMap["name"] = la.Name
56731	}
56732	if la.Description != nil {
56733		objectMap["description"] = la.Description
56734	}
56735	if la.DependsOn != nil {
56736		objectMap["dependsOn"] = la.DependsOn
56737	}
56738	if la.Type != "" {
56739		objectMap["type"] = la.Type
56740	}
56741	for k, v := range la.AdditionalProperties {
56742		objectMap[k] = v
56743	}
56744	return json.Marshal(objectMap)
56745}
56746
56747// AsDatabricksNotebookActivity is the BasicActivity implementation for LookupActivity.
56748func (la LookupActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
56749	return nil, false
56750}
56751
56752// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for LookupActivity.
56753func (la LookupActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
56754	return nil, false
56755}
56756
56757// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for LookupActivity.
56758func (la LookupActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
56759	return nil, false
56760}
56761
56762// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for LookupActivity.
56763func (la LookupActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
56764	return nil, false
56765}
56766
56767// AsGetMetadataActivity is the BasicActivity implementation for LookupActivity.
56768func (la LookupActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
56769	return nil, false
56770}
56771
56772// AsWebActivity is the BasicActivity implementation for LookupActivity.
56773func (la LookupActivity) AsWebActivity() (*WebActivity, bool) {
56774	return nil, false
56775}
56776
56777// AsLookupActivity is the BasicActivity implementation for LookupActivity.
56778func (la LookupActivity) AsLookupActivity() (*LookupActivity, bool) {
56779	return &la, true
56780}
56781
56782// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for LookupActivity.
56783func (la LookupActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
56784	return nil, false
56785}
56786
56787// AsCustomActivity is the BasicActivity implementation for LookupActivity.
56788func (la LookupActivity) AsCustomActivity() (*CustomActivity, bool) {
56789	return nil, false
56790}
56791
56792// AsExecuteSSISPackageActivity is the BasicActivity implementation for LookupActivity.
56793func (la LookupActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
56794	return nil, false
56795}
56796
56797// AsHDInsightSparkActivity is the BasicActivity implementation for LookupActivity.
56798func (la LookupActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
56799	return nil, false
56800}
56801
56802// AsHDInsightStreamingActivity is the BasicActivity implementation for LookupActivity.
56803func (la LookupActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
56804	return nil, false
56805}
56806
56807// AsHDInsightMapReduceActivity is the BasicActivity implementation for LookupActivity.
56808func (la LookupActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
56809	return nil, false
56810}
56811
56812// AsHDInsightPigActivity is the BasicActivity implementation for LookupActivity.
56813func (la LookupActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
56814	return nil, false
56815}
56816
56817// AsHDInsightHiveActivity is the BasicActivity implementation for LookupActivity.
56818func (la LookupActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
56819	return nil, false
56820}
56821
56822// AsCopyActivity is the BasicActivity implementation for LookupActivity.
56823func (la LookupActivity) AsCopyActivity() (*CopyActivity, bool) {
56824	return nil, false
56825}
56826
56827// AsExecutionActivity is the BasicActivity implementation for LookupActivity.
56828func (la LookupActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
56829	return nil, false
56830}
56831
56832// AsBasicExecutionActivity is the BasicActivity implementation for LookupActivity.
56833func (la LookupActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
56834	return &la, true
56835}
56836
56837// AsFilterActivity is the BasicActivity implementation for LookupActivity.
56838func (la LookupActivity) AsFilterActivity() (*FilterActivity, bool) {
56839	return nil, false
56840}
56841
56842// AsUntilActivity is the BasicActivity implementation for LookupActivity.
56843func (la LookupActivity) AsUntilActivity() (*UntilActivity, bool) {
56844	return nil, false
56845}
56846
56847// AsWaitActivity is the BasicActivity implementation for LookupActivity.
56848func (la LookupActivity) AsWaitActivity() (*WaitActivity, bool) {
56849	return nil, false
56850}
56851
56852// AsForEachActivity is the BasicActivity implementation for LookupActivity.
56853func (la LookupActivity) AsForEachActivity() (*ForEachActivity, bool) {
56854	return nil, false
56855}
56856
56857// AsIfConditionActivity is the BasicActivity implementation for LookupActivity.
56858func (la LookupActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
56859	return nil, false
56860}
56861
56862// AsExecutePipelineActivity is the BasicActivity implementation for LookupActivity.
56863func (la LookupActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
56864	return nil, false
56865}
56866
56867// AsControlActivity is the BasicActivity implementation for LookupActivity.
56868func (la LookupActivity) AsControlActivity() (*ControlActivity, bool) {
56869	return nil, false
56870}
56871
56872// AsBasicControlActivity is the BasicActivity implementation for LookupActivity.
56873func (la LookupActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
56874	return nil, false
56875}
56876
56877// AsActivity is the BasicActivity implementation for LookupActivity.
56878func (la LookupActivity) AsActivity() (*Activity, bool) {
56879	return nil, false
56880}
56881
56882// AsBasicActivity is the BasicActivity implementation for LookupActivity.
56883func (la LookupActivity) AsBasicActivity() (BasicActivity, bool) {
56884	return &la, true
56885}
56886
56887// UnmarshalJSON is the custom unmarshaler for LookupActivity struct.
56888func (la *LookupActivity) UnmarshalJSON(body []byte) error {
56889	var m map[string]*json.RawMessage
56890	err := json.Unmarshal(body, &m)
56891	if err != nil {
56892		return err
56893	}
56894	for k, v := range m {
56895		switch k {
56896		case "typeProperties":
56897			if v != nil {
56898				var lookupActivityTypeProperties LookupActivityTypeProperties
56899				err = json.Unmarshal(*v, &lookupActivityTypeProperties)
56900				if err != nil {
56901					return err
56902				}
56903				la.LookupActivityTypeProperties = &lookupActivityTypeProperties
56904			}
56905		case "linkedServiceName":
56906			if v != nil {
56907				var linkedServiceName LinkedServiceReference
56908				err = json.Unmarshal(*v, &linkedServiceName)
56909				if err != nil {
56910					return err
56911				}
56912				la.LinkedServiceName = &linkedServiceName
56913			}
56914		case "policy":
56915			if v != nil {
56916				var policy ActivityPolicy
56917				err = json.Unmarshal(*v, &policy)
56918				if err != nil {
56919					return err
56920				}
56921				la.Policy = &policy
56922			}
56923		default:
56924			if v != nil {
56925				var additionalProperties interface{}
56926				err = json.Unmarshal(*v, &additionalProperties)
56927				if err != nil {
56928					return err
56929				}
56930				if la.AdditionalProperties == nil {
56931					la.AdditionalProperties = make(map[string]interface{})
56932				}
56933				la.AdditionalProperties[k] = additionalProperties
56934			}
56935		case "name":
56936			if v != nil {
56937				var name string
56938				err = json.Unmarshal(*v, &name)
56939				if err != nil {
56940					return err
56941				}
56942				la.Name = &name
56943			}
56944		case "description":
56945			if v != nil {
56946				var description string
56947				err = json.Unmarshal(*v, &description)
56948				if err != nil {
56949					return err
56950				}
56951				la.Description = &description
56952			}
56953		case "dependsOn":
56954			if v != nil {
56955				var dependsOn []ActivityDependency
56956				err = json.Unmarshal(*v, &dependsOn)
56957				if err != nil {
56958					return err
56959				}
56960				la.DependsOn = &dependsOn
56961			}
56962		case "type":
56963			if v != nil {
56964				var typeVar TypeBasicActivity
56965				err = json.Unmarshal(*v, &typeVar)
56966				if err != nil {
56967					return err
56968				}
56969				la.Type = typeVar
56970			}
56971		}
56972	}
56973
56974	return nil
56975}
56976
56977// LookupActivityTypeProperties lookup activity properties.
56978type LookupActivityTypeProperties struct {
56979	// Source - Dataset-specific source properties, same as copy activity source.
56980	Source BasicCopySource `json:"source,omitempty"`
56981	// Dataset - Lookup activity dataset reference.
56982	Dataset *DatasetReference `json:"dataset,omitempty"`
56983	// FirstRowOnly - Whether to return first row or all rows. Default value is true. Type: boolean (or Expression with resultType boolean).
56984	FirstRowOnly interface{} `json:"firstRowOnly,omitempty"`
56985}
56986
56987// UnmarshalJSON is the custom unmarshaler for LookupActivityTypeProperties struct.
56988func (latp *LookupActivityTypeProperties) UnmarshalJSON(body []byte) error {
56989	var m map[string]*json.RawMessage
56990	err := json.Unmarshal(body, &m)
56991	if err != nil {
56992		return err
56993	}
56994	for k, v := range m {
56995		switch k {
56996		case "source":
56997			if v != nil {
56998				source, err := unmarshalBasicCopySource(*v)
56999				if err != nil {
57000					return err
57001				}
57002				latp.Source = source
57003			}
57004		case "dataset":
57005			if v != nil {
57006				var dataset DatasetReference
57007				err = json.Unmarshal(*v, &dataset)
57008				if err != nil {
57009					return err
57010				}
57011				latp.Dataset = &dataset
57012			}
57013		case "firstRowOnly":
57014			if v != nil {
57015				var firstRowOnly interface{}
57016				err = json.Unmarshal(*v, &firstRowOnly)
57017				if err != nil {
57018					return err
57019				}
57020				latp.FirstRowOnly = firstRowOnly
57021			}
57022		}
57023	}
57024
57025	return nil
57026}
57027
57028// MagentoLinkedService magento server linked service.
57029type MagentoLinkedService struct {
57030	// MagentoLinkedServiceTypeProperties - Magento server linked service properties.
57031	*MagentoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
57032	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
57033	AdditionalProperties map[string]interface{} `json:""`
57034	// ConnectVia - The integration runtime reference.
57035	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
57036	// Description - Linked service description.
57037	Description *string `json:"description,omitempty"`
57038	// Parameters - Parameters for linked service.
57039	Parameters map[string]*ParameterSpecification `json:"parameters"`
57040	// Annotations - List of tags that can be used for describing the Dataset.
57041	Annotations *[]interface{} `json:"annotations,omitempty"`
57042	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
57043	Type TypeBasicLinkedService `json:"type,omitempty"`
57044}
57045
57046// MarshalJSON is the custom marshaler for MagentoLinkedService.
57047func (mls MagentoLinkedService) MarshalJSON() ([]byte, error) {
57048	mls.Type = TypeMagento
57049	objectMap := make(map[string]interface{})
57050	if mls.MagentoLinkedServiceTypeProperties != nil {
57051		objectMap["typeProperties"] = mls.MagentoLinkedServiceTypeProperties
57052	}
57053	if mls.ConnectVia != nil {
57054		objectMap["connectVia"] = mls.ConnectVia
57055	}
57056	if mls.Description != nil {
57057		objectMap["description"] = mls.Description
57058	}
57059	if mls.Parameters != nil {
57060		objectMap["parameters"] = mls.Parameters
57061	}
57062	if mls.Annotations != nil {
57063		objectMap["annotations"] = mls.Annotations
57064	}
57065	if mls.Type != "" {
57066		objectMap["type"] = mls.Type
57067	}
57068	for k, v := range mls.AdditionalProperties {
57069		objectMap[k] = v
57070	}
57071	return json.Marshal(objectMap)
57072}
57073
57074// AsResponsysLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57075func (mls MagentoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
57076	return nil, false
57077}
57078
57079// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57080func (mls MagentoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
57081	return nil, false
57082}
57083
57084// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57085func (mls MagentoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
57086	return nil, false
57087}
57088
57089// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57090func (mls MagentoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
57091	return nil, false
57092}
57093
57094// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57095func (mls MagentoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
57096	return nil, false
57097}
57098
57099// AsNetezzaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57100func (mls MagentoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
57101	return nil, false
57102}
57103
57104// AsVerticaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57105func (mls MagentoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
57106	return nil, false
57107}
57108
57109// AsZohoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57110func (mls MagentoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
57111	return nil, false
57112}
57113
57114// AsXeroLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57115func (mls MagentoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
57116	return nil, false
57117}
57118
57119// AsSquareLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57120func (mls MagentoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
57121	return nil, false
57122}
57123
57124// AsSparkLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57125func (mls MagentoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
57126	return nil, false
57127}
57128
57129// AsShopifyLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57130func (mls MagentoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
57131	return nil, false
57132}
57133
57134// AsServiceNowLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57135func (mls MagentoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
57136	return nil, false
57137}
57138
57139// AsQuickBooksLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57140func (mls MagentoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
57141	return nil, false
57142}
57143
57144// AsPrestoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57145func (mls MagentoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
57146	return nil, false
57147}
57148
57149// AsPhoenixLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57150func (mls MagentoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
57151	return nil, false
57152}
57153
57154// AsPaypalLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57155func (mls MagentoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
57156	return nil, false
57157}
57158
57159// AsMarketoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57160func (mls MagentoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
57161	return nil, false
57162}
57163
57164// AsMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57165func (mls MagentoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
57166	return nil, false
57167}
57168
57169// AsMagentoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57170func (mls MagentoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
57171	return &mls, true
57172}
57173
57174// AsJiraLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57175func (mls MagentoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
57176	return nil, false
57177}
57178
57179// AsImpalaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57180func (mls MagentoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
57181	return nil, false
57182}
57183
57184// AsHubspotLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57185func (mls MagentoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
57186	return nil, false
57187}
57188
57189// AsHiveLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57190func (mls MagentoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
57191	return nil, false
57192}
57193
57194// AsHBaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57195func (mls MagentoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
57196	return nil, false
57197}
57198
57199// AsGreenplumLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57200func (mls MagentoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
57201	return nil, false
57202}
57203
57204// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57205func (mls MagentoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
57206	return nil, false
57207}
57208
57209// AsEloquaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57210func (mls MagentoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
57211	return nil, false
57212}
57213
57214// AsDrillLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57215func (mls MagentoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
57216	return nil, false
57217}
57218
57219// AsCouchbaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57220func (mls MagentoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
57221	return nil, false
57222}
57223
57224// AsConcurLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57225func (mls MagentoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
57226	return nil, false
57227}
57228
57229// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57230func (mls MagentoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
57231	return nil, false
57232}
57233
57234// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57235func (mls MagentoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
57236	return nil, false
57237}
57238
57239// AsSapHanaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57240func (mls MagentoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
57241	return nil, false
57242}
57243
57244// AsSapBWLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57245func (mls MagentoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
57246	return nil, false
57247}
57248
57249// AsSftpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57250func (mls MagentoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
57251	return nil, false
57252}
57253
57254// AsFtpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57255func (mls MagentoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
57256	return nil, false
57257}
57258
57259// AsHTTPLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57260func (mls MagentoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
57261	return nil, false
57262}
57263
57264// AsAzureSearchLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57265func (mls MagentoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
57266	return nil, false
57267}
57268
57269// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57270func (mls MagentoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
57271	return nil, false
57272}
57273
57274// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57275func (mls MagentoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
57276	return nil, false
57277}
57278
57279// AsAmazonS3LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57280func (mls MagentoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
57281	return nil, false
57282}
57283
57284// AsSapEccLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57285func (mls MagentoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
57286	return nil, false
57287}
57288
57289// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57290func (mls MagentoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
57291	return nil, false
57292}
57293
57294// AsSalesforceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57295func (mls MagentoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
57296	return nil, false
57297}
57298
57299// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57300func (mls MagentoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
57301	return nil, false
57302}
57303
57304// AsMongoDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57305func (mls MagentoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
57306	return nil, false
57307}
57308
57309// AsCassandraLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57310func (mls MagentoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
57311	return nil, false
57312}
57313
57314// AsWebLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57315func (mls MagentoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
57316	return nil, false
57317}
57318
57319// AsODataLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57320func (mls MagentoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
57321	return nil, false
57322}
57323
57324// AsHdfsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57325func (mls MagentoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
57326	return nil, false
57327}
57328
57329// AsOdbcLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57330func (mls MagentoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
57331	return nil, false
57332}
57333
57334// AsAzureMLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57335func (mls MagentoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
57336	return nil, false
57337}
57338
57339// AsTeradataLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57340func (mls MagentoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
57341	return nil, false
57342}
57343
57344// AsDb2LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57345func (mls MagentoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
57346	return nil, false
57347}
57348
57349// AsSybaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57350func (mls MagentoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
57351	return nil, false
57352}
57353
57354// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57355func (mls MagentoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
57356	return nil, false
57357}
57358
57359// AsMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57360func (mls MagentoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
57361	return nil, false
57362}
57363
57364// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57365func (mls MagentoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
57366	return nil, false
57367}
57368
57369// AsOracleLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57370func (mls MagentoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
57371	return nil, false
57372}
57373
57374// AsFileServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57375func (mls MagentoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
57376	return nil, false
57377}
57378
57379// AsHDInsightLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57380func (mls MagentoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
57381	return nil, false
57382}
57383
57384// AsDynamicsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57385func (mls MagentoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
57386	return nil, false
57387}
57388
57389// AsCosmosDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57390func (mls MagentoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
57391	return nil, false
57392}
57393
57394// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57395func (mls MagentoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
57396	return nil, false
57397}
57398
57399// AsAzureBatchLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57400func (mls MagentoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
57401	return nil, false
57402}
57403
57404// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57405func (mls MagentoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
57406	return nil, false
57407}
57408
57409// AsSQLServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57410func (mls MagentoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
57411	return nil, false
57412}
57413
57414// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57415func (mls MagentoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
57416	return nil, false
57417}
57418
57419// AsAzureStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57420func (mls MagentoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
57421	return nil, false
57422}
57423
57424// AsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57425func (mls MagentoLinkedService) AsLinkedService() (*LinkedService, bool) {
57426	return nil, false
57427}
57428
57429// AsBasicLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57430func (mls MagentoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
57431	return &mls, true
57432}
57433
57434// UnmarshalJSON is the custom unmarshaler for MagentoLinkedService struct.
57435func (mls *MagentoLinkedService) UnmarshalJSON(body []byte) error {
57436	var m map[string]*json.RawMessage
57437	err := json.Unmarshal(body, &m)
57438	if err != nil {
57439		return err
57440	}
57441	for k, v := range m {
57442		switch k {
57443		case "typeProperties":
57444			if v != nil {
57445				var magentoLinkedServiceTypeProperties MagentoLinkedServiceTypeProperties
57446				err = json.Unmarshal(*v, &magentoLinkedServiceTypeProperties)
57447				if err != nil {
57448					return err
57449				}
57450				mls.MagentoLinkedServiceTypeProperties = &magentoLinkedServiceTypeProperties
57451			}
57452		default:
57453			if v != nil {
57454				var additionalProperties interface{}
57455				err = json.Unmarshal(*v, &additionalProperties)
57456				if err != nil {
57457					return err
57458				}
57459				if mls.AdditionalProperties == nil {
57460					mls.AdditionalProperties = make(map[string]interface{})
57461				}
57462				mls.AdditionalProperties[k] = additionalProperties
57463			}
57464		case "connectVia":
57465			if v != nil {
57466				var connectVia IntegrationRuntimeReference
57467				err = json.Unmarshal(*v, &connectVia)
57468				if err != nil {
57469					return err
57470				}
57471				mls.ConnectVia = &connectVia
57472			}
57473		case "description":
57474			if v != nil {
57475				var description string
57476				err = json.Unmarshal(*v, &description)
57477				if err != nil {
57478					return err
57479				}
57480				mls.Description = &description
57481			}
57482		case "parameters":
57483			if v != nil {
57484				var parameters map[string]*ParameterSpecification
57485				err = json.Unmarshal(*v, &parameters)
57486				if err != nil {
57487					return err
57488				}
57489				mls.Parameters = parameters
57490			}
57491		case "annotations":
57492			if v != nil {
57493				var annotations []interface{}
57494				err = json.Unmarshal(*v, &annotations)
57495				if err != nil {
57496					return err
57497				}
57498				mls.Annotations = &annotations
57499			}
57500		case "type":
57501			if v != nil {
57502				var typeVar TypeBasicLinkedService
57503				err = json.Unmarshal(*v, &typeVar)
57504				if err != nil {
57505					return err
57506				}
57507				mls.Type = typeVar
57508			}
57509		}
57510	}
57511
57512	return nil
57513}
57514
57515// MagentoLinkedServiceTypeProperties magento server linked service properties.
57516type MagentoLinkedServiceTypeProperties struct {
57517	// Host - The URL of the Magento instance. (i.e. 192.168.222.110/magento3)
57518	Host interface{} `json:"host,omitempty"`
57519	// AccessToken - The access token from Magento.
57520	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
57521	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
57522	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
57523	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
57524	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
57525	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
57526	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
57527	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
57528	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
57529}
57530
57531// UnmarshalJSON is the custom unmarshaler for MagentoLinkedServiceTypeProperties struct.
57532func (mlstp *MagentoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
57533	var m map[string]*json.RawMessage
57534	err := json.Unmarshal(body, &m)
57535	if err != nil {
57536		return err
57537	}
57538	for k, v := range m {
57539		switch k {
57540		case "host":
57541			if v != nil {
57542				var host interface{}
57543				err = json.Unmarshal(*v, &host)
57544				if err != nil {
57545					return err
57546				}
57547				mlstp.Host = host
57548			}
57549		case "accessToken":
57550			if v != nil {
57551				accessToken, err := unmarshalBasicSecretBase(*v)
57552				if err != nil {
57553					return err
57554				}
57555				mlstp.AccessToken = accessToken
57556			}
57557		case "useEncryptedEndpoints":
57558			if v != nil {
57559				var useEncryptedEndpoints interface{}
57560				err = json.Unmarshal(*v, &useEncryptedEndpoints)
57561				if err != nil {
57562					return err
57563				}
57564				mlstp.UseEncryptedEndpoints = useEncryptedEndpoints
57565			}
57566		case "useHostVerification":
57567			if v != nil {
57568				var useHostVerification interface{}
57569				err = json.Unmarshal(*v, &useHostVerification)
57570				if err != nil {
57571					return err
57572				}
57573				mlstp.UseHostVerification = useHostVerification
57574			}
57575		case "usePeerVerification":
57576			if v != nil {
57577				var usePeerVerification interface{}
57578				err = json.Unmarshal(*v, &usePeerVerification)
57579				if err != nil {
57580					return err
57581				}
57582				mlstp.UsePeerVerification = usePeerVerification
57583			}
57584		case "encryptedCredential":
57585			if v != nil {
57586				var encryptedCredential interface{}
57587				err = json.Unmarshal(*v, &encryptedCredential)
57588				if err != nil {
57589					return err
57590				}
57591				mlstp.EncryptedCredential = encryptedCredential
57592			}
57593		}
57594	}
57595
57596	return nil
57597}
57598
57599// MagentoObjectDataset magento server dataset.
57600type MagentoObjectDataset struct {
57601	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
57602	AdditionalProperties map[string]interface{} `json:""`
57603	// Description - Dataset description.
57604	Description *string `json:"description,omitempty"`
57605	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
57606	Structure interface{} `json:"structure,omitempty"`
57607	// LinkedServiceName - Linked service reference.
57608	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
57609	// Parameters - Parameters for dataset.
57610	Parameters map[string]*ParameterSpecification `json:"parameters"`
57611	// Annotations - List of tags that can be used for describing the Dataset.
57612	Annotations *[]interface{} `json:"annotations,omitempty"`
57613	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
57614	Type TypeBasicDataset `json:"type,omitempty"`
57615}
57616
57617// MarshalJSON is the custom marshaler for MagentoObjectDataset.
57618func (mod MagentoObjectDataset) MarshalJSON() ([]byte, error) {
57619	mod.Type = TypeMagentoObject
57620	objectMap := make(map[string]interface{})
57621	if mod.Description != nil {
57622		objectMap["description"] = mod.Description
57623	}
57624	if mod.Structure != nil {
57625		objectMap["structure"] = mod.Structure
57626	}
57627	if mod.LinkedServiceName != nil {
57628		objectMap["linkedServiceName"] = mod.LinkedServiceName
57629	}
57630	if mod.Parameters != nil {
57631		objectMap["parameters"] = mod.Parameters
57632	}
57633	if mod.Annotations != nil {
57634		objectMap["annotations"] = mod.Annotations
57635	}
57636	if mod.Type != "" {
57637		objectMap["type"] = mod.Type
57638	}
57639	for k, v := range mod.AdditionalProperties {
57640		objectMap[k] = v
57641	}
57642	return json.Marshal(objectMap)
57643}
57644
57645// AsResponsysObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57646func (mod MagentoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
57647	return nil, false
57648}
57649
57650// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57651func (mod MagentoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
57652	return nil, false
57653}
57654
57655// AsVerticaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57656func (mod MagentoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
57657	return nil, false
57658}
57659
57660// AsNetezzaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57661func (mod MagentoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
57662	return nil, false
57663}
57664
57665// AsZohoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57666func (mod MagentoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
57667	return nil, false
57668}
57669
57670// AsXeroObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57671func (mod MagentoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
57672	return nil, false
57673}
57674
57675// AsSquareObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57676func (mod MagentoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
57677	return nil, false
57678}
57679
57680// AsSparkObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57681func (mod MagentoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
57682	return nil, false
57683}
57684
57685// AsShopifyObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57686func (mod MagentoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
57687	return nil, false
57688}
57689
57690// AsServiceNowObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57691func (mod MagentoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
57692	return nil, false
57693}
57694
57695// AsQuickBooksObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57696func (mod MagentoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
57697	return nil, false
57698}
57699
57700// AsPrestoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57701func (mod MagentoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
57702	return nil, false
57703}
57704
57705// AsPhoenixObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57706func (mod MagentoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
57707	return nil, false
57708}
57709
57710// AsPaypalObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57711func (mod MagentoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
57712	return nil, false
57713}
57714
57715// AsMarketoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57716func (mod MagentoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
57717	return nil, false
57718}
57719
57720// AsMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57721func (mod MagentoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
57722	return nil, false
57723}
57724
57725// AsMagentoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57726func (mod MagentoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
57727	return &mod, true
57728}
57729
57730// AsJiraObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57731func (mod MagentoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
57732	return nil, false
57733}
57734
57735// AsImpalaObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57736func (mod MagentoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
57737	return nil, false
57738}
57739
57740// AsHubspotObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57741func (mod MagentoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
57742	return nil, false
57743}
57744
57745// AsHiveObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57746func (mod MagentoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
57747	return nil, false
57748}
57749
57750// AsHBaseObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57751func (mod MagentoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
57752	return nil, false
57753}
57754
57755// AsGreenplumTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57756func (mod MagentoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
57757	return nil, false
57758}
57759
57760// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57761func (mod MagentoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
57762	return nil, false
57763}
57764
57765// AsEloquaObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57766func (mod MagentoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
57767	return nil, false
57768}
57769
57770// AsDrillTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57771func (mod MagentoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
57772	return nil, false
57773}
57774
57775// AsCouchbaseTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57776func (mod MagentoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
57777	return nil, false
57778}
57779
57780// AsConcurObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57781func (mod MagentoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
57782	return nil, false
57783}
57784
57785// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57786func (mod MagentoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
57787	return nil, false
57788}
57789
57790// AsAmazonMWSObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57791func (mod MagentoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
57792	return nil, false
57793}
57794
57795// AsHTTPDataset is the BasicDataset implementation for MagentoObjectDataset.
57796func (mod MagentoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
57797	return nil, false
57798}
57799
57800// AsAzureSearchIndexDataset is the BasicDataset implementation for MagentoObjectDataset.
57801func (mod MagentoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
57802	return nil, false
57803}
57804
57805// AsWebTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57806func (mod MagentoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
57807	return nil, false
57808}
57809
57810// AsSQLServerTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57811func (mod MagentoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
57812	return nil, false
57813}
57814
57815// AsSapEccResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
57816func (mod MagentoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
57817	return nil, false
57818}
57819
57820// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
57821func (mod MagentoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
57822	return nil, false
57823}
57824
57825// AsSalesforceObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57826func (mod MagentoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
57827	return nil, false
57828}
57829
57830// AsRelationalTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57831func (mod MagentoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
57832	return nil, false
57833}
57834
57835// AsAzureMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57836func (mod MagentoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
57837	return nil, false
57838}
57839
57840// AsOracleTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57841func (mod MagentoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
57842	return nil, false
57843}
57844
57845// AsODataResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
57846func (mod MagentoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
57847	return nil, false
57848}
57849
57850// AsMongoDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
57851func (mod MagentoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
57852	return nil, false
57853}
57854
57855// AsFileShareDataset is the BasicDataset implementation for MagentoObjectDataset.
57856func (mod MagentoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
57857	return nil, false
57858}
57859
57860// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MagentoObjectDataset.
57861func (mod MagentoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
57862	return nil, false
57863}
57864
57865// AsDynamicsEntityDataset is the BasicDataset implementation for MagentoObjectDataset.
57866func (mod MagentoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
57867	return nil, false
57868}
57869
57870// AsDocumentDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
57871func (mod MagentoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
57872	return nil, false
57873}
57874
57875// AsCustomDataset is the BasicDataset implementation for MagentoObjectDataset.
57876func (mod MagentoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
57877	return nil, false
57878}
57879
57880// AsCassandraTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57881func (mod MagentoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
57882	return nil, false
57883}
57884
57885// AsAzureSQLDWTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57886func (mod MagentoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
57887	return nil, false
57888}
57889
57890// AsAzureSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57891func (mod MagentoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
57892	return nil, false
57893}
57894
57895// AsAzureTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57896func (mod MagentoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
57897	return nil, false
57898}
57899
57900// AsAzureBlobDataset is the BasicDataset implementation for MagentoObjectDataset.
57901func (mod MagentoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
57902	return nil, false
57903}
57904
57905// AsAmazonS3Dataset is the BasicDataset implementation for MagentoObjectDataset.
57906func (mod MagentoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
57907	return nil, false
57908}
57909
57910// AsDataset is the BasicDataset implementation for MagentoObjectDataset.
57911func (mod MagentoObjectDataset) AsDataset() (*Dataset, bool) {
57912	return nil, false
57913}
57914
57915// AsBasicDataset is the BasicDataset implementation for MagentoObjectDataset.
57916func (mod MagentoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
57917	return &mod, true
57918}
57919
57920// UnmarshalJSON is the custom unmarshaler for MagentoObjectDataset struct.
57921func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error {
57922	var m map[string]*json.RawMessage
57923	err := json.Unmarshal(body, &m)
57924	if err != nil {
57925		return err
57926	}
57927	for k, v := range m {
57928		switch k {
57929		default:
57930			if v != nil {
57931				var additionalProperties interface{}
57932				err = json.Unmarshal(*v, &additionalProperties)
57933				if err != nil {
57934					return err
57935				}
57936				if mod.AdditionalProperties == nil {
57937					mod.AdditionalProperties = make(map[string]interface{})
57938				}
57939				mod.AdditionalProperties[k] = additionalProperties
57940			}
57941		case "description":
57942			if v != nil {
57943				var description string
57944				err = json.Unmarshal(*v, &description)
57945				if err != nil {
57946					return err
57947				}
57948				mod.Description = &description
57949			}
57950		case "structure":
57951			if v != nil {
57952				var structure interface{}
57953				err = json.Unmarshal(*v, &structure)
57954				if err != nil {
57955					return err
57956				}
57957				mod.Structure = structure
57958			}
57959		case "linkedServiceName":
57960			if v != nil {
57961				var linkedServiceName LinkedServiceReference
57962				err = json.Unmarshal(*v, &linkedServiceName)
57963				if err != nil {
57964					return err
57965				}
57966				mod.LinkedServiceName = &linkedServiceName
57967			}
57968		case "parameters":
57969			if v != nil {
57970				var parameters map[string]*ParameterSpecification
57971				err = json.Unmarshal(*v, &parameters)
57972				if err != nil {
57973					return err
57974				}
57975				mod.Parameters = parameters
57976			}
57977		case "annotations":
57978			if v != nil {
57979				var annotations []interface{}
57980				err = json.Unmarshal(*v, &annotations)
57981				if err != nil {
57982					return err
57983				}
57984				mod.Annotations = &annotations
57985			}
57986		case "type":
57987			if v != nil {
57988				var typeVar TypeBasicDataset
57989				err = json.Unmarshal(*v, &typeVar)
57990				if err != nil {
57991					return err
57992				}
57993				mod.Type = typeVar
57994			}
57995		}
57996	}
57997
57998	return nil
57999}
58000
58001// MagentoSource a copy activity Magento server source.
58002type MagentoSource struct {
58003	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
58004	Query interface{} `json:"query,omitempty"`
58005	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58006	AdditionalProperties map[string]interface{} `json:""`
58007	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
58008	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
58009	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
58010	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
58011	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
58012	Type TypeBasicCopySource `json:"type,omitempty"`
58013}
58014
58015// MarshalJSON is the custom marshaler for MagentoSource.
58016func (ms MagentoSource) MarshalJSON() ([]byte, error) {
58017	ms.Type = TypeMagentoSource
58018	objectMap := make(map[string]interface{})
58019	if ms.Query != nil {
58020		objectMap["query"] = ms.Query
58021	}
58022	if ms.SourceRetryCount != nil {
58023		objectMap["sourceRetryCount"] = ms.SourceRetryCount
58024	}
58025	if ms.SourceRetryWait != nil {
58026		objectMap["sourceRetryWait"] = ms.SourceRetryWait
58027	}
58028	if ms.Type != "" {
58029		objectMap["type"] = ms.Type
58030	}
58031	for k, v := range ms.AdditionalProperties {
58032		objectMap[k] = v
58033	}
58034	return json.Marshal(objectMap)
58035}
58036
58037// AsAmazonRedshiftSource is the BasicCopySource implementation for MagentoSource.
58038func (ms MagentoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
58039	return nil, false
58040}
58041
58042// AsResponsysSource is the BasicCopySource implementation for MagentoSource.
58043func (ms MagentoSource) AsResponsysSource() (*ResponsysSource, bool) {
58044	return nil, false
58045}
58046
58047// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MagentoSource.
58048func (ms MagentoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
58049	return nil, false
58050}
58051
58052// AsVerticaSource is the BasicCopySource implementation for MagentoSource.
58053func (ms MagentoSource) AsVerticaSource() (*VerticaSource, bool) {
58054	return nil, false
58055}
58056
58057// AsNetezzaSource is the BasicCopySource implementation for MagentoSource.
58058func (ms MagentoSource) AsNetezzaSource() (*NetezzaSource, bool) {
58059	return nil, false
58060}
58061
58062// AsZohoSource is the BasicCopySource implementation for MagentoSource.
58063func (ms MagentoSource) AsZohoSource() (*ZohoSource, bool) {
58064	return nil, false
58065}
58066
58067// AsXeroSource is the BasicCopySource implementation for MagentoSource.
58068func (ms MagentoSource) AsXeroSource() (*XeroSource, bool) {
58069	return nil, false
58070}
58071
58072// AsSquareSource is the BasicCopySource implementation for MagentoSource.
58073func (ms MagentoSource) AsSquareSource() (*SquareSource, bool) {
58074	return nil, false
58075}
58076
58077// AsSparkSource is the BasicCopySource implementation for MagentoSource.
58078func (ms MagentoSource) AsSparkSource() (*SparkSource, bool) {
58079	return nil, false
58080}
58081
58082// AsShopifySource is the BasicCopySource implementation for MagentoSource.
58083func (ms MagentoSource) AsShopifySource() (*ShopifySource, bool) {
58084	return nil, false
58085}
58086
58087// AsServiceNowSource is the BasicCopySource implementation for MagentoSource.
58088func (ms MagentoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
58089	return nil, false
58090}
58091
58092// AsQuickBooksSource is the BasicCopySource implementation for MagentoSource.
58093func (ms MagentoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
58094	return nil, false
58095}
58096
58097// AsPrestoSource is the BasicCopySource implementation for MagentoSource.
58098func (ms MagentoSource) AsPrestoSource() (*PrestoSource, bool) {
58099	return nil, false
58100}
58101
58102// AsPhoenixSource is the BasicCopySource implementation for MagentoSource.
58103func (ms MagentoSource) AsPhoenixSource() (*PhoenixSource, bool) {
58104	return nil, false
58105}
58106
58107// AsPaypalSource is the BasicCopySource implementation for MagentoSource.
58108func (ms MagentoSource) AsPaypalSource() (*PaypalSource, bool) {
58109	return nil, false
58110}
58111
58112// AsMarketoSource is the BasicCopySource implementation for MagentoSource.
58113func (ms MagentoSource) AsMarketoSource() (*MarketoSource, bool) {
58114	return nil, false
58115}
58116
58117// AsMariaDBSource is the BasicCopySource implementation for MagentoSource.
58118func (ms MagentoSource) AsMariaDBSource() (*MariaDBSource, bool) {
58119	return nil, false
58120}
58121
58122// AsMagentoSource is the BasicCopySource implementation for MagentoSource.
58123func (ms MagentoSource) AsMagentoSource() (*MagentoSource, bool) {
58124	return &ms, true
58125}
58126
58127// AsJiraSource is the BasicCopySource implementation for MagentoSource.
58128func (ms MagentoSource) AsJiraSource() (*JiraSource, bool) {
58129	return nil, false
58130}
58131
58132// AsImpalaSource is the BasicCopySource implementation for MagentoSource.
58133func (ms MagentoSource) AsImpalaSource() (*ImpalaSource, bool) {
58134	return nil, false
58135}
58136
58137// AsHubspotSource is the BasicCopySource implementation for MagentoSource.
58138func (ms MagentoSource) AsHubspotSource() (*HubspotSource, bool) {
58139	return nil, false
58140}
58141
58142// AsHiveSource is the BasicCopySource implementation for MagentoSource.
58143func (ms MagentoSource) AsHiveSource() (*HiveSource, bool) {
58144	return nil, false
58145}
58146
58147// AsHBaseSource is the BasicCopySource implementation for MagentoSource.
58148func (ms MagentoSource) AsHBaseSource() (*HBaseSource, bool) {
58149	return nil, false
58150}
58151
58152// AsGreenplumSource is the BasicCopySource implementation for MagentoSource.
58153func (ms MagentoSource) AsGreenplumSource() (*GreenplumSource, bool) {
58154	return nil, false
58155}
58156
58157// AsGoogleBigQuerySource is the BasicCopySource implementation for MagentoSource.
58158func (ms MagentoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
58159	return nil, false
58160}
58161
58162// AsEloquaSource is the BasicCopySource implementation for MagentoSource.
58163func (ms MagentoSource) AsEloquaSource() (*EloquaSource, bool) {
58164	return nil, false
58165}
58166
58167// AsDrillSource is the BasicCopySource implementation for MagentoSource.
58168func (ms MagentoSource) AsDrillSource() (*DrillSource, bool) {
58169	return nil, false
58170}
58171
58172// AsCouchbaseSource is the BasicCopySource implementation for MagentoSource.
58173func (ms MagentoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
58174	return nil, false
58175}
58176
58177// AsConcurSource is the BasicCopySource implementation for MagentoSource.
58178func (ms MagentoSource) AsConcurSource() (*ConcurSource, bool) {
58179	return nil, false
58180}
58181
58182// AsAzurePostgreSQLSource is the BasicCopySource implementation for MagentoSource.
58183func (ms MagentoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
58184	return nil, false
58185}
58186
58187// AsAmazonMWSSource is the BasicCopySource implementation for MagentoSource.
58188func (ms MagentoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
58189	return nil, false
58190}
58191
58192// AsHTTPSource is the BasicCopySource implementation for MagentoSource.
58193func (ms MagentoSource) AsHTTPSource() (*HTTPSource, bool) {
58194	return nil, false
58195}
58196
58197// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MagentoSource.
58198func (ms MagentoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
58199	return nil, false
58200}
58201
58202// AsMongoDbSource is the BasicCopySource implementation for MagentoSource.
58203func (ms MagentoSource) AsMongoDbSource() (*MongoDbSource, bool) {
58204	return nil, false
58205}
58206
58207// AsCassandraSource is the BasicCopySource implementation for MagentoSource.
58208func (ms MagentoSource) AsCassandraSource() (*CassandraSource, bool) {
58209	return nil, false
58210}
58211
58212// AsWebSource is the BasicCopySource implementation for MagentoSource.
58213func (ms MagentoSource) AsWebSource() (*WebSource, bool) {
58214	return nil, false
58215}
58216
58217// AsOracleSource is the BasicCopySource implementation for MagentoSource.
58218func (ms MagentoSource) AsOracleSource() (*OracleSource, bool) {
58219	return nil, false
58220}
58221
58222// AsAzureMySQLSource is the BasicCopySource implementation for MagentoSource.
58223func (ms MagentoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
58224	return nil, false
58225}
58226
58227// AsHdfsSource is the BasicCopySource implementation for MagentoSource.
58228func (ms MagentoSource) AsHdfsSource() (*HdfsSource, bool) {
58229	return nil, false
58230}
58231
58232// AsFileSystemSource is the BasicCopySource implementation for MagentoSource.
58233func (ms MagentoSource) AsFileSystemSource() (*FileSystemSource, bool) {
58234	return nil, false
58235}
58236
58237// AsSQLDWSource is the BasicCopySource implementation for MagentoSource.
58238func (ms MagentoSource) AsSQLDWSource() (*SQLDWSource, bool) {
58239	return nil, false
58240}
58241
58242// AsSQLSource is the BasicCopySource implementation for MagentoSource.
58243func (ms MagentoSource) AsSQLSource() (*SQLSource, bool) {
58244	return nil, false
58245}
58246
58247// AsSapEccSource is the BasicCopySource implementation for MagentoSource.
58248func (ms MagentoSource) AsSapEccSource() (*SapEccSource, bool) {
58249	return nil, false
58250}
58251
58252// AsSapCloudForCustomerSource is the BasicCopySource implementation for MagentoSource.
58253func (ms MagentoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
58254	return nil, false
58255}
58256
58257// AsSalesforceSource is the BasicCopySource implementation for MagentoSource.
58258func (ms MagentoSource) AsSalesforceSource() (*SalesforceSource, bool) {
58259	return nil, false
58260}
58261
58262// AsRelationalSource is the BasicCopySource implementation for MagentoSource.
58263func (ms MagentoSource) AsRelationalSource() (*RelationalSource, bool) {
58264	return nil, false
58265}
58266
58267// AsDynamicsSource is the BasicCopySource implementation for MagentoSource.
58268func (ms MagentoSource) AsDynamicsSource() (*DynamicsSource, bool) {
58269	return nil, false
58270}
58271
58272// AsDocumentDbCollectionSource is the BasicCopySource implementation for MagentoSource.
58273func (ms MagentoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
58274	return nil, false
58275}
58276
58277// AsBlobSource is the BasicCopySource implementation for MagentoSource.
58278func (ms MagentoSource) AsBlobSource() (*BlobSource, bool) {
58279	return nil, false
58280}
58281
58282// AsAzureTableSource is the BasicCopySource implementation for MagentoSource.
58283func (ms MagentoSource) AsAzureTableSource() (*AzureTableSource, bool) {
58284	return nil, false
58285}
58286
58287// AsCopySource is the BasicCopySource implementation for MagentoSource.
58288func (ms MagentoSource) AsCopySource() (*CopySource, bool) {
58289	return nil, false
58290}
58291
58292// AsBasicCopySource is the BasicCopySource implementation for MagentoSource.
58293func (ms MagentoSource) AsBasicCopySource() (BasicCopySource, bool) {
58294	return &ms, true
58295}
58296
58297// UnmarshalJSON is the custom unmarshaler for MagentoSource struct.
58298func (ms *MagentoSource) UnmarshalJSON(body []byte) error {
58299	var m map[string]*json.RawMessage
58300	err := json.Unmarshal(body, &m)
58301	if err != nil {
58302		return err
58303	}
58304	for k, v := range m {
58305		switch k {
58306		case "query":
58307			if v != nil {
58308				var query interface{}
58309				err = json.Unmarshal(*v, &query)
58310				if err != nil {
58311					return err
58312				}
58313				ms.Query = query
58314			}
58315		default:
58316			if v != nil {
58317				var additionalProperties interface{}
58318				err = json.Unmarshal(*v, &additionalProperties)
58319				if err != nil {
58320					return err
58321				}
58322				if ms.AdditionalProperties == nil {
58323					ms.AdditionalProperties = make(map[string]interface{})
58324				}
58325				ms.AdditionalProperties[k] = additionalProperties
58326			}
58327		case "sourceRetryCount":
58328			if v != nil {
58329				var sourceRetryCount interface{}
58330				err = json.Unmarshal(*v, &sourceRetryCount)
58331				if err != nil {
58332					return err
58333				}
58334				ms.SourceRetryCount = sourceRetryCount
58335			}
58336		case "sourceRetryWait":
58337			if v != nil {
58338				var sourceRetryWait interface{}
58339				err = json.Unmarshal(*v, &sourceRetryWait)
58340				if err != nil {
58341					return err
58342				}
58343				ms.SourceRetryWait = sourceRetryWait
58344			}
58345		case "type":
58346			if v != nil {
58347				var typeVar TypeBasicCopySource
58348				err = json.Unmarshal(*v, &typeVar)
58349				if err != nil {
58350					return err
58351				}
58352				ms.Type = typeVar
58353			}
58354		}
58355	}
58356
58357	return nil
58358}
58359
58360// ManagedIntegrationRuntime managed integration runtime, including managed elastic and managed dedicated
58361// integration runtimes.
58362type ManagedIntegrationRuntime struct {
58363	// State - READ-ONLY; Integration runtime state, only valid for managed dedicated integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline'
58364	State IntegrationRuntimeState `json:"state,omitempty"`
58365	// ManagedIntegrationRuntimeTypeProperties - Managed integration runtime properties.
58366	*ManagedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"`
58367	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58368	AdditionalProperties map[string]interface{} `json:""`
58369	// Description - Integration runtime description.
58370	Description *string `json:"description,omitempty"`
58371	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
58372	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
58373}
58374
58375// MarshalJSON is the custom marshaler for ManagedIntegrationRuntime.
58376func (mir ManagedIntegrationRuntime) MarshalJSON() ([]byte, error) {
58377	mir.Type = TypeManaged
58378	objectMap := make(map[string]interface{})
58379	if mir.ManagedIntegrationRuntimeTypeProperties != nil {
58380		objectMap["typeProperties"] = mir.ManagedIntegrationRuntimeTypeProperties
58381	}
58382	if mir.Description != nil {
58383		objectMap["description"] = mir.Description
58384	}
58385	if mir.Type != "" {
58386		objectMap["type"] = mir.Type
58387	}
58388	for k, v := range mir.AdditionalProperties {
58389		objectMap[k] = v
58390	}
58391	return json.Marshal(objectMap)
58392}
58393
58394// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
58395func (mir ManagedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
58396	return nil, false
58397}
58398
58399// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
58400func (mir ManagedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
58401	return &mir, true
58402}
58403
58404// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
58405func (mir ManagedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
58406	return nil, false
58407}
58408
58409// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
58410func (mir ManagedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
58411	return &mir, true
58412}
58413
58414// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntime struct.
58415func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error {
58416	var m map[string]*json.RawMessage
58417	err := json.Unmarshal(body, &m)
58418	if err != nil {
58419		return err
58420	}
58421	for k, v := range m {
58422		switch k {
58423		case "state":
58424			if v != nil {
58425				var state IntegrationRuntimeState
58426				err = json.Unmarshal(*v, &state)
58427				if err != nil {
58428					return err
58429				}
58430				mir.State = state
58431			}
58432		case "typeProperties":
58433			if v != nil {
58434				var managedIntegrationRuntimeTypeProperties ManagedIntegrationRuntimeTypeProperties
58435				err = json.Unmarshal(*v, &managedIntegrationRuntimeTypeProperties)
58436				if err != nil {
58437					return err
58438				}
58439				mir.ManagedIntegrationRuntimeTypeProperties = &managedIntegrationRuntimeTypeProperties
58440			}
58441		default:
58442			if v != nil {
58443				var additionalProperties interface{}
58444				err = json.Unmarshal(*v, &additionalProperties)
58445				if err != nil {
58446					return err
58447				}
58448				if mir.AdditionalProperties == nil {
58449					mir.AdditionalProperties = make(map[string]interface{})
58450				}
58451				mir.AdditionalProperties[k] = additionalProperties
58452			}
58453		case "description":
58454			if v != nil {
58455				var description string
58456				err = json.Unmarshal(*v, &description)
58457				if err != nil {
58458					return err
58459				}
58460				mir.Description = &description
58461			}
58462		case "type":
58463			if v != nil {
58464				var typeVar TypeBasicIntegrationRuntime
58465				err = json.Unmarshal(*v, &typeVar)
58466				if err != nil {
58467					return err
58468				}
58469				mir.Type = typeVar
58470			}
58471		}
58472	}
58473
58474	return nil
58475}
58476
58477// ManagedIntegrationRuntimeError error definition for managed integration runtime.
58478type ManagedIntegrationRuntimeError struct {
58479	// Time - READ-ONLY; The time when the error occurred.
58480	Time *date.Time `json:"time,omitempty"`
58481	// Code - READ-ONLY; Error code.
58482	Code *string `json:"code,omitempty"`
58483	// Parameters - READ-ONLY; Managed integration runtime error parameters.
58484	Parameters *[]string `json:"parameters,omitempty"`
58485	// Message - READ-ONLY; Error message.
58486	Message *string `json:"message,omitempty"`
58487}
58488
58489// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeError.
58490func (mire ManagedIntegrationRuntimeError) MarshalJSON() ([]byte, error) {
58491	objectMap := make(map[string]interface{})
58492	return json.Marshal(objectMap)
58493}
58494
58495// ManagedIntegrationRuntimeNode properties of integration runtime node.
58496type ManagedIntegrationRuntimeNode struct {
58497	// NodeID - READ-ONLY; The managed integration runtime node id.
58498	NodeID *string `json:"nodeId,omitempty"`
58499	// Status - READ-ONLY; The managed integration runtime node status. Possible values include: 'ManagedIntegrationRuntimeNodeStatusStarting', 'ManagedIntegrationRuntimeNodeStatusAvailable', 'ManagedIntegrationRuntimeNodeStatusRecycling', 'ManagedIntegrationRuntimeNodeStatusUnavailable'
58500	Status ManagedIntegrationRuntimeNodeStatus `json:"status,omitempty"`
58501	// Errors - The errors that occurred on this integration runtime node.
58502	Errors *[]ManagedIntegrationRuntimeError `json:"errors,omitempty"`
58503}
58504
58505// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeNode.
58506func (mirn ManagedIntegrationRuntimeNode) MarshalJSON() ([]byte, error) {
58507	objectMap := make(map[string]interface{})
58508	if mirn.Errors != nil {
58509		objectMap["errors"] = mirn.Errors
58510	}
58511	return json.Marshal(objectMap)
58512}
58513
58514// ManagedIntegrationRuntimeOperationResult properties of managed integration runtime operation result.
58515type ManagedIntegrationRuntimeOperationResult struct {
58516	// Type - READ-ONLY; The operation type. Could be start or stop.
58517	Type *string `json:"type,omitempty"`
58518	// StartTime - READ-ONLY; The start time of the operation.
58519	StartTime *date.Time `json:"startTime,omitempty"`
58520	// Result - READ-ONLY; The operation result.
58521	Result *string `json:"result,omitempty"`
58522	// ErrorCode - READ-ONLY; The error code.
58523	ErrorCode *string `json:"errorCode,omitempty"`
58524	// Parameters - READ-ONLY; Managed integration runtime error parameters.
58525	Parameters *[]string `json:"parameters,omitempty"`
58526	// ActivityID - READ-ONLY; The activity id for the operation request.
58527	ActivityID *string `json:"activityId,omitempty"`
58528}
58529
58530// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeOperationResult.
58531func (miror ManagedIntegrationRuntimeOperationResult) MarshalJSON() ([]byte, error) {
58532	objectMap := make(map[string]interface{})
58533	return json.Marshal(objectMap)
58534}
58535
58536// ManagedIntegrationRuntimeStatus managed integration runtime status.
58537type ManagedIntegrationRuntimeStatus struct {
58538	// ManagedIntegrationRuntimeStatusTypeProperties - Managed integration runtime status type properties.
58539	*ManagedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"`
58540	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58541	AdditionalProperties map[string]interface{} `json:""`
58542	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
58543	DataFactoryName *string `json:"dataFactoryName,omitempty"`
58544	// State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline'
58545	State IntegrationRuntimeState `json:"state,omitempty"`
58546	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
58547	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
58548}
58549
58550// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeStatus.
58551func (mirs ManagedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
58552	mirs.Type = TypeBasicIntegrationRuntimeStatusTypeManaged
58553	objectMap := make(map[string]interface{})
58554	if mirs.ManagedIntegrationRuntimeStatusTypeProperties != nil {
58555		objectMap["typeProperties"] = mirs.ManagedIntegrationRuntimeStatusTypeProperties
58556	}
58557	if mirs.Type != "" {
58558		objectMap["type"] = mirs.Type
58559	}
58560	for k, v := range mirs.AdditionalProperties {
58561		objectMap[k] = v
58562	}
58563	return json.Marshal(objectMap)
58564}
58565
58566// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
58567func (mirs ManagedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
58568	return nil, false
58569}
58570
58571// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
58572func (mirs ManagedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
58573	return &mirs, true
58574}
58575
58576// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
58577func (mirs ManagedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
58578	return nil, false
58579}
58580
58581// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
58582func (mirs ManagedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
58583	return &mirs, true
58584}
58585
58586// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntimeStatus struct.
58587func (mirs *ManagedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
58588	var m map[string]*json.RawMessage
58589	err := json.Unmarshal(body, &m)
58590	if err != nil {
58591		return err
58592	}
58593	for k, v := range m {
58594		switch k {
58595		case "typeProperties":
58596			if v != nil {
58597				var managedIntegrationRuntimeStatusTypeProperties ManagedIntegrationRuntimeStatusTypeProperties
58598				err = json.Unmarshal(*v, &managedIntegrationRuntimeStatusTypeProperties)
58599				if err != nil {
58600					return err
58601				}
58602				mirs.ManagedIntegrationRuntimeStatusTypeProperties = &managedIntegrationRuntimeStatusTypeProperties
58603			}
58604		default:
58605			if v != nil {
58606				var additionalProperties interface{}
58607				err = json.Unmarshal(*v, &additionalProperties)
58608				if err != nil {
58609					return err
58610				}
58611				if mirs.AdditionalProperties == nil {
58612					mirs.AdditionalProperties = make(map[string]interface{})
58613				}
58614				mirs.AdditionalProperties[k] = additionalProperties
58615			}
58616		case "dataFactoryName":
58617			if v != nil {
58618				var dataFactoryName string
58619				err = json.Unmarshal(*v, &dataFactoryName)
58620				if err != nil {
58621					return err
58622				}
58623				mirs.DataFactoryName = &dataFactoryName
58624			}
58625		case "state":
58626			if v != nil {
58627				var state IntegrationRuntimeState
58628				err = json.Unmarshal(*v, &state)
58629				if err != nil {
58630					return err
58631				}
58632				mirs.State = state
58633			}
58634		case "type":
58635			if v != nil {
58636				var typeVar TypeBasicIntegrationRuntimeStatus
58637				err = json.Unmarshal(*v, &typeVar)
58638				if err != nil {
58639					return err
58640				}
58641				mirs.Type = typeVar
58642			}
58643		}
58644	}
58645
58646	return nil
58647}
58648
58649// ManagedIntegrationRuntimeStatusTypeProperties managed integration runtime status type properties.
58650type ManagedIntegrationRuntimeStatusTypeProperties struct {
58651	// CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format.
58652	CreateTime *date.Time `json:"createTime,omitempty"`
58653	// Nodes - READ-ONLY; The list of nodes for managed integration runtime.
58654	Nodes *[]ManagedIntegrationRuntimeNode `json:"nodes,omitempty"`
58655	// OtherErrors - READ-ONLY; The errors that occurred on this integration runtime.
58656	OtherErrors *[]ManagedIntegrationRuntimeError `json:"otherErrors,omitempty"`
58657	// LastOperation - READ-ONLY; The last operation result that occurred on this integration runtime.
58658	LastOperation *ManagedIntegrationRuntimeOperationResult `json:"lastOperation,omitempty"`
58659}
58660
58661// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeStatusTypeProperties.
58662func (mirstp ManagedIntegrationRuntimeStatusTypeProperties) MarshalJSON() ([]byte, error) {
58663	objectMap := make(map[string]interface{})
58664	return json.Marshal(objectMap)
58665}
58666
58667// ManagedIntegrationRuntimeTypeProperties managed integration runtime type properties.
58668type ManagedIntegrationRuntimeTypeProperties struct {
58669	// ComputeProperties - The compute resource for managed integration runtime.
58670	ComputeProperties *IntegrationRuntimeComputeProperties `json:"computeProperties,omitempty"`
58671	// SsisProperties - SSIS properties for managed integration runtime.
58672	SsisProperties *IntegrationRuntimeSsisProperties `json:"ssisProperties,omitempty"`
58673}
58674
58675// MariaDBLinkedService mariaDB server linked service.
58676type MariaDBLinkedService struct {
58677	// MariaDBLinkedServiceTypeProperties - MariaDB server linked service properties.
58678	*MariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
58679	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58680	AdditionalProperties map[string]interface{} `json:""`
58681	// ConnectVia - The integration runtime reference.
58682	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
58683	// Description - Linked service description.
58684	Description *string `json:"description,omitempty"`
58685	// Parameters - Parameters for linked service.
58686	Parameters map[string]*ParameterSpecification `json:"parameters"`
58687	// Annotations - List of tags that can be used for describing the Dataset.
58688	Annotations *[]interface{} `json:"annotations,omitempty"`
58689	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
58690	Type TypeBasicLinkedService `json:"type,omitempty"`
58691}
58692
58693// MarshalJSON is the custom marshaler for MariaDBLinkedService.
58694func (mdls MariaDBLinkedService) MarshalJSON() ([]byte, error) {
58695	mdls.Type = TypeMariaDB
58696	objectMap := make(map[string]interface{})
58697	if mdls.MariaDBLinkedServiceTypeProperties != nil {
58698		objectMap["typeProperties"] = mdls.MariaDBLinkedServiceTypeProperties
58699	}
58700	if mdls.ConnectVia != nil {
58701		objectMap["connectVia"] = mdls.ConnectVia
58702	}
58703	if mdls.Description != nil {
58704		objectMap["description"] = mdls.Description
58705	}
58706	if mdls.Parameters != nil {
58707		objectMap["parameters"] = mdls.Parameters
58708	}
58709	if mdls.Annotations != nil {
58710		objectMap["annotations"] = mdls.Annotations
58711	}
58712	if mdls.Type != "" {
58713		objectMap["type"] = mdls.Type
58714	}
58715	for k, v := range mdls.AdditionalProperties {
58716		objectMap[k] = v
58717	}
58718	return json.Marshal(objectMap)
58719}
58720
58721// AsResponsysLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58722func (mdls MariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
58723	return nil, false
58724}
58725
58726// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58727func (mdls MariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
58728	return nil, false
58729}
58730
58731// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58732func (mdls MariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
58733	return nil, false
58734}
58735
58736// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58737func (mdls MariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
58738	return nil, false
58739}
58740
58741// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58742func (mdls MariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
58743	return nil, false
58744}
58745
58746// AsNetezzaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58747func (mdls MariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
58748	return nil, false
58749}
58750
58751// AsVerticaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58752func (mdls MariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
58753	return nil, false
58754}
58755
58756// AsZohoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58757func (mdls MariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
58758	return nil, false
58759}
58760
58761// AsXeroLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58762func (mdls MariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
58763	return nil, false
58764}
58765
58766// AsSquareLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58767func (mdls MariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
58768	return nil, false
58769}
58770
58771// AsSparkLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58772func (mdls MariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
58773	return nil, false
58774}
58775
58776// AsShopifyLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58777func (mdls MariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
58778	return nil, false
58779}
58780
58781// AsServiceNowLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58782func (mdls MariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
58783	return nil, false
58784}
58785
58786// AsQuickBooksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58787func (mdls MariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
58788	return nil, false
58789}
58790
58791// AsPrestoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58792func (mdls MariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
58793	return nil, false
58794}
58795
58796// AsPhoenixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58797func (mdls MariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
58798	return nil, false
58799}
58800
58801// AsPaypalLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58802func (mdls MariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
58803	return nil, false
58804}
58805
58806// AsMarketoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58807func (mdls MariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
58808	return nil, false
58809}
58810
58811// AsMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58812func (mdls MariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
58813	return &mdls, true
58814}
58815
58816// AsMagentoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58817func (mdls MariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
58818	return nil, false
58819}
58820
58821// AsJiraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58822func (mdls MariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
58823	return nil, false
58824}
58825
58826// AsImpalaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58827func (mdls MariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
58828	return nil, false
58829}
58830
58831// AsHubspotLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58832func (mdls MariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
58833	return nil, false
58834}
58835
58836// AsHiveLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58837func (mdls MariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
58838	return nil, false
58839}
58840
58841// AsHBaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58842func (mdls MariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
58843	return nil, false
58844}
58845
58846// AsGreenplumLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58847func (mdls MariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
58848	return nil, false
58849}
58850
58851// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58852func (mdls MariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
58853	return nil, false
58854}
58855
58856// AsEloquaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58857func (mdls MariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
58858	return nil, false
58859}
58860
58861// AsDrillLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58862func (mdls MariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
58863	return nil, false
58864}
58865
58866// AsCouchbaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58867func (mdls MariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
58868	return nil, false
58869}
58870
58871// AsConcurLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58872func (mdls MariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
58873	return nil, false
58874}
58875
58876// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58877func (mdls MariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
58878	return nil, false
58879}
58880
58881// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58882func (mdls MariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
58883	return nil, false
58884}
58885
58886// AsSapHanaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58887func (mdls MariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
58888	return nil, false
58889}
58890
58891// AsSapBWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58892func (mdls MariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
58893	return nil, false
58894}
58895
58896// AsSftpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58897func (mdls MariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
58898	return nil, false
58899}
58900
58901// AsFtpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58902func (mdls MariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
58903	return nil, false
58904}
58905
58906// AsHTTPLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58907func (mdls MariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
58908	return nil, false
58909}
58910
58911// AsAzureSearchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58912func (mdls MariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
58913	return nil, false
58914}
58915
58916// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58917func (mdls MariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
58918	return nil, false
58919}
58920
58921// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58922func (mdls MariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
58923	return nil, false
58924}
58925
58926// AsAmazonS3LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58927func (mdls MariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
58928	return nil, false
58929}
58930
58931// AsSapEccLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58932func (mdls MariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
58933	return nil, false
58934}
58935
58936// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58937func (mdls MariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
58938	return nil, false
58939}
58940
58941// AsSalesforceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58942func (mdls MariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
58943	return nil, false
58944}
58945
58946// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58947func (mdls MariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
58948	return nil, false
58949}
58950
58951// AsMongoDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58952func (mdls MariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
58953	return nil, false
58954}
58955
58956// AsCassandraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58957func (mdls MariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
58958	return nil, false
58959}
58960
58961// AsWebLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58962func (mdls MariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
58963	return nil, false
58964}
58965
58966// AsODataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58967func (mdls MariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
58968	return nil, false
58969}
58970
58971// AsHdfsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58972func (mdls MariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
58973	return nil, false
58974}
58975
58976// AsOdbcLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58977func (mdls MariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
58978	return nil, false
58979}
58980
58981// AsAzureMLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58982func (mdls MariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
58983	return nil, false
58984}
58985
58986// AsTeradataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58987func (mdls MariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
58988	return nil, false
58989}
58990
58991// AsDb2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58992func (mdls MariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
58993	return nil, false
58994}
58995
58996// AsSybaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58997func (mdls MariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
58998	return nil, false
58999}
59000
59001// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59002func (mdls MariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
59003	return nil, false
59004}
59005
59006// AsMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59007func (mdls MariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
59008	return nil, false
59009}
59010
59011// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59012func (mdls MariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
59013	return nil, false
59014}
59015
59016// AsOracleLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59017func (mdls MariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
59018	return nil, false
59019}
59020
59021// AsFileServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59022func (mdls MariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
59023	return nil, false
59024}
59025
59026// AsHDInsightLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59027func (mdls MariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
59028	return nil, false
59029}
59030
59031// AsDynamicsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59032func (mdls MariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
59033	return nil, false
59034}
59035
59036// AsCosmosDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59037func (mdls MariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
59038	return nil, false
59039}
59040
59041// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59042func (mdls MariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
59043	return nil, false
59044}
59045
59046// AsAzureBatchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59047func (mdls MariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
59048	return nil, false
59049}
59050
59051// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59052func (mdls MariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
59053	return nil, false
59054}
59055
59056// AsSQLServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59057func (mdls MariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
59058	return nil, false
59059}
59060
59061// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59062func (mdls MariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
59063	return nil, false
59064}
59065
59066// AsAzureStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59067func (mdls MariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
59068	return nil, false
59069}
59070
59071// AsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59072func (mdls MariaDBLinkedService) AsLinkedService() (*LinkedService, bool) {
59073	return nil, false
59074}
59075
59076// AsBasicLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
59077func (mdls MariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
59078	return &mdls, true
59079}
59080
59081// UnmarshalJSON is the custom unmarshaler for MariaDBLinkedService struct.
59082func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error {
59083	var m map[string]*json.RawMessage
59084	err := json.Unmarshal(body, &m)
59085	if err != nil {
59086		return err
59087	}
59088	for k, v := range m {
59089		switch k {
59090		case "typeProperties":
59091			if v != nil {
59092				var mariaDBLinkedServiceTypeProperties MariaDBLinkedServiceTypeProperties
59093				err = json.Unmarshal(*v, &mariaDBLinkedServiceTypeProperties)
59094				if err != nil {
59095					return err
59096				}
59097				mdls.MariaDBLinkedServiceTypeProperties = &mariaDBLinkedServiceTypeProperties
59098			}
59099		default:
59100			if v != nil {
59101				var additionalProperties interface{}
59102				err = json.Unmarshal(*v, &additionalProperties)
59103				if err != nil {
59104					return err
59105				}
59106				if mdls.AdditionalProperties == nil {
59107					mdls.AdditionalProperties = make(map[string]interface{})
59108				}
59109				mdls.AdditionalProperties[k] = additionalProperties
59110			}
59111		case "connectVia":
59112			if v != nil {
59113				var connectVia IntegrationRuntimeReference
59114				err = json.Unmarshal(*v, &connectVia)
59115				if err != nil {
59116					return err
59117				}
59118				mdls.ConnectVia = &connectVia
59119			}
59120		case "description":
59121			if v != nil {
59122				var description string
59123				err = json.Unmarshal(*v, &description)
59124				if err != nil {
59125					return err
59126				}
59127				mdls.Description = &description
59128			}
59129		case "parameters":
59130			if v != nil {
59131				var parameters map[string]*ParameterSpecification
59132				err = json.Unmarshal(*v, &parameters)
59133				if err != nil {
59134					return err
59135				}
59136				mdls.Parameters = parameters
59137			}
59138		case "annotations":
59139			if v != nil {
59140				var annotations []interface{}
59141				err = json.Unmarshal(*v, &annotations)
59142				if err != nil {
59143					return err
59144				}
59145				mdls.Annotations = &annotations
59146			}
59147		case "type":
59148			if v != nil {
59149				var typeVar TypeBasicLinkedService
59150				err = json.Unmarshal(*v, &typeVar)
59151				if err != nil {
59152					return err
59153				}
59154				mdls.Type = typeVar
59155			}
59156		}
59157	}
59158
59159	return nil
59160}
59161
59162// MariaDBLinkedServiceTypeProperties mariaDB server linked service properties.
59163type MariaDBLinkedServiceTypeProperties struct {
59164	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
59165	ConnectionString interface{} `json:"connectionString,omitempty"`
59166	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
59167	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
59168}
59169
59170// MariaDBSource a copy activity MariaDB server source.
59171type MariaDBSource struct {
59172	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
59173	Query interface{} `json:"query,omitempty"`
59174	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59175	AdditionalProperties map[string]interface{} `json:""`
59176	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
59177	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
59178	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
59179	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
59180	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
59181	Type TypeBasicCopySource `json:"type,omitempty"`
59182}
59183
59184// MarshalJSON is the custom marshaler for MariaDBSource.
59185func (mds MariaDBSource) MarshalJSON() ([]byte, error) {
59186	mds.Type = TypeMariaDBSource
59187	objectMap := make(map[string]interface{})
59188	if mds.Query != nil {
59189		objectMap["query"] = mds.Query
59190	}
59191	if mds.SourceRetryCount != nil {
59192		objectMap["sourceRetryCount"] = mds.SourceRetryCount
59193	}
59194	if mds.SourceRetryWait != nil {
59195		objectMap["sourceRetryWait"] = mds.SourceRetryWait
59196	}
59197	if mds.Type != "" {
59198		objectMap["type"] = mds.Type
59199	}
59200	for k, v := range mds.AdditionalProperties {
59201		objectMap[k] = v
59202	}
59203	return json.Marshal(objectMap)
59204}
59205
59206// AsAmazonRedshiftSource is the BasicCopySource implementation for MariaDBSource.
59207func (mds MariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
59208	return nil, false
59209}
59210
59211// AsResponsysSource is the BasicCopySource implementation for MariaDBSource.
59212func (mds MariaDBSource) AsResponsysSource() (*ResponsysSource, bool) {
59213	return nil, false
59214}
59215
59216// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MariaDBSource.
59217func (mds MariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
59218	return nil, false
59219}
59220
59221// AsVerticaSource is the BasicCopySource implementation for MariaDBSource.
59222func (mds MariaDBSource) AsVerticaSource() (*VerticaSource, bool) {
59223	return nil, false
59224}
59225
59226// AsNetezzaSource is the BasicCopySource implementation for MariaDBSource.
59227func (mds MariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) {
59228	return nil, false
59229}
59230
59231// AsZohoSource is the BasicCopySource implementation for MariaDBSource.
59232func (mds MariaDBSource) AsZohoSource() (*ZohoSource, bool) {
59233	return nil, false
59234}
59235
59236// AsXeroSource is the BasicCopySource implementation for MariaDBSource.
59237func (mds MariaDBSource) AsXeroSource() (*XeroSource, bool) {
59238	return nil, false
59239}
59240
59241// AsSquareSource is the BasicCopySource implementation for MariaDBSource.
59242func (mds MariaDBSource) AsSquareSource() (*SquareSource, bool) {
59243	return nil, false
59244}
59245
59246// AsSparkSource is the BasicCopySource implementation for MariaDBSource.
59247func (mds MariaDBSource) AsSparkSource() (*SparkSource, bool) {
59248	return nil, false
59249}
59250
59251// AsShopifySource is the BasicCopySource implementation for MariaDBSource.
59252func (mds MariaDBSource) AsShopifySource() (*ShopifySource, bool) {
59253	return nil, false
59254}
59255
59256// AsServiceNowSource is the BasicCopySource implementation for MariaDBSource.
59257func (mds MariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) {
59258	return nil, false
59259}
59260
59261// AsQuickBooksSource is the BasicCopySource implementation for MariaDBSource.
59262func (mds MariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
59263	return nil, false
59264}
59265
59266// AsPrestoSource is the BasicCopySource implementation for MariaDBSource.
59267func (mds MariaDBSource) AsPrestoSource() (*PrestoSource, bool) {
59268	return nil, false
59269}
59270
59271// AsPhoenixSource is the BasicCopySource implementation for MariaDBSource.
59272func (mds MariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) {
59273	return nil, false
59274}
59275
59276// AsPaypalSource is the BasicCopySource implementation for MariaDBSource.
59277func (mds MariaDBSource) AsPaypalSource() (*PaypalSource, bool) {
59278	return nil, false
59279}
59280
59281// AsMarketoSource is the BasicCopySource implementation for MariaDBSource.
59282func (mds MariaDBSource) AsMarketoSource() (*MarketoSource, bool) {
59283	return nil, false
59284}
59285
59286// AsMariaDBSource is the BasicCopySource implementation for MariaDBSource.
59287func (mds MariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) {
59288	return &mds, true
59289}
59290
59291// AsMagentoSource is the BasicCopySource implementation for MariaDBSource.
59292func (mds MariaDBSource) AsMagentoSource() (*MagentoSource, bool) {
59293	return nil, false
59294}
59295
59296// AsJiraSource is the BasicCopySource implementation for MariaDBSource.
59297func (mds MariaDBSource) AsJiraSource() (*JiraSource, bool) {
59298	return nil, false
59299}
59300
59301// AsImpalaSource is the BasicCopySource implementation for MariaDBSource.
59302func (mds MariaDBSource) AsImpalaSource() (*ImpalaSource, bool) {
59303	return nil, false
59304}
59305
59306// AsHubspotSource is the BasicCopySource implementation for MariaDBSource.
59307func (mds MariaDBSource) AsHubspotSource() (*HubspotSource, bool) {
59308	return nil, false
59309}
59310
59311// AsHiveSource is the BasicCopySource implementation for MariaDBSource.
59312func (mds MariaDBSource) AsHiveSource() (*HiveSource, bool) {
59313	return nil, false
59314}
59315
59316// AsHBaseSource is the BasicCopySource implementation for MariaDBSource.
59317func (mds MariaDBSource) AsHBaseSource() (*HBaseSource, bool) {
59318	return nil, false
59319}
59320
59321// AsGreenplumSource is the BasicCopySource implementation for MariaDBSource.
59322func (mds MariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) {
59323	return nil, false
59324}
59325
59326// AsGoogleBigQuerySource is the BasicCopySource implementation for MariaDBSource.
59327func (mds MariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
59328	return nil, false
59329}
59330
59331// AsEloquaSource is the BasicCopySource implementation for MariaDBSource.
59332func (mds MariaDBSource) AsEloquaSource() (*EloquaSource, bool) {
59333	return nil, false
59334}
59335
59336// AsDrillSource is the BasicCopySource implementation for MariaDBSource.
59337func (mds MariaDBSource) AsDrillSource() (*DrillSource, bool) {
59338	return nil, false
59339}
59340
59341// AsCouchbaseSource is the BasicCopySource implementation for MariaDBSource.
59342func (mds MariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
59343	return nil, false
59344}
59345
59346// AsConcurSource is the BasicCopySource implementation for MariaDBSource.
59347func (mds MariaDBSource) AsConcurSource() (*ConcurSource, bool) {
59348	return nil, false
59349}
59350
59351// AsAzurePostgreSQLSource is the BasicCopySource implementation for MariaDBSource.
59352func (mds MariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
59353	return nil, false
59354}
59355
59356// AsAmazonMWSSource is the BasicCopySource implementation for MariaDBSource.
59357func (mds MariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
59358	return nil, false
59359}
59360
59361// AsHTTPSource is the BasicCopySource implementation for MariaDBSource.
59362func (mds MariaDBSource) AsHTTPSource() (*HTTPSource, bool) {
59363	return nil, false
59364}
59365
59366// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MariaDBSource.
59367func (mds MariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
59368	return nil, false
59369}
59370
59371// AsMongoDbSource is the BasicCopySource implementation for MariaDBSource.
59372func (mds MariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) {
59373	return nil, false
59374}
59375
59376// AsCassandraSource is the BasicCopySource implementation for MariaDBSource.
59377func (mds MariaDBSource) AsCassandraSource() (*CassandraSource, bool) {
59378	return nil, false
59379}
59380
59381// AsWebSource is the BasicCopySource implementation for MariaDBSource.
59382func (mds MariaDBSource) AsWebSource() (*WebSource, bool) {
59383	return nil, false
59384}
59385
59386// AsOracleSource is the BasicCopySource implementation for MariaDBSource.
59387func (mds MariaDBSource) AsOracleSource() (*OracleSource, bool) {
59388	return nil, false
59389}
59390
59391// AsAzureMySQLSource is the BasicCopySource implementation for MariaDBSource.
59392func (mds MariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
59393	return nil, false
59394}
59395
59396// AsHdfsSource is the BasicCopySource implementation for MariaDBSource.
59397func (mds MariaDBSource) AsHdfsSource() (*HdfsSource, bool) {
59398	return nil, false
59399}
59400
59401// AsFileSystemSource is the BasicCopySource implementation for MariaDBSource.
59402func (mds MariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) {
59403	return nil, false
59404}
59405
59406// AsSQLDWSource is the BasicCopySource implementation for MariaDBSource.
59407func (mds MariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) {
59408	return nil, false
59409}
59410
59411// AsSQLSource is the BasicCopySource implementation for MariaDBSource.
59412func (mds MariaDBSource) AsSQLSource() (*SQLSource, bool) {
59413	return nil, false
59414}
59415
59416// AsSapEccSource is the BasicCopySource implementation for MariaDBSource.
59417func (mds MariaDBSource) AsSapEccSource() (*SapEccSource, bool) {
59418	return nil, false
59419}
59420
59421// AsSapCloudForCustomerSource is the BasicCopySource implementation for MariaDBSource.
59422func (mds MariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
59423	return nil, false
59424}
59425
59426// AsSalesforceSource is the BasicCopySource implementation for MariaDBSource.
59427func (mds MariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) {
59428	return nil, false
59429}
59430
59431// AsRelationalSource is the BasicCopySource implementation for MariaDBSource.
59432func (mds MariaDBSource) AsRelationalSource() (*RelationalSource, bool) {
59433	return nil, false
59434}
59435
59436// AsDynamicsSource is the BasicCopySource implementation for MariaDBSource.
59437func (mds MariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) {
59438	return nil, false
59439}
59440
59441// AsDocumentDbCollectionSource is the BasicCopySource implementation for MariaDBSource.
59442func (mds MariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
59443	return nil, false
59444}
59445
59446// AsBlobSource is the BasicCopySource implementation for MariaDBSource.
59447func (mds MariaDBSource) AsBlobSource() (*BlobSource, bool) {
59448	return nil, false
59449}
59450
59451// AsAzureTableSource is the BasicCopySource implementation for MariaDBSource.
59452func (mds MariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) {
59453	return nil, false
59454}
59455
59456// AsCopySource is the BasicCopySource implementation for MariaDBSource.
59457func (mds MariaDBSource) AsCopySource() (*CopySource, bool) {
59458	return nil, false
59459}
59460
59461// AsBasicCopySource is the BasicCopySource implementation for MariaDBSource.
59462func (mds MariaDBSource) AsBasicCopySource() (BasicCopySource, bool) {
59463	return &mds, true
59464}
59465
59466// UnmarshalJSON is the custom unmarshaler for MariaDBSource struct.
59467func (mds *MariaDBSource) UnmarshalJSON(body []byte) error {
59468	var m map[string]*json.RawMessage
59469	err := json.Unmarshal(body, &m)
59470	if err != nil {
59471		return err
59472	}
59473	for k, v := range m {
59474		switch k {
59475		case "query":
59476			if v != nil {
59477				var query interface{}
59478				err = json.Unmarshal(*v, &query)
59479				if err != nil {
59480					return err
59481				}
59482				mds.Query = query
59483			}
59484		default:
59485			if v != nil {
59486				var additionalProperties interface{}
59487				err = json.Unmarshal(*v, &additionalProperties)
59488				if err != nil {
59489					return err
59490				}
59491				if mds.AdditionalProperties == nil {
59492					mds.AdditionalProperties = make(map[string]interface{})
59493				}
59494				mds.AdditionalProperties[k] = additionalProperties
59495			}
59496		case "sourceRetryCount":
59497			if v != nil {
59498				var sourceRetryCount interface{}
59499				err = json.Unmarshal(*v, &sourceRetryCount)
59500				if err != nil {
59501					return err
59502				}
59503				mds.SourceRetryCount = sourceRetryCount
59504			}
59505		case "sourceRetryWait":
59506			if v != nil {
59507				var sourceRetryWait interface{}
59508				err = json.Unmarshal(*v, &sourceRetryWait)
59509				if err != nil {
59510					return err
59511				}
59512				mds.SourceRetryWait = sourceRetryWait
59513			}
59514		case "type":
59515			if v != nil {
59516				var typeVar TypeBasicCopySource
59517				err = json.Unmarshal(*v, &typeVar)
59518				if err != nil {
59519					return err
59520				}
59521				mds.Type = typeVar
59522			}
59523		}
59524	}
59525
59526	return nil
59527}
59528
59529// MariaDBTableDataset mariaDB server dataset.
59530type MariaDBTableDataset struct {
59531	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59532	AdditionalProperties map[string]interface{} `json:""`
59533	// Description - Dataset description.
59534	Description *string `json:"description,omitempty"`
59535	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
59536	Structure interface{} `json:"structure,omitempty"`
59537	// LinkedServiceName - Linked service reference.
59538	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
59539	// Parameters - Parameters for dataset.
59540	Parameters map[string]*ParameterSpecification `json:"parameters"`
59541	// Annotations - List of tags that can be used for describing the Dataset.
59542	Annotations *[]interface{} `json:"annotations,omitempty"`
59543	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
59544	Type TypeBasicDataset `json:"type,omitempty"`
59545}
59546
59547// MarshalJSON is the custom marshaler for MariaDBTableDataset.
59548func (mdtd MariaDBTableDataset) MarshalJSON() ([]byte, error) {
59549	mdtd.Type = TypeMariaDBTable
59550	objectMap := make(map[string]interface{})
59551	if mdtd.Description != nil {
59552		objectMap["description"] = mdtd.Description
59553	}
59554	if mdtd.Structure != nil {
59555		objectMap["structure"] = mdtd.Structure
59556	}
59557	if mdtd.LinkedServiceName != nil {
59558		objectMap["linkedServiceName"] = mdtd.LinkedServiceName
59559	}
59560	if mdtd.Parameters != nil {
59561		objectMap["parameters"] = mdtd.Parameters
59562	}
59563	if mdtd.Annotations != nil {
59564		objectMap["annotations"] = mdtd.Annotations
59565	}
59566	if mdtd.Type != "" {
59567		objectMap["type"] = mdtd.Type
59568	}
59569	for k, v := range mdtd.AdditionalProperties {
59570		objectMap[k] = v
59571	}
59572	return json.Marshal(objectMap)
59573}
59574
59575// AsResponsysObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59576func (mdtd MariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
59577	return nil, false
59578}
59579
59580// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59581func (mdtd MariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
59582	return nil, false
59583}
59584
59585// AsVerticaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59586func (mdtd MariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
59587	return nil, false
59588}
59589
59590// AsNetezzaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59591func (mdtd MariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
59592	return nil, false
59593}
59594
59595// AsZohoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59596func (mdtd MariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
59597	return nil, false
59598}
59599
59600// AsXeroObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59601func (mdtd MariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
59602	return nil, false
59603}
59604
59605// AsSquareObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59606func (mdtd MariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
59607	return nil, false
59608}
59609
59610// AsSparkObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59611func (mdtd MariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
59612	return nil, false
59613}
59614
59615// AsShopifyObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59616func (mdtd MariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
59617	return nil, false
59618}
59619
59620// AsServiceNowObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59621func (mdtd MariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
59622	return nil, false
59623}
59624
59625// AsQuickBooksObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59626func (mdtd MariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
59627	return nil, false
59628}
59629
59630// AsPrestoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59631func (mdtd MariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
59632	return nil, false
59633}
59634
59635// AsPhoenixObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59636func (mdtd MariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
59637	return nil, false
59638}
59639
59640// AsPaypalObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59641func (mdtd MariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
59642	return nil, false
59643}
59644
59645// AsMarketoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59646func (mdtd MariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
59647	return nil, false
59648}
59649
59650// AsMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59651func (mdtd MariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
59652	return &mdtd, true
59653}
59654
59655// AsMagentoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59656func (mdtd MariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
59657	return nil, false
59658}
59659
59660// AsJiraObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59661func (mdtd MariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
59662	return nil, false
59663}
59664
59665// AsImpalaObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59666func (mdtd MariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
59667	return nil, false
59668}
59669
59670// AsHubspotObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59671func (mdtd MariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
59672	return nil, false
59673}
59674
59675// AsHiveObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59676func (mdtd MariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
59677	return nil, false
59678}
59679
59680// AsHBaseObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59681func (mdtd MariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
59682	return nil, false
59683}
59684
59685// AsGreenplumTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59686func (mdtd MariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
59687	return nil, false
59688}
59689
59690// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59691func (mdtd MariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
59692	return nil, false
59693}
59694
59695// AsEloquaObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59696func (mdtd MariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
59697	return nil, false
59698}
59699
59700// AsDrillTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59701func (mdtd MariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
59702	return nil, false
59703}
59704
59705// AsCouchbaseTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59706func (mdtd MariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
59707	return nil, false
59708}
59709
59710// AsConcurObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59711func (mdtd MariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
59712	return nil, false
59713}
59714
59715// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59716func (mdtd MariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
59717	return nil, false
59718}
59719
59720// AsAmazonMWSObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59721func (mdtd MariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
59722	return nil, false
59723}
59724
59725// AsHTTPDataset is the BasicDataset implementation for MariaDBTableDataset.
59726func (mdtd MariaDBTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
59727	return nil, false
59728}
59729
59730// AsAzureSearchIndexDataset is the BasicDataset implementation for MariaDBTableDataset.
59731func (mdtd MariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
59732	return nil, false
59733}
59734
59735// AsWebTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59736func (mdtd MariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
59737	return nil, false
59738}
59739
59740// AsSQLServerTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59741func (mdtd MariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
59742	return nil, false
59743}
59744
59745// AsSapEccResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
59746func (mdtd MariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
59747	return nil, false
59748}
59749
59750// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
59751func (mdtd MariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
59752	return nil, false
59753}
59754
59755// AsSalesforceObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59756func (mdtd MariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
59757	return nil, false
59758}
59759
59760// AsRelationalTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59761func (mdtd MariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
59762	return nil, false
59763}
59764
59765// AsAzureMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59766func (mdtd MariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
59767	return nil, false
59768}
59769
59770// AsOracleTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59771func (mdtd MariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
59772	return nil, false
59773}
59774
59775// AsODataResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
59776func (mdtd MariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
59777	return nil, false
59778}
59779
59780// AsMongoDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
59781func (mdtd MariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
59782	return nil, false
59783}
59784
59785// AsFileShareDataset is the BasicDataset implementation for MariaDBTableDataset.
59786func (mdtd MariaDBTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
59787	return nil, false
59788}
59789
59790// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MariaDBTableDataset.
59791func (mdtd MariaDBTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
59792	return nil, false
59793}
59794
59795// AsDynamicsEntityDataset is the BasicDataset implementation for MariaDBTableDataset.
59796func (mdtd MariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
59797	return nil, false
59798}
59799
59800// AsDocumentDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
59801func (mdtd MariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
59802	return nil, false
59803}
59804
59805// AsCustomDataset is the BasicDataset implementation for MariaDBTableDataset.
59806func (mdtd MariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) {
59807	return nil, false
59808}
59809
59810// AsCassandraTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59811func (mdtd MariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
59812	return nil, false
59813}
59814
59815// AsAzureSQLDWTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59816func (mdtd MariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
59817	return nil, false
59818}
59819
59820// AsAzureSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59821func (mdtd MariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
59822	return nil, false
59823}
59824
59825// AsAzureTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59826func (mdtd MariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
59827	return nil, false
59828}
59829
59830// AsAzureBlobDataset is the BasicDataset implementation for MariaDBTableDataset.
59831func (mdtd MariaDBTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
59832	return nil, false
59833}
59834
59835// AsAmazonS3Dataset is the BasicDataset implementation for MariaDBTableDataset.
59836func (mdtd MariaDBTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
59837	return nil, false
59838}
59839
59840// AsDataset is the BasicDataset implementation for MariaDBTableDataset.
59841func (mdtd MariaDBTableDataset) AsDataset() (*Dataset, bool) {
59842	return nil, false
59843}
59844
59845// AsBasicDataset is the BasicDataset implementation for MariaDBTableDataset.
59846func (mdtd MariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) {
59847	return &mdtd, true
59848}
59849
59850// UnmarshalJSON is the custom unmarshaler for MariaDBTableDataset struct.
59851func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error {
59852	var m map[string]*json.RawMessage
59853	err := json.Unmarshal(body, &m)
59854	if err != nil {
59855		return err
59856	}
59857	for k, v := range m {
59858		switch k {
59859		default:
59860			if v != nil {
59861				var additionalProperties interface{}
59862				err = json.Unmarshal(*v, &additionalProperties)
59863				if err != nil {
59864					return err
59865				}
59866				if mdtd.AdditionalProperties == nil {
59867					mdtd.AdditionalProperties = make(map[string]interface{})
59868				}
59869				mdtd.AdditionalProperties[k] = additionalProperties
59870			}
59871		case "description":
59872			if v != nil {
59873				var description string
59874				err = json.Unmarshal(*v, &description)
59875				if err != nil {
59876					return err
59877				}
59878				mdtd.Description = &description
59879			}
59880		case "structure":
59881			if v != nil {
59882				var structure interface{}
59883				err = json.Unmarshal(*v, &structure)
59884				if err != nil {
59885					return err
59886				}
59887				mdtd.Structure = structure
59888			}
59889		case "linkedServiceName":
59890			if v != nil {
59891				var linkedServiceName LinkedServiceReference
59892				err = json.Unmarshal(*v, &linkedServiceName)
59893				if err != nil {
59894					return err
59895				}
59896				mdtd.LinkedServiceName = &linkedServiceName
59897			}
59898		case "parameters":
59899			if v != nil {
59900				var parameters map[string]*ParameterSpecification
59901				err = json.Unmarshal(*v, &parameters)
59902				if err != nil {
59903					return err
59904				}
59905				mdtd.Parameters = parameters
59906			}
59907		case "annotations":
59908			if v != nil {
59909				var annotations []interface{}
59910				err = json.Unmarshal(*v, &annotations)
59911				if err != nil {
59912					return err
59913				}
59914				mdtd.Annotations = &annotations
59915			}
59916		case "type":
59917			if v != nil {
59918				var typeVar TypeBasicDataset
59919				err = json.Unmarshal(*v, &typeVar)
59920				if err != nil {
59921					return err
59922				}
59923				mdtd.Type = typeVar
59924			}
59925		}
59926	}
59927
59928	return nil
59929}
59930
59931// MarketoLinkedService marketo server linked service.
59932type MarketoLinkedService struct {
59933	// MarketoLinkedServiceTypeProperties - Marketo server linked service properties.
59934	*MarketoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
59935	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59936	AdditionalProperties map[string]interface{} `json:""`
59937	// ConnectVia - The integration runtime reference.
59938	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
59939	// Description - Linked service description.
59940	Description *string `json:"description,omitempty"`
59941	// Parameters - Parameters for linked service.
59942	Parameters map[string]*ParameterSpecification `json:"parameters"`
59943	// Annotations - List of tags that can be used for describing the Dataset.
59944	Annotations *[]interface{} `json:"annotations,omitempty"`
59945	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
59946	Type TypeBasicLinkedService `json:"type,omitempty"`
59947}
59948
59949// MarshalJSON is the custom marshaler for MarketoLinkedService.
59950func (mls MarketoLinkedService) MarshalJSON() ([]byte, error) {
59951	mls.Type = TypeMarketo
59952	objectMap := make(map[string]interface{})
59953	if mls.MarketoLinkedServiceTypeProperties != nil {
59954		objectMap["typeProperties"] = mls.MarketoLinkedServiceTypeProperties
59955	}
59956	if mls.ConnectVia != nil {
59957		objectMap["connectVia"] = mls.ConnectVia
59958	}
59959	if mls.Description != nil {
59960		objectMap["description"] = mls.Description
59961	}
59962	if mls.Parameters != nil {
59963		objectMap["parameters"] = mls.Parameters
59964	}
59965	if mls.Annotations != nil {
59966		objectMap["annotations"] = mls.Annotations
59967	}
59968	if mls.Type != "" {
59969		objectMap["type"] = mls.Type
59970	}
59971	for k, v := range mls.AdditionalProperties {
59972		objectMap[k] = v
59973	}
59974	return json.Marshal(objectMap)
59975}
59976
59977// AsResponsysLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59978func (mls MarketoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
59979	return nil, false
59980}
59981
59982// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59983func (mls MarketoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
59984	return nil, false
59985}
59986
59987// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59988func (mls MarketoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
59989	return nil, false
59990}
59991
59992// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59993func (mls MarketoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
59994	return nil, false
59995}
59996
59997// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59998func (mls MarketoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
59999	return nil, false
60000}
60001
60002// AsNetezzaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60003func (mls MarketoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
60004	return nil, false
60005}
60006
60007// AsVerticaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60008func (mls MarketoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
60009	return nil, false
60010}
60011
60012// AsZohoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60013func (mls MarketoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
60014	return nil, false
60015}
60016
60017// AsXeroLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60018func (mls MarketoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
60019	return nil, false
60020}
60021
60022// AsSquareLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60023func (mls MarketoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
60024	return nil, false
60025}
60026
60027// AsSparkLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60028func (mls MarketoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
60029	return nil, false
60030}
60031
60032// AsShopifyLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60033func (mls MarketoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
60034	return nil, false
60035}
60036
60037// AsServiceNowLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60038func (mls MarketoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
60039	return nil, false
60040}
60041
60042// AsQuickBooksLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60043func (mls MarketoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
60044	return nil, false
60045}
60046
60047// AsPrestoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60048func (mls MarketoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
60049	return nil, false
60050}
60051
60052// AsPhoenixLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60053func (mls MarketoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
60054	return nil, false
60055}
60056
60057// AsPaypalLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60058func (mls MarketoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
60059	return nil, false
60060}
60061
60062// AsMarketoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60063func (mls MarketoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
60064	return &mls, true
60065}
60066
60067// AsMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60068func (mls MarketoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
60069	return nil, false
60070}
60071
60072// AsMagentoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60073func (mls MarketoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
60074	return nil, false
60075}
60076
60077// AsJiraLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60078func (mls MarketoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
60079	return nil, false
60080}
60081
60082// AsImpalaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60083func (mls MarketoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
60084	return nil, false
60085}
60086
60087// AsHubspotLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60088func (mls MarketoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
60089	return nil, false
60090}
60091
60092// AsHiveLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60093func (mls MarketoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
60094	return nil, false
60095}
60096
60097// AsHBaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60098func (mls MarketoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
60099	return nil, false
60100}
60101
60102// AsGreenplumLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60103func (mls MarketoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
60104	return nil, false
60105}
60106
60107// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60108func (mls MarketoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
60109	return nil, false
60110}
60111
60112// AsEloquaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60113func (mls MarketoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
60114	return nil, false
60115}
60116
60117// AsDrillLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60118func (mls MarketoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
60119	return nil, false
60120}
60121
60122// AsCouchbaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60123func (mls MarketoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
60124	return nil, false
60125}
60126
60127// AsConcurLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60128func (mls MarketoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
60129	return nil, false
60130}
60131
60132// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60133func (mls MarketoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
60134	return nil, false
60135}
60136
60137// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60138func (mls MarketoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
60139	return nil, false
60140}
60141
60142// AsSapHanaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60143func (mls MarketoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
60144	return nil, false
60145}
60146
60147// AsSapBWLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60148func (mls MarketoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
60149	return nil, false
60150}
60151
60152// AsSftpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60153func (mls MarketoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
60154	return nil, false
60155}
60156
60157// AsFtpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60158func (mls MarketoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
60159	return nil, false
60160}
60161
60162// AsHTTPLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60163func (mls MarketoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
60164	return nil, false
60165}
60166
60167// AsAzureSearchLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60168func (mls MarketoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
60169	return nil, false
60170}
60171
60172// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60173func (mls MarketoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
60174	return nil, false
60175}
60176
60177// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60178func (mls MarketoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
60179	return nil, false
60180}
60181
60182// AsAmazonS3LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60183func (mls MarketoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
60184	return nil, false
60185}
60186
60187// AsSapEccLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60188func (mls MarketoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
60189	return nil, false
60190}
60191
60192// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60193func (mls MarketoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
60194	return nil, false
60195}
60196
60197// AsSalesforceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60198func (mls MarketoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
60199	return nil, false
60200}
60201
60202// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60203func (mls MarketoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
60204	return nil, false
60205}
60206
60207// AsMongoDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60208func (mls MarketoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
60209	return nil, false
60210}
60211
60212// AsCassandraLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60213func (mls MarketoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
60214	return nil, false
60215}
60216
60217// AsWebLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60218func (mls MarketoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
60219	return nil, false
60220}
60221
60222// AsODataLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60223func (mls MarketoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
60224	return nil, false
60225}
60226
60227// AsHdfsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60228func (mls MarketoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
60229	return nil, false
60230}
60231
60232// AsOdbcLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60233func (mls MarketoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
60234	return nil, false
60235}
60236
60237// AsAzureMLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60238func (mls MarketoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
60239	return nil, false
60240}
60241
60242// AsTeradataLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60243func (mls MarketoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
60244	return nil, false
60245}
60246
60247// AsDb2LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60248func (mls MarketoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
60249	return nil, false
60250}
60251
60252// AsSybaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60253func (mls MarketoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
60254	return nil, false
60255}
60256
60257// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60258func (mls MarketoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
60259	return nil, false
60260}
60261
60262// AsMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60263func (mls MarketoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
60264	return nil, false
60265}
60266
60267// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60268func (mls MarketoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
60269	return nil, false
60270}
60271
60272// AsOracleLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60273func (mls MarketoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
60274	return nil, false
60275}
60276
60277// AsFileServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60278func (mls MarketoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
60279	return nil, false
60280}
60281
60282// AsHDInsightLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60283func (mls MarketoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
60284	return nil, false
60285}
60286
60287// AsDynamicsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60288func (mls MarketoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
60289	return nil, false
60290}
60291
60292// AsCosmosDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60293func (mls MarketoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
60294	return nil, false
60295}
60296
60297// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60298func (mls MarketoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
60299	return nil, false
60300}
60301
60302// AsAzureBatchLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60303func (mls MarketoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
60304	return nil, false
60305}
60306
60307// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60308func (mls MarketoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
60309	return nil, false
60310}
60311
60312// AsSQLServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60313func (mls MarketoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
60314	return nil, false
60315}
60316
60317// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60318func (mls MarketoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
60319	return nil, false
60320}
60321
60322// AsAzureStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60323func (mls MarketoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
60324	return nil, false
60325}
60326
60327// AsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60328func (mls MarketoLinkedService) AsLinkedService() (*LinkedService, bool) {
60329	return nil, false
60330}
60331
60332// AsBasicLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60333func (mls MarketoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
60334	return &mls, true
60335}
60336
60337// UnmarshalJSON is the custom unmarshaler for MarketoLinkedService struct.
60338func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error {
60339	var m map[string]*json.RawMessage
60340	err := json.Unmarshal(body, &m)
60341	if err != nil {
60342		return err
60343	}
60344	for k, v := range m {
60345		switch k {
60346		case "typeProperties":
60347			if v != nil {
60348				var marketoLinkedServiceTypeProperties MarketoLinkedServiceTypeProperties
60349				err = json.Unmarshal(*v, &marketoLinkedServiceTypeProperties)
60350				if err != nil {
60351					return err
60352				}
60353				mls.MarketoLinkedServiceTypeProperties = &marketoLinkedServiceTypeProperties
60354			}
60355		default:
60356			if v != nil {
60357				var additionalProperties interface{}
60358				err = json.Unmarshal(*v, &additionalProperties)
60359				if err != nil {
60360					return err
60361				}
60362				if mls.AdditionalProperties == nil {
60363					mls.AdditionalProperties = make(map[string]interface{})
60364				}
60365				mls.AdditionalProperties[k] = additionalProperties
60366			}
60367		case "connectVia":
60368			if v != nil {
60369				var connectVia IntegrationRuntimeReference
60370				err = json.Unmarshal(*v, &connectVia)
60371				if err != nil {
60372					return err
60373				}
60374				mls.ConnectVia = &connectVia
60375			}
60376		case "description":
60377			if v != nil {
60378				var description string
60379				err = json.Unmarshal(*v, &description)
60380				if err != nil {
60381					return err
60382				}
60383				mls.Description = &description
60384			}
60385		case "parameters":
60386			if v != nil {
60387				var parameters map[string]*ParameterSpecification
60388				err = json.Unmarshal(*v, &parameters)
60389				if err != nil {
60390					return err
60391				}
60392				mls.Parameters = parameters
60393			}
60394		case "annotations":
60395			if v != nil {
60396				var annotations []interface{}
60397				err = json.Unmarshal(*v, &annotations)
60398				if err != nil {
60399					return err
60400				}
60401				mls.Annotations = &annotations
60402			}
60403		case "type":
60404			if v != nil {
60405				var typeVar TypeBasicLinkedService
60406				err = json.Unmarshal(*v, &typeVar)
60407				if err != nil {
60408					return err
60409				}
60410				mls.Type = typeVar
60411			}
60412		}
60413	}
60414
60415	return nil
60416}
60417
60418// MarketoLinkedServiceTypeProperties marketo server linked service properties.
60419type MarketoLinkedServiceTypeProperties struct {
60420	// Endpoint - The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com)
60421	Endpoint interface{} `json:"endpoint,omitempty"`
60422	// ClientID - The client Id of your Marketo service.
60423	ClientID interface{} `json:"clientId,omitempty"`
60424	// ClientSecret - The client secret of your Marketo service.
60425	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
60426	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
60427	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
60428	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
60429	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
60430	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
60431	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
60432	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
60433	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
60434}
60435
60436// UnmarshalJSON is the custom unmarshaler for MarketoLinkedServiceTypeProperties struct.
60437func (mlstp *MarketoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
60438	var m map[string]*json.RawMessage
60439	err := json.Unmarshal(body, &m)
60440	if err != nil {
60441		return err
60442	}
60443	for k, v := range m {
60444		switch k {
60445		case "endpoint":
60446			if v != nil {
60447				var endpoint interface{}
60448				err = json.Unmarshal(*v, &endpoint)
60449				if err != nil {
60450					return err
60451				}
60452				mlstp.Endpoint = endpoint
60453			}
60454		case "clientId":
60455			if v != nil {
60456				var clientID interface{}
60457				err = json.Unmarshal(*v, &clientID)
60458				if err != nil {
60459					return err
60460				}
60461				mlstp.ClientID = clientID
60462			}
60463		case "clientSecret":
60464			if v != nil {
60465				clientSecret, err := unmarshalBasicSecretBase(*v)
60466				if err != nil {
60467					return err
60468				}
60469				mlstp.ClientSecret = clientSecret
60470			}
60471		case "useEncryptedEndpoints":
60472			if v != nil {
60473				var useEncryptedEndpoints interface{}
60474				err = json.Unmarshal(*v, &useEncryptedEndpoints)
60475				if err != nil {
60476					return err
60477				}
60478				mlstp.UseEncryptedEndpoints = useEncryptedEndpoints
60479			}
60480		case "useHostVerification":
60481			if v != nil {
60482				var useHostVerification interface{}
60483				err = json.Unmarshal(*v, &useHostVerification)
60484				if err != nil {
60485					return err
60486				}
60487				mlstp.UseHostVerification = useHostVerification
60488			}
60489		case "usePeerVerification":
60490			if v != nil {
60491				var usePeerVerification interface{}
60492				err = json.Unmarshal(*v, &usePeerVerification)
60493				if err != nil {
60494					return err
60495				}
60496				mlstp.UsePeerVerification = usePeerVerification
60497			}
60498		case "encryptedCredential":
60499			if v != nil {
60500				var encryptedCredential interface{}
60501				err = json.Unmarshal(*v, &encryptedCredential)
60502				if err != nil {
60503					return err
60504				}
60505				mlstp.EncryptedCredential = encryptedCredential
60506			}
60507		}
60508	}
60509
60510	return nil
60511}
60512
60513// MarketoObjectDataset marketo server dataset.
60514type MarketoObjectDataset struct {
60515	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
60516	AdditionalProperties map[string]interface{} `json:""`
60517	// Description - Dataset description.
60518	Description *string `json:"description,omitempty"`
60519	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
60520	Structure interface{} `json:"structure,omitempty"`
60521	// LinkedServiceName - Linked service reference.
60522	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
60523	// Parameters - Parameters for dataset.
60524	Parameters map[string]*ParameterSpecification `json:"parameters"`
60525	// Annotations - List of tags that can be used for describing the Dataset.
60526	Annotations *[]interface{} `json:"annotations,omitempty"`
60527	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
60528	Type TypeBasicDataset `json:"type,omitempty"`
60529}
60530
60531// MarshalJSON is the custom marshaler for MarketoObjectDataset.
60532func (mod MarketoObjectDataset) MarshalJSON() ([]byte, error) {
60533	mod.Type = TypeMarketoObject
60534	objectMap := make(map[string]interface{})
60535	if mod.Description != nil {
60536		objectMap["description"] = mod.Description
60537	}
60538	if mod.Structure != nil {
60539		objectMap["structure"] = mod.Structure
60540	}
60541	if mod.LinkedServiceName != nil {
60542		objectMap["linkedServiceName"] = mod.LinkedServiceName
60543	}
60544	if mod.Parameters != nil {
60545		objectMap["parameters"] = mod.Parameters
60546	}
60547	if mod.Annotations != nil {
60548		objectMap["annotations"] = mod.Annotations
60549	}
60550	if mod.Type != "" {
60551		objectMap["type"] = mod.Type
60552	}
60553	for k, v := range mod.AdditionalProperties {
60554		objectMap[k] = v
60555	}
60556	return json.Marshal(objectMap)
60557}
60558
60559// AsResponsysObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60560func (mod MarketoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
60561	return nil, false
60562}
60563
60564// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60565func (mod MarketoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
60566	return nil, false
60567}
60568
60569// AsVerticaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60570func (mod MarketoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
60571	return nil, false
60572}
60573
60574// AsNetezzaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60575func (mod MarketoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
60576	return nil, false
60577}
60578
60579// AsZohoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60580func (mod MarketoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
60581	return nil, false
60582}
60583
60584// AsXeroObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60585func (mod MarketoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
60586	return nil, false
60587}
60588
60589// AsSquareObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60590func (mod MarketoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
60591	return nil, false
60592}
60593
60594// AsSparkObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60595func (mod MarketoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
60596	return nil, false
60597}
60598
60599// AsShopifyObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60600func (mod MarketoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
60601	return nil, false
60602}
60603
60604// AsServiceNowObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60605func (mod MarketoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
60606	return nil, false
60607}
60608
60609// AsQuickBooksObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60610func (mod MarketoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
60611	return nil, false
60612}
60613
60614// AsPrestoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60615func (mod MarketoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
60616	return nil, false
60617}
60618
60619// AsPhoenixObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60620func (mod MarketoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
60621	return nil, false
60622}
60623
60624// AsPaypalObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60625func (mod MarketoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
60626	return nil, false
60627}
60628
60629// AsMarketoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60630func (mod MarketoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
60631	return &mod, true
60632}
60633
60634// AsMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60635func (mod MarketoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
60636	return nil, false
60637}
60638
60639// AsMagentoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60640func (mod MarketoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
60641	return nil, false
60642}
60643
60644// AsJiraObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60645func (mod MarketoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
60646	return nil, false
60647}
60648
60649// AsImpalaObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60650func (mod MarketoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
60651	return nil, false
60652}
60653
60654// AsHubspotObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60655func (mod MarketoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
60656	return nil, false
60657}
60658
60659// AsHiveObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60660func (mod MarketoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
60661	return nil, false
60662}
60663
60664// AsHBaseObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60665func (mod MarketoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
60666	return nil, false
60667}
60668
60669// AsGreenplumTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60670func (mod MarketoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
60671	return nil, false
60672}
60673
60674// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60675func (mod MarketoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
60676	return nil, false
60677}
60678
60679// AsEloquaObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60680func (mod MarketoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
60681	return nil, false
60682}
60683
60684// AsDrillTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60685func (mod MarketoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
60686	return nil, false
60687}
60688
60689// AsCouchbaseTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60690func (mod MarketoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
60691	return nil, false
60692}
60693
60694// AsConcurObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60695func (mod MarketoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
60696	return nil, false
60697}
60698
60699// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60700func (mod MarketoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
60701	return nil, false
60702}
60703
60704// AsAmazonMWSObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60705func (mod MarketoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
60706	return nil, false
60707}
60708
60709// AsHTTPDataset is the BasicDataset implementation for MarketoObjectDataset.
60710func (mod MarketoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
60711	return nil, false
60712}
60713
60714// AsAzureSearchIndexDataset is the BasicDataset implementation for MarketoObjectDataset.
60715func (mod MarketoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
60716	return nil, false
60717}
60718
60719// AsWebTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60720func (mod MarketoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
60721	return nil, false
60722}
60723
60724// AsSQLServerTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60725func (mod MarketoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
60726	return nil, false
60727}
60728
60729// AsSapEccResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
60730func (mod MarketoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
60731	return nil, false
60732}
60733
60734// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
60735func (mod MarketoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
60736	return nil, false
60737}
60738
60739// AsSalesforceObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60740func (mod MarketoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
60741	return nil, false
60742}
60743
60744// AsRelationalTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60745func (mod MarketoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
60746	return nil, false
60747}
60748
60749// AsAzureMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60750func (mod MarketoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
60751	return nil, false
60752}
60753
60754// AsOracleTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60755func (mod MarketoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
60756	return nil, false
60757}
60758
60759// AsODataResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
60760func (mod MarketoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
60761	return nil, false
60762}
60763
60764// AsMongoDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
60765func (mod MarketoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
60766	return nil, false
60767}
60768
60769// AsFileShareDataset is the BasicDataset implementation for MarketoObjectDataset.
60770func (mod MarketoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
60771	return nil, false
60772}
60773
60774// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MarketoObjectDataset.
60775func (mod MarketoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
60776	return nil, false
60777}
60778
60779// AsDynamicsEntityDataset is the BasicDataset implementation for MarketoObjectDataset.
60780func (mod MarketoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
60781	return nil, false
60782}
60783
60784// AsDocumentDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
60785func (mod MarketoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
60786	return nil, false
60787}
60788
60789// AsCustomDataset is the BasicDataset implementation for MarketoObjectDataset.
60790func (mod MarketoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
60791	return nil, false
60792}
60793
60794// AsCassandraTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60795func (mod MarketoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
60796	return nil, false
60797}
60798
60799// AsAzureSQLDWTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60800func (mod MarketoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
60801	return nil, false
60802}
60803
60804// AsAzureSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60805func (mod MarketoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
60806	return nil, false
60807}
60808
60809// AsAzureTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60810func (mod MarketoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
60811	return nil, false
60812}
60813
60814// AsAzureBlobDataset is the BasicDataset implementation for MarketoObjectDataset.
60815func (mod MarketoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
60816	return nil, false
60817}
60818
60819// AsAmazonS3Dataset is the BasicDataset implementation for MarketoObjectDataset.
60820func (mod MarketoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
60821	return nil, false
60822}
60823
60824// AsDataset is the BasicDataset implementation for MarketoObjectDataset.
60825func (mod MarketoObjectDataset) AsDataset() (*Dataset, bool) {
60826	return nil, false
60827}
60828
60829// AsBasicDataset is the BasicDataset implementation for MarketoObjectDataset.
60830func (mod MarketoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
60831	return &mod, true
60832}
60833
60834// UnmarshalJSON is the custom unmarshaler for MarketoObjectDataset struct.
60835func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error {
60836	var m map[string]*json.RawMessage
60837	err := json.Unmarshal(body, &m)
60838	if err != nil {
60839		return err
60840	}
60841	for k, v := range m {
60842		switch k {
60843		default:
60844			if v != nil {
60845				var additionalProperties interface{}
60846				err = json.Unmarshal(*v, &additionalProperties)
60847				if err != nil {
60848					return err
60849				}
60850				if mod.AdditionalProperties == nil {
60851					mod.AdditionalProperties = make(map[string]interface{})
60852				}
60853				mod.AdditionalProperties[k] = additionalProperties
60854			}
60855		case "description":
60856			if v != nil {
60857				var description string
60858				err = json.Unmarshal(*v, &description)
60859				if err != nil {
60860					return err
60861				}
60862				mod.Description = &description
60863			}
60864		case "structure":
60865			if v != nil {
60866				var structure interface{}
60867				err = json.Unmarshal(*v, &structure)
60868				if err != nil {
60869					return err
60870				}
60871				mod.Structure = structure
60872			}
60873		case "linkedServiceName":
60874			if v != nil {
60875				var linkedServiceName LinkedServiceReference
60876				err = json.Unmarshal(*v, &linkedServiceName)
60877				if err != nil {
60878					return err
60879				}
60880				mod.LinkedServiceName = &linkedServiceName
60881			}
60882		case "parameters":
60883			if v != nil {
60884				var parameters map[string]*ParameterSpecification
60885				err = json.Unmarshal(*v, &parameters)
60886				if err != nil {
60887					return err
60888				}
60889				mod.Parameters = parameters
60890			}
60891		case "annotations":
60892			if v != nil {
60893				var annotations []interface{}
60894				err = json.Unmarshal(*v, &annotations)
60895				if err != nil {
60896					return err
60897				}
60898				mod.Annotations = &annotations
60899			}
60900		case "type":
60901			if v != nil {
60902				var typeVar TypeBasicDataset
60903				err = json.Unmarshal(*v, &typeVar)
60904				if err != nil {
60905					return err
60906				}
60907				mod.Type = typeVar
60908			}
60909		}
60910	}
60911
60912	return nil
60913}
60914
60915// MarketoSource a copy activity Marketo server source.
60916type MarketoSource struct {
60917	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
60918	Query interface{} `json:"query,omitempty"`
60919	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
60920	AdditionalProperties map[string]interface{} `json:""`
60921	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
60922	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
60923	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
60924	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
60925	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
60926	Type TypeBasicCopySource `json:"type,omitempty"`
60927}
60928
60929// MarshalJSON is the custom marshaler for MarketoSource.
60930func (ms MarketoSource) MarshalJSON() ([]byte, error) {
60931	ms.Type = TypeMarketoSource
60932	objectMap := make(map[string]interface{})
60933	if ms.Query != nil {
60934		objectMap["query"] = ms.Query
60935	}
60936	if ms.SourceRetryCount != nil {
60937		objectMap["sourceRetryCount"] = ms.SourceRetryCount
60938	}
60939	if ms.SourceRetryWait != nil {
60940		objectMap["sourceRetryWait"] = ms.SourceRetryWait
60941	}
60942	if ms.Type != "" {
60943		objectMap["type"] = ms.Type
60944	}
60945	for k, v := range ms.AdditionalProperties {
60946		objectMap[k] = v
60947	}
60948	return json.Marshal(objectMap)
60949}
60950
60951// AsAmazonRedshiftSource is the BasicCopySource implementation for MarketoSource.
60952func (ms MarketoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
60953	return nil, false
60954}
60955
60956// AsResponsysSource is the BasicCopySource implementation for MarketoSource.
60957func (ms MarketoSource) AsResponsysSource() (*ResponsysSource, bool) {
60958	return nil, false
60959}
60960
60961// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MarketoSource.
60962func (ms MarketoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
60963	return nil, false
60964}
60965
60966// AsVerticaSource is the BasicCopySource implementation for MarketoSource.
60967func (ms MarketoSource) AsVerticaSource() (*VerticaSource, bool) {
60968	return nil, false
60969}
60970
60971// AsNetezzaSource is the BasicCopySource implementation for MarketoSource.
60972func (ms MarketoSource) AsNetezzaSource() (*NetezzaSource, bool) {
60973	return nil, false
60974}
60975
60976// AsZohoSource is the BasicCopySource implementation for MarketoSource.
60977func (ms MarketoSource) AsZohoSource() (*ZohoSource, bool) {
60978	return nil, false
60979}
60980
60981// AsXeroSource is the BasicCopySource implementation for MarketoSource.
60982func (ms MarketoSource) AsXeroSource() (*XeroSource, bool) {
60983	return nil, false
60984}
60985
60986// AsSquareSource is the BasicCopySource implementation for MarketoSource.
60987func (ms MarketoSource) AsSquareSource() (*SquareSource, bool) {
60988	return nil, false
60989}
60990
60991// AsSparkSource is the BasicCopySource implementation for MarketoSource.
60992func (ms MarketoSource) AsSparkSource() (*SparkSource, bool) {
60993	return nil, false
60994}
60995
60996// AsShopifySource is the BasicCopySource implementation for MarketoSource.
60997func (ms MarketoSource) AsShopifySource() (*ShopifySource, bool) {
60998	return nil, false
60999}
61000
61001// AsServiceNowSource is the BasicCopySource implementation for MarketoSource.
61002func (ms MarketoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
61003	return nil, false
61004}
61005
61006// AsQuickBooksSource is the BasicCopySource implementation for MarketoSource.
61007func (ms MarketoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
61008	return nil, false
61009}
61010
61011// AsPrestoSource is the BasicCopySource implementation for MarketoSource.
61012func (ms MarketoSource) AsPrestoSource() (*PrestoSource, bool) {
61013	return nil, false
61014}
61015
61016// AsPhoenixSource is the BasicCopySource implementation for MarketoSource.
61017func (ms MarketoSource) AsPhoenixSource() (*PhoenixSource, bool) {
61018	return nil, false
61019}
61020
61021// AsPaypalSource is the BasicCopySource implementation for MarketoSource.
61022func (ms MarketoSource) AsPaypalSource() (*PaypalSource, bool) {
61023	return nil, false
61024}
61025
61026// AsMarketoSource is the BasicCopySource implementation for MarketoSource.
61027func (ms MarketoSource) AsMarketoSource() (*MarketoSource, bool) {
61028	return &ms, true
61029}
61030
61031// AsMariaDBSource is the BasicCopySource implementation for MarketoSource.
61032func (ms MarketoSource) AsMariaDBSource() (*MariaDBSource, bool) {
61033	return nil, false
61034}
61035
61036// AsMagentoSource is the BasicCopySource implementation for MarketoSource.
61037func (ms MarketoSource) AsMagentoSource() (*MagentoSource, bool) {
61038	return nil, false
61039}
61040
61041// AsJiraSource is the BasicCopySource implementation for MarketoSource.
61042func (ms MarketoSource) AsJiraSource() (*JiraSource, bool) {
61043	return nil, false
61044}
61045
61046// AsImpalaSource is the BasicCopySource implementation for MarketoSource.
61047func (ms MarketoSource) AsImpalaSource() (*ImpalaSource, bool) {
61048	return nil, false
61049}
61050
61051// AsHubspotSource is the BasicCopySource implementation for MarketoSource.
61052func (ms MarketoSource) AsHubspotSource() (*HubspotSource, bool) {
61053	return nil, false
61054}
61055
61056// AsHiveSource is the BasicCopySource implementation for MarketoSource.
61057func (ms MarketoSource) AsHiveSource() (*HiveSource, bool) {
61058	return nil, false
61059}
61060
61061// AsHBaseSource is the BasicCopySource implementation for MarketoSource.
61062func (ms MarketoSource) AsHBaseSource() (*HBaseSource, bool) {
61063	return nil, false
61064}
61065
61066// AsGreenplumSource is the BasicCopySource implementation for MarketoSource.
61067func (ms MarketoSource) AsGreenplumSource() (*GreenplumSource, bool) {
61068	return nil, false
61069}
61070
61071// AsGoogleBigQuerySource is the BasicCopySource implementation for MarketoSource.
61072func (ms MarketoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
61073	return nil, false
61074}
61075
61076// AsEloquaSource is the BasicCopySource implementation for MarketoSource.
61077func (ms MarketoSource) AsEloquaSource() (*EloquaSource, bool) {
61078	return nil, false
61079}
61080
61081// AsDrillSource is the BasicCopySource implementation for MarketoSource.
61082func (ms MarketoSource) AsDrillSource() (*DrillSource, bool) {
61083	return nil, false
61084}
61085
61086// AsCouchbaseSource is the BasicCopySource implementation for MarketoSource.
61087func (ms MarketoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
61088	return nil, false
61089}
61090
61091// AsConcurSource is the BasicCopySource implementation for MarketoSource.
61092func (ms MarketoSource) AsConcurSource() (*ConcurSource, bool) {
61093	return nil, false
61094}
61095
61096// AsAzurePostgreSQLSource is the BasicCopySource implementation for MarketoSource.
61097func (ms MarketoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
61098	return nil, false
61099}
61100
61101// AsAmazonMWSSource is the BasicCopySource implementation for MarketoSource.
61102func (ms MarketoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
61103	return nil, false
61104}
61105
61106// AsHTTPSource is the BasicCopySource implementation for MarketoSource.
61107func (ms MarketoSource) AsHTTPSource() (*HTTPSource, bool) {
61108	return nil, false
61109}
61110
61111// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MarketoSource.
61112func (ms MarketoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
61113	return nil, false
61114}
61115
61116// AsMongoDbSource is the BasicCopySource implementation for MarketoSource.
61117func (ms MarketoSource) AsMongoDbSource() (*MongoDbSource, bool) {
61118	return nil, false
61119}
61120
61121// AsCassandraSource is the BasicCopySource implementation for MarketoSource.
61122func (ms MarketoSource) AsCassandraSource() (*CassandraSource, bool) {
61123	return nil, false
61124}
61125
61126// AsWebSource is the BasicCopySource implementation for MarketoSource.
61127func (ms MarketoSource) AsWebSource() (*WebSource, bool) {
61128	return nil, false
61129}
61130
61131// AsOracleSource is the BasicCopySource implementation for MarketoSource.
61132func (ms MarketoSource) AsOracleSource() (*OracleSource, bool) {
61133	return nil, false
61134}
61135
61136// AsAzureMySQLSource is the BasicCopySource implementation for MarketoSource.
61137func (ms MarketoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
61138	return nil, false
61139}
61140
61141// AsHdfsSource is the BasicCopySource implementation for MarketoSource.
61142func (ms MarketoSource) AsHdfsSource() (*HdfsSource, bool) {
61143	return nil, false
61144}
61145
61146// AsFileSystemSource is the BasicCopySource implementation for MarketoSource.
61147func (ms MarketoSource) AsFileSystemSource() (*FileSystemSource, bool) {
61148	return nil, false
61149}
61150
61151// AsSQLDWSource is the BasicCopySource implementation for MarketoSource.
61152func (ms MarketoSource) AsSQLDWSource() (*SQLDWSource, bool) {
61153	return nil, false
61154}
61155
61156// AsSQLSource is the BasicCopySource implementation for MarketoSource.
61157func (ms MarketoSource) AsSQLSource() (*SQLSource, bool) {
61158	return nil, false
61159}
61160
61161// AsSapEccSource is the BasicCopySource implementation for MarketoSource.
61162func (ms MarketoSource) AsSapEccSource() (*SapEccSource, bool) {
61163	return nil, false
61164}
61165
61166// AsSapCloudForCustomerSource is the BasicCopySource implementation for MarketoSource.
61167func (ms MarketoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
61168	return nil, false
61169}
61170
61171// AsSalesforceSource is the BasicCopySource implementation for MarketoSource.
61172func (ms MarketoSource) AsSalesforceSource() (*SalesforceSource, bool) {
61173	return nil, false
61174}
61175
61176// AsRelationalSource is the BasicCopySource implementation for MarketoSource.
61177func (ms MarketoSource) AsRelationalSource() (*RelationalSource, bool) {
61178	return nil, false
61179}
61180
61181// AsDynamicsSource is the BasicCopySource implementation for MarketoSource.
61182func (ms MarketoSource) AsDynamicsSource() (*DynamicsSource, bool) {
61183	return nil, false
61184}
61185
61186// AsDocumentDbCollectionSource is the BasicCopySource implementation for MarketoSource.
61187func (ms MarketoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
61188	return nil, false
61189}
61190
61191// AsBlobSource is the BasicCopySource implementation for MarketoSource.
61192func (ms MarketoSource) AsBlobSource() (*BlobSource, bool) {
61193	return nil, false
61194}
61195
61196// AsAzureTableSource is the BasicCopySource implementation for MarketoSource.
61197func (ms MarketoSource) AsAzureTableSource() (*AzureTableSource, bool) {
61198	return nil, false
61199}
61200
61201// AsCopySource is the BasicCopySource implementation for MarketoSource.
61202func (ms MarketoSource) AsCopySource() (*CopySource, bool) {
61203	return nil, false
61204}
61205
61206// AsBasicCopySource is the BasicCopySource implementation for MarketoSource.
61207func (ms MarketoSource) AsBasicCopySource() (BasicCopySource, bool) {
61208	return &ms, true
61209}
61210
61211// UnmarshalJSON is the custom unmarshaler for MarketoSource struct.
61212func (ms *MarketoSource) UnmarshalJSON(body []byte) error {
61213	var m map[string]*json.RawMessage
61214	err := json.Unmarshal(body, &m)
61215	if err != nil {
61216		return err
61217	}
61218	for k, v := range m {
61219		switch k {
61220		case "query":
61221			if v != nil {
61222				var query interface{}
61223				err = json.Unmarshal(*v, &query)
61224				if err != nil {
61225					return err
61226				}
61227				ms.Query = query
61228			}
61229		default:
61230			if v != nil {
61231				var additionalProperties interface{}
61232				err = json.Unmarshal(*v, &additionalProperties)
61233				if err != nil {
61234					return err
61235				}
61236				if ms.AdditionalProperties == nil {
61237					ms.AdditionalProperties = make(map[string]interface{})
61238				}
61239				ms.AdditionalProperties[k] = additionalProperties
61240			}
61241		case "sourceRetryCount":
61242			if v != nil {
61243				var sourceRetryCount interface{}
61244				err = json.Unmarshal(*v, &sourceRetryCount)
61245				if err != nil {
61246					return err
61247				}
61248				ms.SourceRetryCount = sourceRetryCount
61249			}
61250		case "sourceRetryWait":
61251			if v != nil {
61252				var sourceRetryWait interface{}
61253				err = json.Unmarshal(*v, &sourceRetryWait)
61254				if err != nil {
61255					return err
61256				}
61257				ms.SourceRetryWait = sourceRetryWait
61258			}
61259		case "type":
61260			if v != nil {
61261				var typeVar TypeBasicCopySource
61262				err = json.Unmarshal(*v, &typeVar)
61263				if err != nil {
61264					return err
61265				}
61266				ms.Type = typeVar
61267			}
61268		}
61269	}
61270
61271	return nil
61272}
61273
61274// MongoDbCollectionDataset the MongoDB database dataset.
61275type MongoDbCollectionDataset struct {
61276	// MongoDbCollectionDatasetTypeProperties - MongoDB database dataset properties.
61277	*MongoDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
61278	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
61279	AdditionalProperties map[string]interface{} `json:""`
61280	// Description - Dataset description.
61281	Description *string `json:"description,omitempty"`
61282	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
61283	Structure interface{} `json:"structure,omitempty"`
61284	// LinkedServiceName - Linked service reference.
61285	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
61286	// Parameters - Parameters for dataset.
61287	Parameters map[string]*ParameterSpecification `json:"parameters"`
61288	// Annotations - List of tags that can be used for describing the Dataset.
61289	Annotations *[]interface{} `json:"annotations,omitempty"`
61290	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
61291	Type TypeBasicDataset `json:"type,omitempty"`
61292}
61293
61294// MarshalJSON is the custom marshaler for MongoDbCollectionDataset.
61295func (mdcd MongoDbCollectionDataset) MarshalJSON() ([]byte, error) {
61296	mdcd.Type = TypeMongoDbCollection
61297	objectMap := make(map[string]interface{})
61298	if mdcd.MongoDbCollectionDatasetTypeProperties != nil {
61299		objectMap["typeProperties"] = mdcd.MongoDbCollectionDatasetTypeProperties
61300	}
61301	if mdcd.Description != nil {
61302		objectMap["description"] = mdcd.Description
61303	}
61304	if mdcd.Structure != nil {
61305		objectMap["structure"] = mdcd.Structure
61306	}
61307	if mdcd.LinkedServiceName != nil {
61308		objectMap["linkedServiceName"] = mdcd.LinkedServiceName
61309	}
61310	if mdcd.Parameters != nil {
61311		objectMap["parameters"] = mdcd.Parameters
61312	}
61313	if mdcd.Annotations != nil {
61314		objectMap["annotations"] = mdcd.Annotations
61315	}
61316	if mdcd.Type != "" {
61317		objectMap["type"] = mdcd.Type
61318	}
61319	for k, v := range mdcd.AdditionalProperties {
61320		objectMap[k] = v
61321	}
61322	return json.Marshal(objectMap)
61323}
61324
61325// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61326func (mdcd MongoDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
61327	return nil, false
61328}
61329
61330// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61331func (mdcd MongoDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
61332	return nil, false
61333}
61334
61335// AsVerticaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61336func (mdcd MongoDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
61337	return nil, false
61338}
61339
61340// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61341func (mdcd MongoDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
61342	return nil, false
61343}
61344
61345// AsZohoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61346func (mdcd MongoDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
61347	return nil, false
61348}
61349
61350// AsXeroObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61351func (mdcd MongoDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
61352	return nil, false
61353}
61354
61355// AsSquareObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61356func (mdcd MongoDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
61357	return nil, false
61358}
61359
61360// AsSparkObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61361func (mdcd MongoDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
61362	return nil, false
61363}
61364
61365// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61366func (mdcd MongoDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
61367	return nil, false
61368}
61369
61370// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61371func (mdcd MongoDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
61372	return nil, false
61373}
61374
61375// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61376func (mdcd MongoDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
61377	return nil, false
61378}
61379
61380// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61381func (mdcd MongoDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
61382	return nil, false
61383}
61384
61385// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61386func (mdcd MongoDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
61387	return nil, false
61388}
61389
61390// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61391func (mdcd MongoDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
61392	return nil, false
61393}
61394
61395// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61396func (mdcd MongoDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
61397	return nil, false
61398}
61399
61400// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61401func (mdcd MongoDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
61402	return nil, false
61403}
61404
61405// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61406func (mdcd MongoDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
61407	return nil, false
61408}
61409
61410// AsJiraObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61411func (mdcd MongoDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
61412	return nil, false
61413}
61414
61415// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61416func (mdcd MongoDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
61417	return nil, false
61418}
61419
61420// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61421func (mdcd MongoDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
61422	return nil, false
61423}
61424
61425// AsHiveObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61426func (mdcd MongoDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
61427	return nil, false
61428}
61429
61430// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61431func (mdcd MongoDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
61432	return nil, false
61433}
61434
61435// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61436func (mdcd MongoDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
61437	return nil, false
61438}
61439
61440// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61441func (mdcd MongoDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
61442	return nil, false
61443}
61444
61445// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61446func (mdcd MongoDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
61447	return nil, false
61448}
61449
61450// AsDrillTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61451func (mdcd MongoDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
61452	return nil, false
61453}
61454
61455// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61456func (mdcd MongoDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
61457	return nil, false
61458}
61459
61460// AsConcurObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61461func (mdcd MongoDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
61462	return nil, false
61463}
61464
61465// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61466func (mdcd MongoDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
61467	return nil, false
61468}
61469
61470// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61471func (mdcd MongoDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
61472	return nil, false
61473}
61474
61475// AsHTTPDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61476func (mdcd MongoDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) {
61477	return nil, false
61478}
61479
61480// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61481func (mdcd MongoDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
61482	return nil, false
61483}
61484
61485// AsWebTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61486func (mdcd MongoDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
61487	return nil, false
61488}
61489
61490// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61491func (mdcd MongoDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
61492	return nil, false
61493}
61494
61495// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61496func (mdcd MongoDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
61497	return nil, false
61498}
61499
61500// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61501func (mdcd MongoDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
61502	return nil, false
61503}
61504
61505// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61506func (mdcd MongoDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
61507	return nil, false
61508}
61509
61510// AsRelationalTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61511func (mdcd MongoDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
61512	return nil, false
61513}
61514
61515// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61516func (mdcd MongoDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
61517	return nil, false
61518}
61519
61520// AsOracleTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61521func (mdcd MongoDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
61522	return nil, false
61523}
61524
61525// AsODataResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61526func (mdcd MongoDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
61527	return nil, false
61528}
61529
61530// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61531func (mdcd MongoDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
61532	return &mdcd, true
61533}
61534
61535// AsFileShareDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61536func (mdcd MongoDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) {
61537	return nil, false
61538}
61539
61540// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61541func (mdcd MongoDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
61542	return nil, false
61543}
61544
61545// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61546func (mdcd MongoDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
61547	return nil, false
61548}
61549
61550// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61551func (mdcd MongoDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
61552	return nil, false
61553}
61554
61555// AsCustomDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61556func (mdcd MongoDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
61557	return nil, false
61558}
61559
61560// AsCassandraTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61561func (mdcd MongoDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
61562	return nil, false
61563}
61564
61565// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61566func (mdcd MongoDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
61567	return nil, false
61568}
61569
61570// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61571func (mdcd MongoDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
61572	return nil, false
61573}
61574
61575// AsAzureTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61576func (mdcd MongoDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
61577	return nil, false
61578}
61579
61580// AsAzureBlobDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61581func (mdcd MongoDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
61582	return nil, false
61583}
61584
61585// AsAmazonS3Dataset is the BasicDataset implementation for MongoDbCollectionDataset.
61586func (mdcd MongoDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
61587	return nil, false
61588}
61589
61590// AsDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61591func (mdcd MongoDbCollectionDataset) AsDataset() (*Dataset, bool) {
61592	return nil, false
61593}
61594
61595// AsBasicDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61596func (mdcd MongoDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) {
61597	return &mdcd, true
61598}
61599
61600// UnmarshalJSON is the custom unmarshaler for MongoDbCollectionDataset struct.
61601func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error {
61602	var m map[string]*json.RawMessage
61603	err := json.Unmarshal(body, &m)
61604	if err != nil {
61605		return err
61606	}
61607	for k, v := range m {
61608		switch k {
61609		case "typeProperties":
61610			if v != nil {
61611				var mongoDbCollectionDatasetTypeProperties MongoDbCollectionDatasetTypeProperties
61612				err = json.Unmarshal(*v, &mongoDbCollectionDatasetTypeProperties)
61613				if err != nil {
61614					return err
61615				}
61616				mdcd.MongoDbCollectionDatasetTypeProperties = &mongoDbCollectionDatasetTypeProperties
61617			}
61618		default:
61619			if v != nil {
61620				var additionalProperties interface{}
61621				err = json.Unmarshal(*v, &additionalProperties)
61622				if err != nil {
61623					return err
61624				}
61625				if mdcd.AdditionalProperties == nil {
61626					mdcd.AdditionalProperties = make(map[string]interface{})
61627				}
61628				mdcd.AdditionalProperties[k] = additionalProperties
61629			}
61630		case "description":
61631			if v != nil {
61632				var description string
61633				err = json.Unmarshal(*v, &description)
61634				if err != nil {
61635					return err
61636				}
61637				mdcd.Description = &description
61638			}
61639		case "structure":
61640			if v != nil {
61641				var structure interface{}
61642				err = json.Unmarshal(*v, &structure)
61643				if err != nil {
61644					return err
61645				}
61646				mdcd.Structure = structure
61647			}
61648		case "linkedServiceName":
61649			if v != nil {
61650				var linkedServiceName LinkedServiceReference
61651				err = json.Unmarshal(*v, &linkedServiceName)
61652				if err != nil {
61653					return err
61654				}
61655				mdcd.LinkedServiceName = &linkedServiceName
61656			}
61657		case "parameters":
61658			if v != nil {
61659				var parameters map[string]*ParameterSpecification
61660				err = json.Unmarshal(*v, &parameters)
61661				if err != nil {
61662					return err
61663				}
61664				mdcd.Parameters = parameters
61665			}
61666		case "annotations":
61667			if v != nil {
61668				var annotations []interface{}
61669				err = json.Unmarshal(*v, &annotations)
61670				if err != nil {
61671					return err
61672				}
61673				mdcd.Annotations = &annotations
61674			}
61675		case "type":
61676			if v != nil {
61677				var typeVar TypeBasicDataset
61678				err = json.Unmarshal(*v, &typeVar)
61679				if err != nil {
61680					return err
61681				}
61682				mdcd.Type = typeVar
61683			}
61684		}
61685	}
61686
61687	return nil
61688}
61689
61690// MongoDbCollectionDatasetTypeProperties mongoDB database dataset properties.
61691type MongoDbCollectionDatasetTypeProperties struct {
61692	// CollectionName - The table name of the MongoDB database. Type: string (or Expression with resultType string).
61693	CollectionName interface{} `json:"collectionName,omitempty"`
61694}
61695
61696// MongoDbLinkedService linked service for MongoDb data source.
61697type MongoDbLinkedService struct {
61698	// MongoDbLinkedServiceTypeProperties - MongoDB linked service properties.
61699	*MongoDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
61700	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
61701	AdditionalProperties map[string]interface{} `json:""`
61702	// ConnectVia - The integration runtime reference.
61703	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
61704	// Description - Linked service description.
61705	Description *string `json:"description,omitempty"`
61706	// Parameters - Parameters for linked service.
61707	Parameters map[string]*ParameterSpecification `json:"parameters"`
61708	// Annotations - List of tags that can be used for describing the Dataset.
61709	Annotations *[]interface{} `json:"annotations,omitempty"`
61710	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
61711	Type TypeBasicLinkedService `json:"type,omitempty"`
61712}
61713
61714// MarshalJSON is the custom marshaler for MongoDbLinkedService.
61715func (mdls MongoDbLinkedService) MarshalJSON() ([]byte, error) {
61716	mdls.Type = TypeMongoDb
61717	objectMap := make(map[string]interface{})
61718	if mdls.MongoDbLinkedServiceTypeProperties != nil {
61719		objectMap["typeProperties"] = mdls.MongoDbLinkedServiceTypeProperties
61720	}
61721	if mdls.ConnectVia != nil {
61722		objectMap["connectVia"] = mdls.ConnectVia
61723	}
61724	if mdls.Description != nil {
61725		objectMap["description"] = mdls.Description
61726	}
61727	if mdls.Parameters != nil {
61728		objectMap["parameters"] = mdls.Parameters
61729	}
61730	if mdls.Annotations != nil {
61731		objectMap["annotations"] = mdls.Annotations
61732	}
61733	if mdls.Type != "" {
61734		objectMap["type"] = mdls.Type
61735	}
61736	for k, v := range mdls.AdditionalProperties {
61737		objectMap[k] = v
61738	}
61739	return json.Marshal(objectMap)
61740}
61741
61742// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61743func (mdls MongoDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
61744	return nil, false
61745}
61746
61747// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61748func (mdls MongoDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
61749	return nil, false
61750}
61751
61752// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61753func (mdls MongoDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
61754	return nil, false
61755}
61756
61757// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61758func (mdls MongoDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
61759	return nil, false
61760}
61761
61762// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61763func (mdls MongoDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
61764	return nil, false
61765}
61766
61767// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61768func (mdls MongoDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
61769	return nil, false
61770}
61771
61772// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61773func (mdls MongoDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
61774	return nil, false
61775}
61776
61777// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61778func (mdls MongoDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
61779	return nil, false
61780}
61781
61782// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61783func (mdls MongoDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
61784	return nil, false
61785}
61786
61787// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61788func (mdls MongoDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
61789	return nil, false
61790}
61791
61792// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61793func (mdls MongoDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
61794	return nil, false
61795}
61796
61797// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61798func (mdls MongoDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
61799	return nil, false
61800}
61801
61802// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61803func (mdls MongoDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
61804	return nil, false
61805}
61806
61807// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61808func (mdls MongoDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
61809	return nil, false
61810}
61811
61812// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61813func (mdls MongoDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
61814	return nil, false
61815}
61816
61817// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61818func (mdls MongoDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
61819	return nil, false
61820}
61821
61822// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61823func (mdls MongoDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
61824	return nil, false
61825}
61826
61827// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61828func (mdls MongoDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
61829	return nil, false
61830}
61831
61832// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61833func (mdls MongoDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
61834	return nil, false
61835}
61836
61837// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61838func (mdls MongoDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
61839	return nil, false
61840}
61841
61842// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61843func (mdls MongoDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
61844	return nil, false
61845}
61846
61847// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61848func (mdls MongoDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
61849	return nil, false
61850}
61851
61852// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61853func (mdls MongoDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
61854	return nil, false
61855}
61856
61857// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61858func (mdls MongoDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
61859	return nil, false
61860}
61861
61862// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61863func (mdls MongoDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
61864	return nil, false
61865}
61866
61867// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61868func (mdls MongoDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
61869	return nil, false
61870}
61871
61872// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61873func (mdls MongoDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
61874	return nil, false
61875}
61876
61877// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61878func (mdls MongoDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
61879	return nil, false
61880}
61881
61882// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61883func (mdls MongoDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
61884	return nil, false
61885}
61886
61887// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61888func (mdls MongoDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
61889	return nil, false
61890}
61891
61892// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61893func (mdls MongoDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
61894	return nil, false
61895}
61896
61897// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61898func (mdls MongoDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
61899	return nil, false
61900}
61901
61902// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61903func (mdls MongoDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
61904	return nil, false
61905}
61906
61907// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61908func (mdls MongoDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
61909	return nil, false
61910}
61911
61912// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61913func (mdls MongoDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
61914	return nil, false
61915}
61916
61917// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61918func (mdls MongoDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
61919	return nil, false
61920}
61921
61922// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61923func (mdls MongoDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
61924	return nil, false
61925}
61926
61927// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61928func (mdls MongoDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
61929	return nil, false
61930}
61931
61932// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61933func (mdls MongoDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
61934	return nil, false
61935}
61936
61937// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61938func (mdls MongoDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
61939	return nil, false
61940}
61941
61942// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61943func (mdls MongoDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
61944	return nil, false
61945}
61946
61947// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61948func (mdls MongoDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
61949	return nil, false
61950}
61951
61952// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61953func (mdls MongoDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
61954	return nil, false
61955}
61956
61957// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61958func (mdls MongoDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
61959	return nil, false
61960}
61961
61962// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61963func (mdls MongoDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
61964	return nil, false
61965}
61966
61967// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61968func (mdls MongoDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
61969	return nil, false
61970}
61971
61972// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61973func (mdls MongoDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
61974	return &mdls, true
61975}
61976
61977// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61978func (mdls MongoDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
61979	return nil, false
61980}
61981
61982// AsWebLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61983func (mdls MongoDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
61984	return nil, false
61985}
61986
61987// AsODataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61988func (mdls MongoDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
61989	return nil, false
61990}
61991
61992// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61993func (mdls MongoDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
61994	return nil, false
61995}
61996
61997// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61998func (mdls MongoDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
61999	return nil, false
62000}
62001
62002// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62003func (mdls MongoDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
62004	return nil, false
62005}
62006
62007// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62008func (mdls MongoDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
62009	return nil, false
62010}
62011
62012// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62013func (mdls MongoDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
62014	return nil, false
62015}
62016
62017// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62018func (mdls MongoDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
62019	return nil, false
62020}
62021
62022// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62023func (mdls MongoDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
62024	return nil, false
62025}
62026
62027// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62028func (mdls MongoDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
62029	return nil, false
62030}
62031
62032// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62033func (mdls MongoDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
62034	return nil, false
62035}
62036
62037// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62038func (mdls MongoDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
62039	return nil, false
62040}
62041
62042// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62043func (mdls MongoDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
62044	return nil, false
62045}
62046
62047// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62048func (mdls MongoDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
62049	return nil, false
62050}
62051
62052// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62053func (mdls MongoDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
62054	return nil, false
62055}
62056
62057// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62058func (mdls MongoDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
62059	return nil, false
62060}
62061
62062// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62063func (mdls MongoDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
62064	return nil, false
62065}
62066
62067// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62068func (mdls MongoDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
62069	return nil, false
62070}
62071
62072// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62073func (mdls MongoDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
62074	return nil, false
62075}
62076
62077// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62078func (mdls MongoDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
62079	return nil, false
62080}
62081
62082// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62083func (mdls MongoDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
62084	return nil, false
62085}
62086
62087// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62088func (mdls MongoDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
62089	return nil, false
62090}
62091
62092// AsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62093func (mdls MongoDbLinkedService) AsLinkedService() (*LinkedService, bool) {
62094	return nil, false
62095}
62096
62097// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62098func (mdls MongoDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
62099	return &mdls, true
62100}
62101
62102// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedService struct.
62103func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error {
62104	var m map[string]*json.RawMessage
62105	err := json.Unmarshal(body, &m)
62106	if err != nil {
62107		return err
62108	}
62109	for k, v := range m {
62110		switch k {
62111		case "typeProperties":
62112			if v != nil {
62113				var mongoDbLinkedServiceTypeProperties MongoDbLinkedServiceTypeProperties
62114				err = json.Unmarshal(*v, &mongoDbLinkedServiceTypeProperties)
62115				if err != nil {
62116					return err
62117				}
62118				mdls.MongoDbLinkedServiceTypeProperties = &mongoDbLinkedServiceTypeProperties
62119			}
62120		default:
62121			if v != nil {
62122				var additionalProperties interface{}
62123				err = json.Unmarshal(*v, &additionalProperties)
62124				if err != nil {
62125					return err
62126				}
62127				if mdls.AdditionalProperties == nil {
62128					mdls.AdditionalProperties = make(map[string]interface{})
62129				}
62130				mdls.AdditionalProperties[k] = additionalProperties
62131			}
62132		case "connectVia":
62133			if v != nil {
62134				var connectVia IntegrationRuntimeReference
62135				err = json.Unmarshal(*v, &connectVia)
62136				if err != nil {
62137					return err
62138				}
62139				mdls.ConnectVia = &connectVia
62140			}
62141		case "description":
62142			if v != nil {
62143				var description string
62144				err = json.Unmarshal(*v, &description)
62145				if err != nil {
62146					return err
62147				}
62148				mdls.Description = &description
62149			}
62150		case "parameters":
62151			if v != nil {
62152				var parameters map[string]*ParameterSpecification
62153				err = json.Unmarshal(*v, &parameters)
62154				if err != nil {
62155					return err
62156				}
62157				mdls.Parameters = parameters
62158			}
62159		case "annotations":
62160			if v != nil {
62161				var annotations []interface{}
62162				err = json.Unmarshal(*v, &annotations)
62163				if err != nil {
62164					return err
62165				}
62166				mdls.Annotations = &annotations
62167			}
62168		case "type":
62169			if v != nil {
62170				var typeVar TypeBasicLinkedService
62171				err = json.Unmarshal(*v, &typeVar)
62172				if err != nil {
62173					return err
62174				}
62175				mdls.Type = typeVar
62176			}
62177		}
62178	}
62179
62180	return nil
62181}
62182
62183// MongoDbLinkedServiceTypeProperties mongoDB linked service properties.
62184type MongoDbLinkedServiceTypeProperties struct {
62185	// Server - The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string).
62186	Server interface{} `json:"server,omitempty"`
62187	// AuthenticationType - The authentication type to be used to connect to the MongoDB database. Possible values include: 'MongoDbAuthenticationTypeBasic', 'MongoDbAuthenticationTypeAnonymous'
62188	AuthenticationType MongoDbAuthenticationType `json:"authenticationType,omitempty"`
62189	// DatabaseName - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
62190	DatabaseName interface{} `json:"databaseName,omitempty"`
62191	// Username - Username for authentication. Type: string (or Expression with resultType string).
62192	Username interface{} `json:"username,omitempty"`
62193	// Password - Password for authentication.
62194	Password BasicSecretBase `json:"password,omitempty"`
62195	// AuthSource - Database to verify the username and password. Type: string (or Expression with resultType string).
62196	AuthSource interface{} `json:"authSource,omitempty"`
62197	// Port - The TCP port number that the MongoDB server uses to listen for client connections. The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0.
62198	Port interface{} `json:"port,omitempty"`
62199	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean).
62200	EnableSsl interface{} `json:"enableSsl,omitempty"`
62201	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean).
62202	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
62203	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
62204	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
62205}
62206
62207// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedServiceTypeProperties struct.
62208func (mdlstp *MongoDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
62209	var m map[string]*json.RawMessage
62210	err := json.Unmarshal(body, &m)
62211	if err != nil {
62212		return err
62213	}
62214	for k, v := range m {
62215		switch k {
62216		case "server":
62217			if v != nil {
62218				var server interface{}
62219				err = json.Unmarshal(*v, &server)
62220				if err != nil {
62221					return err
62222				}
62223				mdlstp.Server = server
62224			}
62225		case "authenticationType":
62226			if v != nil {
62227				var authenticationType MongoDbAuthenticationType
62228				err = json.Unmarshal(*v, &authenticationType)
62229				if err != nil {
62230					return err
62231				}
62232				mdlstp.AuthenticationType = authenticationType
62233			}
62234		case "databaseName":
62235			if v != nil {
62236				var databaseName interface{}
62237				err = json.Unmarshal(*v, &databaseName)
62238				if err != nil {
62239					return err
62240				}
62241				mdlstp.DatabaseName = databaseName
62242			}
62243		case "username":
62244			if v != nil {
62245				var username interface{}
62246				err = json.Unmarshal(*v, &username)
62247				if err != nil {
62248					return err
62249				}
62250				mdlstp.Username = username
62251			}
62252		case "password":
62253			if v != nil {
62254				password, err := unmarshalBasicSecretBase(*v)
62255				if err != nil {
62256					return err
62257				}
62258				mdlstp.Password = password
62259			}
62260		case "authSource":
62261			if v != nil {
62262				var authSource interface{}
62263				err = json.Unmarshal(*v, &authSource)
62264				if err != nil {
62265					return err
62266				}
62267				mdlstp.AuthSource = authSource
62268			}
62269		case "port":
62270			if v != nil {
62271				var port interface{}
62272				err = json.Unmarshal(*v, &port)
62273				if err != nil {
62274					return err
62275				}
62276				mdlstp.Port = port
62277			}
62278		case "enableSsl":
62279			if v != nil {
62280				var enableSsl interface{}
62281				err = json.Unmarshal(*v, &enableSsl)
62282				if err != nil {
62283					return err
62284				}
62285				mdlstp.EnableSsl = enableSsl
62286			}
62287		case "allowSelfSignedServerCert":
62288			if v != nil {
62289				var allowSelfSignedServerCert interface{}
62290				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
62291				if err != nil {
62292					return err
62293				}
62294				mdlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
62295			}
62296		case "encryptedCredential":
62297			if v != nil {
62298				var encryptedCredential interface{}
62299				err = json.Unmarshal(*v, &encryptedCredential)
62300				if err != nil {
62301					return err
62302				}
62303				mdlstp.EncryptedCredential = encryptedCredential
62304			}
62305		}
62306	}
62307
62308	return nil
62309}
62310
62311// MongoDbSource a copy activity source for a MongoDB database.
62312type MongoDbSource struct {
62313	// Query - Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string).
62314	Query interface{} `json:"query,omitempty"`
62315	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
62316	AdditionalProperties map[string]interface{} `json:""`
62317	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
62318	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
62319	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
62320	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
62321	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
62322	Type TypeBasicCopySource `json:"type,omitempty"`
62323}
62324
62325// MarshalJSON is the custom marshaler for MongoDbSource.
62326func (mds MongoDbSource) MarshalJSON() ([]byte, error) {
62327	mds.Type = TypeMongoDbSource
62328	objectMap := make(map[string]interface{})
62329	if mds.Query != nil {
62330		objectMap["query"] = mds.Query
62331	}
62332	if mds.SourceRetryCount != nil {
62333		objectMap["sourceRetryCount"] = mds.SourceRetryCount
62334	}
62335	if mds.SourceRetryWait != nil {
62336		objectMap["sourceRetryWait"] = mds.SourceRetryWait
62337	}
62338	if mds.Type != "" {
62339		objectMap["type"] = mds.Type
62340	}
62341	for k, v := range mds.AdditionalProperties {
62342		objectMap[k] = v
62343	}
62344	return json.Marshal(objectMap)
62345}
62346
62347// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbSource.
62348func (mds MongoDbSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
62349	return nil, false
62350}
62351
62352// AsResponsysSource is the BasicCopySource implementation for MongoDbSource.
62353func (mds MongoDbSource) AsResponsysSource() (*ResponsysSource, bool) {
62354	return nil, false
62355}
62356
62357// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbSource.
62358func (mds MongoDbSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
62359	return nil, false
62360}
62361
62362// AsVerticaSource is the BasicCopySource implementation for MongoDbSource.
62363func (mds MongoDbSource) AsVerticaSource() (*VerticaSource, bool) {
62364	return nil, false
62365}
62366
62367// AsNetezzaSource is the BasicCopySource implementation for MongoDbSource.
62368func (mds MongoDbSource) AsNetezzaSource() (*NetezzaSource, bool) {
62369	return nil, false
62370}
62371
62372// AsZohoSource is the BasicCopySource implementation for MongoDbSource.
62373func (mds MongoDbSource) AsZohoSource() (*ZohoSource, bool) {
62374	return nil, false
62375}
62376
62377// AsXeroSource is the BasicCopySource implementation for MongoDbSource.
62378func (mds MongoDbSource) AsXeroSource() (*XeroSource, bool) {
62379	return nil, false
62380}
62381
62382// AsSquareSource is the BasicCopySource implementation for MongoDbSource.
62383func (mds MongoDbSource) AsSquareSource() (*SquareSource, bool) {
62384	return nil, false
62385}
62386
62387// AsSparkSource is the BasicCopySource implementation for MongoDbSource.
62388func (mds MongoDbSource) AsSparkSource() (*SparkSource, bool) {
62389	return nil, false
62390}
62391
62392// AsShopifySource is the BasicCopySource implementation for MongoDbSource.
62393func (mds MongoDbSource) AsShopifySource() (*ShopifySource, bool) {
62394	return nil, false
62395}
62396
62397// AsServiceNowSource is the BasicCopySource implementation for MongoDbSource.
62398func (mds MongoDbSource) AsServiceNowSource() (*ServiceNowSource, bool) {
62399	return nil, false
62400}
62401
62402// AsQuickBooksSource is the BasicCopySource implementation for MongoDbSource.
62403func (mds MongoDbSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
62404	return nil, false
62405}
62406
62407// AsPrestoSource is the BasicCopySource implementation for MongoDbSource.
62408func (mds MongoDbSource) AsPrestoSource() (*PrestoSource, bool) {
62409	return nil, false
62410}
62411
62412// AsPhoenixSource is the BasicCopySource implementation for MongoDbSource.
62413func (mds MongoDbSource) AsPhoenixSource() (*PhoenixSource, bool) {
62414	return nil, false
62415}
62416
62417// AsPaypalSource is the BasicCopySource implementation for MongoDbSource.
62418func (mds MongoDbSource) AsPaypalSource() (*PaypalSource, bool) {
62419	return nil, false
62420}
62421
62422// AsMarketoSource is the BasicCopySource implementation for MongoDbSource.
62423func (mds MongoDbSource) AsMarketoSource() (*MarketoSource, bool) {
62424	return nil, false
62425}
62426
62427// AsMariaDBSource is the BasicCopySource implementation for MongoDbSource.
62428func (mds MongoDbSource) AsMariaDBSource() (*MariaDBSource, bool) {
62429	return nil, false
62430}
62431
62432// AsMagentoSource is the BasicCopySource implementation for MongoDbSource.
62433func (mds MongoDbSource) AsMagentoSource() (*MagentoSource, bool) {
62434	return nil, false
62435}
62436
62437// AsJiraSource is the BasicCopySource implementation for MongoDbSource.
62438func (mds MongoDbSource) AsJiraSource() (*JiraSource, bool) {
62439	return nil, false
62440}
62441
62442// AsImpalaSource is the BasicCopySource implementation for MongoDbSource.
62443func (mds MongoDbSource) AsImpalaSource() (*ImpalaSource, bool) {
62444	return nil, false
62445}
62446
62447// AsHubspotSource is the BasicCopySource implementation for MongoDbSource.
62448func (mds MongoDbSource) AsHubspotSource() (*HubspotSource, bool) {
62449	return nil, false
62450}
62451
62452// AsHiveSource is the BasicCopySource implementation for MongoDbSource.
62453func (mds MongoDbSource) AsHiveSource() (*HiveSource, bool) {
62454	return nil, false
62455}
62456
62457// AsHBaseSource is the BasicCopySource implementation for MongoDbSource.
62458func (mds MongoDbSource) AsHBaseSource() (*HBaseSource, bool) {
62459	return nil, false
62460}
62461
62462// AsGreenplumSource is the BasicCopySource implementation for MongoDbSource.
62463func (mds MongoDbSource) AsGreenplumSource() (*GreenplumSource, bool) {
62464	return nil, false
62465}
62466
62467// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbSource.
62468func (mds MongoDbSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
62469	return nil, false
62470}
62471
62472// AsEloquaSource is the BasicCopySource implementation for MongoDbSource.
62473func (mds MongoDbSource) AsEloquaSource() (*EloquaSource, bool) {
62474	return nil, false
62475}
62476
62477// AsDrillSource is the BasicCopySource implementation for MongoDbSource.
62478func (mds MongoDbSource) AsDrillSource() (*DrillSource, bool) {
62479	return nil, false
62480}
62481
62482// AsCouchbaseSource is the BasicCopySource implementation for MongoDbSource.
62483func (mds MongoDbSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
62484	return nil, false
62485}
62486
62487// AsConcurSource is the BasicCopySource implementation for MongoDbSource.
62488func (mds MongoDbSource) AsConcurSource() (*ConcurSource, bool) {
62489	return nil, false
62490}
62491
62492// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbSource.
62493func (mds MongoDbSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
62494	return nil, false
62495}
62496
62497// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbSource.
62498func (mds MongoDbSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
62499	return nil, false
62500}
62501
62502// AsHTTPSource is the BasicCopySource implementation for MongoDbSource.
62503func (mds MongoDbSource) AsHTTPSource() (*HTTPSource, bool) {
62504	return nil, false
62505}
62506
62507// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbSource.
62508func (mds MongoDbSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
62509	return nil, false
62510}
62511
62512// AsMongoDbSource is the BasicCopySource implementation for MongoDbSource.
62513func (mds MongoDbSource) AsMongoDbSource() (*MongoDbSource, bool) {
62514	return &mds, true
62515}
62516
62517// AsCassandraSource is the BasicCopySource implementation for MongoDbSource.
62518func (mds MongoDbSource) AsCassandraSource() (*CassandraSource, bool) {
62519	return nil, false
62520}
62521
62522// AsWebSource is the BasicCopySource implementation for MongoDbSource.
62523func (mds MongoDbSource) AsWebSource() (*WebSource, bool) {
62524	return nil, false
62525}
62526
62527// AsOracleSource is the BasicCopySource implementation for MongoDbSource.
62528func (mds MongoDbSource) AsOracleSource() (*OracleSource, bool) {
62529	return nil, false
62530}
62531
62532// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbSource.
62533func (mds MongoDbSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
62534	return nil, false
62535}
62536
62537// AsHdfsSource is the BasicCopySource implementation for MongoDbSource.
62538func (mds MongoDbSource) AsHdfsSource() (*HdfsSource, bool) {
62539	return nil, false
62540}
62541
62542// AsFileSystemSource is the BasicCopySource implementation for MongoDbSource.
62543func (mds MongoDbSource) AsFileSystemSource() (*FileSystemSource, bool) {
62544	return nil, false
62545}
62546
62547// AsSQLDWSource is the BasicCopySource implementation for MongoDbSource.
62548func (mds MongoDbSource) AsSQLDWSource() (*SQLDWSource, bool) {
62549	return nil, false
62550}
62551
62552// AsSQLSource is the BasicCopySource implementation for MongoDbSource.
62553func (mds MongoDbSource) AsSQLSource() (*SQLSource, bool) {
62554	return nil, false
62555}
62556
62557// AsSapEccSource is the BasicCopySource implementation for MongoDbSource.
62558func (mds MongoDbSource) AsSapEccSource() (*SapEccSource, bool) {
62559	return nil, false
62560}
62561
62562// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbSource.
62563func (mds MongoDbSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
62564	return nil, false
62565}
62566
62567// AsSalesforceSource is the BasicCopySource implementation for MongoDbSource.
62568func (mds MongoDbSource) AsSalesforceSource() (*SalesforceSource, bool) {
62569	return nil, false
62570}
62571
62572// AsRelationalSource is the BasicCopySource implementation for MongoDbSource.
62573func (mds MongoDbSource) AsRelationalSource() (*RelationalSource, bool) {
62574	return nil, false
62575}
62576
62577// AsDynamicsSource is the BasicCopySource implementation for MongoDbSource.
62578func (mds MongoDbSource) AsDynamicsSource() (*DynamicsSource, bool) {
62579	return nil, false
62580}
62581
62582// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbSource.
62583func (mds MongoDbSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
62584	return nil, false
62585}
62586
62587// AsBlobSource is the BasicCopySource implementation for MongoDbSource.
62588func (mds MongoDbSource) AsBlobSource() (*BlobSource, bool) {
62589	return nil, false
62590}
62591
62592// AsAzureTableSource is the BasicCopySource implementation for MongoDbSource.
62593func (mds MongoDbSource) AsAzureTableSource() (*AzureTableSource, bool) {
62594	return nil, false
62595}
62596
62597// AsCopySource is the BasicCopySource implementation for MongoDbSource.
62598func (mds MongoDbSource) AsCopySource() (*CopySource, bool) {
62599	return nil, false
62600}
62601
62602// AsBasicCopySource is the BasicCopySource implementation for MongoDbSource.
62603func (mds MongoDbSource) AsBasicCopySource() (BasicCopySource, bool) {
62604	return &mds, true
62605}
62606
62607// UnmarshalJSON is the custom unmarshaler for MongoDbSource struct.
62608func (mds *MongoDbSource) UnmarshalJSON(body []byte) error {
62609	var m map[string]*json.RawMessage
62610	err := json.Unmarshal(body, &m)
62611	if err != nil {
62612		return err
62613	}
62614	for k, v := range m {
62615		switch k {
62616		case "query":
62617			if v != nil {
62618				var query interface{}
62619				err = json.Unmarshal(*v, &query)
62620				if err != nil {
62621					return err
62622				}
62623				mds.Query = query
62624			}
62625		default:
62626			if v != nil {
62627				var additionalProperties interface{}
62628				err = json.Unmarshal(*v, &additionalProperties)
62629				if err != nil {
62630					return err
62631				}
62632				if mds.AdditionalProperties == nil {
62633					mds.AdditionalProperties = make(map[string]interface{})
62634				}
62635				mds.AdditionalProperties[k] = additionalProperties
62636			}
62637		case "sourceRetryCount":
62638			if v != nil {
62639				var sourceRetryCount interface{}
62640				err = json.Unmarshal(*v, &sourceRetryCount)
62641				if err != nil {
62642					return err
62643				}
62644				mds.SourceRetryCount = sourceRetryCount
62645			}
62646		case "sourceRetryWait":
62647			if v != nil {
62648				var sourceRetryWait interface{}
62649				err = json.Unmarshal(*v, &sourceRetryWait)
62650				if err != nil {
62651					return err
62652				}
62653				mds.SourceRetryWait = sourceRetryWait
62654			}
62655		case "type":
62656			if v != nil {
62657				var typeVar TypeBasicCopySource
62658				err = json.Unmarshal(*v, &typeVar)
62659				if err != nil {
62660					return err
62661				}
62662				mds.Type = typeVar
62663			}
62664		}
62665	}
62666
62667	return nil
62668}
62669
62670// BasicMultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline.
62671type BasicMultiplePipelineTrigger interface {
62672	AsBlobEventsTrigger() (*BlobEventsTrigger, bool)
62673	AsBlobTrigger() (*BlobTrigger, bool)
62674	AsScheduleTrigger() (*ScheduleTrigger, bool)
62675	AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool)
62676}
62677
62678// MultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline.
62679type MultiplePipelineTrigger struct {
62680	// Pipelines - Pipelines that need to be started.
62681	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
62682	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
62683	AdditionalProperties map[string]interface{} `json:""`
62684	// Description - Trigger description.
62685	Description *string `json:"description,omitempty"`
62686	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
62687	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
62688	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
62689	Type TypeBasicTrigger `json:"type,omitempty"`
62690}
62691
62692func unmarshalBasicMultiplePipelineTrigger(body []byte) (BasicMultiplePipelineTrigger, error) {
62693	var m map[string]interface{}
62694	err := json.Unmarshal(body, &m)
62695	if err != nil {
62696		return nil, err
62697	}
62698
62699	switch m["type"] {
62700	case string(TypeBlobEventsTrigger):
62701		var bet BlobEventsTrigger
62702		err := json.Unmarshal(body, &bet)
62703		return bet, err
62704	case string(TypeBlobTrigger):
62705		var bt BlobTrigger
62706		err := json.Unmarshal(body, &bt)
62707		return bt, err
62708	case string(TypeScheduleTrigger):
62709		var st ScheduleTrigger
62710		err := json.Unmarshal(body, &st)
62711		return st, err
62712	default:
62713		var mpt MultiplePipelineTrigger
62714		err := json.Unmarshal(body, &mpt)
62715		return mpt, err
62716	}
62717}
62718func unmarshalBasicMultiplePipelineTriggerArray(body []byte) ([]BasicMultiplePipelineTrigger, error) {
62719	var rawMessages []*json.RawMessage
62720	err := json.Unmarshal(body, &rawMessages)
62721	if err != nil {
62722		return nil, err
62723	}
62724
62725	mptArray := make([]BasicMultiplePipelineTrigger, len(rawMessages))
62726
62727	for index, rawMessage := range rawMessages {
62728		mpt, err := unmarshalBasicMultiplePipelineTrigger(*rawMessage)
62729		if err != nil {
62730			return nil, err
62731		}
62732		mptArray[index] = mpt
62733	}
62734	return mptArray, nil
62735}
62736
62737// MarshalJSON is the custom marshaler for MultiplePipelineTrigger.
62738func (mpt MultiplePipelineTrigger) MarshalJSON() ([]byte, error) {
62739	mpt.Type = TypeMultiplePipelineTrigger
62740	objectMap := make(map[string]interface{})
62741	if mpt.Pipelines != nil {
62742		objectMap["pipelines"] = mpt.Pipelines
62743	}
62744	if mpt.Description != nil {
62745		objectMap["description"] = mpt.Description
62746	}
62747	if mpt.Type != "" {
62748		objectMap["type"] = mpt.Type
62749	}
62750	for k, v := range mpt.AdditionalProperties {
62751		objectMap[k] = v
62752	}
62753	return json.Marshal(objectMap)
62754}
62755
62756// AsTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62757func (mpt MultiplePipelineTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
62758	return nil, false
62759}
62760
62761// AsBlobEventsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62762func (mpt MultiplePipelineTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
62763	return nil, false
62764}
62765
62766// AsBlobTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62767func (mpt MultiplePipelineTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
62768	return nil, false
62769}
62770
62771// AsScheduleTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62772func (mpt MultiplePipelineTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
62773	return nil, false
62774}
62775
62776// AsMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62777func (mpt MultiplePipelineTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
62778	return &mpt, true
62779}
62780
62781// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62782func (mpt MultiplePipelineTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
62783	return &mpt, true
62784}
62785
62786// AsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62787func (mpt MultiplePipelineTrigger) AsTrigger() (*Trigger, bool) {
62788	return nil, false
62789}
62790
62791// AsBasicTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62792func (mpt MultiplePipelineTrigger) AsBasicTrigger() (BasicTrigger, bool) {
62793	return &mpt, true
62794}
62795
62796// UnmarshalJSON is the custom unmarshaler for MultiplePipelineTrigger struct.
62797func (mpt *MultiplePipelineTrigger) UnmarshalJSON(body []byte) error {
62798	var m map[string]*json.RawMessage
62799	err := json.Unmarshal(body, &m)
62800	if err != nil {
62801		return err
62802	}
62803	for k, v := range m {
62804		switch k {
62805		case "pipelines":
62806			if v != nil {
62807				var pipelines []TriggerPipelineReference
62808				err = json.Unmarshal(*v, &pipelines)
62809				if err != nil {
62810					return err
62811				}
62812				mpt.Pipelines = &pipelines
62813			}
62814		default:
62815			if v != nil {
62816				var additionalProperties interface{}
62817				err = json.Unmarshal(*v, &additionalProperties)
62818				if err != nil {
62819					return err
62820				}
62821				if mpt.AdditionalProperties == nil {
62822					mpt.AdditionalProperties = make(map[string]interface{})
62823				}
62824				mpt.AdditionalProperties[k] = additionalProperties
62825			}
62826		case "description":
62827			if v != nil {
62828				var description string
62829				err = json.Unmarshal(*v, &description)
62830				if err != nil {
62831					return err
62832				}
62833				mpt.Description = &description
62834			}
62835		case "runtimeState":
62836			if v != nil {
62837				var runtimeState TriggerRuntimeState
62838				err = json.Unmarshal(*v, &runtimeState)
62839				if err != nil {
62840					return err
62841				}
62842				mpt.RuntimeState = runtimeState
62843			}
62844		case "type":
62845			if v != nil {
62846				var typeVar TypeBasicTrigger
62847				err = json.Unmarshal(*v, &typeVar)
62848				if err != nil {
62849					return err
62850				}
62851				mpt.Type = typeVar
62852			}
62853		}
62854	}
62855
62856	return nil
62857}
62858
62859// MySQLLinkedService linked service for MySQL data source.
62860type MySQLLinkedService struct {
62861	// MySQLLinkedServiceTypeProperties - MySQL linked service properties.
62862	*MySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
62863	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
62864	AdditionalProperties map[string]interface{} `json:""`
62865	// ConnectVia - The integration runtime reference.
62866	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
62867	// Description - Linked service description.
62868	Description *string `json:"description,omitempty"`
62869	// Parameters - Parameters for linked service.
62870	Parameters map[string]*ParameterSpecification `json:"parameters"`
62871	// Annotations - List of tags that can be used for describing the Dataset.
62872	Annotations *[]interface{} `json:"annotations,omitempty"`
62873	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
62874	Type TypeBasicLinkedService `json:"type,omitempty"`
62875}
62876
62877// MarshalJSON is the custom marshaler for MySQLLinkedService.
62878func (msls MySQLLinkedService) MarshalJSON() ([]byte, error) {
62879	msls.Type = TypeMySQL
62880	objectMap := make(map[string]interface{})
62881	if msls.MySQLLinkedServiceTypeProperties != nil {
62882		objectMap["typeProperties"] = msls.MySQLLinkedServiceTypeProperties
62883	}
62884	if msls.ConnectVia != nil {
62885		objectMap["connectVia"] = msls.ConnectVia
62886	}
62887	if msls.Description != nil {
62888		objectMap["description"] = msls.Description
62889	}
62890	if msls.Parameters != nil {
62891		objectMap["parameters"] = msls.Parameters
62892	}
62893	if msls.Annotations != nil {
62894		objectMap["annotations"] = msls.Annotations
62895	}
62896	if msls.Type != "" {
62897		objectMap["type"] = msls.Type
62898	}
62899	for k, v := range msls.AdditionalProperties {
62900		objectMap[k] = v
62901	}
62902	return json.Marshal(objectMap)
62903}
62904
62905// AsResponsysLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62906func (msls MySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
62907	return nil, false
62908}
62909
62910// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62911func (msls MySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
62912	return nil, false
62913}
62914
62915// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62916func (msls MySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
62917	return nil, false
62918}
62919
62920// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62921func (msls MySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
62922	return nil, false
62923}
62924
62925// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62926func (msls MySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
62927	return nil, false
62928}
62929
62930// AsNetezzaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62931func (msls MySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
62932	return nil, false
62933}
62934
62935// AsVerticaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62936func (msls MySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
62937	return nil, false
62938}
62939
62940// AsZohoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62941func (msls MySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
62942	return nil, false
62943}
62944
62945// AsXeroLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62946func (msls MySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
62947	return nil, false
62948}
62949
62950// AsSquareLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62951func (msls MySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
62952	return nil, false
62953}
62954
62955// AsSparkLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62956func (msls MySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
62957	return nil, false
62958}
62959
62960// AsShopifyLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62961func (msls MySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
62962	return nil, false
62963}
62964
62965// AsServiceNowLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62966func (msls MySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
62967	return nil, false
62968}
62969
62970// AsQuickBooksLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62971func (msls MySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
62972	return nil, false
62973}
62974
62975// AsPrestoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62976func (msls MySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
62977	return nil, false
62978}
62979
62980// AsPhoenixLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62981func (msls MySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
62982	return nil, false
62983}
62984
62985// AsPaypalLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62986func (msls MySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
62987	return nil, false
62988}
62989
62990// AsMarketoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62991func (msls MySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
62992	return nil, false
62993}
62994
62995// AsMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62996func (msls MySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
62997	return nil, false
62998}
62999
63000// AsMagentoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63001func (msls MySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
63002	return nil, false
63003}
63004
63005// AsJiraLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63006func (msls MySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
63007	return nil, false
63008}
63009
63010// AsImpalaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63011func (msls MySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
63012	return nil, false
63013}
63014
63015// AsHubspotLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63016func (msls MySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
63017	return nil, false
63018}
63019
63020// AsHiveLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63021func (msls MySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
63022	return nil, false
63023}
63024
63025// AsHBaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63026func (msls MySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
63027	return nil, false
63028}
63029
63030// AsGreenplumLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63031func (msls MySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
63032	return nil, false
63033}
63034
63035// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63036func (msls MySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
63037	return nil, false
63038}
63039
63040// AsEloquaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63041func (msls MySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
63042	return nil, false
63043}
63044
63045// AsDrillLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63046func (msls MySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
63047	return nil, false
63048}
63049
63050// AsCouchbaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63051func (msls MySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
63052	return nil, false
63053}
63054
63055// AsConcurLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63056func (msls MySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
63057	return nil, false
63058}
63059
63060// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63061func (msls MySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
63062	return nil, false
63063}
63064
63065// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63066func (msls MySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
63067	return nil, false
63068}
63069
63070// AsSapHanaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63071func (msls MySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
63072	return nil, false
63073}
63074
63075// AsSapBWLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63076func (msls MySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
63077	return nil, false
63078}
63079
63080// AsSftpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63081func (msls MySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
63082	return nil, false
63083}
63084
63085// AsFtpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63086func (msls MySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
63087	return nil, false
63088}
63089
63090// AsHTTPLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63091func (msls MySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
63092	return nil, false
63093}
63094
63095// AsAzureSearchLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63096func (msls MySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
63097	return nil, false
63098}
63099
63100// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63101func (msls MySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
63102	return nil, false
63103}
63104
63105// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63106func (msls MySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
63107	return nil, false
63108}
63109
63110// AsAmazonS3LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63111func (msls MySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
63112	return nil, false
63113}
63114
63115// AsSapEccLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63116func (msls MySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
63117	return nil, false
63118}
63119
63120// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63121func (msls MySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
63122	return nil, false
63123}
63124
63125// AsSalesforceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63126func (msls MySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
63127	return nil, false
63128}
63129
63130// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63131func (msls MySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
63132	return nil, false
63133}
63134
63135// AsMongoDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63136func (msls MySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
63137	return nil, false
63138}
63139
63140// AsCassandraLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63141func (msls MySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
63142	return nil, false
63143}
63144
63145// AsWebLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63146func (msls MySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
63147	return nil, false
63148}
63149
63150// AsODataLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63151func (msls MySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
63152	return nil, false
63153}
63154
63155// AsHdfsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63156func (msls MySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
63157	return nil, false
63158}
63159
63160// AsOdbcLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63161func (msls MySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
63162	return nil, false
63163}
63164
63165// AsAzureMLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63166func (msls MySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
63167	return nil, false
63168}
63169
63170// AsTeradataLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63171func (msls MySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
63172	return nil, false
63173}
63174
63175// AsDb2LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63176func (msls MySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
63177	return nil, false
63178}
63179
63180// AsSybaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63181func (msls MySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
63182	return nil, false
63183}
63184
63185// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63186func (msls MySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
63187	return nil, false
63188}
63189
63190// AsMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63191func (msls MySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
63192	return &msls, true
63193}
63194
63195// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63196func (msls MySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
63197	return nil, false
63198}
63199
63200// AsOracleLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63201func (msls MySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
63202	return nil, false
63203}
63204
63205// AsFileServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63206func (msls MySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
63207	return nil, false
63208}
63209
63210// AsHDInsightLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63211func (msls MySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
63212	return nil, false
63213}
63214
63215// AsDynamicsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63216func (msls MySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
63217	return nil, false
63218}
63219
63220// AsCosmosDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63221func (msls MySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
63222	return nil, false
63223}
63224
63225// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63226func (msls MySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
63227	return nil, false
63228}
63229
63230// AsAzureBatchLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63231func (msls MySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
63232	return nil, false
63233}
63234
63235// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63236func (msls MySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
63237	return nil, false
63238}
63239
63240// AsSQLServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63241func (msls MySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
63242	return nil, false
63243}
63244
63245// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63246func (msls MySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
63247	return nil, false
63248}
63249
63250// AsAzureStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63251func (msls MySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
63252	return nil, false
63253}
63254
63255// AsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63256func (msls MySQLLinkedService) AsLinkedService() (*LinkedService, bool) {
63257	return nil, false
63258}
63259
63260// AsBasicLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63261func (msls MySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
63262	return &msls, true
63263}
63264
63265// UnmarshalJSON is the custom unmarshaler for MySQLLinkedService struct.
63266func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error {
63267	var m map[string]*json.RawMessage
63268	err := json.Unmarshal(body, &m)
63269	if err != nil {
63270		return err
63271	}
63272	for k, v := range m {
63273		switch k {
63274		case "typeProperties":
63275			if v != nil {
63276				var mySQLLinkedServiceTypeProperties MySQLLinkedServiceTypeProperties
63277				err = json.Unmarshal(*v, &mySQLLinkedServiceTypeProperties)
63278				if err != nil {
63279					return err
63280				}
63281				msls.MySQLLinkedServiceTypeProperties = &mySQLLinkedServiceTypeProperties
63282			}
63283		default:
63284			if v != nil {
63285				var additionalProperties interface{}
63286				err = json.Unmarshal(*v, &additionalProperties)
63287				if err != nil {
63288					return err
63289				}
63290				if msls.AdditionalProperties == nil {
63291					msls.AdditionalProperties = make(map[string]interface{})
63292				}
63293				msls.AdditionalProperties[k] = additionalProperties
63294			}
63295		case "connectVia":
63296			if v != nil {
63297				var connectVia IntegrationRuntimeReference
63298				err = json.Unmarshal(*v, &connectVia)
63299				if err != nil {
63300					return err
63301				}
63302				msls.ConnectVia = &connectVia
63303			}
63304		case "description":
63305			if v != nil {
63306				var description string
63307				err = json.Unmarshal(*v, &description)
63308				if err != nil {
63309					return err
63310				}
63311				msls.Description = &description
63312			}
63313		case "parameters":
63314			if v != nil {
63315				var parameters map[string]*ParameterSpecification
63316				err = json.Unmarshal(*v, &parameters)
63317				if err != nil {
63318					return err
63319				}
63320				msls.Parameters = parameters
63321			}
63322		case "annotations":
63323			if v != nil {
63324				var annotations []interface{}
63325				err = json.Unmarshal(*v, &annotations)
63326				if err != nil {
63327					return err
63328				}
63329				msls.Annotations = &annotations
63330			}
63331		case "type":
63332			if v != nil {
63333				var typeVar TypeBasicLinkedService
63334				err = json.Unmarshal(*v, &typeVar)
63335				if err != nil {
63336					return err
63337				}
63338				msls.Type = typeVar
63339			}
63340		}
63341	}
63342
63343	return nil
63344}
63345
63346// MySQLLinkedServiceTypeProperties mySQL linked service properties.
63347type MySQLLinkedServiceTypeProperties struct {
63348	// ConnectionString - The connection string.
63349	ConnectionString BasicSecretBase `json:"connectionString,omitempty"`
63350	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
63351	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
63352}
63353
63354// UnmarshalJSON is the custom unmarshaler for MySQLLinkedServiceTypeProperties struct.
63355func (mslstp *MySQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
63356	var m map[string]*json.RawMessage
63357	err := json.Unmarshal(body, &m)
63358	if err != nil {
63359		return err
63360	}
63361	for k, v := range m {
63362		switch k {
63363		case "connectionString":
63364			if v != nil {
63365				connectionString, err := unmarshalBasicSecretBase(*v)
63366				if err != nil {
63367					return err
63368				}
63369				mslstp.ConnectionString = connectionString
63370			}
63371		case "encryptedCredential":
63372			if v != nil {
63373				var encryptedCredential interface{}
63374				err = json.Unmarshal(*v, &encryptedCredential)
63375				if err != nil {
63376					return err
63377				}
63378				mslstp.EncryptedCredential = encryptedCredential
63379			}
63380		}
63381	}
63382
63383	return nil
63384}
63385
63386// NetezzaLinkedService netezza linked service.
63387type NetezzaLinkedService struct {
63388	// NetezzaLinkedServiceTypeProperties - Netezza linked service properties.
63389	*NetezzaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
63390	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
63391	AdditionalProperties map[string]interface{} `json:""`
63392	// ConnectVia - The integration runtime reference.
63393	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
63394	// Description - Linked service description.
63395	Description *string `json:"description,omitempty"`
63396	// Parameters - Parameters for linked service.
63397	Parameters map[string]*ParameterSpecification `json:"parameters"`
63398	// Annotations - List of tags that can be used for describing the Dataset.
63399	Annotations *[]interface{} `json:"annotations,omitempty"`
63400	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
63401	Type TypeBasicLinkedService `json:"type,omitempty"`
63402}
63403
63404// MarshalJSON is the custom marshaler for NetezzaLinkedService.
63405func (nls NetezzaLinkedService) MarshalJSON() ([]byte, error) {
63406	nls.Type = TypeNetezza
63407	objectMap := make(map[string]interface{})
63408	if nls.NetezzaLinkedServiceTypeProperties != nil {
63409		objectMap["typeProperties"] = nls.NetezzaLinkedServiceTypeProperties
63410	}
63411	if nls.ConnectVia != nil {
63412		objectMap["connectVia"] = nls.ConnectVia
63413	}
63414	if nls.Description != nil {
63415		objectMap["description"] = nls.Description
63416	}
63417	if nls.Parameters != nil {
63418		objectMap["parameters"] = nls.Parameters
63419	}
63420	if nls.Annotations != nil {
63421		objectMap["annotations"] = nls.Annotations
63422	}
63423	if nls.Type != "" {
63424		objectMap["type"] = nls.Type
63425	}
63426	for k, v := range nls.AdditionalProperties {
63427		objectMap[k] = v
63428	}
63429	return json.Marshal(objectMap)
63430}
63431
63432// AsResponsysLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63433func (nls NetezzaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
63434	return nil, false
63435}
63436
63437// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63438func (nls NetezzaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
63439	return nil, false
63440}
63441
63442// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63443func (nls NetezzaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
63444	return nil, false
63445}
63446
63447// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63448func (nls NetezzaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
63449	return nil, false
63450}
63451
63452// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63453func (nls NetezzaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
63454	return nil, false
63455}
63456
63457// AsNetezzaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63458func (nls NetezzaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
63459	return &nls, true
63460}
63461
63462// AsVerticaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63463func (nls NetezzaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
63464	return nil, false
63465}
63466
63467// AsZohoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63468func (nls NetezzaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
63469	return nil, false
63470}
63471
63472// AsXeroLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63473func (nls NetezzaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
63474	return nil, false
63475}
63476
63477// AsSquareLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63478func (nls NetezzaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
63479	return nil, false
63480}
63481
63482// AsSparkLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63483func (nls NetezzaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
63484	return nil, false
63485}
63486
63487// AsShopifyLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63488func (nls NetezzaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
63489	return nil, false
63490}
63491
63492// AsServiceNowLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63493func (nls NetezzaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
63494	return nil, false
63495}
63496
63497// AsQuickBooksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63498func (nls NetezzaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
63499	return nil, false
63500}
63501
63502// AsPrestoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63503func (nls NetezzaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
63504	return nil, false
63505}
63506
63507// AsPhoenixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63508func (nls NetezzaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
63509	return nil, false
63510}
63511
63512// AsPaypalLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63513func (nls NetezzaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
63514	return nil, false
63515}
63516
63517// AsMarketoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63518func (nls NetezzaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
63519	return nil, false
63520}
63521
63522// AsMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63523func (nls NetezzaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
63524	return nil, false
63525}
63526
63527// AsMagentoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63528func (nls NetezzaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
63529	return nil, false
63530}
63531
63532// AsJiraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63533func (nls NetezzaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
63534	return nil, false
63535}
63536
63537// AsImpalaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63538func (nls NetezzaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
63539	return nil, false
63540}
63541
63542// AsHubspotLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63543func (nls NetezzaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
63544	return nil, false
63545}
63546
63547// AsHiveLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63548func (nls NetezzaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
63549	return nil, false
63550}
63551
63552// AsHBaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63553func (nls NetezzaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
63554	return nil, false
63555}
63556
63557// AsGreenplumLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63558func (nls NetezzaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
63559	return nil, false
63560}
63561
63562// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63563func (nls NetezzaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
63564	return nil, false
63565}
63566
63567// AsEloquaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63568func (nls NetezzaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
63569	return nil, false
63570}
63571
63572// AsDrillLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63573func (nls NetezzaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
63574	return nil, false
63575}
63576
63577// AsCouchbaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63578func (nls NetezzaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
63579	return nil, false
63580}
63581
63582// AsConcurLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63583func (nls NetezzaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
63584	return nil, false
63585}
63586
63587// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63588func (nls NetezzaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
63589	return nil, false
63590}
63591
63592// AsAmazonMWSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63593func (nls NetezzaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
63594	return nil, false
63595}
63596
63597// AsSapHanaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63598func (nls NetezzaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
63599	return nil, false
63600}
63601
63602// AsSapBWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63603func (nls NetezzaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
63604	return nil, false
63605}
63606
63607// AsSftpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63608func (nls NetezzaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
63609	return nil, false
63610}
63611
63612// AsFtpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63613func (nls NetezzaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
63614	return nil, false
63615}
63616
63617// AsHTTPLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63618func (nls NetezzaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
63619	return nil, false
63620}
63621
63622// AsAzureSearchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63623func (nls NetezzaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
63624	return nil, false
63625}
63626
63627// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63628func (nls NetezzaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
63629	return nil, false
63630}
63631
63632// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63633func (nls NetezzaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
63634	return nil, false
63635}
63636
63637// AsAmazonS3LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63638func (nls NetezzaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
63639	return nil, false
63640}
63641
63642// AsSapEccLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63643func (nls NetezzaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
63644	return nil, false
63645}
63646
63647// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63648func (nls NetezzaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
63649	return nil, false
63650}
63651
63652// AsSalesforceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63653func (nls NetezzaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
63654	return nil, false
63655}
63656
63657// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63658func (nls NetezzaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
63659	return nil, false
63660}
63661
63662// AsMongoDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63663func (nls NetezzaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
63664	return nil, false
63665}
63666
63667// AsCassandraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63668func (nls NetezzaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
63669	return nil, false
63670}
63671
63672// AsWebLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63673func (nls NetezzaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
63674	return nil, false
63675}
63676
63677// AsODataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63678func (nls NetezzaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
63679	return nil, false
63680}
63681
63682// AsHdfsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63683func (nls NetezzaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
63684	return nil, false
63685}
63686
63687// AsOdbcLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63688func (nls NetezzaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
63689	return nil, false
63690}
63691
63692// AsAzureMLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63693func (nls NetezzaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
63694	return nil, false
63695}
63696
63697// AsTeradataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63698func (nls NetezzaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
63699	return nil, false
63700}
63701
63702// AsDb2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63703func (nls NetezzaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
63704	return nil, false
63705}
63706
63707// AsSybaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63708func (nls NetezzaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
63709	return nil, false
63710}
63711
63712// AsPostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63713func (nls NetezzaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
63714	return nil, false
63715}
63716
63717// AsMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63718func (nls NetezzaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
63719	return nil, false
63720}
63721
63722// AsAzureMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63723func (nls NetezzaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
63724	return nil, false
63725}
63726
63727// AsOracleLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63728func (nls NetezzaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
63729	return nil, false
63730}
63731
63732// AsFileServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63733func (nls NetezzaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
63734	return nil, false
63735}
63736
63737// AsHDInsightLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63738func (nls NetezzaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
63739	return nil, false
63740}
63741
63742// AsDynamicsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63743func (nls NetezzaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
63744	return nil, false
63745}
63746
63747// AsCosmosDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63748func (nls NetezzaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
63749	return nil, false
63750}
63751
63752// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63753func (nls NetezzaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
63754	return nil, false
63755}
63756
63757// AsAzureBatchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63758func (nls NetezzaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
63759	return nil, false
63760}
63761
63762// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63763func (nls NetezzaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
63764	return nil, false
63765}
63766
63767// AsSQLServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63768func (nls NetezzaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
63769	return nil, false
63770}
63771
63772// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63773func (nls NetezzaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
63774	return nil, false
63775}
63776
63777// AsAzureStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63778func (nls NetezzaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
63779	return nil, false
63780}
63781
63782// AsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63783func (nls NetezzaLinkedService) AsLinkedService() (*LinkedService, bool) {
63784	return nil, false
63785}
63786
63787// AsBasicLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63788func (nls NetezzaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
63789	return &nls, true
63790}
63791
63792// UnmarshalJSON is the custom unmarshaler for NetezzaLinkedService struct.
63793func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error {
63794	var m map[string]*json.RawMessage
63795	err := json.Unmarshal(body, &m)
63796	if err != nil {
63797		return err
63798	}
63799	for k, v := range m {
63800		switch k {
63801		case "typeProperties":
63802			if v != nil {
63803				var netezzaLinkedServiceTypeProperties NetezzaLinkedServiceTypeProperties
63804				err = json.Unmarshal(*v, &netezzaLinkedServiceTypeProperties)
63805				if err != nil {
63806					return err
63807				}
63808				nls.NetezzaLinkedServiceTypeProperties = &netezzaLinkedServiceTypeProperties
63809			}
63810		default:
63811			if v != nil {
63812				var additionalProperties interface{}
63813				err = json.Unmarshal(*v, &additionalProperties)
63814				if err != nil {
63815					return err
63816				}
63817				if nls.AdditionalProperties == nil {
63818					nls.AdditionalProperties = make(map[string]interface{})
63819				}
63820				nls.AdditionalProperties[k] = additionalProperties
63821			}
63822		case "connectVia":
63823			if v != nil {
63824				var connectVia IntegrationRuntimeReference
63825				err = json.Unmarshal(*v, &connectVia)
63826				if err != nil {
63827					return err
63828				}
63829				nls.ConnectVia = &connectVia
63830			}
63831		case "description":
63832			if v != nil {
63833				var description string
63834				err = json.Unmarshal(*v, &description)
63835				if err != nil {
63836					return err
63837				}
63838				nls.Description = &description
63839			}
63840		case "parameters":
63841			if v != nil {
63842				var parameters map[string]*ParameterSpecification
63843				err = json.Unmarshal(*v, &parameters)
63844				if err != nil {
63845					return err
63846				}
63847				nls.Parameters = parameters
63848			}
63849		case "annotations":
63850			if v != nil {
63851				var annotations []interface{}
63852				err = json.Unmarshal(*v, &annotations)
63853				if err != nil {
63854					return err
63855				}
63856				nls.Annotations = &annotations
63857			}
63858		case "type":
63859			if v != nil {
63860				var typeVar TypeBasicLinkedService
63861				err = json.Unmarshal(*v, &typeVar)
63862				if err != nil {
63863					return err
63864				}
63865				nls.Type = typeVar
63866			}
63867		}
63868	}
63869
63870	return nil
63871}
63872
63873// NetezzaLinkedServiceTypeProperties netezza linked service properties.
63874type NetezzaLinkedServiceTypeProperties struct {
63875	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
63876	ConnectionString interface{} `json:"connectionString,omitempty"`
63877	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
63878	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
63879}
63880
63881// NetezzaSource a copy activity Netezza source.
63882type NetezzaSource struct {
63883	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
63884	Query interface{} `json:"query,omitempty"`
63885	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
63886	AdditionalProperties map[string]interface{} `json:""`
63887	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
63888	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
63889	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
63890	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
63891	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
63892	Type TypeBasicCopySource `json:"type,omitempty"`
63893}
63894
63895// MarshalJSON is the custom marshaler for NetezzaSource.
63896func (ns NetezzaSource) MarshalJSON() ([]byte, error) {
63897	ns.Type = TypeNetezzaSource
63898	objectMap := make(map[string]interface{})
63899	if ns.Query != nil {
63900		objectMap["query"] = ns.Query
63901	}
63902	if ns.SourceRetryCount != nil {
63903		objectMap["sourceRetryCount"] = ns.SourceRetryCount
63904	}
63905	if ns.SourceRetryWait != nil {
63906		objectMap["sourceRetryWait"] = ns.SourceRetryWait
63907	}
63908	if ns.Type != "" {
63909		objectMap["type"] = ns.Type
63910	}
63911	for k, v := range ns.AdditionalProperties {
63912		objectMap[k] = v
63913	}
63914	return json.Marshal(objectMap)
63915}
63916
63917// AsAmazonRedshiftSource is the BasicCopySource implementation for NetezzaSource.
63918func (ns NetezzaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
63919	return nil, false
63920}
63921
63922// AsResponsysSource is the BasicCopySource implementation for NetezzaSource.
63923func (ns NetezzaSource) AsResponsysSource() (*ResponsysSource, bool) {
63924	return nil, false
63925}
63926
63927// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for NetezzaSource.
63928func (ns NetezzaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
63929	return nil, false
63930}
63931
63932// AsVerticaSource is the BasicCopySource implementation for NetezzaSource.
63933func (ns NetezzaSource) AsVerticaSource() (*VerticaSource, bool) {
63934	return nil, false
63935}
63936
63937// AsNetezzaSource is the BasicCopySource implementation for NetezzaSource.
63938func (ns NetezzaSource) AsNetezzaSource() (*NetezzaSource, bool) {
63939	return &ns, true
63940}
63941
63942// AsZohoSource is the BasicCopySource implementation for NetezzaSource.
63943func (ns NetezzaSource) AsZohoSource() (*ZohoSource, bool) {
63944	return nil, false
63945}
63946
63947// AsXeroSource is the BasicCopySource implementation for NetezzaSource.
63948func (ns NetezzaSource) AsXeroSource() (*XeroSource, bool) {
63949	return nil, false
63950}
63951
63952// AsSquareSource is the BasicCopySource implementation for NetezzaSource.
63953func (ns NetezzaSource) AsSquareSource() (*SquareSource, bool) {
63954	return nil, false
63955}
63956
63957// AsSparkSource is the BasicCopySource implementation for NetezzaSource.
63958func (ns NetezzaSource) AsSparkSource() (*SparkSource, bool) {
63959	return nil, false
63960}
63961
63962// AsShopifySource is the BasicCopySource implementation for NetezzaSource.
63963func (ns NetezzaSource) AsShopifySource() (*ShopifySource, bool) {
63964	return nil, false
63965}
63966
63967// AsServiceNowSource is the BasicCopySource implementation for NetezzaSource.
63968func (ns NetezzaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
63969	return nil, false
63970}
63971
63972// AsQuickBooksSource is the BasicCopySource implementation for NetezzaSource.
63973func (ns NetezzaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
63974	return nil, false
63975}
63976
63977// AsPrestoSource is the BasicCopySource implementation for NetezzaSource.
63978func (ns NetezzaSource) AsPrestoSource() (*PrestoSource, bool) {
63979	return nil, false
63980}
63981
63982// AsPhoenixSource is the BasicCopySource implementation for NetezzaSource.
63983func (ns NetezzaSource) AsPhoenixSource() (*PhoenixSource, bool) {
63984	return nil, false
63985}
63986
63987// AsPaypalSource is the BasicCopySource implementation for NetezzaSource.
63988func (ns NetezzaSource) AsPaypalSource() (*PaypalSource, bool) {
63989	return nil, false
63990}
63991
63992// AsMarketoSource is the BasicCopySource implementation for NetezzaSource.
63993func (ns NetezzaSource) AsMarketoSource() (*MarketoSource, bool) {
63994	return nil, false
63995}
63996
63997// AsMariaDBSource is the BasicCopySource implementation for NetezzaSource.
63998func (ns NetezzaSource) AsMariaDBSource() (*MariaDBSource, bool) {
63999	return nil, false
64000}
64001
64002// AsMagentoSource is the BasicCopySource implementation for NetezzaSource.
64003func (ns NetezzaSource) AsMagentoSource() (*MagentoSource, bool) {
64004	return nil, false
64005}
64006
64007// AsJiraSource is the BasicCopySource implementation for NetezzaSource.
64008func (ns NetezzaSource) AsJiraSource() (*JiraSource, bool) {
64009	return nil, false
64010}
64011
64012// AsImpalaSource is the BasicCopySource implementation for NetezzaSource.
64013func (ns NetezzaSource) AsImpalaSource() (*ImpalaSource, bool) {
64014	return nil, false
64015}
64016
64017// AsHubspotSource is the BasicCopySource implementation for NetezzaSource.
64018func (ns NetezzaSource) AsHubspotSource() (*HubspotSource, bool) {
64019	return nil, false
64020}
64021
64022// AsHiveSource is the BasicCopySource implementation for NetezzaSource.
64023func (ns NetezzaSource) AsHiveSource() (*HiveSource, bool) {
64024	return nil, false
64025}
64026
64027// AsHBaseSource is the BasicCopySource implementation for NetezzaSource.
64028func (ns NetezzaSource) AsHBaseSource() (*HBaseSource, bool) {
64029	return nil, false
64030}
64031
64032// AsGreenplumSource is the BasicCopySource implementation for NetezzaSource.
64033func (ns NetezzaSource) AsGreenplumSource() (*GreenplumSource, bool) {
64034	return nil, false
64035}
64036
64037// AsGoogleBigQuerySource is the BasicCopySource implementation for NetezzaSource.
64038func (ns NetezzaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
64039	return nil, false
64040}
64041
64042// AsEloquaSource is the BasicCopySource implementation for NetezzaSource.
64043func (ns NetezzaSource) AsEloquaSource() (*EloquaSource, bool) {
64044	return nil, false
64045}
64046
64047// AsDrillSource is the BasicCopySource implementation for NetezzaSource.
64048func (ns NetezzaSource) AsDrillSource() (*DrillSource, bool) {
64049	return nil, false
64050}
64051
64052// AsCouchbaseSource is the BasicCopySource implementation for NetezzaSource.
64053func (ns NetezzaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
64054	return nil, false
64055}
64056
64057// AsConcurSource is the BasicCopySource implementation for NetezzaSource.
64058func (ns NetezzaSource) AsConcurSource() (*ConcurSource, bool) {
64059	return nil, false
64060}
64061
64062// AsAzurePostgreSQLSource is the BasicCopySource implementation for NetezzaSource.
64063func (ns NetezzaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
64064	return nil, false
64065}
64066
64067// AsAmazonMWSSource is the BasicCopySource implementation for NetezzaSource.
64068func (ns NetezzaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
64069	return nil, false
64070}
64071
64072// AsHTTPSource is the BasicCopySource implementation for NetezzaSource.
64073func (ns NetezzaSource) AsHTTPSource() (*HTTPSource, bool) {
64074	return nil, false
64075}
64076
64077// AsAzureDataLakeStoreSource is the BasicCopySource implementation for NetezzaSource.
64078func (ns NetezzaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
64079	return nil, false
64080}
64081
64082// AsMongoDbSource is the BasicCopySource implementation for NetezzaSource.
64083func (ns NetezzaSource) AsMongoDbSource() (*MongoDbSource, bool) {
64084	return nil, false
64085}
64086
64087// AsCassandraSource is the BasicCopySource implementation for NetezzaSource.
64088func (ns NetezzaSource) AsCassandraSource() (*CassandraSource, bool) {
64089	return nil, false
64090}
64091
64092// AsWebSource is the BasicCopySource implementation for NetezzaSource.
64093func (ns NetezzaSource) AsWebSource() (*WebSource, bool) {
64094	return nil, false
64095}
64096
64097// AsOracleSource is the BasicCopySource implementation for NetezzaSource.
64098func (ns NetezzaSource) AsOracleSource() (*OracleSource, bool) {
64099	return nil, false
64100}
64101
64102// AsAzureMySQLSource is the BasicCopySource implementation for NetezzaSource.
64103func (ns NetezzaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
64104	return nil, false
64105}
64106
64107// AsHdfsSource is the BasicCopySource implementation for NetezzaSource.
64108func (ns NetezzaSource) AsHdfsSource() (*HdfsSource, bool) {
64109	return nil, false
64110}
64111
64112// AsFileSystemSource is the BasicCopySource implementation for NetezzaSource.
64113func (ns NetezzaSource) AsFileSystemSource() (*FileSystemSource, bool) {
64114	return nil, false
64115}
64116
64117// AsSQLDWSource is the BasicCopySource implementation for NetezzaSource.
64118func (ns NetezzaSource) AsSQLDWSource() (*SQLDWSource, bool) {
64119	return nil, false
64120}
64121
64122// AsSQLSource is the BasicCopySource implementation for NetezzaSource.
64123func (ns NetezzaSource) AsSQLSource() (*SQLSource, bool) {
64124	return nil, false
64125}
64126
64127// AsSapEccSource is the BasicCopySource implementation for NetezzaSource.
64128func (ns NetezzaSource) AsSapEccSource() (*SapEccSource, bool) {
64129	return nil, false
64130}
64131
64132// AsSapCloudForCustomerSource is the BasicCopySource implementation for NetezzaSource.
64133func (ns NetezzaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
64134	return nil, false
64135}
64136
64137// AsSalesforceSource is the BasicCopySource implementation for NetezzaSource.
64138func (ns NetezzaSource) AsSalesforceSource() (*SalesforceSource, bool) {
64139	return nil, false
64140}
64141
64142// AsRelationalSource is the BasicCopySource implementation for NetezzaSource.
64143func (ns NetezzaSource) AsRelationalSource() (*RelationalSource, bool) {
64144	return nil, false
64145}
64146
64147// AsDynamicsSource is the BasicCopySource implementation for NetezzaSource.
64148func (ns NetezzaSource) AsDynamicsSource() (*DynamicsSource, bool) {
64149	return nil, false
64150}
64151
64152// AsDocumentDbCollectionSource is the BasicCopySource implementation for NetezzaSource.
64153func (ns NetezzaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
64154	return nil, false
64155}
64156
64157// AsBlobSource is the BasicCopySource implementation for NetezzaSource.
64158func (ns NetezzaSource) AsBlobSource() (*BlobSource, bool) {
64159	return nil, false
64160}
64161
64162// AsAzureTableSource is the BasicCopySource implementation for NetezzaSource.
64163func (ns NetezzaSource) AsAzureTableSource() (*AzureTableSource, bool) {
64164	return nil, false
64165}
64166
64167// AsCopySource is the BasicCopySource implementation for NetezzaSource.
64168func (ns NetezzaSource) AsCopySource() (*CopySource, bool) {
64169	return nil, false
64170}
64171
64172// AsBasicCopySource is the BasicCopySource implementation for NetezzaSource.
64173func (ns NetezzaSource) AsBasicCopySource() (BasicCopySource, bool) {
64174	return &ns, true
64175}
64176
64177// UnmarshalJSON is the custom unmarshaler for NetezzaSource struct.
64178func (ns *NetezzaSource) UnmarshalJSON(body []byte) error {
64179	var m map[string]*json.RawMessage
64180	err := json.Unmarshal(body, &m)
64181	if err != nil {
64182		return err
64183	}
64184	for k, v := range m {
64185		switch k {
64186		case "query":
64187			if v != nil {
64188				var query interface{}
64189				err = json.Unmarshal(*v, &query)
64190				if err != nil {
64191					return err
64192				}
64193				ns.Query = query
64194			}
64195		default:
64196			if v != nil {
64197				var additionalProperties interface{}
64198				err = json.Unmarshal(*v, &additionalProperties)
64199				if err != nil {
64200					return err
64201				}
64202				if ns.AdditionalProperties == nil {
64203					ns.AdditionalProperties = make(map[string]interface{})
64204				}
64205				ns.AdditionalProperties[k] = additionalProperties
64206			}
64207		case "sourceRetryCount":
64208			if v != nil {
64209				var sourceRetryCount interface{}
64210				err = json.Unmarshal(*v, &sourceRetryCount)
64211				if err != nil {
64212					return err
64213				}
64214				ns.SourceRetryCount = sourceRetryCount
64215			}
64216		case "sourceRetryWait":
64217			if v != nil {
64218				var sourceRetryWait interface{}
64219				err = json.Unmarshal(*v, &sourceRetryWait)
64220				if err != nil {
64221					return err
64222				}
64223				ns.SourceRetryWait = sourceRetryWait
64224			}
64225		case "type":
64226			if v != nil {
64227				var typeVar TypeBasicCopySource
64228				err = json.Unmarshal(*v, &typeVar)
64229				if err != nil {
64230					return err
64231				}
64232				ns.Type = typeVar
64233			}
64234		}
64235	}
64236
64237	return nil
64238}
64239
64240// NetezzaTableDataset netezza dataset.
64241type NetezzaTableDataset struct {
64242	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
64243	AdditionalProperties map[string]interface{} `json:""`
64244	// Description - Dataset description.
64245	Description *string `json:"description,omitempty"`
64246	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
64247	Structure interface{} `json:"structure,omitempty"`
64248	// LinkedServiceName - Linked service reference.
64249	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
64250	// Parameters - Parameters for dataset.
64251	Parameters map[string]*ParameterSpecification `json:"parameters"`
64252	// Annotations - List of tags that can be used for describing the Dataset.
64253	Annotations *[]interface{} `json:"annotations,omitempty"`
64254	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
64255	Type TypeBasicDataset `json:"type,omitempty"`
64256}
64257
64258// MarshalJSON is the custom marshaler for NetezzaTableDataset.
64259func (ntd NetezzaTableDataset) MarshalJSON() ([]byte, error) {
64260	ntd.Type = TypeNetezzaTable
64261	objectMap := make(map[string]interface{})
64262	if ntd.Description != nil {
64263		objectMap["description"] = ntd.Description
64264	}
64265	if ntd.Structure != nil {
64266		objectMap["structure"] = ntd.Structure
64267	}
64268	if ntd.LinkedServiceName != nil {
64269		objectMap["linkedServiceName"] = ntd.LinkedServiceName
64270	}
64271	if ntd.Parameters != nil {
64272		objectMap["parameters"] = ntd.Parameters
64273	}
64274	if ntd.Annotations != nil {
64275		objectMap["annotations"] = ntd.Annotations
64276	}
64277	if ntd.Type != "" {
64278		objectMap["type"] = ntd.Type
64279	}
64280	for k, v := range ntd.AdditionalProperties {
64281		objectMap[k] = v
64282	}
64283	return json.Marshal(objectMap)
64284}
64285
64286// AsResponsysObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64287func (ntd NetezzaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
64288	return nil, false
64289}
64290
64291// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64292func (ntd NetezzaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
64293	return nil, false
64294}
64295
64296// AsVerticaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64297func (ntd NetezzaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
64298	return nil, false
64299}
64300
64301// AsNetezzaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64302func (ntd NetezzaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
64303	return &ntd, true
64304}
64305
64306// AsZohoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64307func (ntd NetezzaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
64308	return nil, false
64309}
64310
64311// AsXeroObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64312func (ntd NetezzaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
64313	return nil, false
64314}
64315
64316// AsSquareObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64317func (ntd NetezzaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
64318	return nil, false
64319}
64320
64321// AsSparkObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64322func (ntd NetezzaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
64323	return nil, false
64324}
64325
64326// AsShopifyObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64327func (ntd NetezzaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
64328	return nil, false
64329}
64330
64331// AsServiceNowObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64332func (ntd NetezzaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
64333	return nil, false
64334}
64335
64336// AsQuickBooksObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64337func (ntd NetezzaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
64338	return nil, false
64339}
64340
64341// AsPrestoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64342func (ntd NetezzaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
64343	return nil, false
64344}
64345
64346// AsPhoenixObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64347func (ntd NetezzaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
64348	return nil, false
64349}
64350
64351// AsPaypalObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64352func (ntd NetezzaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
64353	return nil, false
64354}
64355
64356// AsMarketoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64357func (ntd NetezzaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
64358	return nil, false
64359}
64360
64361// AsMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64362func (ntd NetezzaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
64363	return nil, false
64364}
64365
64366// AsMagentoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64367func (ntd NetezzaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
64368	return nil, false
64369}
64370
64371// AsJiraObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64372func (ntd NetezzaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
64373	return nil, false
64374}
64375
64376// AsImpalaObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64377func (ntd NetezzaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
64378	return nil, false
64379}
64380
64381// AsHubspotObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64382func (ntd NetezzaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
64383	return nil, false
64384}
64385
64386// AsHiveObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64387func (ntd NetezzaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
64388	return nil, false
64389}
64390
64391// AsHBaseObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64392func (ntd NetezzaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
64393	return nil, false
64394}
64395
64396// AsGreenplumTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64397func (ntd NetezzaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
64398	return nil, false
64399}
64400
64401// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64402func (ntd NetezzaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
64403	return nil, false
64404}
64405
64406// AsEloquaObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64407func (ntd NetezzaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
64408	return nil, false
64409}
64410
64411// AsDrillTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64412func (ntd NetezzaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
64413	return nil, false
64414}
64415
64416// AsCouchbaseTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64417func (ntd NetezzaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
64418	return nil, false
64419}
64420
64421// AsConcurObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64422func (ntd NetezzaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
64423	return nil, false
64424}
64425
64426// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64427func (ntd NetezzaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
64428	return nil, false
64429}
64430
64431// AsAmazonMWSObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64432func (ntd NetezzaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
64433	return nil, false
64434}
64435
64436// AsHTTPDataset is the BasicDataset implementation for NetezzaTableDataset.
64437func (ntd NetezzaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
64438	return nil, false
64439}
64440
64441// AsAzureSearchIndexDataset is the BasicDataset implementation for NetezzaTableDataset.
64442func (ntd NetezzaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
64443	return nil, false
64444}
64445
64446// AsWebTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64447func (ntd NetezzaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
64448	return nil, false
64449}
64450
64451// AsSQLServerTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64452func (ntd NetezzaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
64453	return nil, false
64454}
64455
64456// AsSapEccResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
64457func (ntd NetezzaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
64458	return nil, false
64459}
64460
64461// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
64462func (ntd NetezzaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
64463	return nil, false
64464}
64465
64466// AsSalesforceObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64467func (ntd NetezzaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
64468	return nil, false
64469}
64470
64471// AsRelationalTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64472func (ntd NetezzaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
64473	return nil, false
64474}
64475
64476// AsAzureMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64477func (ntd NetezzaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
64478	return nil, false
64479}
64480
64481// AsOracleTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64482func (ntd NetezzaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
64483	return nil, false
64484}
64485
64486// AsODataResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
64487func (ntd NetezzaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
64488	return nil, false
64489}
64490
64491// AsMongoDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
64492func (ntd NetezzaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
64493	return nil, false
64494}
64495
64496// AsFileShareDataset is the BasicDataset implementation for NetezzaTableDataset.
64497func (ntd NetezzaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
64498	return nil, false
64499}
64500
64501// AsAzureDataLakeStoreDataset is the BasicDataset implementation for NetezzaTableDataset.
64502func (ntd NetezzaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
64503	return nil, false
64504}
64505
64506// AsDynamicsEntityDataset is the BasicDataset implementation for NetezzaTableDataset.
64507func (ntd NetezzaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
64508	return nil, false
64509}
64510
64511// AsDocumentDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
64512func (ntd NetezzaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
64513	return nil, false
64514}
64515
64516// AsCustomDataset is the BasicDataset implementation for NetezzaTableDataset.
64517func (ntd NetezzaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
64518	return nil, false
64519}
64520
64521// AsCassandraTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64522func (ntd NetezzaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
64523	return nil, false
64524}
64525
64526// AsAzureSQLDWTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64527func (ntd NetezzaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
64528	return nil, false
64529}
64530
64531// AsAzureSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64532func (ntd NetezzaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
64533	return nil, false
64534}
64535
64536// AsAzureTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64537func (ntd NetezzaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
64538	return nil, false
64539}
64540
64541// AsAzureBlobDataset is the BasicDataset implementation for NetezzaTableDataset.
64542func (ntd NetezzaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
64543	return nil, false
64544}
64545
64546// AsAmazonS3Dataset is the BasicDataset implementation for NetezzaTableDataset.
64547func (ntd NetezzaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
64548	return nil, false
64549}
64550
64551// AsDataset is the BasicDataset implementation for NetezzaTableDataset.
64552func (ntd NetezzaTableDataset) AsDataset() (*Dataset, bool) {
64553	return nil, false
64554}
64555
64556// AsBasicDataset is the BasicDataset implementation for NetezzaTableDataset.
64557func (ntd NetezzaTableDataset) AsBasicDataset() (BasicDataset, bool) {
64558	return &ntd, true
64559}
64560
64561// UnmarshalJSON is the custom unmarshaler for NetezzaTableDataset struct.
64562func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error {
64563	var m map[string]*json.RawMessage
64564	err := json.Unmarshal(body, &m)
64565	if err != nil {
64566		return err
64567	}
64568	for k, v := range m {
64569		switch k {
64570		default:
64571			if v != nil {
64572				var additionalProperties interface{}
64573				err = json.Unmarshal(*v, &additionalProperties)
64574				if err != nil {
64575					return err
64576				}
64577				if ntd.AdditionalProperties == nil {
64578					ntd.AdditionalProperties = make(map[string]interface{})
64579				}
64580				ntd.AdditionalProperties[k] = additionalProperties
64581			}
64582		case "description":
64583			if v != nil {
64584				var description string
64585				err = json.Unmarshal(*v, &description)
64586				if err != nil {
64587					return err
64588				}
64589				ntd.Description = &description
64590			}
64591		case "structure":
64592			if v != nil {
64593				var structure interface{}
64594				err = json.Unmarshal(*v, &structure)
64595				if err != nil {
64596					return err
64597				}
64598				ntd.Structure = structure
64599			}
64600		case "linkedServiceName":
64601			if v != nil {
64602				var linkedServiceName LinkedServiceReference
64603				err = json.Unmarshal(*v, &linkedServiceName)
64604				if err != nil {
64605					return err
64606				}
64607				ntd.LinkedServiceName = &linkedServiceName
64608			}
64609		case "parameters":
64610			if v != nil {
64611				var parameters map[string]*ParameterSpecification
64612				err = json.Unmarshal(*v, &parameters)
64613				if err != nil {
64614					return err
64615				}
64616				ntd.Parameters = parameters
64617			}
64618		case "annotations":
64619			if v != nil {
64620				var annotations []interface{}
64621				err = json.Unmarshal(*v, &annotations)
64622				if err != nil {
64623					return err
64624				}
64625				ntd.Annotations = &annotations
64626			}
64627		case "type":
64628			if v != nil {
64629				var typeVar TypeBasicDataset
64630				err = json.Unmarshal(*v, &typeVar)
64631				if err != nil {
64632					return err
64633				}
64634				ntd.Type = typeVar
64635			}
64636		}
64637	}
64638
64639	return nil
64640}
64641
64642// ODataLinkedService open Data Protocol (OData) linked service.
64643type ODataLinkedService struct {
64644	// ODataLinkedServiceTypeProperties - OData linked service properties.
64645	*ODataLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
64646	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
64647	AdditionalProperties map[string]interface{} `json:""`
64648	// ConnectVia - The integration runtime reference.
64649	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
64650	// Description - Linked service description.
64651	Description *string `json:"description,omitempty"`
64652	// Parameters - Parameters for linked service.
64653	Parameters map[string]*ParameterSpecification `json:"parameters"`
64654	// Annotations - List of tags that can be used for describing the Dataset.
64655	Annotations *[]interface{} `json:"annotations,omitempty"`
64656	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
64657	Type TypeBasicLinkedService `json:"type,omitempty"`
64658}
64659
64660// MarshalJSON is the custom marshaler for ODataLinkedService.
64661func (odls ODataLinkedService) MarshalJSON() ([]byte, error) {
64662	odls.Type = TypeOData
64663	objectMap := make(map[string]interface{})
64664	if odls.ODataLinkedServiceTypeProperties != nil {
64665		objectMap["typeProperties"] = odls.ODataLinkedServiceTypeProperties
64666	}
64667	if odls.ConnectVia != nil {
64668		objectMap["connectVia"] = odls.ConnectVia
64669	}
64670	if odls.Description != nil {
64671		objectMap["description"] = odls.Description
64672	}
64673	if odls.Parameters != nil {
64674		objectMap["parameters"] = odls.Parameters
64675	}
64676	if odls.Annotations != nil {
64677		objectMap["annotations"] = odls.Annotations
64678	}
64679	if odls.Type != "" {
64680		objectMap["type"] = odls.Type
64681	}
64682	for k, v := range odls.AdditionalProperties {
64683		objectMap[k] = v
64684	}
64685	return json.Marshal(objectMap)
64686}
64687
64688// AsResponsysLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64689func (odls ODataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
64690	return nil, false
64691}
64692
64693// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64694func (odls ODataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
64695	return nil, false
64696}
64697
64698// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64699func (odls ODataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
64700	return nil, false
64701}
64702
64703// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64704func (odls ODataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
64705	return nil, false
64706}
64707
64708// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64709func (odls ODataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
64710	return nil, false
64711}
64712
64713// AsNetezzaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64714func (odls ODataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
64715	return nil, false
64716}
64717
64718// AsVerticaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64719func (odls ODataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
64720	return nil, false
64721}
64722
64723// AsZohoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64724func (odls ODataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
64725	return nil, false
64726}
64727
64728// AsXeroLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64729func (odls ODataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
64730	return nil, false
64731}
64732
64733// AsSquareLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64734func (odls ODataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
64735	return nil, false
64736}
64737
64738// AsSparkLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64739func (odls ODataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
64740	return nil, false
64741}
64742
64743// AsShopifyLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64744func (odls ODataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
64745	return nil, false
64746}
64747
64748// AsServiceNowLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64749func (odls ODataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
64750	return nil, false
64751}
64752
64753// AsQuickBooksLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64754func (odls ODataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
64755	return nil, false
64756}
64757
64758// AsPrestoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64759func (odls ODataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
64760	return nil, false
64761}
64762
64763// AsPhoenixLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64764func (odls ODataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
64765	return nil, false
64766}
64767
64768// AsPaypalLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64769func (odls ODataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
64770	return nil, false
64771}
64772
64773// AsMarketoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64774func (odls ODataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
64775	return nil, false
64776}
64777
64778// AsMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64779func (odls ODataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
64780	return nil, false
64781}
64782
64783// AsMagentoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64784func (odls ODataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
64785	return nil, false
64786}
64787
64788// AsJiraLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64789func (odls ODataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
64790	return nil, false
64791}
64792
64793// AsImpalaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64794func (odls ODataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
64795	return nil, false
64796}
64797
64798// AsHubspotLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64799func (odls ODataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
64800	return nil, false
64801}
64802
64803// AsHiveLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64804func (odls ODataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
64805	return nil, false
64806}
64807
64808// AsHBaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64809func (odls ODataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
64810	return nil, false
64811}
64812
64813// AsGreenplumLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64814func (odls ODataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
64815	return nil, false
64816}
64817
64818// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64819func (odls ODataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
64820	return nil, false
64821}
64822
64823// AsEloquaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64824func (odls ODataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
64825	return nil, false
64826}
64827
64828// AsDrillLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64829func (odls ODataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
64830	return nil, false
64831}
64832
64833// AsCouchbaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64834func (odls ODataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
64835	return nil, false
64836}
64837
64838// AsConcurLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64839func (odls ODataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
64840	return nil, false
64841}
64842
64843// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64844func (odls ODataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
64845	return nil, false
64846}
64847
64848// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64849func (odls ODataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
64850	return nil, false
64851}
64852
64853// AsSapHanaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64854func (odls ODataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
64855	return nil, false
64856}
64857
64858// AsSapBWLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64859func (odls ODataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
64860	return nil, false
64861}
64862
64863// AsSftpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64864func (odls ODataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
64865	return nil, false
64866}
64867
64868// AsFtpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64869func (odls ODataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
64870	return nil, false
64871}
64872
64873// AsHTTPLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64874func (odls ODataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
64875	return nil, false
64876}
64877
64878// AsAzureSearchLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64879func (odls ODataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
64880	return nil, false
64881}
64882
64883// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64884func (odls ODataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
64885	return nil, false
64886}
64887
64888// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64889func (odls ODataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
64890	return nil, false
64891}
64892
64893// AsAmazonS3LinkedService is the BasicLinkedService implementation for ODataLinkedService.
64894func (odls ODataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
64895	return nil, false
64896}
64897
64898// AsSapEccLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64899func (odls ODataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
64900	return nil, false
64901}
64902
64903// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64904func (odls ODataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
64905	return nil, false
64906}
64907
64908// AsSalesforceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64909func (odls ODataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
64910	return nil, false
64911}
64912
64913// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64914func (odls ODataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
64915	return nil, false
64916}
64917
64918// AsMongoDbLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64919func (odls ODataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
64920	return nil, false
64921}
64922
64923// AsCassandraLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64924func (odls ODataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
64925	return nil, false
64926}
64927
64928// AsWebLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64929func (odls ODataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
64930	return nil, false
64931}
64932
64933// AsODataLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64934func (odls ODataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
64935	return &odls, true
64936}
64937
64938// AsHdfsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64939func (odls ODataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
64940	return nil, false
64941}
64942
64943// AsOdbcLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64944func (odls ODataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
64945	return nil, false
64946}
64947
64948// AsAzureMLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64949func (odls ODataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
64950	return nil, false
64951}
64952
64953// AsTeradataLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64954func (odls ODataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
64955	return nil, false
64956}
64957
64958// AsDb2LinkedService is the BasicLinkedService implementation for ODataLinkedService.
64959func (odls ODataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
64960	return nil, false
64961}
64962
64963// AsSybaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64964func (odls ODataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
64965	return nil, false
64966}
64967
64968// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64969func (odls ODataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
64970	return nil, false
64971}
64972
64973// AsMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64974func (odls ODataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
64975	return nil, false
64976}
64977
64978// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64979func (odls ODataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
64980	return nil, false
64981}
64982
64983// AsOracleLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64984func (odls ODataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
64985	return nil, false
64986}
64987
64988// AsFileServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64989func (odls ODataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
64990	return nil, false
64991}
64992
64993// AsHDInsightLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64994func (odls ODataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
64995	return nil, false
64996}
64997
64998// AsDynamicsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64999func (odls ODataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
65000	return nil, false
65001}
65002
65003// AsCosmosDbLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65004func (odls ODataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
65005	return nil, false
65006}
65007
65008// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65009func (odls ODataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
65010	return nil, false
65011}
65012
65013// AsAzureBatchLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65014func (odls ODataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
65015	return nil, false
65016}
65017
65018// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65019func (odls ODataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
65020	return nil, false
65021}
65022
65023// AsSQLServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65024func (odls ODataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
65025	return nil, false
65026}
65027
65028// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65029func (odls ODataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
65030	return nil, false
65031}
65032
65033// AsAzureStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65034func (odls ODataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
65035	return nil, false
65036}
65037
65038// AsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65039func (odls ODataLinkedService) AsLinkedService() (*LinkedService, bool) {
65040	return nil, false
65041}
65042
65043// AsBasicLinkedService is the BasicLinkedService implementation for ODataLinkedService.
65044func (odls ODataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
65045	return &odls, true
65046}
65047
65048// UnmarshalJSON is the custom unmarshaler for ODataLinkedService struct.
65049func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error {
65050	var m map[string]*json.RawMessage
65051	err := json.Unmarshal(body, &m)
65052	if err != nil {
65053		return err
65054	}
65055	for k, v := range m {
65056		switch k {
65057		case "typeProperties":
65058			if v != nil {
65059				var oDataLinkedServiceTypeProperties ODataLinkedServiceTypeProperties
65060				err = json.Unmarshal(*v, &oDataLinkedServiceTypeProperties)
65061				if err != nil {
65062					return err
65063				}
65064				odls.ODataLinkedServiceTypeProperties = &oDataLinkedServiceTypeProperties
65065			}
65066		default:
65067			if v != nil {
65068				var additionalProperties interface{}
65069				err = json.Unmarshal(*v, &additionalProperties)
65070				if err != nil {
65071					return err
65072				}
65073				if odls.AdditionalProperties == nil {
65074					odls.AdditionalProperties = make(map[string]interface{})
65075				}
65076				odls.AdditionalProperties[k] = additionalProperties
65077			}
65078		case "connectVia":
65079			if v != nil {
65080				var connectVia IntegrationRuntimeReference
65081				err = json.Unmarshal(*v, &connectVia)
65082				if err != nil {
65083					return err
65084				}
65085				odls.ConnectVia = &connectVia
65086			}
65087		case "description":
65088			if v != nil {
65089				var description string
65090				err = json.Unmarshal(*v, &description)
65091				if err != nil {
65092					return err
65093				}
65094				odls.Description = &description
65095			}
65096		case "parameters":
65097			if v != nil {
65098				var parameters map[string]*ParameterSpecification
65099				err = json.Unmarshal(*v, &parameters)
65100				if err != nil {
65101					return err
65102				}
65103				odls.Parameters = parameters
65104			}
65105		case "annotations":
65106			if v != nil {
65107				var annotations []interface{}
65108				err = json.Unmarshal(*v, &annotations)
65109				if err != nil {
65110					return err
65111				}
65112				odls.Annotations = &annotations
65113			}
65114		case "type":
65115			if v != nil {
65116				var typeVar TypeBasicLinkedService
65117				err = json.Unmarshal(*v, &typeVar)
65118				if err != nil {
65119					return err
65120				}
65121				odls.Type = typeVar
65122			}
65123		}
65124	}
65125
65126	return nil
65127}
65128
65129// ODataLinkedServiceTypeProperties oData linked service properties.
65130type ODataLinkedServiceTypeProperties struct {
65131	// URL - The URL of the OData service endpoint. Type: string (or Expression with resultType string).
65132	URL interface{} `json:"url,omitempty"`
65133	// AuthenticationType - Type of authentication used to connect to the OData service. Possible values include: 'ODataAuthenticationTypeBasic', 'ODataAuthenticationTypeAnonymous'
65134	AuthenticationType ODataAuthenticationType `json:"authenticationType,omitempty"`
65135	// UserName - User name of the OData service. Type: string (or Expression with resultType string).
65136	UserName interface{} `json:"userName,omitempty"`
65137	// Password - Password of the OData service.
65138	Password BasicSecretBase `json:"password,omitempty"`
65139	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
65140	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
65141}
65142
65143// UnmarshalJSON is the custom unmarshaler for ODataLinkedServiceTypeProperties struct.
65144func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
65145	var m map[string]*json.RawMessage
65146	err := json.Unmarshal(body, &m)
65147	if err != nil {
65148		return err
65149	}
65150	for k, v := range m {
65151		switch k {
65152		case "url":
65153			if v != nil {
65154				var URL interface{}
65155				err = json.Unmarshal(*v, &URL)
65156				if err != nil {
65157					return err
65158				}
65159				odlstp.URL = URL
65160			}
65161		case "authenticationType":
65162			if v != nil {
65163				var authenticationType ODataAuthenticationType
65164				err = json.Unmarshal(*v, &authenticationType)
65165				if err != nil {
65166					return err
65167				}
65168				odlstp.AuthenticationType = authenticationType
65169			}
65170		case "userName":
65171			if v != nil {
65172				var userName interface{}
65173				err = json.Unmarshal(*v, &userName)
65174				if err != nil {
65175					return err
65176				}
65177				odlstp.UserName = userName
65178			}
65179		case "password":
65180			if v != nil {
65181				password, err := unmarshalBasicSecretBase(*v)
65182				if err != nil {
65183					return err
65184				}
65185				odlstp.Password = password
65186			}
65187		case "encryptedCredential":
65188			if v != nil {
65189				var encryptedCredential interface{}
65190				err = json.Unmarshal(*v, &encryptedCredential)
65191				if err != nil {
65192					return err
65193				}
65194				odlstp.EncryptedCredential = encryptedCredential
65195			}
65196		}
65197	}
65198
65199	return nil
65200}
65201
65202// ODataResourceDataset the Open Data Protocol (OData) resource dataset.
65203type ODataResourceDataset struct {
65204	// ODataResourceDatasetTypeProperties - OData dataset properties.
65205	*ODataResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
65206	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
65207	AdditionalProperties map[string]interface{} `json:""`
65208	// Description - Dataset description.
65209	Description *string `json:"description,omitempty"`
65210	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
65211	Structure interface{} `json:"structure,omitempty"`
65212	// LinkedServiceName - Linked service reference.
65213	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
65214	// Parameters - Parameters for dataset.
65215	Parameters map[string]*ParameterSpecification `json:"parameters"`
65216	// Annotations - List of tags that can be used for describing the Dataset.
65217	Annotations *[]interface{} `json:"annotations,omitempty"`
65218	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
65219	Type TypeBasicDataset `json:"type,omitempty"`
65220}
65221
65222// MarshalJSON is the custom marshaler for ODataResourceDataset.
65223func (odrd ODataResourceDataset) MarshalJSON() ([]byte, error) {
65224	odrd.Type = TypeODataResource
65225	objectMap := make(map[string]interface{})
65226	if odrd.ODataResourceDatasetTypeProperties != nil {
65227		objectMap["typeProperties"] = odrd.ODataResourceDatasetTypeProperties
65228	}
65229	if odrd.Description != nil {
65230		objectMap["description"] = odrd.Description
65231	}
65232	if odrd.Structure != nil {
65233		objectMap["structure"] = odrd.Structure
65234	}
65235	if odrd.LinkedServiceName != nil {
65236		objectMap["linkedServiceName"] = odrd.LinkedServiceName
65237	}
65238	if odrd.Parameters != nil {
65239		objectMap["parameters"] = odrd.Parameters
65240	}
65241	if odrd.Annotations != nil {
65242		objectMap["annotations"] = odrd.Annotations
65243	}
65244	if odrd.Type != "" {
65245		objectMap["type"] = odrd.Type
65246	}
65247	for k, v := range odrd.AdditionalProperties {
65248		objectMap[k] = v
65249	}
65250	return json.Marshal(objectMap)
65251}
65252
65253// AsResponsysObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65254func (odrd ODataResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
65255	return nil, false
65256}
65257
65258// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65259func (odrd ODataResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
65260	return nil, false
65261}
65262
65263// AsVerticaTableDataset is the BasicDataset implementation for ODataResourceDataset.
65264func (odrd ODataResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
65265	return nil, false
65266}
65267
65268// AsNetezzaTableDataset is the BasicDataset implementation for ODataResourceDataset.
65269func (odrd ODataResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
65270	return nil, false
65271}
65272
65273// AsZohoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65274func (odrd ODataResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
65275	return nil, false
65276}
65277
65278// AsXeroObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65279func (odrd ODataResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
65280	return nil, false
65281}
65282
65283// AsSquareObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65284func (odrd ODataResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
65285	return nil, false
65286}
65287
65288// AsSparkObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65289func (odrd ODataResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
65290	return nil, false
65291}
65292
65293// AsShopifyObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65294func (odrd ODataResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
65295	return nil, false
65296}
65297
65298// AsServiceNowObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65299func (odrd ODataResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
65300	return nil, false
65301}
65302
65303// AsQuickBooksObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65304func (odrd ODataResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
65305	return nil, false
65306}
65307
65308// AsPrestoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65309func (odrd ODataResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
65310	return nil, false
65311}
65312
65313// AsPhoenixObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65314func (odrd ODataResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
65315	return nil, false
65316}
65317
65318// AsPaypalObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65319func (odrd ODataResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
65320	return nil, false
65321}
65322
65323// AsMarketoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65324func (odrd ODataResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
65325	return nil, false
65326}
65327
65328// AsMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset.
65329func (odrd ODataResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
65330	return nil, false
65331}
65332
65333// AsMagentoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65334func (odrd ODataResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
65335	return nil, false
65336}
65337
65338// AsJiraObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65339func (odrd ODataResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
65340	return nil, false
65341}
65342
65343// AsImpalaObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65344func (odrd ODataResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
65345	return nil, false
65346}
65347
65348// AsHubspotObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65349func (odrd ODataResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
65350	return nil, false
65351}
65352
65353// AsHiveObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65354func (odrd ODataResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
65355	return nil, false
65356}
65357
65358// AsHBaseObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65359func (odrd ODataResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
65360	return nil, false
65361}
65362
65363// AsGreenplumTableDataset is the BasicDataset implementation for ODataResourceDataset.
65364func (odrd ODataResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
65365	return nil, false
65366}
65367
65368// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65369func (odrd ODataResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
65370	return nil, false
65371}
65372
65373// AsEloquaObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65374func (odrd ODataResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
65375	return nil, false
65376}
65377
65378// AsDrillTableDataset is the BasicDataset implementation for ODataResourceDataset.
65379func (odrd ODataResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
65380	return nil, false
65381}
65382
65383// AsCouchbaseTableDataset is the BasicDataset implementation for ODataResourceDataset.
65384func (odrd ODataResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
65385	return nil, false
65386}
65387
65388// AsConcurObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65389func (odrd ODataResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
65390	return nil, false
65391}
65392
65393// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
65394func (odrd ODataResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
65395	return nil, false
65396}
65397
65398// AsAmazonMWSObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65399func (odrd ODataResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
65400	return nil, false
65401}
65402
65403// AsHTTPDataset is the BasicDataset implementation for ODataResourceDataset.
65404func (odrd ODataResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
65405	return nil, false
65406}
65407
65408// AsAzureSearchIndexDataset is the BasicDataset implementation for ODataResourceDataset.
65409func (odrd ODataResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
65410	return nil, false
65411}
65412
65413// AsWebTableDataset is the BasicDataset implementation for ODataResourceDataset.
65414func (odrd ODataResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
65415	return nil, false
65416}
65417
65418// AsSQLServerTableDataset is the BasicDataset implementation for ODataResourceDataset.
65419func (odrd ODataResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
65420	return nil, false
65421}
65422
65423// AsSapEccResourceDataset is the BasicDataset implementation for ODataResourceDataset.
65424func (odrd ODataResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
65425	return nil, false
65426}
65427
65428// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ODataResourceDataset.
65429func (odrd ODataResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
65430	return nil, false
65431}
65432
65433// AsSalesforceObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65434func (odrd ODataResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
65435	return nil, false
65436}
65437
65438// AsRelationalTableDataset is the BasicDataset implementation for ODataResourceDataset.
65439func (odrd ODataResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
65440	return nil, false
65441}
65442
65443// AsAzureMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
65444func (odrd ODataResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
65445	return nil, false
65446}
65447
65448// AsOracleTableDataset is the BasicDataset implementation for ODataResourceDataset.
65449func (odrd ODataResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
65450	return nil, false
65451}
65452
65453// AsODataResourceDataset is the BasicDataset implementation for ODataResourceDataset.
65454func (odrd ODataResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
65455	return &odrd, true
65456}
65457
65458// AsMongoDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset.
65459func (odrd ODataResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
65460	return nil, false
65461}
65462
65463// AsFileShareDataset is the BasicDataset implementation for ODataResourceDataset.
65464func (odrd ODataResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
65465	return nil, false
65466}
65467
65468// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ODataResourceDataset.
65469func (odrd ODataResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
65470	return nil, false
65471}
65472
65473// AsDynamicsEntityDataset is the BasicDataset implementation for ODataResourceDataset.
65474func (odrd ODataResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
65475	return nil, false
65476}
65477
65478// AsDocumentDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset.
65479func (odrd ODataResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
65480	return nil, false
65481}
65482
65483// AsCustomDataset is the BasicDataset implementation for ODataResourceDataset.
65484func (odrd ODataResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
65485	return nil, false
65486}
65487
65488// AsCassandraTableDataset is the BasicDataset implementation for ODataResourceDataset.
65489func (odrd ODataResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
65490	return nil, false
65491}
65492
65493// AsAzureSQLDWTableDataset is the BasicDataset implementation for ODataResourceDataset.
65494func (odrd ODataResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
65495	return nil, false
65496}
65497
65498// AsAzureSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
65499func (odrd ODataResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
65500	return nil, false
65501}
65502
65503// AsAzureTableDataset is the BasicDataset implementation for ODataResourceDataset.
65504func (odrd ODataResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
65505	return nil, false
65506}
65507
65508// AsAzureBlobDataset is the BasicDataset implementation for ODataResourceDataset.
65509func (odrd ODataResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
65510	return nil, false
65511}
65512
65513// AsAmazonS3Dataset is the BasicDataset implementation for ODataResourceDataset.
65514func (odrd ODataResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
65515	return nil, false
65516}
65517
65518// AsDataset is the BasicDataset implementation for ODataResourceDataset.
65519func (odrd ODataResourceDataset) AsDataset() (*Dataset, bool) {
65520	return nil, false
65521}
65522
65523// AsBasicDataset is the BasicDataset implementation for ODataResourceDataset.
65524func (odrd ODataResourceDataset) AsBasicDataset() (BasicDataset, bool) {
65525	return &odrd, true
65526}
65527
65528// UnmarshalJSON is the custom unmarshaler for ODataResourceDataset struct.
65529func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error {
65530	var m map[string]*json.RawMessage
65531	err := json.Unmarshal(body, &m)
65532	if err != nil {
65533		return err
65534	}
65535	for k, v := range m {
65536		switch k {
65537		case "typeProperties":
65538			if v != nil {
65539				var oDataResourceDatasetTypeProperties ODataResourceDatasetTypeProperties
65540				err = json.Unmarshal(*v, &oDataResourceDatasetTypeProperties)
65541				if err != nil {
65542					return err
65543				}
65544				odrd.ODataResourceDatasetTypeProperties = &oDataResourceDatasetTypeProperties
65545			}
65546		default:
65547			if v != nil {
65548				var additionalProperties interface{}
65549				err = json.Unmarshal(*v, &additionalProperties)
65550				if err != nil {
65551					return err
65552				}
65553				if odrd.AdditionalProperties == nil {
65554					odrd.AdditionalProperties = make(map[string]interface{})
65555				}
65556				odrd.AdditionalProperties[k] = additionalProperties
65557			}
65558		case "description":
65559			if v != nil {
65560				var description string
65561				err = json.Unmarshal(*v, &description)
65562				if err != nil {
65563					return err
65564				}
65565				odrd.Description = &description
65566			}
65567		case "structure":
65568			if v != nil {
65569				var structure interface{}
65570				err = json.Unmarshal(*v, &structure)
65571				if err != nil {
65572					return err
65573				}
65574				odrd.Structure = structure
65575			}
65576		case "linkedServiceName":
65577			if v != nil {
65578				var linkedServiceName LinkedServiceReference
65579				err = json.Unmarshal(*v, &linkedServiceName)
65580				if err != nil {
65581					return err
65582				}
65583				odrd.LinkedServiceName = &linkedServiceName
65584			}
65585		case "parameters":
65586			if v != nil {
65587				var parameters map[string]*ParameterSpecification
65588				err = json.Unmarshal(*v, &parameters)
65589				if err != nil {
65590					return err
65591				}
65592				odrd.Parameters = parameters
65593			}
65594		case "annotations":
65595			if v != nil {
65596				var annotations []interface{}
65597				err = json.Unmarshal(*v, &annotations)
65598				if err != nil {
65599					return err
65600				}
65601				odrd.Annotations = &annotations
65602			}
65603		case "type":
65604			if v != nil {
65605				var typeVar TypeBasicDataset
65606				err = json.Unmarshal(*v, &typeVar)
65607				if err != nil {
65608					return err
65609				}
65610				odrd.Type = typeVar
65611			}
65612		}
65613	}
65614
65615	return nil
65616}
65617
65618// ODataResourceDatasetTypeProperties oData dataset properties.
65619type ODataResourceDatasetTypeProperties struct {
65620	// Path - The OData resource path. Type: string (or Expression with resultType string).
65621	Path interface{} `json:"path,omitempty"`
65622}
65623
65624// OdbcLinkedService open Database Connectivity (ODBC) linked service.
65625type OdbcLinkedService struct {
65626	// OdbcLinkedServiceTypeProperties - ODBC linked service properties.
65627	*OdbcLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
65628	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
65629	AdditionalProperties map[string]interface{} `json:""`
65630	// ConnectVia - The integration runtime reference.
65631	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
65632	// Description - Linked service description.
65633	Description *string `json:"description,omitempty"`
65634	// Parameters - Parameters for linked service.
65635	Parameters map[string]*ParameterSpecification `json:"parameters"`
65636	// Annotations - List of tags that can be used for describing the Dataset.
65637	Annotations *[]interface{} `json:"annotations,omitempty"`
65638	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
65639	Type TypeBasicLinkedService `json:"type,omitempty"`
65640}
65641
65642// MarshalJSON is the custom marshaler for OdbcLinkedService.
65643func (ols OdbcLinkedService) MarshalJSON() ([]byte, error) {
65644	ols.Type = TypeOdbc
65645	objectMap := make(map[string]interface{})
65646	if ols.OdbcLinkedServiceTypeProperties != nil {
65647		objectMap["typeProperties"] = ols.OdbcLinkedServiceTypeProperties
65648	}
65649	if ols.ConnectVia != nil {
65650		objectMap["connectVia"] = ols.ConnectVia
65651	}
65652	if ols.Description != nil {
65653		objectMap["description"] = ols.Description
65654	}
65655	if ols.Parameters != nil {
65656		objectMap["parameters"] = ols.Parameters
65657	}
65658	if ols.Annotations != nil {
65659		objectMap["annotations"] = ols.Annotations
65660	}
65661	if ols.Type != "" {
65662		objectMap["type"] = ols.Type
65663	}
65664	for k, v := range ols.AdditionalProperties {
65665		objectMap[k] = v
65666	}
65667	return json.Marshal(objectMap)
65668}
65669
65670// AsResponsysLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65671func (ols OdbcLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
65672	return nil, false
65673}
65674
65675// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65676func (ols OdbcLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
65677	return nil, false
65678}
65679
65680// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65681func (ols OdbcLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
65682	return nil, false
65683}
65684
65685// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65686func (ols OdbcLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
65687	return nil, false
65688}
65689
65690// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65691func (ols OdbcLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
65692	return nil, false
65693}
65694
65695// AsNetezzaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65696func (ols OdbcLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
65697	return nil, false
65698}
65699
65700// AsVerticaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65701func (ols OdbcLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
65702	return nil, false
65703}
65704
65705// AsZohoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65706func (ols OdbcLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
65707	return nil, false
65708}
65709
65710// AsXeroLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65711func (ols OdbcLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
65712	return nil, false
65713}
65714
65715// AsSquareLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65716func (ols OdbcLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
65717	return nil, false
65718}
65719
65720// AsSparkLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65721func (ols OdbcLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
65722	return nil, false
65723}
65724
65725// AsShopifyLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65726func (ols OdbcLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
65727	return nil, false
65728}
65729
65730// AsServiceNowLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65731func (ols OdbcLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
65732	return nil, false
65733}
65734
65735// AsQuickBooksLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65736func (ols OdbcLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
65737	return nil, false
65738}
65739
65740// AsPrestoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65741func (ols OdbcLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
65742	return nil, false
65743}
65744
65745// AsPhoenixLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65746func (ols OdbcLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
65747	return nil, false
65748}
65749
65750// AsPaypalLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65751func (ols OdbcLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
65752	return nil, false
65753}
65754
65755// AsMarketoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65756func (ols OdbcLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
65757	return nil, false
65758}
65759
65760// AsMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65761func (ols OdbcLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
65762	return nil, false
65763}
65764
65765// AsMagentoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65766func (ols OdbcLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
65767	return nil, false
65768}
65769
65770// AsJiraLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65771func (ols OdbcLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
65772	return nil, false
65773}
65774
65775// AsImpalaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65776func (ols OdbcLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
65777	return nil, false
65778}
65779
65780// AsHubspotLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65781func (ols OdbcLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
65782	return nil, false
65783}
65784
65785// AsHiveLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65786func (ols OdbcLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
65787	return nil, false
65788}
65789
65790// AsHBaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65791func (ols OdbcLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
65792	return nil, false
65793}
65794
65795// AsGreenplumLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65796func (ols OdbcLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
65797	return nil, false
65798}
65799
65800// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65801func (ols OdbcLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
65802	return nil, false
65803}
65804
65805// AsEloquaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65806func (ols OdbcLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
65807	return nil, false
65808}
65809
65810// AsDrillLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65811func (ols OdbcLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
65812	return nil, false
65813}
65814
65815// AsCouchbaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65816func (ols OdbcLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
65817	return nil, false
65818}
65819
65820// AsConcurLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65821func (ols OdbcLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
65822	return nil, false
65823}
65824
65825// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65826func (ols OdbcLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
65827	return nil, false
65828}
65829
65830// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65831func (ols OdbcLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
65832	return nil, false
65833}
65834
65835// AsSapHanaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65836func (ols OdbcLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
65837	return nil, false
65838}
65839
65840// AsSapBWLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65841func (ols OdbcLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
65842	return nil, false
65843}
65844
65845// AsSftpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65846func (ols OdbcLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
65847	return nil, false
65848}
65849
65850// AsFtpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65851func (ols OdbcLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
65852	return nil, false
65853}
65854
65855// AsHTTPLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65856func (ols OdbcLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
65857	return nil, false
65858}
65859
65860// AsAzureSearchLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65861func (ols OdbcLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
65862	return nil, false
65863}
65864
65865// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65866func (ols OdbcLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
65867	return nil, false
65868}
65869
65870// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65871func (ols OdbcLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
65872	return nil, false
65873}
65874
65875// AsAmazonS3LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65876func (ols OdbcLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
65877	return nil, false
65878}
65879
65880// AsSapEccLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65881func (ols OdbcLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
65882	return nil, false
65883}
65884
65885// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65886func (ols OdbcLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
65887	return nil, false
65888}
65889
65890// AsSalesforceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65891func (ols OdbcLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
65892	return nil, false
65893}
65894
65895// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65896func (ols OdbcLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
65897	return nil, false
65898}
65899
65900// AsMongoDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65901func (ols OdbcLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
65902	return nil, false
65903}
65904
65905// AsCassandraLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65906func (ols OdbcLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
65907	return nil, false
65908}
65909
65910// AsWebLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65911func (ols OdbcLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
65912	return nil, false
65913}
65914
65915// AsODataLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65916func (ols OdbcLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
65917	return nil, false
65918}
65919
65920// AsHdfsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65921func (ols OdbcLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
65922	return nil, false
65923}
65924
65925// AsOdbcLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65926func (ols OdbcLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
65927	return &ols, true
65928}
65929
65930// AsAzureMLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65931func (ols OdbcLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
65932	return nil, false
65933}
65934
65935// AsTeradataLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65936func (ols OdbcLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
65937	return nil, false
65938}
65939
65940// AsDb2LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65941func (ols OdbcLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
65942	return nil, false
65943}
65944
65945// AsSybaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65946func (ols OdbcLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
65947	return nil, false
65948}
65949
65950// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65951func (ols OdbcLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
65952	return nil, false
65953}
65954
65955// AsMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65956func (ols OdbcLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
65957	return nil, false
65958}
65959
65960// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65961func (ols OdbcLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
65962	return nil, false
65963}
65964
65965// AsOracleLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65966func (ols OdbcLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
65967	return nil, false
65968}
65969
65970// AsFileServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65971func (ols OdbcLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
65972	return nil, false
65973}
65974
65975// AsHDInsightLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65976func (ols OdbcLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
65977	return nil, false
65978}
65979
65980// AsDynamicsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65981func (ols OdbcLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
65982	return nil, false
65983}
65984
65985// AsCosmosDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65986func (ols OdbcLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
65987	return nil, false
65988}
65989
65990// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65991func (ols OdbcLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
65992	return nil, false
65993}
65994
65995// AsAzureBatchLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65996func (ols OdbcLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
65997	return nil, false
65998}
65999
66000// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
66001func (ols OdbcLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
66002	return nil, false
66003}
66004
66005// AsSQLServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
66006func (ols OdbcLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
66007	return nil, false
66008}
66009
66010// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
66011func (ols OdbcLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
66012	return nil, false
66013}
66014
66015// AsAzureStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
66016func (ols OdbcLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
66017	return nil, false
66018}
66019
66020// AsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
66021func (ols OdbcLinkedService) AsLinkedService() (*LinkedService, bool) {
66022	return nil, false
66023}
66024
66025// AsBasicLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
66026func (ols OdbcLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
66027	return &ols, true
66028}
66029
66030// UnmarshalJSON is the custom unmarshaler for OdbcLinkedService struct.
66031func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error {
66032	var m map[string]*json.RawMessage
66033	err := json.Unmarshal(body, &m)
66034	if err != nil {
66035		return err
66036	}
66037	for k, v := range m {
66038		switch k {
66039		case "typeProperties":
66040			if v != nil {
66041				var odbcLinkedServiceTypeProperties OdbcLinkedServiceTypeProperties
66042				err = json.Unmarshal(*v, &odbcLinkedServiceTypeProperties)
66043				if err != nil {
66044					return err
66045				}
66046				ols.OdbcLinkedServiceTypeProperties = &odbcLinkedServiceTypeProperties
66047			}
66048		default:
66049			if v != nil {
66050				var additionalProperties interface{}
66051				err = json.Unmarshal(*v, &additionalProperties)
66052				if err != nil {
66053					return err
66054				}
66055				if ols.AdditionalProperties == nil {
66056					ols.AdditionalProperties = make(map[string]interface{})
66057				}
66058				ols.AdditionalProperties[k] = additionalProperties
66059			}
66060		case "connectVia":
66061			if v != nil {
66062				var connectVia IntegrationRuntimeReference
66063				err = json.Unmarshal(*v, &connectVia)
66064				if err != nil {
66065					return err
66066				}
66067				ols.ConnectVia = &connectVia
66068			}
66069		case "description":
66070			if v != nil {
66071				var description string
66072				err = json.Unmarshal(*v, &description)
66073				if err != nil {
66074					return err
66075				}
66076				ols.Description = &description
66077			}
66078		case "parameters":
66079			if v != nil {
66080				var parameters map[string]*ParameterSpecification
66081				err = json.Unmarshal(*v, &parameters)
66082				if err != nil {
66083					return err
66084				}
66085				ols.Parameters = parameters
66086			}
66087		case "annotations":
66088			if v != nil {
66089				var annotations []interface{}
66090				err = json.Unmarshal(*v, &annotations)
66091				if err != nil {
66092					return err
66093				}
66094				ols.Annotations = &annotations
66095			}
66096		case "type":
66097			if v != nil {
66098				var typeVar TypeBasicLinkedService
66099				err = json.Unmarshal(*v, &typeVar)
66100				if err != nil {
66101					return err
66102				}
66103				ols.Type = typeVar
66104			}
66105		}
66106	}
66107
66108	return nil
66109}
66110
66111// OdbcLinkedServiceTypeProperties ODBC linked service properties.
66112type OdbcLinkedServiceTypeProperties struct {
66113	// ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference.
66114	ConnectionString interface{} `json:"connectionString,omitempty"`
66115	// AuthenticationType - Type of authentication used to connect to the ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string).
66116	AuthenticationType interface{} `json:"authenticationType,omitempty"`
66117	// Credential - The access credential portion of the connection string specified in driver-specific property-value format.
66118	Credential BasicSecretBase `json:"credential,omitempty"`
66119	// UserName - User name for Basic authentication. Type: string (or Expression with resultType string).
66120	UserName interface{} `json:"userName,omitempty"`
66121	// Password - Password for Basic authentication.
66122	Password BasicSecretBase `json:"password,omitempty"`
66123	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
66124	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
66125}
66126
66127// UnmarshalJSON is the custom unmarshaler for OdbcLinkedServiceTypeProperties struct.
66128func (olstp *OdbcLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
66129	var m map[string]*json.RawMessage
66130	err := json.Unmarshal(body, &m)
66131	if err != nil {
66132		return err
66133	}
66134	for k, v := range m {
66135		switch k {
66136		case "connectionString":
66137			if v != nil {
66138				var connectionString interface{}
66139				err = json.Unmarshal(*v, &connectionString)
66140				if err != nil {
66141					return err
66142				}
66143				olstp.ConnectionString = connectionString
66144			}
66145		case "authenticationType":
66146			if v != nil {
66147				var authenticationType interface{}
66148				err = json.Unmarshal(*v, &authenticationType)
66149				if err != nil {
66150					return err
66151				}
66152				olstp.AuthenticationType = authenticationType
66153			}
66154		case "credential":
66155			if v != nil {
66156				credential, err := unmarshalBasicSecretBase(*v)
66157				if err != nil {
66158					return err
66159				}
66160				olstp.Credential = credential
66161			}
66162		case "userName":
66163			if v != nil {
66164				var userName interface{}
66165				err = json.Unmarshal(*v, &userName)
66166				if err != nil {
66167					return err
66168				}
66169				olstp.UserName = userName
66170			}
66171		case "password":
66172			if v != nil {
66173				password, err := unmarshalBasicSecretBase(*v)
66174				if err != nil {
66175					return err
66176				}
66177				olstp.Password = password
66178			}
66179		case "encryptedCredential":
66180			if v != nil {
66181				var encryptedCredential interface{}
66182				err = json.Unmarshal(*v, &encryptedCredential)
66183				if err != nil {
66184					return err
66185				}
66186				olstp.EncryptedCredential = encryptedCredential
66187			}
66188		}
66189	}
66190
66191	return nil
66192}
66193
66194// OdbcSink a copy activity ODBC sink.
66195type OdbcSink struct {
66196	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
66197	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
66198	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
66199	AdditionalProperties map[string]interface{} `json:""`
66200	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
66201	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
66202	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
66203	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
66204	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
66205	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
66206	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
66207	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
66208	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
66209	Type TypeBasicCopySink `json:"type,omitempty"`
66210}
66211
66212// MarshalJSON is the custom marshaler for OdbcSink.
66213func (osVar OdbcSink) MarshalJSON() ([]byte, error) {
66214	osVar.Type = TypeOdbcSink
66215	objectMap := make(map[string]interface{})
66216	if osVar.PreCopyScript != nil {
66217		objectMap["preCopyScript"] = osVar.PreCopyScript
66218	}
66219	if osVar.WriteBatchSize != nil {
66220		objectMap["writeBatchSize"] = osVar.WriteBatchSize
66221	}
66222	if osVar.WriteBatchTimeout != nil {
66223		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
66224	}
66225	if osVar.SinkRetryCount != nil {
66226		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
66227	}
66228	if osVar.SinkRetryWait != nil {
66229		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
66230	}
66231	if osVar.Type != "" {
66232		objectMap["type"] = osVar.Type
66233	}
66234	for k, v := range osVar.AdditionalProperties {
66235		objectMap[k] = v
66236	}
66237	return json.Marshal(objectMap)
66238}
66239
66240// AsSalesforceSink is the BasicCopySink implementation for OdbcSink.
66241func (osVar OdbcSink) AsSalesforceSink() (*SalesforceSink, bool) {
66242	return nil, false
66243}
66244
66245// AsDynamicsSink is the BasicCopySink implementation for OdbcSink.
66246func (osVar OdbcSink) AsDynamicsSink() (*DynamicsSink, bool) {
66247	return nil, false
66248}
66249
66250// AsOdbcSink is the BasicCopySink implementation for OdbcSink.
66251func (osVar OdbcSink) AsOdbcSink() (*OdbcSink, bool) {
66252	return &osVar, true
66253}
66254
66255// AsAzureSearchIndexSink is the BasicCopySink implementation for OdbcSink.
66256func (osVar OdbcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
66257	return nil, false
66258}
66259
66260// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OdbcSink.
66261func (osVar OdbcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
66262	return nil, false
66263}
66264
66265// AsOracleSink is the BasicCopySink implementation for OdbcSink.
66266func (osVar OdbcSink) AsOracleSink() (*OracleSink, bool) {
66267	return nil, false
66268}
66269
66270// AsSQLDWSink is the BasicCopySink implementation for OdbcSink.
66271func (osVar OdbcSink) AsSQLDWSink() (*SQLDWSink, bool) {
66272	return nil, false
66273}
66274
66275// AsSQLSink is the BasicCopySink implementation for OdbcSink.
66276func (osVar OdbcSink) AsSQLSink() (*SQLSink, bool) {
66277	return nil, false
66278}
66279
66280// AsDocumentDbCollectionSink is the BasicCopySink implementation for OdbcSink.
66281func (osVar OdbcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
66282	return nil, false
66283}
66284
66285// AsFileSystemSink is the BasicCopySink implementation for OdbcSink.
66286func (osVar OdbcSink) AsFileSystemSink() (*FileSystemSink, bool) {
66287	return nil, false
66288}
66289
66290// AsBlobSink is the BasicCopySink implementation for OdbcSink.
66291func (osVar OdbcSink) AsBlobSink() (*BlobSink, bool) {
66292	return nil, false
66293}
66294
66295// AsAzureTableSink is the BasicCopySink implementation for OdbcSink.
66296func (osVar OdbcSink) AsAzureTableSink() (*AzureTableSink, bool) {
66297	return nil, false
66298}
66299
66300// AsAzureQueueSink is the BasicCopySink implementation for OdbcSink.
66301func (osVar OdbcSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
66302	return nil, false
66303}
66304
66305// AsSapCloudForCustomerSink is the BasicCopySink implementation for OdbcSink.
66306func (osVar OdbcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
66307	return nil, false
66308}
66309
66310// AsCopySink is the BasicCopySink implementation for OdbcSink.
66311func (osVar OdbcSink) AsCopySink() (*CopySink, bool) {
66312	return nil, false
66313}
66314
66315// AsBasicCopySink is the BasicCopySink implementation for OdbcSink.
66316func (osVar OdbcSink) AsBasicCopySink() (BasicCopySink, bool) {
66317	return &osVar, true
66318}
66319
66320// UnmarshalJSON is the custom unmarshaler for OdbcSink struct.
66321func (osVar *OdbcSink) UnmarshalJSON(body []byte) error {
66322	var m map[string]*json.RawMessage
66323	err := json.Unmarshal(body, &m)
66324	if err != nil {
66325		return err
66326	}
66327	for k, v := range m {
66328		switch k {
66329		case "preCopyScript":
66330			if v != nil {
66331				var preCopyScript interface{}
66332				err = json.Unmarshal(*v, &preCopyScript)
66333				if err != nil {
66334					return err
66335				}
66336				osVar.PreCopyScript = preCopyScript
66337			}
66338		default:
66339			if v != nil {
66340				var additionalProperties interface{}
66341				err = json.Unmarshal(*v, &additionalProperties)
66342				if err != nil {
66343					return err
66344				}
66345				if osVar.AdditionalProperties == nil {
66346					osVar.AdditionalProperties = make(map[string]interface{})
66347				}
66348				osVar.AdditionalProperties[k] = additionalProperties
66349			}
66350		case "writeBatchSize":
66351			if v != nil {
66352				var writeBatchSize interface{}
66353				err = json.Unmarshal(*v, &writeBatchSize)
66354				if err != nil {
66355					return err
66356				}
66357				osVar.WriteBatchSize = writeBatchSize
66358			}
66359		case "writeBatchTimeout":
66360			if v != nil {
66361				var writeBatchTimeout interface{}
66362				err = json.Unmarshal(*v, &writeBatchTimeout)
66363				if err != nil {
66364					return err
66365				}
66366				osVar.WriteBatchTimeout = writeBatchTimeout
66367			}
66368		case "sinkRetryCount":
66369			if v != nil {
66370				var sinkRetryCount interface{}
66371				err = json.Unmarshal(*v, &sinkRetryCount)
66372				if err != nil {
66373					return err
66374				}
66375				osVar.SinkRetryCount = sinkRetryCount
66376			}
66377		case "sinkRetryWait":
66378			if v != nil {
66379				var sinkRetryWait interface{}
66380				err = json.Unmarshal(*v, &sinkRetryWait)
66381				if err != nil {
66382					return err
66383				}
66384				osVar.SinkRetryWait = sinkRetryWait
66385			}
66386		case "type":
66387			if v != nil {
66388				var typeVar TypeBasicCopySink
66389				err = json.Unmarshal(*v, &typeVar)
66390				if err != nil {
66391					return err
66392				}
66393				osVar.Type = typeVar
66394			}
66395		}
66396	}
66397
66398	return nil
66399}
66400
66401// Operation azure Data Factory API operation definition.
66402type Operation struct {
66403	// Name - Operation name: {provider}/{resource}/{operation}
66404	Name *string `json:"name,omitempty"`
66405	// Origin - The intended executor of the operation.
66406	Origin *string `json:"origin,omitempty"`
66407	// Display - Metadata associated with the operation.
66408	Display *OperationDisplay `json:"display,omitempty"`
66409	// OperationProperties - Additional details about the operation.
66410	*OperationProperties `json:"properties,omitempty"`
66411}
66412
66413// MarshalJSON is the custom marshaler for Operation.
66414func (o Operation) MarshalJSON() ([]byte, error) {
66415	objectMap := make(map[string]interface{})
66416	if o.Name != nil {
66417		objectMap["name"] = o.Name
66418	}
66419	if o.Origin != nil {
66420		objectMap["origin"] = o.Origin
66421	}
66422	if o.Display != nil {
66423		objectMap["display"] = o.Display
66424	}
66425	if o.OperationProperties != nil {
66426		objectMap["properties"] = o.OperationProperties
66427	}
66428	return json.Marshal(objectMap)
66429}
66430
66431// UnmarshalJSON is the custom unmarshaler for Operation struct.
66432func (o *Operation) UnmarshalJSON(body []byte) error {
66433	var m map[string]*json.RawMessage
66434	err := json.Unmarshal(body, &m)
66435	if err != nil {
66436		return err
66437	}
66438	for k, v := range m {
66439		switch k {
66440		case "name":
66441			if v != nil {
66442				var name string
66443				err = json.Unmarshal(*v, &name)
66444				if err != nil {
66445					return err
66446				}
66447				o.Name = &name
66448			}
66449		case "origin":
66450			if v != nil {
66451				var origin string
66452				err = json.Unmarshal(*v, &origin)
66453				if err != nil {
66454					return err
66455				}
66456				o.Origin = &origin
66457			}
66458		case "display":
66459			if v != nil {
66460				var display OperationDisplay
66461				err = json.Unmarshal(*v, &display)
66462				if err != nil {
66463					return err
66464				}
66465				o.Display = &display
66466			}
66467		case "properties":
66468			if v != nil {
66469				var operationProperties OperationProperties
66470				err = json.Unmarshal(*v, &operationProperties)
66471				if err != nil {
66472					return err
66473				}
66474				o.OperationProperties = &operationProperties
66475			}
66476		}
66477	}
66478
66479	return nil
66480}
66481
66482// OperationDisplay metadata associated with the operation.
66483type OperationDisplay struct {
66484	// Description - The description of the operation.
66485	Description *string `json:"description,omitempty"`
66486	// Provider - The name of the provider.
66487	Provider *string `json:"provider,omitempty"`
66488	// Resource - The name of the resource type on which the operation is performed.
66489	Resource *string `json:"resource,omitempty"`
66490	// Operation - The type of operation: get, read, delete, etc.
66491	Operation *string `json:"operation,omitempty"`
66492}
66493
66494// OperationListResponse a list of operations that can be performed by the Data Factory service.
66495type OperationListResponse struct {
66496	autorest.Response `json:"-"`
66497	// Value - List of Data Factory operations supported by the Data Factory resource provider.
66498	Value *[]Operation `json:"value,omitempty"`
66499	// NextLink - The link to the next page of results, if any remaining results exist.
66500	NextLink *string `json:"nextLink,omitempty"`
66501}
66502
66503// OperationLogSpecification details about an operation related to logs.
66504type OperationLogSpecification struct {
66505	// Name - The name of the log category.
66506	Name *string `json:"name,omitempty"`
66507	// DisplayName - Localized display name.
66508	DisplayName *string `json:"displayName,omitempty"`
66509	// BlobDuration - Blobs created in the customer storage account, per hour.
66510	BlobDuration *string `json:"blobDuration,omitempty"`
66511}
66512
66513// OperationMetricAvailability defines how often data for a metric becomes available.
66514type OperationMetricAvailability struct {
66515	// TimeGrain - The granularity for the metric.
66516	TimeGrain *string `json:"timeGrain,omitempty"`
66517	// BlobDuration - Blob created in the customer storage account, per hour.
66518	BlobDuration *string `json:"blobDuration,omitempty"`
66519}
66520
66521// OperationMetricSpecification details about an operation related to metrics.
66522type OperationMetricSpecification struct {
66523	// Name - The name of the metric.
66524	Name *string `json:"name,omitempty"`
66525	// DisplayName - Localized display name of the metric.
66526	DisplayName *string `json:"displayName,omitempty"`
66527	// DisplayDescription - The description of the metric.
66528	DisplayDescription *string `json:"displayDescription,omitempty"`
66529	// Unit - The unit that the metric is measured in.
66530	Unit *string `json:"unit,omitempty"`
66531	// AggregationType - The type of metric aggregation.
66532	AggregationType *string `json:"aggregationType,omitempty"`
66533	// EnableRegionalMdmAccount - Whether or not the service is using regional MDM accounts.
66534	EnableRegionalMdmAccount *string `json:"enableRegionalMdmAccount,omitempty"`
66535	// SourceMdmAccount - The name of the MDM account.
66536	SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"`
66537	// SourceMdmNamespace - The name of the MDM namespace.
66538	SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"`
66539	// Availabilities - Defines how often data for metrics becomes available.
66540	Availabilities *[]OperationMetricAvailability `json:"availabilities,omitempty"`
66541}
66542
66543// OperationProperties additional details about an operation.
66544type OperationProperties struct {
66545	// ServiceSpecification - Details about a service operation.
66546	ServiceSpecification *OperationServiceSpecification `json:"serviceSpecification,omitempty"`
66547}
66548
66549// OperationServiceSpecification details about a service operation.
66550type OperationServiceSpecification struct {
66551	// LogSpecifications - Details about operations related to logs.
66552	LogSpecifications *[]OperationLogSpecification `json:"logSpecifications,omitempty"`
66553	// MetricSpecifications - Details about operations related to metrics.
66554	MetricSpecifications *[]OperationMetricSpecification `json:"metricSpecifications,omitempty"`
66555}
66556
66557// OracleLinkedService oracle database.
66558type OracleLinkedService struct {
66559	// OracleLinkedServiceTypeProperties - Oracle database linked service properties.
66560	*OracleLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
66561	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
66562	AdditionalProperties map[string]interface{} `json:""`
66563	// ConnectVia - The integration runtime reference.
66564	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
66565	// Description - Linked service description.
66566	Description *string `json:"description,omitempty"`
66567	// Parameters - Parameters for linked service.
66568	Parameters map[string]*ParameterSpecification `json:"parameters"`
66569	// Annotations - List of tags that can be used for describing the Dataset.
66570	Annotations *[]interface{} `json:"annotations,omitempty"`
66571	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
66572	Type TypeBasicLinkedService `json:"type,omitempty"`
66573}
66574
66575// MarshalJSON is the custom marshaler for OracleLinkedService.
66576func (ols OracleLinkedService) MarshalJSON() ([]byte, error) {
66577	ols.Type = TypeOracle
66578	objectMap := make(map[string]interface{})
66579	if ols.OracleLinkedServiceTypeProperties != nil {
66580		objectMap["typeProperties"] = ols.OracleLinkedServiceTypeProperties
66581	}
66582	if ols.ConnectVia != nil {
66583		objectMap["connectVia"] = ols.ConnectVia
66584	}
66585	if ols.Description != nil {
66586		objectMap["description"] = ols.Description
66587	}
66588	if ols.Parameters != nil {
66589		objectMap["parameters"] = ols.Parameters
66590	}
66591	if ols.Annotations != nil {
66592		objectMap["annotations"] = ols.Annotations
66593	}
66594	if ols.Type != "" {
66595		objectMap["type"] = ols.Type
66596	}
66597	for k, v := range ols.AdditionalProperties {
66598		objectMap[k] = v
66599	}
66600	return json.Marshal(objectMap)
66601}
66602
66603// AsResponsysLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66604func (ols OracleLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
66605	return nil, false
66606}
66607
66608// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66609func (ols OracleLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
66610	return nil, false
66611}
66612
66613// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66614func (ols OracleLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
66615	return nil, false
66616}
66617
66618// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66619func (ols OracleLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
66620	return nil, false
66621}
66622
66623// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66624func (ols OracleLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
66625	return nil, false
66626}
66627
66628// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66629func (ols OracleLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
66630	return nil, false
66631}
66632
66633// AsVerticaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66634func (ols OracleLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
66635	return nil, false
66636}
66637
66638// AsZohoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66639func (ols OracleLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
66640	return nil, false
66641}
66642
66643// AsXeroLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66644func (ols OracleLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
66645	return nil, false
66646}
66647
66648// AsSquareLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66649func (ols OracleLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
66650	return nil, false
66651}
66652
66653// AsSparkLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66654func (ols OracleLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
66655	return nil, false
66656}
66657
66658// AsShopifyLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66659func (ols OracleLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
66660	return nil, false
66661}
66662
66663// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66664func (ols OracleLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
66665	return nil, false
66666}
66667
66668// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66669func (ols OracleLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
66670	return nil, false
66671}
66672
66673// AsPrestoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66674func (ols OracleLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
66675	return nil, false
66676}
66677
66678// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66679func (ols OracleLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
66680	return nil, false
66681}
66682
66683// AsPaypalLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66684func (ols OracleLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
66685	return nil, false
66686}
66687
66688// AsMarketoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66689func (ols OracleLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
66690	return nil, false
66691}
66692
66693// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66694func (ols OracleLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
66695	return nil, false
66696}
66697
66698// AsMagentoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66699func (ols OracleLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
66700	return nil, false
66701}
66702
66703// AsJiraLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66704func (ols OracleLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
66705	return nil, false
66706}
66707
66708// AsImpalaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66709func (ols OracleLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
66710	return nil, false
66711}
66712
66713// AsHubspotLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66714func (ols OracleLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
66715	return nil, false
66716}
66717
66718// AsHiveLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66719func (ols OracleLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
66720	return nil, false
66721}
66722
66723// AsHBaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66724func (ols OracleLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
66725	return nil, false
66726}
66727
66728// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66729func (ols OracleLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
66730	return nil, false
66731}
66732
66733// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66734func (ols OracleLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
66735	return nil, false
66736}
66737
66738// AsEloquaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66739func (ols OracleLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
66740	return nil, false
66741}
66742
66743// AsDrillLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66744func (ols OracleLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
66745	return nil, false
66746}
66747
66748// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66749func (ols OracleLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
66750	return nil, false
66751}
66752
66753// AsConcurLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66754func (ols OracleLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
66755	return nil, false
66756}
66757
66758// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66759func (ols OracleLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
66760	return nil, false
66761}
66762
66763// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66764func (ols OracleLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
66765	return nil, false
66766}
66767
66768// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66769func (ols OracleLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
66770	return nil, false
66771}
66772
66773// AsSapBWLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66774func (ols OracleLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
66775	return nil, false
66776}
66777
66778// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66779func (ols OracleLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
66780	return nil, false
66781}
66782
66783// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66784func (ols OracleLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
66785	return nil, false
66786}
66787
66788// AsHTTPLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66789func (ols OracleLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
66790	return nil, false
66791}
66792
66793// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66794func (ols OracleLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
66795	return nil, false
66796}
66797
66798// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66799func (ols OracleLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
66800	return nil, false
66801}
66802
66803// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66804func (ols OracleLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
66805	return nil, false
66806}
66807
66808// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleLinkedService.
66809func (ols OracleLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
66810	return nil, false
66811}
66812
66813// AsSapEccLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66814func (ols OracleLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
66815	return nil, false
66816}
66817
66818// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66819func (ols OracleLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
66820	return nil, false
66821}
66822
66823// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66824func (ols OracleLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
66825	return nil, false
66826}
66827
66828// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66829func (ols OracleLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
66830	return nil, false
66831}
66832
66833// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66834func (ols OracleLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
66835	return nil, false
66836}
66837
66838// AsCassandraLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66839func (ols OracleLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
66840	return nil, false
66841}
66842
66843// AsWebLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66844func (ols OracleLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
66845	return nil, false
66846}
66847
66848// AsODataLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66849func (ols OracleLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
66850	return nil, false
66851}
66852
66853// AsHdfsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66854func (ols OracleLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
66855	return nil, false
66856}
66857
66858// AsOdbcLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66859func (ols OracleLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
66860	return nil, false
66861}
66862
66863// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66864func (ols OracleLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
66865	return nil, false
66866}
66867
66868// AsTeradataLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66869func (ols OracleLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
66870	return nil, false
66871}
66872
66873// AsDb2LinkedService is the BasicLinkedService implementation for OracleLinkedService.
66874func (ols OracleLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
66875	return nil, false
66876}
66877
66878// AsSybaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66879func (ols OracleLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
66880	return nil, false
66881}
66882
66883// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66884func (ols OracleLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
66885	return nil, false
66886}
66887
66888// AsMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66889func (ols OracleLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
66890	return nil, false
66891}
66892
66893// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66894func (ols OracleLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
66895	return nil, false
66896}
66897
66898// AsOracleLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66899func (ols OracleLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
66900	return &ols, true
66901}
66902
66903// AsFileServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66904func (ols OracleLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
66905	return nil, false
66906}
66907
66908// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66909func (ols OracleLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
66910	return nil, false
66911}
66912
66913// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66914func (ols OracleLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
66915	return nil, false
66916}
66917
66918// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66919func (ols OracleLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
66920	return nil, false
66921}
66922
66923// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66924func (ols OracleLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
66925	return nil, false
66926}
66927
66928// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66929func (ols OracleLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
66930	return nil, false
66931}
66932
66933// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66934func (ols OracleLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
66935	return nil, false
66936}
66937
66938// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66939func (ols OracleLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
66940	return nil, false
66941}
66942
66943// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66944func (ols OracleLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
66945	return nil, false
66946}
66947
66948// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66949func (ols OracleLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
66950	return nil, false
66951}
66952
66953// AsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66954func (ols OracleLinkedService) AsLinkedService() (*LinkedService, bool) {
66955	return nil, false
66956}
66957
66958// AsBasicLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66959func (ols OracleLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
66960	return &ols, true
66961}
66962
66963// UnmarshalJSON is the custom unmarshaler for OracleLinkedService struct.
66964func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error {
66965	var m map[string]*json.RawMessage
66966	err := json.Unmarshal(body, &m)
66967	if err != nil {
66968		return err
66969	}
66970	for k, v := range m {
66971		switch k {
66972		case "typeProperties":
66973			if v != nil {
66974				var oracleLinkedServiceTypeProperties OracleLinkedServiceTypeProperties
66975				err = json.Unmarshal(*v, &oracleLinkedServiceTypeProperties)
66976				if err != nil {
66977					return err
66978				}
66979				ols.OracleLinkedServiceTypeProperties = &oracleLinkedServiceTypeProperties
66980			}
66981		default:
66982			if v != nil {
66983				var additionalProperties interface{}
66984				err = json.Unmarshal(*v, &additionalProperties)
66985				if err != nil {
66986					return err
66987				}
66988				if ols.AdditionalProperties == nil {
66989					ols.AdditionalProperties = make(map[string]interface{})
66990				}
66991				ols.AdditionalProperties[k] = additionalProperties
66992			}
66993		case "connectVia":
66994			if v != nil {
66995				var connectVia IntegrationRuntimeReference
66996				err = json.Unmarshal(*v, &connectVia)
66997				if err != nil {
66998					return err
66999				}
67000				ols.ConnectVia = &connectVia
67001			}
67002		case "description":
67003			if v != nil {
67004				var description string
67005				err = json.Unmarshal(*v, &description)
67006				if err != nil {
67007					return err
67008				}
67009				ols.Description = &description
67010			}
67011		case "parameters":
67012			if v != nil {
67013				var parameters map[string]*ParameterSpecification
67014				err = json.Unmarshal(*v, &parameters)
67015				if err != nil {
67016					return err
67017				}
67018				ols.Parameters = parameters
67019			}
67020		case "annotations":
67021			if v != nil {
67022				var annotations []interface{}
67023				err = json.Unmarshal(*v, &annotations)
67024				if err != nil {
67025					return err
67026				}
67027				ols.Annotations = &annotations
67028			}
67029		case "type":
67030			if v != nil {
67031				var typeVar TypeBasicLinkedService
67032				err = json.Unmarshal(*v, &typeVar)
67033				if err != nil {
67034					return err
67035				}
67036				ols.Type = typeVar
67037			}
67038		}
67039	}
67040
67041	return nil
67042}
67043
67044// OracleLinkedServiceTypeProperties oracle database linked service properties.
67045type OracleLinkedServiceTypeProperties struct {
67046	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
67047	ConnectionString interface{} `json:"connectionString,omitempty"`
67048	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
67049	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
67050}
67051
67052// OracleSink a copy activity Oracle sink.
67053type OracleSink struct {
67054	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
67055	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
67056	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
67057	AdditionalProperties map[string]interface{} `json:""`
67058	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
67059	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
67060	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
67061	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
67062	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
67063	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
67064	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
67065	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
67066	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
67067	Type TypeBasicCopySink `json:"type,omitempty"`
67068}
67069
67070// MarshalJSON is the custom marshaler for OracleSink.
67071func (osVar OracleSink) MarshalJSON() ([]byte, error) {
67072	osVar.Type = TypeOracleSink
67073	objectMap := make(map[string]interface{})
67074	if osVar.PreCopyScript != nil {
67075		objectMap["preCopyScript"] = osVar.PreCopyScript
67076	}
67077	if osVar.WriteBatchSize != nil {
67078		objectMap["writeBatchSize"] = osVar.WriteBatchSize
67079	}
67080	if osVar.WriteBatchTimeout != nil {
67081		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
67082	}
67083	if osVar.SinkRetryCount != nil {
67084		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
67085	}
67086	if osVar.SinkRetryWait != nil {
67087		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
67088	}
67089	if osVar.Type != "" {
67090		objectMap["type"] = osVar.Type
67091	}
67092	for k, v := range osVar.AdditionalProperties {
67093		objectMap[k] = v
67094	}
67095	return json.Marshal(objectMap)
67096}
67097
67098// AsSalesforceSink is the BasicCopySink implementation for OracleSink.
67099func (osVar OracleSink) AsSalesforceSink() (*SalesforceSink, bool) {
67100	return nil, false
67101}
67102
67103// AsDynamicsSink is the BasicCopySink implementation for OracleSink.
67104func (osVar OracleSink) AsDynamicsSink() (*DynamicsSink, bool) {
67105	return nil, false
67106}
67107
67108// AsOdbcSink is the BasicCopySink implementation for OracleSink.
67109func (osVar OracleSink) AsOdbcSink() (*OdbcSink, bool) {
67110	return nil, false
67111}
67112
67113// AsAzureSearchIndexSink is the BasicCopySink implementation for OracleSink.
67114func (osVar OracleSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
67115	return nil, false
67116}
67117
67118// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OracleSink.
67119func (osVar OracleSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
67120	return nil, false
67121}
67122
67123// AsOracleSink is the BasicCopySink implementation for OracleSink.
67124func (osVar OracleSink) AsOracleSink() (*OracleSink, bool) {
67125	return &osVar, true
67126}
67127
67128// AsSQLDWSink is the BasicCopySink implementation for OracleSink.
67129func (osVar OracleSink) AsSQLDWSink() (*SQLDWSink, bool) {
67130	return nil, false
67131}
67132
67133// AsSQLSink is the BasicCopySink implementation for OracleSink.
67134func (osVar OracleSink) AsSQLSink() (*SQLSink, bool) {
67135	return nil, false
67136}
67137
67138// AsDocumentDbCollectionSink is the BasicCopySink implementation for OracleSink.
67139func (osVar OracleSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
67140	return nil, false
67141}
67142
67143// AsFileSystemSink is the BasicCopySink implementation for OracleSink.
67144func (osVar OracleSink) AsFileSystemSink() (*FileSystemSink, bool) {
67145	return nil, false
67146}
67147
67148// AsBlobSink is the BasicCopySink implementation for OracleSink.
67149func (osVar OracleSink) AsBlobSink() (*BlobSink, bool) {
67150	return nil, false
67151}
67152
67153// AsAzureTableSink is the BasicCopySink implementation for OracleSink.
67154func (osVar OracleSink) AsAzureTableSink() (*AzureTableSink, bool) {
67155	return nil, false
67156}
67157
67158// AsAzureQueueSink is the BasicCopySink implementation for OracleSink.
67159func (osVar OracleSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
67160	return nil, false
67161}
67162
67163// AsSapCloudForCustomerSink is the BasicCopySink implementation for OracleSink.
67164func (osVar OracleSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
67165	return nil, false
67166}
67167
67168// AsCopySink is the BasicCopySink implementation for OracleSink.
67169func (osVar OracleSink) AsCopySink() (*CopySink, bool) {
67170	return nil, false
67171}
67172
67173// AsBasicCopySink is the BasicCopySink implementation for OracleSink.
67174func (osVar OracleSink) AsBasicCopySink() (BasicCopySink, bool) {
67175	return &osVar, true
67176}
67177
67178// UnmarshalJSON is the custom unmarshaler for OracleSink struct.
67179func (osVar *OracleSink) UnmarshalJSON(body []byte) error {
67180	var m map[string]*json.RawMessage
67181	err := json.Unmarshal(body, &m)
67182	if err != nil {
67183		return err
67184	}
67185	for k, v := range m {
67186		switch k {
67187		case "preCopyScript":
67188			if v != nil {
67189				var preCopyScript interface{}
67190				err = json.Unmarshal(*v, &preCopyScript)
67191				if err != nil {
67192					return err
67193				}
67194				osVar.PreCopyScript = preCopyScript
67195			}
67196		default:
67197			if v != nil {
67198				var additionalProperties interface{}
67199				err = json.Unmarshal(*v, &additionalProperties)
67200				if err != nil {
67201					return err
67202				}
67203				if osVar.AdditionalProperties == nil {
67204					osVar.AdditionalProperties = make(map[string]interface{})
67205				}
67206				osVar.AdditionalProperties[k] = additionalProperties
67207			}
67208		case "writeBatchSize":
67209			if v != nil {
67210				var writeBatchSize interface{}
67211				err = json.Unmarshal(*v, &writeBatchSize)
67212				if err != nil {
67213					return err
67214				}
67215				osVar.WriteBatchSize = writeBatchSize
67216			}
67217		case "writeBatchTimeout":
67218			if v != nil {
67219				var writeBatchTimeout interface{}
67220				err = json.Unmarshal(*v, &writeBatchTimeout)
67221				if err != nil {
67222					return err
67223				}
67224				osVar.WriteBatchTimeout = writeBatchTimeout
67225			}
67226		case "sinkRetryCount":
67227			if v != nil {
67228				var sinkRetryCount interface{}
67229				err = json.Unmarshal(*v, &sinkRetryCount)
67230				if err != nil {
67231					return err
67232				}
67233				osVar.SinkRetryCount = sinkRetryCount
67234			}
67235		case "sinkRetryWait":
67236			if v != nil {
67237				var sinkRetryWait interface{}
67238				err = json.Unmarshal(*v, &sinkRetryWait)
67239				if err != nil {
67240					return err
67241				}
67242				osVar.SinkRetryWait = sinkRetryWait
67243			}
67244		case "type":
67245			if v != nil {
67246				var typeVar TypeBasicCopySink
67247				err = json.Unmarshal(*v, &typeVar)
67248				if err != nil {
67249					return err
67250				}
67251				osVar.Type = typeVar
67252			}
67253		}
67254	}
67255
67256	return nil
67257}
67258
67259// OracleSource a copy activity Oracle source.
67260type OracleSource struct {
67261	// OracleReaderQuery - Oracle reader query. Type: string (or Expression with resultType string).
67262	OracleReaderQuery interface{} `json:"oracleReaderQuery,omitempty"`
67263	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
67264	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
67265	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
67266	AdditionalProperties map[string]interface{} `json:""`
67267	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
67268	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
67269	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
67270	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
67271	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
67272	Type TypeBasicCopySource `json:"type,omitempty"`
67273}
67274
67275// MarshalJSON is the custom marshaler for OracleSource.
67276func (osVar OracleSource) MarshalJSON() ([]byte, error) {
67277	osVar.Type = TypeOracleSource
67278	objectMap := make(map[string]interface{})
67279	if osVar.OracleReaderQuery != nil {
67280		objectMap["oracleReaderQuery"] = osVar.OracleReaderQuery
67281	}
67282	if osVar.QueryTimeout != nil {
67283		objectMap["queryTimeout"] = osVar.QueryTimeout
67284	}
67285	if osVar.SourceRetryCount != nil {
67286		objectMap["sourceRetryCount"] = osVar.SourceRetryCount
67287	}
67288	if osVar.SourceRetryWait != nil {
67289		objectMap["sourceRetryWait"] = osVar.SourceRetryWait
67290	}
67291	if osVar.Type != "" {
67292		objectMap["type"] = osVar.Type
67293	}
67294	for k, v := range osVar.AdditionalProperties {
67295		objectMap[k] = v
67296	}
67297	return json.Marshal(objectMap)
67298}
67299
67300// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleSource.
67301func (osVar OracleSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
67302	return nil, false
67303}
67304
67305// AsResponsysSource is the BasicCopySource implementation for OracleSource.
67306func (osVar OracleSource) AsResponsysSource() (*ResponsysSource, bool) {
67307	return nil, false
67308}
67309
67310// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleSource.
67311func (osVar OracleSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
67312	return nil, false
67313}
67314
67315// AsVerticaSource is the BasicCopySource implementation for OracleSource.
67316func (osVar OracleSource) AsVerticaSource() (*VerticaSource, bool) {
67317	return nil, false
67318}
67319
67320// AsNetezzaSource is the BasicCopySource implementation for OracleSource.
67321func (osVar OracleSource) AsNetezzaSource() (*NetezzaSource, bool) {
67322	return nil, false
67323}
67324
67325// AsZohoSource is the BasicCopySource implementation for OracleSource.
67326func (osVar OracleSource) AsZohoSource() (*ZohoSource, bool) {
67327	return nil, false
67328}
67329
67330// AsXeroSource is the BasicCopySource implementation for OracleSource.
67331func (osVar OracleSource) AsXeroSource() (*XeroSource, bool) {
67332	return nil, false
67333}
67334
67335// AsSquareSource is the BasicCopySource implementation for OracleSource.
67336func (osVar OracleSource) AsSquareSource() (*SquareSource, bool) {
67337	return nil, false
67338}
67339
67340// AsSparkSource is the BasicCopySource implementation for OracleSource.
67341func (osVar OracleSource) AsSparkSource() (*SparkSource, bool) {
67342	return nil, false
67343}
67344
67345// AsShopifySource is the BasicCopySource implementation for OracleSource.
67346func (osVar OracleSource) AsShopifySource() (*ShopifySource, bool) {
67347	return nil, false
67348}
67349
67350// AsServiceNowSource is the BasicCopySource implementation for OracleSource.
67351func (osVar OracleSource) AsServiceNowSource() (*ServiceNowSource, bool) {
67352	return nil, false
67353}
67354
67355// AsQuickBooksSource is the BasicCopySource implementation for OracleSource.
67356func (osVar OracleSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
67357	return nil, false
67358}
67359
67360// AsPrestoSource is the BasicCopySource implementation for OracleSource.
67361func (osVar OracleSource) AsPrestoSource() (*PrestoSource, bool) {
67362	return nil, false
67363}
67364
67365// AsPhoenixSource is the BasicCopySource implementation for OracleSource.
67366func (osVar OracleSource) AsPhoenixSource() (*PhoenixSource, bool) {
67367	return nil, false
67368}
67369
67370// AsPaypalSource is the BasicCopySource implementation for OracleSource.
67371func (osVar OracleSource) AsPaypalSource() (*PaypalSource, bool) {
67372	return nil, false
67373}
67374
67375// AsMarketoSource is the BasicCopySource implementation for OracleSource.
67376func (osVar OracleSource) AsMarketoSource() (*MarketoSource, bool) {
67377	return nil, false
67378}
67379
67380// AsMariaDBSource is the BasicCopySource implementation for OracleSource.
67381func (osVar OracleSource) AsMariaDBSource() (*MariaDBSource, bool) {
67382	return nil, false
67383}
67384
67385// AsMagentoSource is the BasicCopySource implementation for OracleSource.
67386func (osVar OracleSource) AsMagentoSource() (*MagentoSource, bool) {
67387	return nil, false
67388}
67389
67390// AsJiraSource is the BasicCopySource implementation for OracleSource.
67391func (osVar OracleSource) AsJiraSource() (*JiraSource, bool) {
67392	return nil, false
67393}
67394
67395// AsImpalaSource is the BasicCopySource implementation for OracleSource.
67396func (osVar OracleSource) AsImpalaSource() (*ImpalaSource, bool) {
67397	return nil, false
67398}
67399
67400// AsHubspotSource is the BasicCopySource implementation for OracleSource.
67401func (osVar OracleSource) AsHubspotSource() (*HubspotSource, bool) {
67402	return nil, false
67403}
67404
67405// AsHiveSource is the BasicCopySource implementation for OracleSource.
67406func (osVar OracleSource) AsHiveSource() (*HiveSource, bool) {
67407	return nil, false
67408}
67409
67410// AsHBaseSource is the BasicCopySource implementation for OracleSource.
67411func (osVar OracleSource) AsHBaseSource() (*HBaseSource, bool) {
67412	return nil, false
67413}
67414
67415// AsGreenplumSource is the BasicCopySource implementation for OracleSource.
67416func (osVar OracleSource) AsGreenplumSource() (*GreenplumSource, bool) {
67417	return nil, false
67418}
67419
67420// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleSource.
67421func (osVar OracleSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
67422	return nil, false
67423}
67424
67425// AsEloquaSource is the BasicCopySource implementation for OracleSource.
67426func (osVar OracleSource) AsEloquaSource() (*EloquaSource, bool) {
67427	return nil, false
67428}
67429
67430// AsDrillSource is the BasicCopySource implementation for OracleSource.
67431func (osVar OracleSource) AsDrillSource() (*DrillSource, bool) {
67432	return nil, false
67433}
67434
67435// AsCouchbaseSource is the BasicCopySource implementation for OracleSource.
67436func (osVar OracleSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
67437	return nil, false
67438}
67439
67440// AsConcurSource is the BasicCopySource implementation for OracleSource.
67441func (osVar OracleSource) AsConcurSource() (*ConcurSource, bool) {
67442	return nil, false
67443}
67444
67445// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleSource.
67446func (osVar OracleSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
67447	return nil, false
67448}
67449
67450// AsAmazonMWSSource is the BasicCopySource implementation for OracleSource.
67451func (osVar OracleSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
67452	return nil, false
67453}
67454
67455// AsHTTPSource is the BasicCopySource implementation for OracleSource.
67456func (osVar OracleSource) AsHTTPSource() (*HTTPSource, bool) {
67457	return nil, false
67458}
67459
67460// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleSource.
67461func (osVar OracleSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
67462	return nil, false
67463}
67464
67465// AsMongoDbSource is the BasicCopySource implementation for OracleSource.
67466func (osVar OracleSource) AsMongoDbSource() (*MongoDbSource, bool) {
67467	return nil, false
67468}
67469
67470// AsCassandraSource is the BasicCopySource implementation for OracleSource.
67471func (osVar OracleSource) AsCassandraSource() (*CassandraSource, bool) {
67472	return nil, false
67473}
67474
67475// AsWebSource is the BasicCopySource implementation for OracleSource.
67476func (osVar OracleSource) AsWebSource() (*WebSource, bool) {
67477	return nil, false
67478}
67479
67480// AsOracleSource is the BasicCopySource implementation for OracleSource.
67481func (osVar OracleSource) AsOracleSource() (*OracleSource, bool) {
67482	return &osVar, true
67483}
67484
67485// AsAzureMySQLSource is the BasicCopySource implementation for OracleSource.
67486func (osVar OracleSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
67487	return nil, false
67488}
67489
67490// AsHdfsSource is the BasicCopySource implementation for OracleSource.
67491func (osVar OracleSource) AsHdfsSource() (*HdfsSource, bool) {
67492	return nil, false
67493}
67494
67495// AsFileSystemSource is the BasicCopySource implementation for OracleSource.
67496func (osVar OracleSource) AsFileSystemSource() (*FileSystemSource, bool) {
67497	return nil, false
67498}
67499
67500// AsSQLDWSource is the BasicCopySource implementation for OracleSource.
67501func (osVar OracleSource) AsSQLDWSource() (*SQLDWSource, bool) {
67502	return nil, false
67503}
67504
67505// AsSQLSource is the BasicCopySource implementation for OracleSource.
67506func (osVar OracleSource) AsSQLSource() (*SQLSource, bool) {
67507	return nil, false
67508}
67509
67510// AsSapEccSource is the BasicCopySource implementation for OracleSource.
67511func (osVar OracleSource) AsSapEccSource() (*SapEccSource, bool) {
67512	return nil, false
67513}
67514
67515// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleSource.
67516func (osVar OracleSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
67517	return nil, false
67518}
67519
67520// AsSalesforceSource is the BasicCopySource implementation for OracleSource.
67521func (osVar OracleSource) AsSalesforceSource() (*SalesforceSource, bool) {
67522	return nil, false
67523}
67524
67525// AsRelationalSource is the BasicCopySource implementation for OracleSource.
67526func (osVar OracleSource) AsRelationalSource() (*RelationalSource, bool) {
67527	return nil, false
67528}
67529
67530// AsDynamicsSource is the BasicCopySource implementation for OracleSource.
67531func (osVar OracleSource) AsDynamicsSource() (*DynamicsSource, bool) {
67532	return nil, false
67533}
67534
67535// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleSource.
67536func (osVar OracleSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
67537	return nil, false
67538}
67539
67540// AsBlobSource is the BasicCopySource implementation for OracleSource.
67541func (osVar OracleSource) AsBlobSource() (*BlobSource, bool) {
67542	return nil, false
67543}
67544
67545// AsAzureTableSource is the BasicCopySource implementation for OracleSource.
67546func (osVar OracleSource) AsAzureTableSource() (*AzureTableSource, bool) {
67547	return nil, false
67548}
67549
67550// AsCopySource is the BasicCopySource implementation for OracleSource.
67551func (osVar OracleSource) AsCopySource() (*CopySource, bool) {
67552	return nil, false
67553}
67554
67555// AsBasicCopySource is the BasicCopySource implementation for OracleSource.
67556func (osVar OracleSource) AsBasicCopySource() (BasicCopySource, bool) {
67557	return &osVar, true
67558}
67559
67560// UnmarshalJSON is the custom unmarshaler for OracleSource struct.
67561func (osVar *OracleSource) UnmarshalJSON(body []byte) error {
67562	var m map[string]*json.RawMessage
67563	err := json.Unmarshal(body, &m)
67564	if err != nil {
67565		return err
67566	}
67567	for k, v := range m {
67568		switch k {
67569		case "oracleReaderQuery":
67570			if v != nil {
67571				var oracleReaderQuery interface{}
67572				err = json.Unmarshal(*v, &oracleReaderQuery)
67573				if err != nil {
67574					return err
67575				}
67576				osVar.OracleReaderQuery = oracleReaderQuery
67577			}
67578		case "queryTimeout":
67579			if v != nil {
67580				var queryTimeout interface{}
67581				err = json.Unmarshal(*v, &queryTimeout)
67582				if err != nil {
67583					return err
67584				}
67585				osVar.QueryTimeout = queryTimeout
67586			}
67587		default:
67588			if v != nil {
67589				var additionalProperties interface{}
67590				err = json.Unmarshal(*v, &additionalProperties)
67591				if err != nil {
67592					return err
67593				}
67594				if osVar.AdditionalProperties == nil {
67595					osVar.AdditionalProperties = make(map[string]interface{})
67596				}
67597				osVar.AdditionalProperties[k] = additionalProperties
67598			}
67599		case "sourceRetryCount":
67600			if v != nil {
67601				var sourceRetryCount interface{}
67602				err = json.Unmarshal(*v, &sourceRetryCount)
67603				if err != nil {
67604					return err
67605				}
67606				osVar.SourceRetryCount = sourceRetryCount
67607			}
67608		case "sourceRetryWait":
67609			if v != nil {
67610				var sourceRetryWait interface{}
67611				err = json.Unmarshal(*v, &sourceRetryWait)
67612				if err != nil {
67613					return err
67614				}
67615				osVar.SourceRetryWait = sourceRetryWait
67616			}
67617		case "type":
67618			if v != nil {
67619				var typeVar TypeBasicCopySource
67620				err = json.Unmarshal(*v, &typeVar)
67621				if err != nil {
67622					return err
67623				}
67624				osVar.Type = typeVar
67625			}
67626		}
67627	}
67628
67629	return nil
67630}
67631
67632// OracleTableDataset the on-premises Oracle database dataset.
67633type OracleTableDataset struct {
67634	// OracleTableDatasetTypeProperties - On-premises Oracle dataset properties.
67635	*OracleTableDatasetTypeProperties `json:"typeProperties,omitempty"`
67636	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
67637	AdditionalProperties map[string]interface{} `json:""`
67638	// Description - Dataset description.
67639	Description *string `json:"description,omitempty"`
67640	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
67641	Structure interface{} `json:"structure,omitempty"`
67642	// LinkedServiceName - Linked service reference.
67643	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
67644	// Parameters - Parameters for dataset.
67645	Parameters map[string]*ParameterSpecification `json:"parameters"`
67646	// Annotations - List of tags that can be used for describing the Dataset.
67647	Annotations *[]interface{} `json:"annotations,omitempty"`
67648	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
67649	Type TypeBasicDataset `json:"type,omitempty"`
67650}
67651
67652// MarshalJSON is the custom marshaler for OracleTableDataset.
67653func (otd OracleTableDataset) MarshalJSON() ([]byte, error) {
67654	otd.Type = TypeOracleTable
67655	objectMap := make(map[string]interface{})
67656	if otd.OracleTableDatasetTypeProperties != nil {
67657		objectMap["typeProperties"] = otd.OracleTableDatasetTypeProperties
67658	}
67659	if otd.Description != nil {
67660		objectMap["description"] = otd.Description
67661	}
67662	if otd.Structure != nil {
67663		objectMap["structure"] = otd.Structure
67664	}
67665	if otd.LinkedServiceName != nil {
67666		objectMap["linkedServiceName"] = otd.LinkedServiceName
67667	}
67668	if otd.Parameters != nil {
67669		objectMap["parameters"] = otd.Parameters
67670	}
67671	if otd.Annotations != nil {
67672		objectMap["annotations"] = otd.Annotations
67673	}
67674	if otd.Type != "" {
67675		objectMap["type"] = otd.Type
67676	}
67677	for k, v := range otd.AdditionalProperties {
67678		objectMap[k] = v
67679	}
67680	return json.Marshal(objectMap)
67681}
67682
67683// AsResponsysObjectDataset is the BasicDataset implementation for OracleTableDataset.
67684func (otd OracleTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
67685	return nil, false
67686}
67687
67688// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleTableDataset.
67689func (otd OracleTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
67690	return nil, false
67691}
67692
67693// AsVerticaTableDataset is the BasicDataset implementation for OracleTableDataset.
67694func (otd OracleTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
67695	return nil, false
67696}
67697
67698// AsNetezzaTableDataset is the BasicDataset implementation for OracleTableDataset.
67699func (otd OracleTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
67700	return nil, false
67701}
67702
67703// AsZohoObjectDataset is the BasicDataset implementation for OracleTableDataset.
67704func (otd OracleTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
67705	return nil, false
67706}
67707
67708// AsXeroObjectDataset is the BasicDataset implementation for OracleTableDataset.
67709func (otd OracleTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
67710	return nil, false
67711}
67712
67713// AsSquareObjectDataset is the BasicDataset implementation for OracleTableDataset.
67714func (otd OracleTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
67715	return nil, false
67716}
67717
67718// AsSparkObjectDataset is the BasicDataset implementation for OracleTableDataset.
67719func (otd OracleTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
67720	return nil, false
67721}
67722
67723// AsShopifyObjectDataset is the BasicDataset implementation for OracleTableDataset.
67724func (otd OracleTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
67725	return nil, false
67726}
67727
67728// AsServiceNowObjectDataset is the BasicDataset implementation for OracleTableDataset.
67729func (otd OracleTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
67730	return nil, false
67731}
67732
67733// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleTableDataset.
67734func (otd OracleTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
67735	return nil, false
67736}
67737
67738// AsPrestoObjectDataset is the BasicDataset implementation for OracleTableDataset.
67739func (otd OracleTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
67740	return nil, false
67741}
67742
67743// AsPhoenixObjectDataset is the BasicDataset implementation for OracleTableDataset.
67744func (otd OracleTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
67745	return nil, false
67746}
67747
67748// AsPaypalObjectDataset is the BasicDataset implementation for OracleTableDataset.
67749func (otd OracleTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
67750	return nil, false
67751}
67752
67753// AsMarketoObjectDataset is the BasicDataset implementation for OracleTableDataset.
67754func (otd OracleTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
67755	return nil, false
67756}
67757
67758// AsMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset.
67759func (otd OracleTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
67760	return nil, false
67761}
67762
67763// AsMagentoObjectDataset is the BasicDataset implementation for OracleTableDataset.
67764func (otd OracleTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
67765	return nil, false
67766}
67767
67768// AsJiraObjectDataset is the BasicDataset implementation for OracleTableDataset.
67769func (otd OracleTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
67770	return nil, false
67771}
67772
67773// AsImpalaObjectDataset is the BasicDataset implementation for OracleTableDataset.
67774func (otd OracleTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
67775	return nil, false
67776}
67777
67778// AsHubspotObjectDataset is the BasicDataset implementation for OracleTableDataset.
67779func (otd OracleTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
67780	return nil, false
67781}
67782
67783// AsHiveObjectDataset is the BasicDataset implementation for OracleTableDataset.
67784func (otd OracleTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
67785	return nil, false
67786}
67787
67788// AsHBaseObjectDataset is the BasicDataset implementation for OracleTableDataset.
67789func (otd OracleTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
67790	return nil, false
67791}
67792
67793// AsGreenplumTableDataset is the BasicDataset implementation for OracleTableDataset.
67794func (otd OracleTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
67795	return nil, false
67796}
67797
67798// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleTableDataset.
67799func (otd OracleTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
67800	return nil, false
67801}
67802
67803// AsEloquaObjectDataset is the BasicDataset implementation for OracleTableDataset.
67804func (otd OracleTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
67805	return nil, false
67806}
67807
67808// AsDrillTableDataset is the BasicDataset implementation for OracleTableDataset.
67809func (otd OracleTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
67810	return nil, false
67811}
67812
67813// AsCouchbaseTableDataset is the BasicDataset implementation for OracleTableDataset.
67814func (otd OracleTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
67815	return nil, false
67816}
67817
67818// AsConcurObjectDataset is the BasicDataset implementation for OracleTableDataset.
67819func (otd OracleTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
67820	return nil, false
67821}
67822
67823// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
67824func (otd OracleTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
67825	return nil, false
67826}
67827
67828// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleTableDataset.
67829func (otd OracleTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
67830	return nil, false
67831}
67832
67833// AsHTTPDataset is the BasicDataset implementation for OracleTableDataset.
67834func (otd OracleTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
67835	return nil, false
67836}
67837
67838// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleTableDataset.
67839func (otd OracleTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
67840	return nil, false
67841}
67842
67843// AsWebTableDataset is the BasicDataset implementation for OracleTableDataset.
67844func (otd OracleTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
67845	return nil, false
67846}
67847
67848// AsSQLServerTableDataset is the BasicDataset implementation for OracleTableDataset.
67849func (otd OracleTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
67850	return nil, false
67851}
67852
67853// AsSapEccResourceDataset is the BasicDataset implementation for OracleTableDataset.
67854func (otd OracleTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
67855	return nil, false
67856}
67857
67858// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleTableDataset.
67859func (otd OracleTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
67860	return nil, false
67861}
67862
67863// AsSalesforceObjectDataset is the BasicDataset implementation for OracleTableDataset.
67864func (otd OracleTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
67865	return nil, false
67866}
67867
67868// AsRelationalTableDataset is the BasicDataset implementation for OracleTableDataset.
67869func (otd OracleTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
67870	return nil, false
67871}
67872
67873// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleTableDataset.
67874func (otd OracleTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
67875	return nil, false
67876}
67877
67878// AsOracleTableDataset is the BasicDataset implementation for OracleTableDataset.
67879func (otd OracleTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
67880	return &otd, true
67881}
67882
67883// AsODataResourceDataset is the BasicDataset implementation for OracleTableDataset.
67884func (otd OracleTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
67885	return nil, false
67886}
67887
67888// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleTableDataset.
67889func (otd OracleTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
67890	return nil, false
67891}
67892
67893// AsFileShareDataset is the BasicDataset implementation for OracleTableDataset.
67894func (otd OracleTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
67895	return nil, false
67896}
67897
67898// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OracleTableDataset.
67899func (otd OracleTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
67900	return nil, false
67901}
67902
67903// AsDynamicsEntityDataset is the BasicDataset implementation for OracleTableDataset.
67904func (otd OracleTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
67905	return nil, false
67906}
67907
67908// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleTableDataset.
67909func (otd OracleTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
67910	return nil, false
67911}
67912
67913// AsCustomDataset is the BasicDataset implementation for OracleTableDataset.
67914func (otd OracleTableDataset) AsCustomDataset() (*CustomDataset, bool) {
67915	return nil, false
67916}
67917
67918// AsCassandraTableDataset is the BasicDataset implementation for OracleTableDataset.
67919func (otd OracleTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
67920	return nil, false
67921}
67922
67923// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleTableDataset.
67924func (otd OracleTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
67925	return nil, false
67926}
67927
67928// AsAzureSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
67929func (otd OracleTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
67930	return nil, false
67931}
67932
67933// AsAzureTableDataset is the BasicDataset implementation for OracleTableDataset.
67934func (otd OracleTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
67935	return nil, false
67936}
67937
67938// AsAzureBlobDataset is the BasicDataset implementation for OracleTableDataset.
67939func (otd OracleTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
67940	return nil, false
67941}
67942
67943// AsAmazonS3Dataset is the BasicDataset implementation for OracleTableDataset.
67944func (otd OracleTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
67945	return nil, false
67946}
67947
67948// AsDataset is the BasicDataset implementation for OracleTableDataset.
67949func (otd OracleTableDataset) AsDataset() (*Dataset, bool) {
67950	return nil, false
67951}
67952
67953// AsBasicDataset is the BasicDataset implementation for OracleTableDataset.
67954func (otd OracleTableDataset) AsBasicDataset() (BasicDataset, bool) {
67955	return &otd, true
67956}
67957
67958// UnmarshalJSON is the custom unmarshaler for OracleTableDataset struct.
67959func (otd *OracleTableDataset) UnmarshalJSON(body []byte) error {
67960	var m map[string]*json.RawMessage
67961	err := json.Unmarshal(body, &m)
67962	if err != nil {
67963		return err
67964	}
67965	for k, v := range m {
67966		switch k {
67967		case "typeProperties":
67968			if v != nil {
67969				var oracleTableDatasetTypeProperties OracleTableDatasetTypeProperties
67970				err = json.Unmarshal(*v, &oracleTableDatasetTypeProperties)
67971				if err != nil {
67972					return err
67973				}
67974				otd.OracleTableDatasetTypeProperties = &oracleTableDatasetTypeProperties
67975			}
67976		default:
67977			if v != nil {
67978				var additionalProperties interface{}
67979				err = json.Unmarshal(*v, &additionalProperties)
67980				if err != nil {
67981					return err
67982				}
67983				if otd.AdditionalProperties == nil {
67984					otd.AdditionalProperties = make(map[string]interface{})
67985				}
67986				otd.AdditionalProperties[k] = additionalProperties
67987			}
67988		case "description":
67989			if v != nil {
67990				var description string
67991				err = json.Unmarshal(*v, &description)
67992				if err != nil {
67993					return err
67994				}
67995				otd.Description = &description
67996			}
67997		case "structure":
67998			if v != nil {
67999				var structure interface{}
68000				err = json.Unmarshal(*v, &structure)
68001				if err != nil {
68002					return err
68003				}
68004				otd.Structure = structure
68005			}
68006		case "linkedServiceName":
68007			if v != nil {
68008				var linkedServiceName LinkedServiceReference
68009				err = json.Unmarshal(*v, &linkedServiceName)
68010				if err != nil {
68011					return err
68012				}
68013				otd.LinkedServiceName = &linkedServiceName
68014			}
68015		case "parameters":
68016			if v != nil {
68017				var parameters map[string]*ParameterSpecification
68018				err = json.Unmarshal(*v, &parameters)
68019				if err != nil {
68020					return err
68021				}
68022				otd.Parameters = parameters
68023			}
68024		case "annotations":
68025			if v != nil {
68026				var annotations []interface{}
68027				err = json.Unmarshal(*v, &annotations)
68028				if err != nil {
68029					return err
68030				}
68031				otd.Annotations = &annotations
68032			}
68033		case "type":
68034			if v != nil {
68035				var typeVar TypeBasicDataset
68036				err = json.Unmarshal(*v, &typeVar)
68037				if err != nil {
68038					return err
68039				}
68040				otd.Type = typeVar
68041			}
68042		}
68043	}
68044
68045	return nil
68046}
68047
68048// OracleTableDatasetTypeProperties on-premises Oracle dataset properties.
68049type OracleTableDatasetTypeProperties struct {
68050	// TableName - The table name of the on-premises Oracle database. Type: string (or Expression with resultType string).
68051	TableName interface{} `json:"tableName,omitempty"`
68052}
68053
68054// OrcFormat the data stored in Optimized Row Columnar (ORC) format.
68055type OrcFormat struct {
68056	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68057	AdditionalProperties map[string]interface{} `json:""`
68058	// Serializer - Serializer. Type: string (or Expression with resultType string).
68059	Serializer interface{} `json:"serializer,omitempty"`
68060	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
68061	Deserializer interface{} `json:"deserializer,omitempty"`
68062	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
68063	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
68064}
68065
68066// MarshalJSON is the custom marshaler for OrcFormat.
68067func (of OrcFormat) MarshalJSON() ([]byte, error) {
68068	of.Type = TypeOrcFormat
68069	objectMap := make(map[string]interface{})
68070	if of.Serializer != nil {
68071		objectMap["serializer"] = of.Serializer
68072	}
68073	if of.Deserializer != nil {
68074		objectMap["deserializer"] = of.Deserializer
68075	}
68076	if of.Type != "" {
68077		objectMap["type"] = of.Type
68078	}
68079	for k, v := range of.AdditionalProperties {
68080		objectMap[k] = v
68081	}
68082	return json.Marshal(objectMap)
68083}
68084
68085// AsParquetFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68086func (of OrcFormat) AsParquetFormat() (*ParquetFormat, bool) {
68087	return nil, false
68088}
68089
68090// AsOrcFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68091func (of OrcFormat) AsOrcFormat() (*OrcFormat, bool) {
68092	return &of, true
68093}
68094
68095// AsAvroFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68096func (of OrcFormat) AsAvroFormat() (*AvroFormat, bool) {
68097	return nil, false
68098}
68099
68100// AsJSONFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68101func (of OrcFormat) AsJSONFormat() (*JSONFormat, bool) {
68102	return nil, false
68103}
68104
68105// AsTextFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68106func (of OrcFormat) AsTextFormat() (*TextFormat, bool) {
68107	return nil, false
68108}
68109
68110// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68111func (of OrcFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
68112	return nil, false
68113}
68114
68115// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68116func (of OrcFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
68117	return &of, true
68118}
68119
68120// UnmarshalJSON is the custom unmarshaler for OrcFormat struct.
68121func (of *OrcFormat) UnmarshalJSON(body []byte) error {
68122	var m map[string]*json.RawMessage
68123	err := json.Unmarshal(body, &m)
68124	if err != nil {
68125		return err
68126	}
68127	for k, v := range m {
68128		switch k {
68129		default:
68130			if v != nil {
68131				var additionalProperties interface{}
68132				err = json.Unmarshal(*v, &additionalProperties)
68133				if err != nil {
68134					return err
68135				}
68136				if of.AdditionalProperties == nil {
68137					of.AdditionalProperties = make(map[string]interface{})
68138				}
68139				of.AdditionalProperties[k] = additionalProperties
68140			}
68141		case "serializer":
68142			if v != nil {
68143				var serializer interface{}
68144				err = json.Unmarshal(*v, &serializer)
68145				if err != nil {
68146					return err
68147				}
68148				of.Serializer = serializer
68149			}
68150		case "deserializer":
68151			if v != nil {
68152				var deserializer interface{}
68153				err = json.Unmarshal(*v, &deserializer)
68154				if err != nil {
68155					return err
68156				}
68157				of.Deserializer = deserializer
68158			}
68159		case "type":
68160			if v != nil {
68161				var typeVar TypeBasicDatasetStorageFormat
68162				err = json.Unmarshal(*v, &typeVar)
68163				if err != nil {
68164					return err
68165				}
68166				of.Type = typeVar
68167			}
68168		}
68169	}
68170
68171	return nil
68172}
68173
68174// ParameterSpecification definition of a single parameter for an entity.
68175type ParameterSpecification struct {
68176	// Type - Parameter type. Possible values include: 'ParameterTypeObject', 'ParameterTypeString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeSecureString'
68177	Type ParameterType `json:"type,omitempty"`
68178	// DefaultValue - Default value of parameter.
68179	DefaultValue interface{} `json:"defaultValue,omitempty"`
68180}
68181
68182// ParquetFormat the data stored in Parquet format.
68183type ParquetFormat struct {
68184	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68185	AdditionalProperties map[string]interface{} `json:""`
68186	// Serializer - Serializer. Type: string (or Expression with resultType string).
68187	Serializer interface{} `json:"serializer,omitempty"`
68188	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
68189	Deserializer interface{} `json:"deserializer,omitempty"`
68190	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
68191	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
68192}
68193
68194// MarshalJSON is the custom marshaler for ParquetFormat.
68195func (pf ParquetFormat) MarshalJSON() ([]byte, error) {
68196	pf.Type = TypeParquetFormat
68197	objectMap := make(map[string]interface{})
68198	if pf.Serializer != nil {
68199		objectMap["serializer"] = pf.Serializer
68200	}
68201	if pf.Deserializer != nil {
68202		objectMap["deserializer"] = pf.Deserializer
68203	}
68204	if pf.Type != "" {
68205		objectMap["type"] = pf.Type
68206	}
68207	for k, v := range pf.AdditionalProperties {
68208		objectMap[k] = v
68209	}
68210	return json.Marshal(objectMap)
68211}
68212
68213// AsParquetFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68214func (pf ParquetFormat) AsParquetFormat() (*ParquetFormat, bool) {
68215	return &pf, true
68216}
68217
68218// AsOrcFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68219func (pf ParquetFormat) AsOrcFormat() (*OrcFormat, bool) {
68220	return nil, false
68221}
68222
68223// AsAvroFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68224func (pf ParquetFormat) AsAvroFormat() (*AvroFormat, bool) {
68225	return nil, false
68226}
68227
68228// AsJSONFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68229func (pf ParquetFormat) AsJSONFormat() (*JSONFormat, bool) {
68230	return nil, false
68231}
68232
68233// AsTextFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68234func (pf ParquetFormat) AsTextFormat() (*TextFormat, bool) {
68235	return nil, false
68236}
68237
68238// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68239func (pf ParquetFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
68240	return nil, false
68241}
68242
68243// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68244func (pf ParquetFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
68245	return &pf, true
68246}
68247
68248// UnmarshalJSON is the custom unmarshaler for ParquetFormat struct.
68249func (pf *ParquetFormat) UnmarshalJSON(body []byte) error {
68250	var m map[string]*json.RawMessage
68251	err := json.Unmarshal(body, &m)
68252	if err != nil {
68253		return err
68254	}
68255	for k, v := range m {
68256		switch k {
68257		default:
68258			if v != nil {
68259				var additionalProperties interface{}
68260				err = json.Unmarshal(*v, &additionalProperties)
68261				if err != nil {
68262					return err
68263				}
68264				if pf.AdditionalProperties == nil {
68265					pf.AdditionalProperties = make(map[string]interface{})
68266				}
68267				pf.AdditionalProperties[k] = additionalProperties
68268			}
68269		case "serializer":
68270			if v != nil {
68271				var serializer interface{}
68272				err = json.Unmarshal(*v, &serializer)
68273				if err != nil {
68274					return err
68275				}
68276				pf.Serializer = serializer
68277			}
68278		case "deserializer":
68279			if v != nil {
68280				var deserializer interface{}
68281				err = json.Unmarshal(*v, &deserializer)
68282				if err != nil {
68283					return err
68284				}
68285				pf.Deserializer = deserializer
68286			}
68287		case "type":
68288			if v != nil {
68289				var typeVar TypeBasicDatasetStorageFormat
68290				err = json.Unmarshal(*v, &typeVar)
68291				if err != nil {
68292					return err
68293				}
68294				pf.Type = typeVar
68295			}
68296		}
68297	}
68298
68299	return nil
68300}
68301
68302// PaypalLinkedService paypal Service linked service.
68303type PaypalLinkedService struct {
68304	// PaypalLinkedServiceTypeProperties - Paypal Service linked service properties.
68305	*PaypalLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
68306	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68307	AdditionalProperties map[string]interface{} `json:""`
68308	// ConnectVia - The integration runtime reference.
68309	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
68310	// Description - Linked service description.
68311	Description *string `json:"description,omitempty"`
68312	// Parameters - Parameters for linked service.
68313	Parameters map[string]*ParameterSpecification `json:"parameters"`
68314	// Annotations - List of tags that can be used for describing the Dataset.
68315	Annotations *[]interface{} `json:"annotations,omitempty"`
68316	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
68317	Type TypeBasicLinkedService `json:"type,omitempty"`
68318}
68319
68320// MarshalJSON is the custom marshaler for PaypalLinkedService.
68321func (pls PaypalLinkedService) MarshalJSON() ([]byte, error) {
68322	pls.Type = TypePaypal
68323	objectMap := make(map[string]interface{})
68324	if pls.PaypalLinkedServiceTypeProperties != nil {
68325		objectMap["typeProperties"] = pls.PaypalLinkedServiceTypeProperties
68326	}
68327	if pls.ConnectVia != nil {
68328		objectMap["connectVia"] = pls.ConnectVia
68329	}
68330	if pls.Description != nil {
68331		objectMap["description"] = pls.Description
68332	}
68333	if pls.Parameters != nil {
68334		objectMap["parameters"] = pls.Parameters
68335	}
68336	if pls.Annotations != nil {
68337		objectMap["annotations"] = pls.Annotations
68338	}
68339	if pls.Type != "" {
68340		objectMap["type"] = pls.Type
68341	}
68342	for k, v := range pls.AdditionalProperties {
68343		objectMap[k] = v
68344	}
68345	return json.Marshal(objectMap)
68346}
68347
68348// AsResponsysLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68349func (pls PaypalLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
68350	return nil, false
68351}
68352
68353// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68354func (pls PaypalLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
68355	return nil, false
68356}
68357
68358// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68359func (pls PaypalLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
68360	return nil, false
68361}
68362
68363// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68364func (pls PaypalLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
68365	return nil, false
68366}
68367
68368// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68369func (pls PaypalLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
68370	return nil, false
68371}
68372
68373// AsNetezzaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68374func (pls PaypalLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
68375	return nil, false
68376}
68377
68378// AsVerticaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68379func (pls PaypalLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
68380	return nil, false
68381}
68382
68383// AsZohoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68384func (pls PaypalLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
68385	return nil, false
68386}
68387
68388// AsXeroLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68389func (pls PaypalLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
68390	return nil, false
68391}
68392
68393// AsSquareLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68394func (pls PaypalLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
68395	return nil, false
68396}
68397
68398// AsSparkLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68399func (pls PaypalLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
68400	return nil, false
68401}
68402
68403// AsShopifyLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68404func (pls PaypalLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
68405	return nil, false
68406}
68407
68408// AsServiceNowLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68409func (pls PaypalLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
68410	return nil, false
68411}
68412
68413// AsQuickBooksLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68414func (pls PaypalLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
68415	return nil, false
68416}
68417
68418// AsPrestoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68419func (pls PaypalLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
68420	return nil, false
68421}
68422
68423// AsPhoenixLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68424func (pls PaypalLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
68425	return nil, false
68426}
68427
68428// AsPaypalLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68429func (pls PaypalLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
68430	return &pls, true
68431}
68432
68433// AsMarketoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68434func (pls PaypalLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
68435	return nil, false
68436}
68437
68438// AsMariaDBLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68439func (pls PaypalLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
68440	return nil, false
68441}
68442
68443// AsMagentoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68444func (pls PaypalLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
68445	return nil, false
68446}
68447
68448// AsJiraLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68449func (pls PaypalLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
68450	return nil, false
68451}
68452
68453// AsImpalaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68454func (pls PaypalLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
68455	return nil, false
68456}
68457
68458// AsHubspotLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68459func (pls PaypalLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
68460	return nil, false
68461}
68462
68463// AsHiveLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68464func (pls PaypalLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
68465	return nil, false
68466}
68467
68468// AsHBaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68469func (pls PaypalLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
68470	return nil, false
68471}
68472
68473// AsGreenplumLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68474func (pls PaypalLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
68475	return nil, false
68476}
68477
68478// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68479func (pls PaypalLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
68480	return nil, false
68481}
68482
68483// AsEloquaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68484func (pls PaypalLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
68485	return nil, false
68486}
68487
68488// AsDrillLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68489func (pls PaypalLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
68490	return nil, false
68491}
68492
68493// AsCouchbaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68494func (pls PaypalLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
68495	return nil, false
68496}
68497
68498// AsConcurLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68499func (pls PaypalLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
68500	return nil, false
68501}
68502
68503// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68504func (pls PaypalLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
68505	return nil, false
68506}
68507
68508// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68509func (pls PaypalLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
68510	return nil, false
68511}
68512
68513// AsSapHanaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68514func (pls PaypalLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
68515	return nil, false
68516}
68517
68518// AsSapBWLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68519func (pls PaypalLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
68520	return nil, false
68521}
68522
68523// AsSftpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68524func (pls PaypalLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
68525	return nil, false
68526}
68527
68528// AsFtpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68529func (pls PaypalLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
68530	return nil, false
68531}
68532
68533// AsHTTPLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68534func (pls PaypalLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
68535	return nil, false
68536}
68537
68538// AsAzureSearchLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68539func (pls PaypalLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
68540	return nil, false
68541}
68542
68543// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68544func (pls PaypalLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
68545	return nil, false
68546}
68547
68548// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68549func (pls PaypalLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
68550	return nil, false
68551}
68552
68553// AsAmazonS3LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68554func (pls PaypalLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
68555	return nil, false
68556}
68557
68558// AsSapEccLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68559func (pls PaypalLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
68560	return nil, false
68561}
68562
68563// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68564func (pls PaypalLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
68565	return nil, false
68566}
68567
68568// AsSalesforceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68569func (pls PaypalLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
68570	return nil, false
68571}
68572
68573// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68574func (pls PaypalLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
68575	return nil, false
68576}
68577
68578// AsMongoDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68579func (pls PaypalLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
68580	return nil, false
68581}
68582
68583// AsCassandraLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68584func (pls PaypalLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
68585	return nil, false
68586}
68587
68588// AsWebLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68589func (pls PaypalLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
68590	return nil, false
68591}
68592
68593// AsODataLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68594func (pls PaypalLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
68595	return nil, false
68596}
68597
68598// AsHdfsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68599func (pls PaypalLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
68600	return nil, false
68601}
68602
68603// AsOdbcLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68604func (pls PaypalLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
68605	return nil, false
68606}
68607
68608// AsAzureMLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68609func (pls PaypalLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
68610	return nil, false
68611}
68612
68613// AsTeradataLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68614func (pls PaypalLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
68615	return nil, false
68616}
68617
68618// AsDb2LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68619func (pls PaypalLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
68620	return nil, false
68621}
68622
68623// AsSybaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68624func (pls PaypalLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
68625	return nil, false
68626}
68627
68628// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68629func (pls PaypalLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
68630	return nil, false
68631}
68632
68633// AsMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68634func (pls PaypalLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
68635	return nil, false
68636}
68637
68638// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68639func (pls PaypalLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
68640	return nil, false
68641}
68642
68643// AsOracleLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68644func (pls PaypalLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
68645	return nil, false
68646}
68647
68648// AsFileServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68649func (pls PaypalLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
68650	return nil, false
68651}
68652
68653// AsHDInsightLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68654func (pls PaypalLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
68655	return nil, false
68656}
68657
68658// AsDynamicsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68659func (pls PaypalLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
68660	return nil, false
68661}
68662
68663// AsCosmosDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68664func (pls PaypalLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
68665	return nil, false
68666}
68667
68668// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68669func (pls PaypalLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
68670	return nil, false
68671}
68672
68673// AsAzureBatchLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68674func (pls PaypalLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
68675	return nil, false
68676}
68677
68678// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68679func (pls PaypalLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
68680	return nil, false
68681}
68682
68683// AsSQLServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68684func (pls PaypalLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
68685	return nil, false
68686}
68687
68688// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68689func (pls PaypalLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
68690	return nil, false
68691}
68692
68693// AsAzureStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68694func (pls PaypalLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
68695	return nil, false
68696}
68697
68698// AsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68699func (pls PaypalLinkedService) AsLinkedService() (*LinkedService, bool) {
68700	return nil, false
68701}
68702
68703// AsBasicLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68704func (pls PaypalLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
68705	return &pls, true
68706}
68707
68708// UnmarshalJSON is the custom unmarshaler for PaypalLinkedService struct.
68709func (pls *PaypalLinkedService) UnmarshalJSON(body []byte) error {
68710	var m map[string]*json.RawMessage
68711	err := json.Unmarshal(body, &m)
68712	if err != nil {
68713		return err
68714	}
68715	for k, v := range m {
68716		switch k {
68717		case "typeProperties":
68718			if v != nil {
68719				var paypalLinkedServiceTypeProperties PaypalLinkedServiceTypeProperties
68720				err = json.Unmarshal(*v, &paypalLinkedServiceTypeProperties)
68721				if err != nil {
68722					return err
68723				}
68724				pls.PaypalLinkedServiceTypeProperties = &paypalLinkedServiceTypeProperties
68725			}
68726		default:
68727			if v != nil {
68728				var additionalProperties interface{}
68729				err = json.Unmarshal(*v, &additionalProperties)
68730				if err != nil {
68731					return err
68732				}
68733				if pls.AdditionalProperties == nil {
68734					pls.AdditionalProperties = make(map[string]interface{})
68735				}
68736				pls.AdditionalProperties[k] = additionalProperties
68737			}
68738		case "connectVia":
68739			if v != nil {
68740				var connectVia IntegrationRuntimeReference
68741				err = json.Unmarshal(*v, &connectVia)
68742				if err != nil {
68743					return err
68744				}
68745				pls.ConnectVia = &connectVia
68746			}
68747		case "description":
68748			if v != nil {
68749				var description string
68750				err = json.Unmarshal(*v, &description)
68751				if err != nil {
68752					return err
68753				}
68754				pls.Description = &description
68755			}
68756		case "parameters":
68757			if v != nil {
68758				var parameters map[string]*ParameterSpecification
68759				err = json.Unmarshal(*v, &parameters)
68760				if err != nil {
68761					return err
68762				}
68763				pls.Parameters = parameters
68764			}
68765		case "annotations":
68766			if v != nil {
68767				var annotations []interface{}
68768				err = json.Unmarshal(*v, &annotations)
68769				if err != nil {
68770					return err
68771				}
68772				pls.Annotations = &annotations
68773			}
68774		case "type":
68775			if v != nil {
68776				var typeVar TypeBasicLinkedService
68777				err = json.Unmarshal(*v, &typeVar)
68778				if err != nil {
68779					return err
68780				}
68781				pls.Type = typeVar
68782			}
68783		}
68784	}
68785
68786	return nil
68787}
68788
68789// PaypalLinkedServiceTypeProperties paypal Service linked service properties.
68790type PaypalLinkedServiceTypeProperties struct {
68791	// Host - The URL of the PayPal instance. (i.e. api.sandbox.paypal.com)
68792	Host interface{} `json:"host,omitempty"`
68793	// ClientID - The client ID associated with your PayPal application.
68794	ClientID interface{} `json:"clientId,omitempty"`
68795	// ClientSecret - The client secret associated with your PayPal application.
68796	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
68797	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
68798	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
68799	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
68800	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
68801	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
68802	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
68803	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
68804	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
68805}
68806
68807// UnmarshalJSON is the custom unmarshaler for PaypalLinkedServiceTypeProperties struct.
68808func (plstp *PaypalLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
68809	var m map[string]*json.RawMessage
68810	err := json.Unmarshal(body, &m)
68811	if err != nil {
68812		return err
68813	}
68814	for k, v := range m {
68815		switch k {
68816		case "host":
68817			if v != nil {
68818				var host interface{}
68819				err = json.Unmarshal(*v, &host)
68820				if err != nil {
68821					return err
68822				}
68823				plstp.Host = host
68824			}
68825		case "clientId":
68826			if v != nil {
68827				var clientID interface{}
68828				err = json.Unmarshal(*v, &clientID)
68829				if err != nil {
68830					return err
68831				}
68832				plstp.ClientID = clientID
68833			}
68834		case "clientSecret":
68835			if v != nil {
68836				clientSecret, err := unmarshalBasicSecretBase(*v)
68837				if err != nil {
68838					return err
68839				}
68840				plstp.ClientSecret = clientSecret
68841			}
68842		case "useEncryptedEndpoints":
68843			if v != nil {
68844				var useEncryptedEndpoints interface{}
68845				err = json.Unmarshal(*v, &useEncryptedEndpoints)
68846				if err != nil {
68847					return err
68848				}
68849				plstp.UseEncryptedEndpoints = useEncryptedEndpoints
68850			}
68851		case "useHostVerification":
68852			if v != nil {
68853				var useHostVerification interface{}
68854				err = json.Unmarshal(*v, &useHostVerification)
68855				if err != nil {
68856					return err
68857				}
68858				plstp.UseHostVerification = useHostVerification
68859			}
68860		case "usePeerVerification":
68861			if v != nil {
68862				var usePeerVerification interface{}
68863				err = json.Unmarshal(*v, &usePeerVerification)
68864				if err != nil {
68865					return err
68866				}
68867				plstp.UsePeerVerification = usePeerVerification
68868			}
68869		case "encryptedCredential":
68870			if v != nil {
68871				var encryptedCredential interface{}
68872				err = json.Unmarshal(*v, &encryptedCredential)
68873				if err != nil {
68874					return err
68875				}
68876				plstp.EncryptedCredential = encryptedCredential
68877			}
68878		}
68879	}
68880
68881	return nil
68882}
68883
68884// PaypalObjectDataset paypal Service dataset.
68885type PaypalObjectDataset struct {
68886	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68887	AdditionalProperties map[string]interface{} `json:""`
68888	// Description - Dataset description.
68889	Description *string `json:"description,omitempty"`
68890	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
68891	Structure interface{} `json:"structure,omitempty"`
68892	// LinkedServiceName - Linked service reference.
68893	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
68894	// Parameters - Parameters for dataset.
68895	Parameters map[string]*ParameterSpecification `json:"parameters"`
68896	// Annotations - List of tags that can be used for describing the Dataset.
68897	Annotations *[]interface{} `json:"annotations,omitempty"`
68898	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
68899	Type TypeBasicDataset `json:"type,omitempty"`
68900}
68901
68902// MarshalJSON is the custom marshaler for PaypalObjectDataset.
68903func (pod PaypalObjectDataset) MarshalJSON() ([]byte, error) {
68904	pod.Type = TypePaypalObject
68905	objectMap := make(map[string]interface{})
68906	if pod.Description != nil {
68907		objectMap["description"] = pod.Description
68908	}
68909	if pod.Structure != nil {
68910		objectMap["structure"] = pod.Structure
68911	}
68912	if pod.LinkedServiceName != nil {
68913		objectMap["linkedServiceName"] = pod.LinkedServiceName
68914	}
68915	if pod.Parameters != nil {
68916		objectMap["parameters"] = pod.Parameters
68917	}
68918	if pod.Annotations != nil {
68919		objectMap["annotations"] = pod.Annotations
68920	}
68921	if pod.Type != "" {
68922		objectMap["type"] = pod.Type
68923	}
68924	for k, v := range pod.AdditionalProperties {
68925		objectMap[k] = v
68926	}
68927	return json.Marshal(objectMap)
68928}
68929
68930// AsResponsysObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68931func (pod PaypalObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
68932	return nil, false
68933}
68934
68935// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68936func (pod PaypalObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
68937	return nil, false
68938}
68939
68940// AsVerticaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68941func (pod PaypalObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
68942	return nil, false
68943}
68944
68945// AsNetezzaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68946func (pod PaypalObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
68947	return nil, false
68948}
68949
68950// AsZohoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68951func (pod PaypalObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
68952	return nil, false
68953}
68954
68955// AsXeroObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68956func (pod PaypalObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
68957	return nil, false
68958}
68959
68960// AsSquareObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68961func (pod PaypalObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
68962	return nil, false
68963}
68964
68965// AsSparkObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68966func (pod PaypalObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
68967	return nil, false
68968}
68969
68970// AsShopifyObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68971func (pod PaypalObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
68972	return nil, false
68973}
68974
68975// AsServiceNowObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68976func (pod PaypalObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
68977	return nil, false
68978}
68979
68980// AsQuickBooksObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68981func (pod PaypalObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
68982	return nil, false
68983}
68984
68985// AsPrestoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68986func (pod PaypalObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
68987	return nil, false
68988}
68989
68990// AsPhoenixObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68991func (pod PaypalObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
68992	return nil, false
68993}
68994
68995// AsPaypalObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68996func (pod PaypalObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
68997	return &pod, true
68998}
68999
69000// AsMarketoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69001func (pod PaypalObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
69002	return nil, false
69003}
69004
69005// AsMariaDBTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69006func (pod PaypalObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
69007	return nil, false
69008}
69009
69010// AsMagentoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69011func (pod PaypalObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
69012	return nil, false
69013}
69014
69015// AsJiraObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69016func (pod PaypalObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
69017	return nil, false
69018}
69019
69020// AsImpalaObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69021func (pod PaypalObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
69022	return nil, false
69023}
69024
69025// AsHubspotObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69026func (pod PaypalObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
69027	return nil, false
69028}
69029
69030// AsHiveObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69031func (pod PaypalObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
69032	return nil, false
69033}
69034
69035// AsHBaseObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69036func (pod PaypalObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
69037	return nil, false
69038}
69039
69040// AsGreenplumTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69041func (pod PaypalObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
69042	return nil, false
69043}
69044
69045// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69046func (pod PaypalObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
69047	return nil, false
69048}
69049
69050// AsEloquaObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69051func (pod PaypalObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
69052	return nil, false
69053}
69054
69055// AsDrillTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69056func (pod PaypalObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
69057	return nil, false
69058}
69059
69060// AsCouchbaseTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69061func (pod PaypalObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
69062	return nil, false
69063}
69064
69065// AsConcurObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69066func (pod PaypalObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
69067	return nil, false
69068}
69069
69070// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69071func (pod PaypalObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
69072	return nil, false
69073}
69074
69075// AsAmazonMWSObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69076func (pod PaypalObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
69077	return nil, false
69078}
69079
69080// AsHTTPDataset is the BasicDataset implementation for PaypalObjectDataset.
69081func (pod PaypalObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
69082	return nil, false
69083}
69084
69085// AsAzureSearchIndexDataset is the BasicDataset implementation for PaypalObjectDataset.
69086func (pod PaypalObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
69087	return nil, false
69088}
69089
69090// AsWebTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69091func (pod PaypalObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
69092	return nil, false
69093}
69094
69095// AsSQLServerTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69096func (pod PaypalObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
69097	return nil, false
69098}
69099
69100// AsSapEccResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
69101func (pod PaypalObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
69102	return nil, false
69103}
69104
69105// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
69106func (pod PaypalObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
69107	return nil, false
69108}
69109
69110// AsSalesforceObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69111func (pod PaypalObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
69112	return nil, false
69113}
69114
69115// AsRelationalTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69116func (pod PaypalObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
69117	return nil, false
69118}
69119
69120// AsAzureMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69121func (pod PaypalObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
69122	return nil, false
69123}
69124
69125// AsOracleTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69126func (pod PaypalObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
69127	return nil, false
69128}
69129
69130// AsODataResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
69131func (pod PaypalObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
69132	return nil, false
69133}
69134
69135// AsMongoDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
69136func (pod PaypalObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
69137	return nil, false
69138}
69139
69140// AsFileShareDataset is the BasicDataset implementation for PaypalObjectDataset.
69141func (pod PaypalObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
69142	return nil, false
69143}
69144
69145// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PaypalObjectDataset.
69146func (pod PaypalObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
69147	return nil, false
69148}
69149
69150// AsDynamicsEntityDataset is the BasicDataset implementation for PaypalObjectDataset.
69151func (pod PaypalObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
69152	return nil, false
69153}
69154
69155// AsDocumentDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
69156func (pod PaypalObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
69157	return nil, false
69158}
69159
69160// AsCustomDataset is the BasicDataset implementation for PaypalObjectDataset.
69161func (pod PaypalObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
69162	return nil, false
69163}
69164
69165// AsCassandraTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69166func (pod PaypalObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
69167	return nil, false
69168}
69169
69170// AsAzureSQLDWTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69171func (pod PaypalObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
69172	return nil, false
69173}
69174
69175// AsAzureSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69176func (pod PaypalObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
69177	return nil, false
69178}
69179
69180// AsAzureTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69181func (pod PaypalObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
69182	return nil, false
69183}
69184
69185// AsAzureBlobDataset is the BasicDataset implementation for PaypalObjectDataset.
69186func (pod PaypalObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
69187	return nil, false
69188}
69189
69190// AsAmazonS3Dataset is the BasicDataset implementation for PaypalObjectDataset.
69191func (pod PaypalObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
69192	return nil, false
69193}
69194
69195// AsDataset is the BasicDataset implementation for PaypalObjectDataset.
69196func (pod PaypalObjectDataset) AsDataset() (*Dataset, bool) {
69197	return nil, false
69198}
69199
69200// AsBasicDataset is the BasicDataset implementation for PaypalObjectDataset.
69201func (pod PaypalObjectDataset) AsBasicDataset() (BasicDataset, bool) {
69202	return &pod, true
69203}
69204
69205// UnmarshalJSON is the custom unmarshaler for PaypalObjectDataset struct.
69206func (pod *PaypalObjectDataset) UnmarshalJSON(body []byte) error {
69207	var m map[string]*json.RawMessage
69208	err := json.Unmarshal(body, &m)
69209	if err != nil {
69210		return err
69211	}
69212	for k, v := range m {
69213		switch k {
69214		default:
69215			if v != nil {
69216				var additionalProperties interface{}
69217				err = json.Unmarshal(*v, &additionalProperties)
69218				if err != nil {
69219					return err
69220				}
69221				if pod.AdditionalProperties == nil {
69222					pod.AdditionalProperties = make(map[string]interface{})
69223				}
69224				pod.AdditionalProperties[k] = additionalProperties
69225			}
69226		case "description":
69227			if v != nil {
69228				var description string
69229				err = json.Unmarshal(*v, &description)
69230				if err != nil {
69231					return err
69232				}
69233				pod.Description = &description
69234			}
69235		case "structure":
69236			if v != nil {
69237				var structure interface{}
69238				err = json.Unmarshal(*v, &structure)
69239				if err != nil {
69240					return err
69241				}
69242				pod.Structure = structure
69243			}
69244		case "linkedServiceName":
69245			if v != nil {
69246				var linkedServiceName LinkedServiceReference
69247				err = json.Unmarshal(*v, &linkedServiceName)
69248				if err != nil {
69249					return err
69250				}
69251				pod.LinkedServiceName = &linkedServiceName
69252			}
69253		case "parameters":
69254			if v != nil {
69255				var parameters map[string]*ParameterSpecification
69256				err = json.Unmarshal(*v, &parameters)
69257				if err != nil {
69258					return err
69259				}
69260				pod.Parameters = parameters
69261			}
69262		case "annotations":
69263			if v != nil {
69264				var annotations []interface{}
69265				err = json.Unmarshal(*v, &annotations)
69266				if err != nil {
69267					return err
69268				}
69269				pod.Annotations = &annotations
69270			}
69271		case "type":
69272			if v != nil {
69273				var typeVar TypeBasicDataset
69274				err = json.Unmarshal(*v, &typeVar)
69275				if err != nil {
69276					return err
69277				}
69278				pod.Type = typeVar
69279			}
69280		}
69281	}
69282
69283	return nil
69284}
69285
69286// PaypalSource a copy activity Paypal Service source.
69287type PaypalSource struct {
69288	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
69289	Query interface{} `json:"query,omitempty"`
69290	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
69291	AdditionalProperties map[string]interface{} `json:""`
69292	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
69293	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
69294	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
69295	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
69296	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
69297	Type TypeBasicCopySource `json:"type,omitempty"`
69298}
69299
69300// MarshalJSON is the custom marshaler for PaypalSource.
69301func (ps PaypalSource) MarshalJSON() ([]byte, error) {
69302	ps.Type = TypePaypalSource
69303	objectMap := make(map[string]interface{})
69304	if ps.Query != nil {
69305		objectMap["query"] = ps.Query
69306	}
69307	if ps.SourceRetryCount != nil {
69308		objectMap["sourceRetryCount"] = ps.SourceRetryCount
69309	}
69310	if ps.SourceRetryWait != nil {
69311		objectMap["sourceRetryWait"] = ps.SourceRetryWait
69312	}
69313	if ps.Type != "" {
69314		objectMap["type"] = ps.Type
69315	}
69316	for k, v := range ps.AdditionalProperties {
69317		objectMap[k] = v
69318	}
69319	return json.Marshal(objectMap)
69320}
69321
69322// AsAmazonRedshiftSource is the BasicCopySource implementation for PaypalSource.
69323func (ps PaypalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
69324	return nil, false
69325}
69326
69327// AsResponsysSource is the BasicCopySource implementation for PaypalSource.
69328func (ps PaypalSource) AsResponsysSource() (*ResponsysSource, bool) {
69329	return nil, false
69330}
69331
69332// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PaypalSource.
69333func (ps PaypalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
69334	return nil, false
69335}
69336
69337// AsVerticaSource is the BasicCopySource implementation for PaypalSource.
69338func (ps PaypalSource) AsVerticaSource() (*VerticaSource, bool) {
69339	return nil, false
69340}
69341
69342// AsNetezzaSource is the BasicCopySource implementation for PaypalSource.
69343func (ps PaypalSource) AsNetezzaSource() (*NetezzaSource, bool) {
69344	return nil, false
69345}
69346
69347// AsZohoSource is the BasicCopySource implementation for PaypalSource.
69348func (ps PaypalSource) AsZohoSource() (*ZohoSource, bool) {
69349	return nil, false
69350}
69351
69352// AsXeroSource is the BasicCopySource implementation for PaypalSource.
69353func (ps PaypalSource) AsXeroSource() (*XeroSource, bool) {
69354	return nil, false
69355}
69356
69357// AsSquareSource is the BasicCopySource implementation for PaypalSource.
69358func (ps PaypalSource) AsSquareSource() (*SquareSource, bool) {
69359	return nil, false
69360}
69361
69362// AsSparkSource is the BasicCopySource implementation for PaypalSource.
69363func (ps PaypalSource) AsSparkSource() (*SparkSource, bool) {
69364	return nil, false
69365}
69366
69367// AsShopifySource is the BasicCopySource implementation for PaypalSource.
69368func (ps PaypalSource) AsShopifySource() (*ShopifySource, bool) {
69369	return nil, false
69370}
69371
69372// AsServiceNowSource is the BasicCopySource implementation for PaypalSource.
69373func (ps PaypalSource) AsServiceNowSource() (*ServiceNowSource, bool) {
69374	return nil, false
69375}
69376
69377// AsQuickBooksSource is the BasicCopySource implementation for PaypalSource.
69378func (ps PaypalSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
69379	return nil, false
69380}
69381
69382// AsPrestoSource is the BasicCopySource implementation for PaypalSource.
69383func (ps PaypalSource) AsPrestoSource() (*PrestoSource, bool) {
69384	return nil, false
69385}
69386
69387// AsPhoenixSource is the BasicCopySource implementation for PaypalSource.
69388func (ps PaypalSource) AsPhoenixSource() (*PhoenixSource, bool) {
69389	return nil, false
69390}
69391
69392// AsPaypalSource is the BasicCopySource implementation for PaypalSource.
69393func (ps PaypalSource) AsPaypalSource() (*PaypalSource, bool) {
69394	return &ps, true
69395}
69396
69397// AsMarketoSource is the BasicCopySource implementation for PaypalSource.
69398func (ps PaypalSource) AsMarketoSource() (*MarketoSource, bool) {
69399	return nil, false
69400}
69401
69402// AsMariaDBSource is the BasicCopySource implementation for PaypalSource.
69403func (ps PaypalSource) AsMariaDBSource() (*MariaDBSource, bool) {
69404	return nil, false
69405}
69406
69407// AsMagentoSource is the BasicCopySource implementation for PaypalSource.
69408func (ps PaypalSource) AsMagentoSource() (*MagentoSource, bool) {
69409	return nil, false
69410}
69411
69412// AsJiraSource is the BasicCopySource implementation for PaypalSource.
69413func (ps PaypalSource) AsJiraSource() (*JiraSource, bool) {
69414	return nil, false
69415}
69416
69417// AsImpalaSource is the BasicCopySource implementation for PaypalSource.
69418func (ps PaypalSource) AsImpalaSource() (*ImpalaSource, bool) {
69419	return nil, false
69420}
69421
69422// AsHubspotSource is the BasicCopySource implementation for PaypalSource.
69423func (ps PaypalSource) AsHubspotSource() (*HubspotSource, bool) {
69424	return nil, false
69425}
69426
69427// AsHiveSource is the BasicCopySource implementation for PaypalSource.
69428func (ps PaypalSource) AsHiveSource() (*HiveSource, bool) {
69429	return nil, false
69430}
69431
69432// AsHBaseSource is the BasicCopySource implementation for PaypalSource.
69433func (ps PaypalSource) AsHBaseSource() (*HBaseSource, bool) {
69434	return nil, false
69435}
69436
69437// AsGreenplumSource is the BasicCopySource implementation for PaypalSource.
69438func (ps PaypalSource) AsGreenplumSource() (*GreenplumSource, bool) {
69439	return nil, false
69440}
69441
69442// AsGoogleBigQuerySource is the BasicCopySource implementation for PaypalSource.
69443func (ps PaypalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
69444	return nil, false
69445}
69446
69447// AsEloquaSource is the BasicCopySource implementation for PaypalSource.
69448func (ps PaypalSource) AsEloquaSource() (*EloquaSource, bool) {
69449	return nil, false
69450}
69451
69452// AsDrillSource is the BasicCopySource implementation for PaypalSource.
69453func (ps PaypalSource) AsDrillSource() (*DrillSource, bool) {
69454	return nil, false
69455}
69456
69457// AsCouchbaseSource is the BasicCopySource implementation for PaypalSource.
69458func (ps PaypalSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
69459	return nil, false
69460}
69461
69462// AsConcurSource is the BasicCopySource implementation for PaypalSource.
69463func (ps PaypalSource) AsConcurSource() (*ConcurSource, bool) {
69464	return nil, false
69465}
69466
69467// AsAzurePostgreSQLSource is the BasicCopySource implementation for PaypalSource.
69468func (ps PaypalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
69469	return nil, false
69470}
69471
69472// AsAmazonMWSSource is the BasicCopySource implementation for PaypalSource.
69473func (ps PaypalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
69474	return nil, false
69475}
69476
69477// AsHTTPSource is the BasicCopySource implementation for PaypalSource.
69478func (ps PaypalSource) AsHTTPSource() (*HTTPSource, bool) {
69479	return nil, false
69480}
69481
69482// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PaypalSource.
69483func (ps PaypalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
69484	return nil, false
69485}
69486
69487// AsMongoDbSource is the BasicCopySource implementation for PaypalSource.
69488func (ps PaypalSource) AsMongoDbSource() (*MongoDbSource, bool) {
69489	return nil, false
69490}
69491
69492// AsCassandraSource is the BasicCopySource implementation for PaypalSource.
69493func (ps PaypalSource) AsCassandraSource() (*CassandraSource, bool) {
69494	return nil, false
69495}
69496
69497// AsWebSource is the BasicCopySource implementation for PaypalSource.
69498func (ps PaypalSource) AsWebSource() (*WebSource, bool) {
69499	return nil, false
69500}
69501
69502// AsOracleSource is the BasicCopySource implementation for PaypalSource.
69503func (ps PaypalSource) AsOracleSource() (*OracleSource, bool) {
69504	return nil, false
69505}
69506
69507// AsAzureMySQLSource is the BasicCopySource implementation for PaypalSource.
69508func (ps PaypalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
69509	return nil, false
69510}
69511
69512// AsHdfsSource is the BasicCopySource implementation for PaypalSource.
69513func (ps PaypalSource) AsHdfsSource() (*HdfsSource, bool) {
69514	return nil, false
69515}
69516
69517// AsFileSystemSource is the BasicCopySource implementation for PaypalSource.
69518func (ps PaypalSource) AsFileSystemSource() (*FileSystemSource, bool) {
69519	return nil, false
69520}
69521
69522// AsSQLDWSource is the BasicCopySource implementation for PaypalSource.
69523func (ps PaypalSource) AsSQLDWSource() (*SQLDWSource, bool) {
69524	return nil, false
69525}
69526
69527// AsSQLSource is the BasicCopySource implementation for PaypalSource.
69528func (ps PaypalSource) AsSQLSource() (*SQLSource, bool) {
69529	return nil, false
69530}
69531
69532// AsSapEccSource is the BasicCopySource implementation for PaypalSource.
69533func (ps PaypalSource) AsSapEccSource() (*SapEccSource, bool) {
69534	return nil, false
69535}
69536
69537// AsSapCloudForCustomerSource is the BasicCopySource implementation for PaypalSource.
69538func (ps PaypalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
69539	return nil, false
69540}
69541
69542// AsSalesforceSource is the BasicCopySource implementation for PaypalSource.
69543func (ps PaypalSource) AsSalesforceSource() (*SalesforceSource, bool) {
69544	return nil, false
69545}
69546
69547// AsRelationalSource is the BasicCopySource implementation for PaypalSource.
69548func (ps PaypalSource) AsRelationalSource() (*RelationalSource, bool) {
69549	return nil, false
69550}
69551
69552// AsDynamicsSource is the BasicCopySource implementation for PaypalSource.
69553func (ps PaypalSource) AsDynamicsSource() (*DynamicsSource, bool) {
69554	return nil, false
69555}
69556
69557// AsDocumentDbCollectionSource is the BasicCopySource implementation for PaypalSource.
69558func (ps PaypalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
69559	return nil, false
69560}
69561
69562// AsBlobSource is the BasicCopySource implementation for PaypalSource.
69563func (ps PaypalSource) AsBlobSource() (*BlobSource, bool) {
69564	return nil, false
69565}
69566
69567// AsAzureTableSource is the BasicCopySource implementation for PaypalSource.
69568func (ps PaypalSource) AsAzureTableSource() (*AzureTableSource, bool) {
69569	return nil, false
69570}
69571
69572// AsCopySource is the BasicCopySource implementation for PaypalSource.
69573func (ps PaypalSource) AsCopySource() (*CopySource, bool) {
69574	return nil, false
69575}
69576
69577// AsBasicCopySource is the BasicCopySource implementation for PaypalSource.
69578func (ps PaypalSource) AsBasicCopySource() (BasicCopySource, bool) {
69579	return &ps, true
69580}
69581
69582// UnmarshalJSON is the custom unmarshaler for PaypalSource struct.
69583func (ps *PaypalSource) UnmarshalJSON(body []byte) error {
69584	var m map[string]*json.RawMessage
69585	err := json.Unmarshal(body, &m)
69586	if err != nil {
69587		return err
69588	}
69589	for k, v := range m {
69590		switch k {
69591		case "query":
69592			if v != nil {
69593				var query interface{}
69594				err = json.Unmarshal(*v, &query)
69595				if err != nil {
69596					return err
69597				}
69598				ps.Query = query
69599			}
69600		default:
69601			if v != nil {
69602				var additionalProperties interface{}
69603				err = json.Unmarshal(*v, &additionalProperties)
69604				if err != nil {
69605					return err
69606				}
69607				if ps.AdditionalProperties == nil {
69608					ps.AdditionalProperties = make(map[string]interface{})
69609				}
69610				ps.AdditionalProperties[k] = additionalProperties
69611			}
69612		case "sourceRetryCount":
69613			if v != nil {
69614				var sourceRetryCount interface{}
69615				err = json.Unmarshal(*v, &sourceRetryCount)
69616				if err != nil {
69617					return err
69618				}
69619				ps.SourceRetryCount = sourceRetryCount
69620			}
69621		case "sourceRetryWait":
69622			if v != nil {
69623				var sourceRetryWait interface{}
69624				err = json.Unmarshal(*v, &sourceRetryWait)
69625				if err != nil {
69626					return err
69627				}
69628				ps.SourceRetryWait = sourceRetryWait
69629			}
69630		case "type":
69631			if v != nil {
69632				var typeVar TypeBasicCopySource
69633				err = json.Unmarshal(*v, &typeVar)
69634				if err != nil {
69635					return err
69636				}
69637				ps.Type = typeVar
69638			}
69639		}
69640	}
69641
69642	return nil
69643}
69644
69645// PhoenixLinkedService phoenix server linked service.
69646type PhoenixLinkedService struct {
69647	// PhoenixLinkedServiceTypeProperties - Phoenix server linked service properties.
69648	*PhoenixLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
69649	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
69650	AdditionalProperties map[string]interface{} `json:""`
69651	// ConnectVia - The integration runtime reference.
69652	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
69653	// Description - Linked service description.
69654	Description *string `json:"description,omitempty"`
69655	// Parameters - Parameters for linked service.
69656	Parameters map[string]*ParameterSpecification `json:"parameters"`
69657	// Annotations - List of tags that can be used for describing the Dataset.
69658	Annotations *[]interface{} `json:"annotations,omitempty"`
69659	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
69660	Type TypeBasicLinkedService `json:"type,omitempty"`
69661}
69662
69663// MarshalJSON is the custom marshaler for PhoenixLinkedService.
69664func (pls PhoenixLinkedService) MarshalJSON() ([]byte, error) {
69665	pls.Type = TypePhoenix
69666	objectMap := make(map[string]interface{})
69667	if pls.PhoenixLinkedServiceTypeProperties != nil {
69668		objectMap["typeProperties"] = pls.PhoenixLinkedServiceTypeProperties
69669	}
69670	if pls.ConnectVia != nil {
69671		objectMap["connectVia"] = pls.ConnectVia
69672	}
69673	if pls.Description != nil {
69674		objectMap["description"] = pls.Description
69675	}
69676	if pls.Parameters != nil {
69677		objectMap["parameters"] = pls.Parameters
69678	}
69679	if pls.Annotations != nil {
69680		objectMap["annotations"] = pls.Annotations
69681	}
69682	if pls.Type != "" {
69683		objectMap["type"] = pls.Type
69684	}
69685	for k, v := range pls.AdditionalProperties {
69686		objectMap[k] = v
69687	}
69688	return json.Marshal(objectMap)
69689}
69690
69691// AsResponsysLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69692func (pls PhoenixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
69693	return nil, false
69694}
69695
69696// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69697func (pls PhoenixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
69698	return nil, false
69699}
69700
69701// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69702func (pls PhoenixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
69703	return nil, false
69704}
69705
69706// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69707func (pls PhoenixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
69708	return nil, false
69709}
69710
69711// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69712func (pls PhoenixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
69713	return nil, false
69714}
69715
69716// AsNetezzaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69717func (pls PhoenixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
69718	return nil, false
69719}
69720
69721// AsVerticaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69722func (pls PhoenixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
69723	return nil, false
69724}
69725
69726// AsZohoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69727func (pls PhoenixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
69728	return nil, false
69729}
69730
69731// AsXeroLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69732func (pls PhoenixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
69733	return nil, false
69734}
69735
69736// AsSquareLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69737func (pls PhoenixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
69738	return nil, false
69739}
69740
69741// AsSparkLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69742func (pls PhoenixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
69743	return nil, false
69744}
69745
69746// AsShopifyLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69747func (pls PhoenixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
69748	return nil, false
69749}
69750
69751// AsServiceNowLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69752func (pls PhoenixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
69753	return nil, false
69754}
69755
69756// AsQuickBooksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69757func (pls PhoenixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
69758	return nil, false
69759}
69760
69761// AsPrestoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69762func (pls PhoenixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
69763	return nil, false
69764}
69765
69766// AsPhoenixLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69767func (pls PhoenixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
69768	return &pls, true
69769}
69770
69771// AsPaypalLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69772func (pls PhoenixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
69773	return nil, false
69774}
69775
69776// AsMarketoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69777func (pls PhoenixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
69778	return nil, false
69779}
69780
69781// AsMariaDBLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69782func (pls PhoenixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
69783	return nil, false
69784}
69785
69786// AsMagentoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69787func (pls PhoenixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
69788	return nil, false
69789}
69790
69791// AsJiraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69792func (pls PhoenixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
69793	return nil, false
69794}
69795
69796// AsImpalaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69797func (pls PhoenixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
69798	return nil, false
69799}
69800
69801// AsHubspotLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69802func (pls PhoenixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
69803	return nil, false
69804}
69805
69806// AsHiveLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69807func (pls PhoenixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
69808	return nil, false
69809}
69810
69811// AsHBaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69812func (pls PhoenixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
69813	return nil, false
69814}
69815
69816// AsGreenplumLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69817func (pls PhoenixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
69818	return nil, false
69819}
69820
69821// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69822func (pls PhoenixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
69823	return nil, false
69824}
69825
69826// AsEloquaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69827func (pls PhoenixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
69828	return nil, false
69829}
69830
69831// AsDrillLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69832func (pls PhoenixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
69833	return nil, false
69834}
69835
69836// AsCouchbaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69837func (pls PhoenixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
69838	return nil, false
69839}
69840
69841// AsConcurLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69842func (pls PhoenixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
69843	return nil, false
69844}
69845
69846// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69847func (pls PhoenixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
69848	return nil, false
69849}
69850
69851// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69852func (pls PhoenixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
69853	return nil, false
69854}
69855
69856// AsSapHanaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69857func (pls PhoenixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
69858	return nil, false
69859}
69860
69861// AsSapBWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69862func (pls PhoenixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
69863	return nil, false
69864}
69865
69866// AsSftpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69867func (pls PhoenixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
69868	return nil, false
69869}
69870
69871// AsFtpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69872func (pls PhoenixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
69873	return nil, false
69874}
69875
69876// AsHTTPLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69877func (pls PhoenixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
69878	return nil, false
69879}
69880
69881// AsAzureSearchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69882func (pls PhoenixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
69883	return nil, false
69884}
69885
69886// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69887func (pls PhoenixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
69888	return nil, false
69889}
69890
69891// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69892func (pls PhoenixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
69893	return nil, false
69894}
69895
69896// AsAmazonS3LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69897func (pls PhoenixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
69898	return nil, false
69899}
69900
69901// AsSapEccLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69902func (pls PhoenixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
69903	return nil, false
69904}
69905
69906// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69907func (pls PhoenixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
69908	return nil, false
69909}
69910
69911// AsSalesforceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69912func (pls PhoenixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
69913	return nil, false
69914}
69915
69916// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69917func (pls PhoenixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
69918	return nil, false
69919}
69920
69921// AsMongoDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69922func (pls PhoenixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
69923	return nil, false
69924}
69925
69926// AsCassandraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69927func (pls PhoenixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
69928	return nil, false
69929}
69930
69931// AsWebLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69932func (pls PhoenixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
69933	return nil, false
69934}
69935
69936// AsODataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69937func (pls PhoenixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
69938	return nil, false
69939}
69940
69941// AsHdfsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69942func (pls PhoenixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
69943	return nil, false
69944}
69945
69946// AsOdbcLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69947func (pls PhoenixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
69948	return nil, false
69949}
69950
69951// AsAzureMLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69952func (pls PhoenixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
69953	return nil, false
69954}
69955
69956// AsTeradataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69957func (pls PhoenixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
69958	return nil, false
69959}
69960
69961// AsDb2LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69962func (pls PhoenixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
69963	return nil, false
69964}
69965
69966// AsSybaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69967func (pls PhoenixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
69968	return nil, false
69969}
69970
69971// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69972func (pls PhoenixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
69973	return nil, false
69974}
69975
69976// AsMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69977func (pls PhoenixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
69978	return nil, false
69979}
69980
69981// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69982func (pls PhoenixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
69983	return nil, false
69984}
69985
69986// AsOracleLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69987func (pls PhoenixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
69988	return nil, false
69989}
69990
69991// AsFileServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69992func (pls PhoenixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
69993	return nil, false
69994}
69995
69996// AsHDInsightLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69997func (pls PhoenixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
69998	return nil, false
69999}
70000
70001// AsDynamicsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70002func (pls PhoenixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
70003	return nil, false
70004}
70005
70006// AsCosmosDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70007func (pls PhoenixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
70008	return nil, false
70009}
70010
70011// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70012func (pls PhoenixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
70013	return nil, false
70014}
70015
70016// AsAzureBatchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70017func (pls PhoenixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
70018	return nil, false
70019}
70020
70021// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70022func (pls PhoenixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
70023	return nil, false
70024}
70025
70026// AsSQLServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70027func (pls PhoenixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
70028	return nil, false
70029}
70030
70031// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70032func (pls PhoenixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
70033	return nil, false
70034}
70035
70036// AsAzureStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70037func (pls PhoenixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
70038	return nil, false
70039}
70040
70041// AsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70042func (pls PhoenixLinkedService) AsLinkedService() (*LinkedService, bool) {
70043	return nil, false
70044}
70045
70046// AsBasicLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
70047func (pls PhoenixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
70048	return &pls, true
70049}
70050
70051// UnmarshalJSON is the custom unmarshaler for PhoenixLinkedService struct.
70052func (pls *PhoenixLinkedService) UnmarshalJSON(body []byte) error {
70053	var m map[string]*json.RawMessage
70054	err := json.Unmarshal(body, &m)
70055	if err != nil {
70056		return err
70057	}
70058	for k, v := range m {
70059		switch k {
70060		case "typeProperties":
70061			if v != nil {
70062				var phoenixLinkedServiceTypeProperties PhoenixLinkedServiceTypeProperties
70063				err = json.Unmarshal(*v, &phoenixLinkedServiceTypeProperties)
70064				if err != nil {
70065					return err
70066				}
70067				pls.PhoenixLinkedServiceTypeProperties = &phoenixLinkedServiceTypeProperties
70068			}
70069		default:
70070			if v != nil {
70071				var additionalProperties interface{}
70072				err = json.Unmarshal(*v, &additionalProperties)
70073				if err != nil {
70074					return err
70075				}
70076				if pls.AdditionalProperties == nil {
70077					pls.AdditionalProperties = make(map[string]interface{})
70078				}
70079				pls.AdditionalProperties[k] = additionalProperties
70080			}
70081		case "connectVia":
70082			if v != nil {
70083				var connectVia IntegrationRuntimeReference
70084				err = json.Unmarshal(*v, &connectVia)
70085				if err != nil {
70086					return err
70087				}
70088				pls.ConnectVia = &connectVia
70089			}
70090		case "description":
70091			if v != nil {
70092				var description string
70093				err = json.Unmarshal(*v, &description)
70094				if err != nil {
70095					return err
70096				}
70097				pls.Description = &description
70098			}
70099		case "parameters":
70100			if v != nil {
70101				var parameters map[string]*ParameterSpecification
70102				err = json.Unmarshal(*v, &parameters)
70103				if err != nil {
70104					return err
70105				}
70106				pls.Parameters = parameters
70107			}
70108		case "annotations":
70109			if v != nil {
70110				var annotations []interface{}
70111				err = json.Unmarshal(*v, &annotations)
70112				if err != nil {
70113					return err
70114				}
70115				pls.Annotations = &annotations
70116			}
70117		case "type":
70118			if v != nil {
70119				var typeVar TypeBasicLinkedService
70120				err = json.Unmarshal(*v, &typeVar)
70121				if err != nil {
70122					return err
70123				}
70124				pls.Type = typeVar
70125			}
70126		}
70127	}
70128
70129	return nil
70130}
70131
70132// PhoenixLinkedServiceTypeProperties phoenix server linked service properties.
70133type PhoenixLinkedServiceTypeProperties struct {
70134	// Host - The IP address or host name of the Phoenix server. (i.e. 192.168.222.160)
70135	Host interface{} `json:"host,omitempty"`
70136	// Port - The TCP port that the Phoenix server uses to listen for client connections. The default value is 8765.
70137	Port interface{} `json:"port,omitempty"`
70138	// HTTPPath - The partial URL corresponding to the Phoenix server. (i.e. /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using WindowsAzureHDInsightService.
70139	HTTPPath interface{} `json:"httpPath,omitempty"`
70140	// AuthenticationType - The authentication mechanism used to connect to the Phoenix server. Possible values include: 'PhoenixAuthenticationTypeAnonymous', 'PhoenixAuthenticationTypeUsernameAndPassword', 'PhoenixAuthenticationTypeWindowsAzureHDInsightService'
70141	AuthenticationType PhoenixAuthenticationType `json:"authenticationType,omitempty"`
70142	// Username - The user name used to connect to the Phoenix server.
70143	Username interface{} `json:"username,omitempty"`
70144	// Password - The password corresponding to the user name.
70145	Password BasicSecretBase `json:"password,omitempty"`
70146	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
70147	EnableSsl interface{} `json:"enableSsl,omitempty"`
70148	// TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
70149	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
70150	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
70151	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
70152	// AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
70153	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
70154	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
70155	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
70156	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
70157	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
70158}
70159
70160// UnmarshalJSON is the custom unmarshaler for PhoenixLinkedServiceTypeProperties struct.
70161func (plstp *PhoenixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
70162	var m map[string]*json.RawMessage
70163	err := json.Unmarshal(body, &m)
70164	if err != nil {
70165		return err
70166	}
70167	for k, v := range m {
70168		switch k {
70169		case "host":
70170			if v != nil {
70171				var host interface{}
70172				err = json.Unmarshal(*v, &host)
70173				if err != nil {
70174					return err
70175				}
70176				plstp.Host = host
70177			}
70178		case "port":
70179			if v != nil {
70180				var port interface{}
70181				err = json.Unmarshal(*v, &port)
70182				if err != nil {
70183					return err
70184				}
70185				plstp.Port = port
70186			}
70187		case "httpPath":
70188			if v != nil {
70189				var HTTPPath interface{}
70190				err = json.Unmarshal(*v, &HTTPPath)
70191				if err != nil {
70192					return err
70193				}
70194				plstp.HTTPPath = HTTPPath
70195			}
70196		case "authenticationType":
70197			if v != nil {
70198				var authenticationType PhoenixAuthenticationType
70199				err = json.Unmarshal(*v, &authenticationType)
70200				if err != nil {
70201					return err
70202				}
70203				plstp.AuthenticationType = authenticationType
70204			}
70205		case "username":
70206			if v != nil {
70207				var username interface{}
70208				err = json.Unmarshal(*v, &username)
70209				if err != nil {
70210					return err
70211				}
70212				plstp.Username = username
70213			}
70214		case "password":
70215			if v != nil {
70216				password, err := unmarshalBasicSecretBase(*v)
70217				if err != nil {
70218					return err
70219				}
70220				plstp.Password = password
70221			}
70222		case "enableSsl":
70223			if v != nil {
70224				var enableSsl interface{}
70225				err = json.Unmarshal(*v, &enableSsl)
70226				if err != nil {
70227					return err
70228				}
70229				plstp.EnableSsl = enableSsl
70230			}
70231		case "trustedCertPath":
70232			if v != nil {
70233				var trustedCertPath interface{}
70234				err = json.Unmarshal(*v, &trustedCertPath)
70235				if err != nil {
70236					return err
70237				}
70238				plstp.TrustedCertPath = trustedCertPath
70239			}
70240		case "useSystemTrustStore":
70241			if v != nil {
70242				var useSystemTrustStore interface{}
70243				err = json.Unmarshal(*v, &useSystemTrustStore)
70244				if err != nil {
70245					return err
70246				}
70247				plstp.UseSystemTrustStore = useSystemTrustStore
70248			}
70249		case "allowHostNameCNMismatch":
70250			if v != nil {
70251				var allowHostNameCNMismatch interface{}
70252				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
70253				if err != nil {
70254					return err
70255				}
70256				plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
70257			}
70258		case "allowSelfSignedServerCert":
70259			if v != nil {
70260				var allowSelfSignedServerCert interface{}
70261				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
70262				if err != nil {
70263					return err
70264				}
70265				plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
70266			}
70267		case "encryptedCredential":
70268			if v != nil {
70269				var encryptedCredential interface{}
70270				err = json.Unmarshal(*v, &encryptedCredential)
70271				if err != nil {
70272					return err
70273				}
70274				plstp.EncryptedCredential = encryptedCredential
70275			}
70276		}
70277	}
70278
70279	return nil
70280}
70281
70282// PhoenixObjectDataset phoenix server dataset.
70283type PhoenixObjectDataset struct {
70284	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
70285	AdditionalProperties map[string]interface{} `json:""`
70286	// Description - Dataset description.
70287	Description *string `json:"description,omitempty"`
70288	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
70289	Structure interface{} `json:"structure,omitempty"`
70290	// LinkedServiceName - Linked service reference.
70291	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
70292	// Parameters - Parameters for dataset.
70293	Parameters map[string]*ParameterSpecification `json:"parameters"`
70294	// Annotations - List of tags that can be used for describing the Dataset.
70295	Annotations *[]interface{} `json:"annotations,omitempty"`
70296	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
70297	Type TypeBasicDataset `json:"type,omitempty"`
70298}
70299
70300// MarshalJSON is the custom marshaler for PhoenixObjectDataset.
70301func (pod PhoenixObjectDataset) MarshalJSON() ([]byte, error) {
70302	pod.Type = TypePhoenixObject
70303	objectMap := make(map[string]interface{})
70304	if pod.Description != nil {
70305		objectMap["description"] = pod.Description
70306	}
70307	if pod.Structure != nil {
70308		objectMap["structure"] = pod.Structure
70309	}
70310	if pod.LinkedServiceName != nil {
70311		objectMap["linkedServiceName"] = pod.LinkedServiceName
70312	}
70313	if pod.Parameters != nil {
70314		objectMap["parameters"] = pod.Parameters
70315	}
70316	if pod.Annotations != nil {
70317		objectMap["annotations"] = pod.Annotations
70318	}
70319	if pod.Type != "" {
70320		objectMap["type"] = pod.Type
70321	}
70322	for k, v := range pod.AdditionalProperties {
70323		objectMap[k] = v
70324	}
70325	return json.Marshal(objectMap)
70326}
70327
70328// AsResponsysObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70329func (pod PhoenixObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
70330	return nil, false
70331}
70332
70333// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70334func (pod PhoenixObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
70335	return nil, false
70336}
70337
70338// AsVerticaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70339func (pod PhoenixObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
70340	return nil, false
70341}
70342
70343// AsNetezzaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70344func (pod PhoenixObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
70345	return nil, false
70346}
70347
70348// AsZohoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70349func (pod PhoenixObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
70350	return nil, false
70351}
70352
70353// AsXeroObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70354func (pod PhoenixObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
70355	return nil, false
70356}
70357
70358// AsSquareObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70359func (pod PhoenixObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
70360	return nil, false
70361}
70362
70363// AsSparkObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70364func (pod PhoenixObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
70365	return nil, false
70366}
70367
70368// AsShopifyObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70369func (pod PhoenixObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
70370	return nil, false
70371}
70372
70373// AsServiceNowObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70374func (pod PhoenixObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
70375	return nil, false
70376}
70377
70378// AsQuickBooksObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70379func (pod PhoenixObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
70380	return nil, false
70381}
70382
70383// AsPrestoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70384func (pod PhoenixObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
70385	return nil, false
70386}
70387
70388// AsPhoenixObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70389func (pod PhoenixObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
70390	return &pod, true
70391}
70392
70393// AsPaypalObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70394func (pod PhoenixObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
70395	return nil, false
70396}
70397
70398// AsMarketoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70399func (pod PhoenixObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
70400	return nil, false
70401}
70402
70403// AsMariaDBTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70404func (pod PhoenixObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
70405	return nil, false
70406}
70407
70408// AsMagentoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70409func (pod PhoenixObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
70410	return nil, false
70411}
70412
70413// AsJiraObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70414func (pod PhoenixObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
70415	return nil, false
70416}
70417
70418// AsImpalaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70419func (pod PhoenixObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
70420	return nil, false
70421}
70422
70423// AsHubspotObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70424func (pod PhoenixObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
70425	return nil, false
70426}
70427
70428// AsHiveObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70429func (pod PhoenixObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
70430	return nil, false
70431}
70432
70433// AsHBaseObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70434func (pod PhoenixObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
70435	return nil, false
70436}
70437
70438// AsGreenplumTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70439func (pod PhoenixObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
70440	return nil, false
70441}
70442
70443// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70444func (pod PhoenixObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
70445	return nil, false
70446}
70447
70448// AsEloquaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70449func (pod PhoenixObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
70450	return nil, false
70451}
70452
70453// AsDrillTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70454func (pod PhoenixObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
70455	return nil, false
70456}
70457
70458// AsCouchbaseTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70459func (pod PhoenixObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
70460	return nil, false
70461}
70462
70463// AsConcurObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70464func (pod PhoenixObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
70465	return nil, false
70466}
70467
70468// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70469func (pod PhoenixObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
70470	return nil, false
70471}
70472
70473// AsAmazonMWSObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70474func (pod PhoenixObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
70475	return nil, false
70476}
70477
70478// AsHTTPDataset is the BasicDataset implementation for PhoenixObjectDataset.
70479func (pod PhoenixObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
70480	return nil, false
70481}
70482
70483// AsAzureSearchIndexDataset is the BasicDataset implementation for PhoenixObjectDataset.
70484func (pod PhoenixObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
70485	return nil, false
70486}
70487
70488// AsWebTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70489func (pod PhoenixObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
70490	return nil, false
70491}
70492
70493// AsSQLServerTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70494func (pod PhoenixObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
70495	return nil, false
70496}
70497
70498// AsSapEccResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
70499func (pod PhoenixObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
70500	return nil, false
70501}
70502
70503// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
70504func (pod PhoenixObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
70505	return nil, false
70506}
70507
70508// AsSalesforceObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70509func (pod PhoenixObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
70510	return nil, false
70511}
70512
70513// AsRelationalTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70514func (pod PhoenixObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
70515	return nil, false
70516}
70517
70518// AsAzureMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70519func (pod PhoenixObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
70520	return nil, false
70521}
70522
70523// AsOracleTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70524func (pod PhoenixObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
70525	return nil, false
70526}
70527
70528// AsODataResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
70529func (pod PhoenixObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
70530	return nil, false
70531}
70532
70533// AsMongoDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
70534func (pod PhoenixObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
70535	return nil, false
70536}
70537
70538// AsFileShareDataset is the BasicDataset implementation for PhoenixObjectDataset.
70539func (pod PhoenixObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
70540	return nil, false
70541}
70542
70543// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PhoenixObjectDataset.
70544func (pod PhoenixObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
70545	return nil, false
70546}
70547
70548// AsDynamicsEntityDataset is the BasicDataset implementation for PhoenixObjectDataset.
70549func (pod PhoenixObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
70550	return nil, false
70551}
70552
70553// AsDocumentDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
70554func (pod PhoenixObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
70555	return nil, false
70556}
70557
70558// AsCustomDataset is the BasicDataset implementation for PhoenixObjectDataset.
70559func (pod PhoenixObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
70560	return nil, false
70561}
70562
70563// AsCassandraTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70564func (pod PhoenixObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
70565	return nil, false
70566}
70567
70568// AsAzureSQLDWTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70569func (pod PhoenixObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
70570	return nil, false
70571}
70572
70573// AsAzureSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70574func (pod PhoenixObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
70575	return nil, false
70576}
70577
70578// AsAzureTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70579func (pod PhoenixObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
70580	return nil, false
70581}
70582
70583// AsAzureBlobDataset is the BasicDataset implementation for PhoenixObjectDataset.
70584func (pod PhoenixObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
70585	return nil, false
70586}
70587
70588// AsAmazonS3Dataset is the BasicDataset implementation for PhoenixObjectDataset.
70589func (pod PhoenixObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
70590	return nil, false
70591}
70592
70593// AsDataset is the BasicDataset implementation for PhoenixObjectDataset.
70594func (pod PhoenixObjectDataset) AsDataset() (*Dataset, bool) {
70595	return nil, false
70596}
70597
70598// AsBasicDataset is the BasicDataset implementation for PhoenixObjectDataset.
70599func (pod PhoenixObjectDataset) AsBasicDataset() (BasicDataset, bool) {
70600	return &pod, true
70601}
70602
70603// UnmarshalJSON is the custom unmarshaler for PhoenixObjectDataset struct.
70604func (pod *PhoenixObjectDataset) UnmarshalJSON(body []byte) error {
70605	var m map[string]*json.RawMessage
70606	err := json.Unmarshal(body, &m)
70607	if err != nil {
70608		return err
70609	}
70610	for k, v := range m {
70611		switch k {
70612		default:
70613			if v != nil {
70614				var additionalProperties interface{}
70615				err = json.Unmarshal(*v, &additionalProperties)
70616				if err != nil {
70617					return err
70618				}
70619				if pod.AdditionalProperties == nil {
70620					pod.AdditionalProperties = make(map[string]interface{})
70621				}
70622				pod.AdditionalProperties[k] = additionalProperties
70623			}
70624		case "description":
70625			if v != nil {
70626				var description string
70627				err = json.Unmarshal(*v, &description)
70628				if err != nil {
70629					return err
70630				}
70631				pod.Description = &description
70632			}
70633		case "structure":
70634			if v != nil {
70635				var structure interface{}
70636				err = json.Unmarshal(*v, &structure)
70637				if err != nil {
70638					return err
70639				}
70640				pod.Structure = structure
70641			}
70642		case "linkedServiceName":
70643			if v != nil {
70644				var linkedServiceName LinkedServiceReference
70645				err = json.Unmarshal(*v, &linkedServiceName)
70646				if err != nil {
70647					return err
70648				}
70649				pod.LinkedServiceName = &linkedServiceName
70650			}
70651		case "parameters":
70652			if v != nil {
70653				var parameters map[string]*ParameterSpecification
70654				err = json.Unmarshal(*v, &parameters)
70655				if err != nil {
70656					return err
70657				}
70658				pod.Parameters = parameters
70659			}
70660		case "annotations":
70661			if v != nil {
70662				var annotations []interface{}
70663				err = json.Unmarshal(*v, &annotations)
70664				if err != nil {
70665					return err
70666				}
70667				pod.Annotations = &annotations
70668			}
70669		case "type":
70670			if v != nil {
70671				var typeVar TypeBasicDataset
70672				err = json.Unmarshal(*v, &typeVar)
70673				if err != nil {
70674					return err
70675				}
70676				pod.Type = typeVar
70677			}
70678		}
70679	}
70680
70681	return nil
70682}
70683
70684// PhoenixSource a copy activity Phoenix server source.
70685type PhoenixSource struct {
70686	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
70687	Query interface{} `json:"query,omitempty"`
70688	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
70689	AdditionalProperties map[string]interface{} `json:""`
70690	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
70691	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
70692	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
70693	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
70694	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
70695	Type TypeBasicCopySource `json:"type,omitempty"`
70696}
70697
70698// MarshalJSON is the custom marshaler for PhoenixSource.
70699func (ps PhoenixSource) MarshalJSON() ([]byte, error) {
70700	ps.Type = TypePhoenixSource
70701	objectMap := make(map[string]interface{})
70702	if ps.Query != nil {
70703		objectMap["query"] = ps.Query
70704	}
70705	if ps.SourceRetryCount != nil {
70706		objectMap["sourceRetryCount"] = ps.SourceRetryCount
70707	}
70708	if ps.SourceRetryWait != nil {
70709		objectMap["sourceRetryWait"] = ps.SourceRetryWait
70710	}
70711	if ps.Type != "" {
70712		objectMap["type"] = ps.Type
70713	}
70714	for k, v := range ps.AdditionalProperties {
70715		objectMap[k] = v
70716	}
70717	return json.Marshal(objectMap)
70718}
70719
70720// AsAmazonRedshiftSource is the BasicCopySource implementation for PhoenixSource.
70721func (ps PhoenixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
70722	return nil, false
70723}
70724
70725// AsResponsysSource is the BasicCopySource implementation for PhoenixSource.
70726func (ps PhoenixSource) AsResponsysSource() (*ResponsysSource, bool) {
70727	return nil, false
70728}
70729
70730// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PhoenixSource.
70731func (ps PhoenixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
70732	return nil, false
70733}
70734
70735// AsVerticaSource is the BasicCopySource implementation for PhoenixSource.
70736func (ps PhoenixSource) AsVerticaSource() (*VerticaSource, bool) {
70737	return nil, false
70738}
70739
70740// AsNetezzaSource is the BasicCopySource implementation for PhoenixSource.
70741func (ps PhoenixSource) AsNetezzaSource() (*NetezzaSource, bool) {
70742	return nil, false
70743}
70744
70745// AsZohoSource is the BasicCopySource implementation for PhoenixSource.
70746func (ps PhoenixSource) AsZohoSource() (*ZohoSource, bool) {
70747	return nil, false
70748}
70749
70750// AsXeroSource is the BasicCopySource implementation for PhoenixSource.
70751func (ps PhoenixSource) AsXeroSource() (*XeroSource, bool) {
70752	return nil, false
70753}
70754
70755// AsSquareSource is the BasicCopySource implementation for PhoenixSource.
70756func (ps PhoenixSource) AsSquareSource() (*SquareSource, bool) {
70757	return nil, false
70758}
70759
70760// AsSparkSource is the BasicCopySource implementation for PhoenixSource.
70761func (ps PhoenixSource) AsSparkSource() (*SparkSource, bool) {
70762	return nil, false
70763}
70764
70765// AsShopifySource is the BasicCopySource implementation for PhoenixSource.
70766func (ps PhoenixSource) AsShopifySource() (*ShopifySource, bool) {
70767	return nil, false
70768}
70769
70770// AsServiceNowSource is the BasicCopySource implementation for PhoenixSource.
70771func (ps PhoenixSource) AsServiceNowSource() (*ServiceNowSource, bool) {
70772	return nil, false
70773}
70774
70775// AsQuickBooksSource is the BasicCopySource implementation for PhoenixSource.
70776func (ps PhoenixSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
70777	return nil, false
70778}
70779
70780// AsPrestoSource is the BasicCopySource implementation for PhoenixSource.
70781func (ps PhoenixSource) AsPrestoSource() (*PrestoSource, bool) {
70782	return nil, false
70783}
70784
70785// AsPhoenixSource is the BasicCopySource implementation for PhoenixSource.
70786func (ps PhoenixSource) AsPhoenixSource() (*PhoenixSource, bool) {
70787	return &ps, true
70788}
70789
70790// AsPaypalSource is the BasicCopySource implementation for PhoenixSource.
70791func (ps PhoenixSource) AsPaypalSource() (*PaypalSource, bool) {
70792	return nil, false
70793}
70794
70795// AsMarketoSource is the BasicCopySource implementation for PhoenixSource.
70796func (ps PhoenixSource) AsMarketoSource() (*MarketoSource, bool) {
70797	return nil, false
70798}
70799
70800// AsMariaDBSource is the BasicCopySource implementation for PhoenixSource.
70801func (ps PhoenixSource) AsMariaDBSource() (*MariaDBSource, bool) {
70802	return nil, false
70803}
70804
70805// AsMagentoSource is the BasicCopySource implementation for PhoenixSource.
70806func (ps PhoenixSource) AsMagentoSource() (*MagentoSource, bool) {
70807	return nil, false
70808}
70809
70810// AsJiraSource is the BasicCopySource implementation for PhoenixSource.
70811func (ps PhoenixSource) AsJiraSource() (*JiraSource, bool) {
70812	return nil, false
70813}
70814
70815// AsImpalaSource is the BasicCopySource implementation for PhoenixSource.
70816func (ps PhoenixSource) AsImpalaSource() (*ImpalaSource, bool) {
70817	return nil, false
70818}
70819
70820// AsHubspotSource is the BasicCopySource implementation for PhoenixSource.
70821func (ps PhoenixSource) AsHubspotSource() (*HubspotSource, bool) {
70822	return nil, false
70823}
70824
70825// AsHiveSource is the BasicCopySource implementation for PhoenixSource.
70826func (ps PhoenixSource) AsHiveSource() (*HiveSource, bool) {
70827	return nil, false
70828}
70829
70830// AsHBaseSource is the BasicCopySource implementation for PhoenixSource.
70831func (ps PhoenixSource) AsHBaseSource() (*HBaseSource, bool) {
70832	return nil, false
70833}
70834
70835// AsGreenplumSource is the BasicCopySource implementation for PhoenixSource.
70836func (ps PhoenixSource) AsGreenplumSource() (*GreenplumSource, bool) {
70837	return nil, false
70838}
70839
70840// AsGoogleBigQuerySource is the BasicCopySource implementation for PhoenixSource.
70841func (ps PhoenixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
70842	return nil, false
70843}
70844
70845// AsEloquaSource is the BasicCopySource implementation for PhoenixSource.
70846func (ps PhoenixSource) AsEloquaSource() (*EloquaSource, bool) {
70847	return nil, false
70848}
70849
70850// AsDrillSource is the BasicCopySource implementation for PhoenixSource.
70851func (ps PhoenixSource) AsDrillSource() (*DrillSource, bool) {
70852	return nil, false
70853}
70854
70855// AsCouchbaseSource is the BasicCopySource implementation for PhoenixSource.
70856func (ps PhoenixSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
70857	return nil, false
70858}
70859
70860// AsConcurSource is the BasicCopySource implementation for PhoenixSource.
70861func (ps PhoenixSource) AsConcurSource() (*ConcurSource, bool) {
70862	return nil, false
70863}
70864
70865// AsAzurePostgreSQLSource is the BasicCopySource implementation for PhoenixSource.
70866func (ps PhoenixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
70867	return nil, false
70868}
70869
70870// AsAmazonMWSSource is the BasicCopySource implementation for PhoenixSource.
70871func (ps PhoenixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
70872	return nil, false
70873}
70874
70875// AsHTTPSource is the BasicCopySource implementation for PhoenixSource.
70876func (ps PhoenixSource) AsHTTPSource() (*HTTPSource, bool) {
70877	return nil, false
70878}
70879
70880// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PhoenixSource.
70881func (ps PhoenixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
70882	return nil, false
70883}
70884
70885// AsMongoDbSource is the BasicCopySource implementation for PhoenixSource.
70886func (ps PhoenixSource) AsMongoDbSource() (*MongoDbSource, bool) {
70887	return nil, false
70888}
70889
70890// AsCassandraSource is the BasicCopySource implementation for PhoenixSource.
70891func (ps PhoenixSource) AsCassandraSource() (*CassandraSource, bool) {
70892	return nil, false
70893}
70894
70895// AsWebSource is the BasicCopySource implementation for PhoenixSource.
70896func (ps PhoenixSource) AsWebSource() (*WebSource, bool) {
70897	return nil, false
70898}
70899
70900// AsOracleSource is the BasicCopySource implementation for PhoenixSource.
70901func (ps PhoenixSource) AsOracleSource() (*OracleSource, bool) {
70902	return nil, false
70903}
70904
70905// AsAzureMySQLSource is the BasicCopySource implementation for PhoenixSource.
70906func (ps PhoenixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
70907	return nil, false
70908}
70909
70910// AsHdfsSource is the BasicCopySource implementation for PhoenixSource.
70911func (ps PhoenixSource) AsHdfsSource() (*HdfsSource, bool) {
70912	return nil, false
70913}
70914
70915// AsFileSystemSource is the BasicCopySource implementation for PhoenixSource.
70916func (ps PhoenixSource) AsFileSystemSource() (*FileSystemSource, bool) {
70917	return nil, false
70918}
70919
70920// AsSQLDWSource is the BasicCopySource implementation for PhoenixSource.
70921func (ps PhoenixSource) AsSQLDWSource() (*SQLDWSource, bool) {
70922	return nil, false
70923}
70924
70925// AsSQLSource is the BasicCopySource implementation for PhoenixSource.
70926func (ps PhoenixSource) AsSQLSource() (*SQLSource, bool) {
70927	return nil, false
70928}
70929
70930// AsSapEccSource is the BasicCopySource implementation for PhoenixSource.
70931func (ps PhoenixSource) AsSapEccSource() (*SapEccSource, bool) {
70932	return nil, false
70933}
70934
70935// AsSapCloudForCustomerSource is the BasicCopySource implementation for PhoenixSource.
70936func (ps PhoenixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
70937	return nil, false
70938}
70939
70940// AsSalesforceSource is the BasicCopySource implementation for PhoenixSource.
70941func (ps PhoenixSource) AsSalesforceSource() (*SalesforceSource, bool) {
70942	return nil, false
70943}
70944
70945// AsRelationalSource is the BasicCopySource implementation for PhoenixSource.
70946func (ps PhoenixSource) AsRelationalSource() (*RelationalSource, bool) {
70947	return nil, false
70948}
70949
70950// AsDynamicsSource is the BasicCopySource implementation for PhoenixSource.
70951func (ps PhoenixSource) AsDynamicsSource() (*DynamicsSource, bool) {
70952	return nil, false
70953}
70954
70955// AsDocumentDbCollectionSource is the BasicCopySource implementation for PhoenixSource.
70956func (ps PhoenixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
70957	return nil, false
70958}
70959
70960// AsBlobSource is the BasicCopySource implementation for PhoenixSource.
70961func (ps PhoenixSource) AsBlobSource() (*BlobSource, bool) {
70962	return nil, false
70963}
70964
70965// AsAzureTableSource is the BasicCopySource implementation for PhoenixSource.
70966func (ps PhoenixSource) AsAzureTableSource() (*AzureTableSource, bool) {
70967	return nil, false
70968}
70969
70970// AsCopySource is the BasicCopySource implementation for PhoenixSource.
70971func (ps PhoenixSource) AsCopySource() (*CopySource, bool) {
70972	return nil, false
70973}
70974
70975// AsBasicCopySource is the BasicCopySource implementation for PhoenixSource.
70976func (ps PhoenixSource) AsBasicCopySource() (BasicCopySource, bool) {
70977	return &ps, true
70978}
70979
70980// UnmarshalJSON is the custom unmarshaler for PhoenixSource struct.
70981func (ps *PhoenixSource) UnmarshalJSON(body []byte) error {
70982	var m map[string]*json.RawMessage
70983	err := json.Unmarshal(body, &m)
70984	if err != nil {
70985		return err
70986	}
70987	for k, v := range m {
70988		switch k {
70989		case "query":
70990			if v != nil {
70991				var query interface{}
70992				err = json.Unmarshal(*v, &query)
70993				if err != nil {
70994					return err
70995				}
70996				ps.Query = query
70997			}
70998		default:
70999			if v != nil {
71000				var additionalProperties interface{}
71001				err = json.Unmarshal(*v, &additionalProperties)
71002				if err != nil {
71003					return err
71004				}
71005				if ps.AdditionalProperties == nil {
71006					ps.AdditionalProperties = make(map[string]interface{})
71007				}
71008				ps.AdditionalProperties[k] = additionalProperties
71009			}
71010		case "sourceRetryCount":
71011			if v != nil {
71012				var sourceRetryCount interface{}
71013				err = json.Unmarshal(*v, &sourceRetryCount)
71014				if err != nil {
71015					return err
71016				}
71017				ps.SourceRetryCount = sourceRetryCount
71018			}
71019		case "sourceRetryWait":
71020			if v != nil {
71021				var sourceRetryWait interface{}
71022				err = json.Unmarshal(*v, &sourceRetryWait)
71023				if err != nil {
71024					return err
71025				}
71026				ps.SourceRetryWait = sourceRetryWait
71027			}
71028		case "type":
71029			if v != nil {
71030				var typeVar TypeBasicCopySource
71031				err = json.Unmarshal(*v, &typeVar)
71032				if err != nil {
71033					return err
71034				}
71035				ps.Type = typeVar
71036			}
71037		}
71038	}
71039
71040	return nil
71041}
71042
71043// Pipeline a data factory pipeline.
71044type Pipeline struct {
71045	// Description - The description of the pipeline.
71046	Description *string `json:"description,omitempty"`
71047	// Activities - List of activities in pipeline.
71048	Activities *[]BasicActivity `json:"activities,omitempty"`
71049	// Parameters - List of parameters for pipeline.
71050	Parameters map[string]*ParameterSpecification `json:"parameters"`
71051	// Concurrency - The max number of concurrent runs for the pipeline.
71052	Concurrency *int32 `json:"concurrency,omitempty"`
71053	// Annotations - List of tags that can be used for describing the Pipeline.
71054	Annotations *[]interface{} `json:"annotations,omitempty"`
71055}
71056
71057// MarshalJSON is the custom marshaler for Pipeline.
71058func (p Pipeline) MarshalJSON() ([]byte, error) {
71059	objectMap := make(map[string]interface{})
71060	if p.Description != nil {
71061		objectMap["description"] = p.Description
71062	}
71063	if p.Activities != nil {
71064		objectMap["activities"] = p.Activities
71065	}
71066	if p.Parameters != nil {
71067		objectMap["parameters"] = p.Parameters
71068	}
71069	if p.Concurrency != nil {
71070		objectMap["concurrency"] = p.Concurrency
71071	}
71072	if p.Annotations != nil {
71073		objectMap["annotations"] = p.Annotations
71074	}
71075	return json.Marshal(objectMap)
71076}
71077
71078// UnmarshalJSON is the custom unmarshaler for Pipeline struct.
71079func (p *Pipeline) UnmarshalJSON(body []byte) error {
71080	var m map[string]*json.RawMessage
71081	err := json.Unmarshal(body, &m)
71082	if err != nil {
71083		return err
71084	}
71085	for k, v := range m {
71086		switch k {
71087		case "description":
71088			if v != nil {
71089				var description string
71090				err = json.Unmarshal(*v, &description)
71091				if err != nil {
71092					return err
71093				}
71094				p.Description = &description
71095			}
71096		case "activities":
71097			if v != nil {
71098				activities, err := unmarshalBasicActivityArray(*v)
71099				if err != nil {
71100					return err
71101				}
71102				p.Activities = &activities
71103			}
71104		case "parameters":
71105			if v != nil {
71106				var parameters map[string]*ParameterSpecification
71107				err = json.Unmarshal(*v, &parameters)
71108				if err != nil {
71109					return err
71110				}
71111				p.Parameters = parameters
71112			}
71113		case "concurrency":
71114			if v != nil {
71115				var concurrency int32
71116				err = json.Unmarshal(*v, &concurrency)
71117				if err != nil {
71118					return err
71119				}
71120				p.Concurrency = &concurrency
71121			}
71122		case "annotations":
71123			if v != nil {
71124				var annotations []interface{}
71125				err = json.Unmarshal(*v, &annotations)
71126				if err != nil {
71127					return err
71128				}
71129				p.Annotations = &annotations
71130			}
71131		}
71132	}
71133
71134	return nil
71135}
71136
71137// PipelineListResponse a list of pipeline resources.
71138type PipelineListResponse struct {
71139	autorest.Response `json:"-"`
71140	// Value - List of pipelines.
71141	Value *[]PipelineResource `json:"value,omitempty"`
71142	// NextLink - The link to the next page of results, if any remaining results exist.
71143	NextLink *string `json:"nextLink,omitempty"`
71144}
71145
71146// PipelineListResponseIterator provides access to a complete listing of PipelineResource values.
71147type PipelineListResponseIterator struct {
71148	i    int
71149	page PipelineListResponsePage
71150}
71151
71152// NextWithContext advances to the next value.  If there was an error making
71153// the request the iterator does not advance and the error is returned.
71154func (iter *PipelineListResponseIterator) NextWithContext(ctx context.Context) (err error) {
71155	if tracing.IsEnabled() {
71156		ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponseIterator.NextWithContext")
71157		defer func() {
71158			sc := -1
71159			if iter.Response().Response.Response != nil {
71160				sc = iter.Response().Response.Response.StatusCode
71161			}
71162			tracing.EndSpan(ctx, sc, err)
71163		}()
71164	}
71165	iter.i++
71166	if iter.i < len(iter.page.Values()) {
71167		return nil
71168	}
71169	err = iter.page.NextWithContext(ctx)
71170	if err != nil {
71171		iter.i--
71172		return err
71173	}
71174	iter.i = 0
71175	return nil
71176}
71177
71178// Next advances to the next value.  If there was an error making
71179// the request the iterator does not advance and the error is returned.
71180// Deprecated: Use NextWithContext() instead.
71181func (iter *PipelineListResponseIterator) Next() error {
71182	return iter.NextWithContext(context.Background())
71183}
71184
71185// NotDone returns true if the enumeration should be started or is not yet complete.
71186func (iter PipelineListResponseIterator) NotDone() bool {
71187	return iter.page.NotDone() && iter.i < len(iter.page.Values())
71188}
71189
71190// Response returns the raw server response from the last page request.
71191func (iter PipelineListResponseIterator) Response() PipelineListResponse {
71192	return iter.page.Response()
71193}
71194
71195// Value returns the current value or a zero-initialized value if the
71196// iterator has advanced beyond the end of the collection.
71197func (iter PipelineListResponseIterator) Value() PipelineResource {
71198	if !iter.page.NotDone() {
71199		return PipelineResource{}
71200	}
71201	return iter.page.Values()[iter.i]
71202}
71203
71204// Creates a new instance of the PipelineListResponseIterator type.
71205func NewPipelineListResponseIterator(page PipelineListResponsePage) PipelineListResponseIterator {
71206	return PipelineListResponseIterator{page: page}
71207}
71208
71209// IsEmpty returns true if the ListResult contains no values.
71210func (plr PipelineListResponse) IsEmpty() bool {
71211	return plr.Value == nil || len(*plr.Value) == 0
71212}
71213
71214// hasNextLink returns true if the NextLink is not empty.
71215func (plr PipelineListResponse) hasNextLink() bool {
71216	return plr.NextLink != nil && len(*plr.NextLink) != 0
71217}
71218
71219// pipelineListResponsePreparer prepares a request to retrieve the next set of results.
71220// It returns nil if no more results exist.
71221func (plr PipelineListResponse) pipelineListResponsePreparer(ctx context.Context) (*http.Request, error) {
71222	if !plr.hasNextLink() {
71223		return nil, nil
71224	}
71225	return autorest.Prepare((&http.Request{}).WithContext(ctx),
71226		autorest.AsJSON(),
71227		autorest.AsGet(),
71228		autorest.WithBaseURL(to.String(plr.NextLink)))
71229}
71230
71231// PipelineListResponsePage contains a page of PipelineResource values.
71232type PipelineListResponsePage struct {
71233	fn  func(context.Context, PipelineListResponse) (PipelineListResponse, error)
71234	plr PipelineListResponse
71235}
71236
71237// NextWithContext advances to the next page of values.  If there was an error making
71238// the request the page does not advance and the error is returned.
71239func (page *PipelineListResponsePage) NextWithContext(ctx context.Context) (err error) {
71240	if tracing.IsEnabled() {
71241		ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponsePage.NextWithContext")
71242		defer func() {
71243			sc := -1
71244			if page.Response().Response.Response != nil {
71245				sc = page.Response().Response.Response.StatusCode
71246			}
71247			tracing.EndSpan(ctx, sc, err)
71248		}()
71249	}
71250	for {
71251		next, err := page.fn(ctx, page.plr)
71252		if err != nil {
71253			return err
71254		}
71255		page.plr = next
71256		if !next.hasNextLink() || !next.IsEmpty() {
71257			break
71258		}
71259	}
71260	return nil
71261}
71262
71263// Next advances to the next page of values.  If there was an error making
71264// the request the page does not advance and the error is returned.
71265// Deprecated: Use NextWithContext() instead.
71266func (page *PipelineListResponsePage) Next() error {
71267	return page.NextWithContext(context.Background())
71268}
71269
71270// NotDone returns true if the page enumeration should be started or is not yet complete.
71271func (page PipelineListResponsePage) NotDone() bool {
71272	return !page.plr.IsEmpty()
71273}
71274
71275// Response returns the raw server response from the last page request.
71276func (page PipelineListResponsePage) Response() PipelineListResponse {
71277	return page.plr
71278}
71279
71280// Values returns the slice of values for the current page or nil if there are no values.
71281func (page PipelineListResponsePage) Values() []PipelineResource {
71282	if page.plr.IsEmpty() {
71283		return nil
71284	}
71285	return *page.plr.Value
71286}
71287
71288// Creates a new instance of the PipelineListResponsePage type.
71289func NewPipelineListResponsePage(cur PipelineListResponse, getNextPage func(context.Context, PipelineListResponse) (PipelineListResponse, error)) PipelineListResponsePage {
71290	return PipelineListResponsePage{
71291		fn:  getNextPage,
71292		plr: cur,
71293	}
71294}
71295
71296// PipelineReference pipeline reference type.
71297type PipelineReference struct {
71298	// Type - Pipeline reference type.
71299	Type *string `json:"type,omitempty"`
71300	// ReferenceName - Reference pipeline name.
71301	ReferenceName *string `json:"referenceName,omitempty"`
71302	// Name - Reference name.
71303	Name *string `json:"name,omitempty"`
71304}
71305
71306// PipelineResource pipeline resource type.
71307type PipelineResource struct {
71308	autorest.Response `json:"-"`
71309	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71310	AdditionalProperties map[string]interface{} `json:""`
71311	// Pipeline - Properties of the pipeline.
71312	*Pipeline `json:"properties,omitempty"`
71313	// ID - READ-ONLY; The resource identifier.
71314	ID *string `json:"id,omitempty"`
71315	// Name - READ-ONLY; The resource name.
71316	Name *string `json:"name,omitempty"`
71317	// Type - READ-ONLY; The resource type.
71318	Type *string `json:"type,omitempty"`
71319	// Etag - READ-ONLY; Etag identifies change in the resource.
71320	Etag *string `json:"etag,omitempty"`
71321}
71322
71323// MarshalJSON is the custom marshaler for PipelineResource.
71324func (pr PipelineResource) MarshalJSON() ([]byte, error) {
71325	objectMap := make(map[string]interface{})
71326	if pr.Pipeline != nil {
71327		objectMap["properties"] = pr.Pipeline
71328	}
71329	for k, v := range pr.AdditionalProperties {
71330		objectMap[k] = v
71331	}
71332	return json.Marshal(objectMap)
71333}
71334
71335// UnmarshalJSON is the custom unmarshaler for PipelineResource struct.
71336func (pr *PipelineResource) UnmarshalJSON(body []byte) error {
71337	var m map[string]*json.RawMessage
71338	err := json.Unmarshal(body, &m)
71339	if err != nil {
71340		return err
71341	}
71342	for k, v := range m {
71343		switch k {
71344		default:
71345			if v != nil {
71346				var additionalProperties interface{}
71347				err = json.Unmarshal(*v, &additionalProperties)
71348				if err != nil {
71349					return err
71350				}
71351				if pr.AdditionalProperties == nil {
71352					pr.AdditionalProperties = make(map[string]interface{})
71353				}
71354				pr.AdditionalProperties[k] = additionalProperties
71355			}
71356		case "properties":
71357			if v != nil {
71358				var pipeline Pipeline
71359				err = json.Unmarshal(*v, &pipeline)
71360				if err != nil {
71361					return err
71362				}
71363				pr.Pipeline = &pipeline
71364			}
71365		case "id":
71366			if v != nil {
71367				var ID string
71368				err = json.Unmarshal(*v, &ID)
71369				if err != nil {
71370					return err
71371				}
71372				pr.ID = &ID
71373			}
71374		case "name":
71375			if v != nil {
71376				var name string
71377				err = json.Unmarshal(*v, &name)
71378				if err != nil {
71379					return err
71380				}
71381				pr.Name = &name
71382			}
71383		case "type":
71384			if v != nil {
71385				var typeVar string
71386				err = json.Unmarshal(*v, &typeVar)
71387				if err != nil {
71388					return err
71389				}
71390				pr.Type = &typeVar
71391			}
71392		case "etag":
71393			if v != nil {
71394				var etag string
71395				err = json.Unmarshal(*v, &etag)
71396				if err != nil {
71397					return err
71398				}
71399				pr.Etag = &etag
71400			}
71401		}
71402	}
71403
71404	return nil
71405}
71406
71407// PipelineRun information about a pipeline run.
71408type PipelineRun struct {
71409	autorest.Response `json:"-"`
71410	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71411	AdditionalProperties map[string]interface{} `json:""`
71412	// RunID - READ-ONLY; Identifier of a run.
71413	RunID *string `json:"runId,omitempty"`
71414	// PipelineName - READ-ONLY; The pipeline name.
71415	PipelineName *string `json:"pipelineName,omitempty"`
71416	// Parameters - READ-ONLY; The full or partial list of parameter name, value pair used in the pipeline run.
71417	Parameters map[string]*string `json:"parameters"`
71418	// InvokedBy - READ-ONLY; Entity that started the pipeline run.
71419	InvokedBy *PipelineRunInvokedBy `json:"invokedBy,omitempty"`
71420	// LastUpdated - READ-ONLY; The last updated timestamp for the pipeline run event in ISO8601 format.
71421	LastUpdated *date.Time `json:"lastUpdated,omitempty"`
71422	// RunStart - READ-ONLY; The start time of a pipeline run in ISO8601 format.
71423	RunStart *date.Time `json:"runStart,omitempty"`
71424	// RunEnd - READ-ONLY; The end time of a pipeline run in ISO8601 format.
71425	RunEnd *date.Time `json:"runEnd,omitempty"`
71426	// DurationInMs - READ-ONLY; The duration of a pipeline run.
71427	DurationInMs *int32 `json:"durationInMs,omitempty"`
71428	// Status - READ-ONLY; The status of a pipeline run.
71429	Status *string `json:"status,omitempty"`
71430	// Message - READ-ONLY; The message from a pipeline run.
71431	Message *string `json:"message,omitempty"`
71432}
71433
71434// MarshalJSON is the custom marshaler for PipelineRun.
71435func (pr PipelineRun) MarshalJSON() ([]byte, error) {
71436	objectMap := make(map[string]interface{})
71437	for k, v := range pr.AdditionalProperties {
71438		objectMap[k] = v
71439	}
71440	return json.Marshal(objectMap)
71441}
71442
71443// UnmarshalJSON is the custom unmarshaler for PipelineRun struct.
71444func (pr *PipelineRun) UnmarshalJSON(body []byte) error {
71445	var m map[string]*json.RawMessage
71446	err := json.Unmarshal(body, &m)
71447	if err != nil {
71448		return err
71449	}
71450	for k, v := range m {
71451		switch k {
71452		default:
71453			if v != nil {
71454				var additionalProperties interface{}
71455				err = json.Unmarshal(*v, &additionalProperties)
71456				if err != nil {
71457					return err
71458				}
71459				if pr.AdditionalProperties == nil {
71460					pr.AdditionalProperties = make(map[string]interface{})
71461				}
71462				pr.AdditionalProperties[k] = additionalProperties
71463			}
71464		case "runId":
71465			if v != nil {
71466				var runID string
71467				err = json.Unmarshal(*v, &runID)
71468				if err != nil {
71469					return err
71470				}
71471				pr.RunID = &runID
71472			}
71473		case "pipelineName":
71474			if v != nil {
71475				var pipelineName string
71476				err = json.Unmarshal(*v, &pipelineName)
71477				if err != nil {
71478					return err
71479				}
71480				pr.PipelineName = &pipelineName
71481			}
71482		case "parameters":
71483			if v != nil {
71484				var parameters map[string]*string
71485				err = json.Unmarshal(*v, &parameters)
71486				if err != nil {
71487					return err
71488				}
71489				pr.Parameters = parameters
71490			}
71491		case "invokedBy":
71492			if v != nil {
71493				var invokedBy PipelineRunInvokedBy
71494				err = json.Unmarshal(*v, &invokedBy)
71495				if err != nil {
71496					return err
71497				}
71498				pr.InvokedBy = &invokedBy
71499			}
71500		case "lastUpdated":
71501			if v != nil {
71502				var lastUpdated date.Time
71503				err = json.Unmarshal(*v, &lastUpdated)
71504				if err != nil {
71505					return err
71506				}
71507				pr.LastUpdated = &lastUpdated
71508			}
71509		case "runStart":
71510			if v != nil {
71511				var runStart date.Time
71512				err = json.Unmarshal(*v, &runStart)
71513				if err != nil {
71514					return err
71515				}
71516				pr.RunStart = &runStart
71517			}
71518		case "runEnd":
71519			if v != nil {
71520				var runEnd date.Time
71521				err = json.Unmarshal(*v, &runEnd)
71522				if err != nil {
71523					return err
71524				}
71525				pr.RunEnd = &runEnd
71526			}
71527		case "durationInMs":
71528			if v != nil {
71529				var durationInMs int32
71530				err = json.Unmarshal(*v, &durationInMs)
71531				if err != nil {
71532					return err
71533				}
71534				pr.DurationInMs = &durationInMs
71535			}
71536		case "status":
71537			if v != nil {
71538				var status string
71539				err = json.Unmarshal(*v, &status)
71540				if err != nil {
71541					return err
71542				}
71543				pr.Status = &status
71544			}
71545		case "message":
71546			if v != nil {
71547				var message string
71548				err = json.Unmarshal(*v, &message)
71549				if err != nil {
71550					return err
71551				}
71552				pr.Message = &message
71553			}
71554		}
71555	}
71556
71557	return nil
71558}
71559
71560// PipelineRunFilterParameters query parameters for listing pipeline runs.
71561type PipelineRunFilterParameters struct {
71562	// ContinuationToken - The continuation token for getting the next page of results. Null for first page.
71563	ContinuationToken *string `json:"continuationToken,omitempty"`
71564	// LastUpdatedAfter - The time at or after which the pipeline run event was updated in 'ISO 8601' format.
71565	LastUpdatedAfter *date.Time `json:"lastUpdatedAfter,omitempty"`
71566	// LastUpdatedBefore - The time at or before which the pipeline run event was updated in 'ISO 8601' format.
71567	LastUpdatedBefore *date.Time `json:"lastUpdatedBefore,omitempty"`
71568	// Filters - List of filters.
71569	Filters *[]PipelineRunQueryFilter `json:"filters,omitempty"`
71570	// OrderBy - List of OrderBy option.
71571	OrderBy *[]PipelineRunQueryOrderBy `json:"orderBy,omitempty"`
71572}
71573
71574// PipelineRunInvokedBy provides entity name and id that started the pipeline run.
71575type PipelineRunInvokedBy struct {
71576	// Name - READ-ONLY; Name of the entity that started the pipeline run.
71577	Name *string `json:"name,omitempty"`
71578	// ID - READ-ONLY; The ID of the entity that started the run.
71579	ID *string `json:"id,omitempty"`
71580}
71581
71582// MarshalJSON is the custom marshaler for PipelineRunInvokedBy.
71583func (prib PipelineRunInvokedBy) MarshalJSON() ([]byte, error) {
71584	objectMap := make(map[string]interface{})
71585	return json.Marshal(objectMap)
71586}
71587
71588// PipelineRunQueryFilter query filter option for listing pipeline runs.
71589type PipelineRunQueryFilter struct {
71590	// Operand - Parameter name to be used for filter. Possible values include: 'PipelineName', 'Status', 'RunStart', 'RunEnd'
71591	Operand PipelineRunQueryFilterOperand `json:"operand,omitempty"`
71592	// Operator - Operator to be used for filter. Possible values include: 'Equals', 'NotEquals', 'In', 'NotIn'
71593	Operator PipelineRunQueryFilterOperator `json:"operator,omitempty"`
71594	// Values - List of filter values.
71595	Values *[]string `json:"values,omitempty"`
71596}
71597
71598// PipelineRunQueryOrderBy an object to provide order by options for listing pipeline runs.
71599type PipelineRunQueryOrderBy struct {
71600	// OrderBy - Parameter name to be used for order by. Possible values include: 'PipelineRunQueryOrderByFieldRunStart', 'PipelineRunQueryOrderByFieldRunEnd'
71601	OrderBy PipelineRunQueryOrderByField `json:"orderBy,omitempty"`
71602	// Order - Sorting order of the parameter. Possible values include: 'ASC', 'DESC'
71603	Order PipelineRunQueryOrder `json:"order,omitempty"`
71604}
71605
71606// PipelineRunQueryResponse a list pipeline runs.
71607type PipelineRunQueryResponse struct {
71608	autorest.Response `json:"-"`
71609	// Value - List of pipeline runs.
71610	Value *[]PipelineRun `json:"value,omitempty"`
71611	// ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
71612	ContinuationToken *string `json:"continuationToken,omitempty"`
71613}
71614
71615// PolybaseSettings polyBase settings.
71616type PolybaseSettings struct {
71617	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71618	AdditionalProperties map[string]interface{} `json:""`
71619	// RejectType - Reject type.
71620	RejectType interface{} `json:"rejectType,omitempty"`
71621	// RejectValue - Specifies the value or the percentage of rows that can be rejected before the query fails. Type: number (or Expression with resultType number), minimum: 0.
71622	RejectValue interface{} `json:"rejectValue,omitempty"`
71623	// RejectSampleValue - Determines the number of rows to attempt to retrieve before the PolyBase recalculates the percentage of rejected rows. Type: integer (or Expression with resultType integer), minimum: 0.
71624	RejectSampleValue interface{} `json:"rejectSampleValue,omitempty"`
71625	// UseTypeDefault - Specifies how to handle missing values in delimited text files when PolyBase retrieves data from the text file. Type: boolean (or Expression with resultType boolean).
71626	UseTypeDefault interface{} `json:"useTypeDefault,omitempty"`
71627}
71628
71629// MarshalJSON is the custom marshaler for PolybaseSettings.
71630func (ps PolybaseSettings) MarshalJSON() ([]byte, error) {
71631	objectMap := make(map[string]interface{})
71632	if ps.RejectType != nil {
71633		objectMap["rejectType"] = ps.RejectType
71634	}
71635	if ps.RejectValue != nil {
71636		objectMap["rejectValue"] = ps.RejectValue
71637	}
71638	if ps.RejectSampleValue != nil {
71639		objectMap["rejectSampleValue"] = ps.RejectSampleValue
71640	}
71641	if ps.UseTypeDefault != nil {
71642		objectMap["useTypeDefault"] = ps.UseTypeDefault
71643	}
71644	for k, v := range ps.AdditionalProperties {
71645		objectMap[k] = v
71646	}
71647	return json.Marshal(objectMap)
71648}
71649
71650// UnmarshalJSON is the custom unmarshaler for PolybaseSettings struct.
71651func (ps *PolybaseSettings) UnmarshalJSON(body []byte) error {
71652	var m map[string]*json.RawMessage
71653	err := json.Unmarshal(body, &m)
71654	if err != nil {
71655		return err
71656	}
71657	for k, v := range m {
71658		switch k {
71659		default:
71660			if v != nil {
71661				var additionalProperties interface{}
71662				err = json.Unmarshal(*v, &additionalProperties)
71663				if err != nil {
71664					return err
71665				}
71666				if ps.AdditionalProperties == nil {
71667					ps.AdditionalProperties = make(map[string]interface{})
71668				}
71669				ps.AdditionalProperties[k] = additionalProperties
71670			}
71671		case "rejectType":
71672			if v != nil {
71673				var rejectType interface{}
71674				err = json.Unmarshal(*v, &rejectType)
71675				if err != nil {
71676					return err
71677				}
71678				ps.RejectType = rejectType
71679			}
71680		case "rejectValue":
71681			if v != nil {
71682				var rejectValue interface{}
71683				err = json.Unmarshal(*v, &rejectValue)
71684				if err != nil {
71685					return err
71686				}
71687				ps.RejectValue = rejectValue
71688			}
71689		case "rejectSampleValue":
71690			if v != nil {
71691				var rejectSampleValue interface{}
71692				err = json.Unmarshal(*v, &rejectSampleValue)
71693				if err != nil {
71694					return err
71695				}
71696				ps.RejectSampleValue = rejectSampleValue
71697			}
71698		case "useTypeDefault":
71699			if v != nil {
71700				var useTypeDefault interface{}
71701				err = json.Unmarshal(*v, &useTypeDefault)
71702				if err != nil {
71703					return err
71704				}
71705				ps.UseTypeDefault = useTypeDefault
71706			}
71707		}
71708	}
71709
71710	return nil
71711}
71712
71713// PostgreSQLLinkedService linked service for PostgreSQL data source.
71714type PostgreSQLLinkedService struct {
71715	// PostgreSQLLinkedServiceTypeProperties - PostgreSQL linked service properties.
71716	*PostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
71717	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71718	AdditionalProperties map[string]interface{} `json:""`
71719	// ConnectVia - The integration runtime reference.
71720	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
71721	// Description - Linked service description.
71722	Description *string `json:"description,omitempty"`
71723	// Parameters - Parameters for linked service.
71724	Parameters map[string]*ParameterSpecification `json:"parameters"`
71725	// Annotations - List of tags that can be used for describing the Dataset.
71726	Annotations *[]interface{} `json:"annotations,omitempty"`
71727	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
71728	Type TypeBasicLinkedService `json:"type,omitempty"`
71729}
71730
71731// MarshalJSON is the custom marshaler for PostgreSQLLinkedService.
71732func (psls PostgreSQLLinkedService) MarshalJSON() ([]byte, error) {
71733	psls.Type = TypePostgreSQL
71734	objectMap := make(map[string]interface{})
71735	if psls.PostgreSQLLinkedServiceTypeProperties != nil {
71736		objectMap["typeProperties"] = psls.PostgreSQLLinkedServiceTypeProperties
71737	}
71738	if psls.ConnectVia != nil {
71739		objectMap["connectVia"] = psls.ConnectVia
71740	}
71741	if psls.Description != nil {
71742		objectMap["description"] = psls.Description
71743	}
71744	if psls.Parameters != nil {
71745		objectMap["parameters"] = psls.Parameters
71746	}
71747	if psls.Annotations != nil {
71748		objectMap["annotations"] = psls.Annotations
71749	}
71750	if psls.Type != "" {
71751		objectMap["type"] = psls.Type
71752	}
71753	for k, v := range psls.AdditionalProperties {
71754		objectMap[k] = v
71755	}
71756	return json.Marshal(objectMap)
71757}
71758
71759// AsResponsysLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71760func (psls PostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
71761	return nil, false
71762}
71763
71764// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71765func (psls PostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
71766	return nil, false
71767}
71768
71769// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71770func (psls PostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
71771	return nil, false
71772}
71773
71774// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71775func (psls PostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
71776	return nil, false
71777}
71778
71779// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71780func (psls PostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
71781	return nil, false
71782}
71783
71784// AsNetezzaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71785func (psls PostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
71786	return nil, false
71787}
71788
71789// AsVerticaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71790func (psls PostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
71791	return nil, false
71792}
71793
71794// AsZohoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71795func (psls PostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
71796	return nil, false
71797}
71798
71799// AsXeroLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71800func (psls PostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
71801	return nil, false
71802}
71803
71804// AsSquareLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71805func (psls PostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
71806	return nil, false
71807}
71808
71809// AsSparkLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71810func (psls PostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
71811	return nil, false
71812}
71813
71814// AsShopifyLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71815func (psls PostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
71816	return nil, false
71817}
71818
71819// AsServiceNowLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71820func (psls PostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
71821	return nil, false
71822}
71823
71824// AsQuickBooksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71825func (psls PostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
71826	return nil, false
71827}
71828
71829// AsPrestoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71830func (psls PostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
71831	return nil, false
71832}
71833
71834// AsPhoenixLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71835func (psls PostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
71836	return nil, false
71837}
71838
71839// AsPaypalLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71840func (psls PostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
71841	return nil, false
71842}
71843
71844// AsMarketoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71845func (psls PostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
71846	return nil, false
71847}
71848
71849// AsMariaDBLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71850func (psls PostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
71851	return nil, false
71852}
71853
71854// AsMagentoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71855func (psls PostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
71856	return nil, false
71857}
71858
71859// AsJiraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71860func (psls PostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
71861	return nil, false
71862}
71863
71864// AsImpalaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71865func (psls PostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
71866	return nil, false
71867}
71868
71869// AsHubspotLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71870func (psls PostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
71871	return nil, false
71872}
71873
71874// AsHiveLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71875func (psls PostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
71876	return nil, false
71877}
71878
71879// AsHBaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71880func (psls PostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
71881	return nil, false
71882}
71883
71884// AsGreenplumLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71885func (psls PostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
71886	return nil, false
71887}
71888
71889// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71890func (psls PostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
71891	return nil, false
71892}
71893
71894// AsEloquaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71895func (psls PostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
71896	return nil, false
71897}
71898
71899// AsDrillLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71900func (psls PostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
71901	return nil, false
71902}
71903
71904// AsCouchbaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71905func (psls PostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
71906	return nil, false
71907}
71908
71909// AsConcurLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71910func (psls PostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
71911	return nil, false
71912}
71913
71914// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71915func (psls PostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
71916	return nil, false
71917}
71918
71919// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71920func (psls PostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
71921	return nil, false
71922}
71923
71924// AsSapHanaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71925func (psls PostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
71926	return nil, false
71927}
71928
71929// AsSapBWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71930func (psls PostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
71931	return nil, false
71932}
71933
71934// AsSftpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71935func (psls PostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
71936	return nil, false
71937}
71938
71939// AsFtpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71940func (psls PostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
71941	return nil, false
71942}
71943
71944// AsHTTPLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71945func (psls PostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
71946	return nil, false
71947}
71948
71949// AsAzureSearchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71950func (psls PostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
71951	return nil, false
71952}
71953
71954// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71955func (psls PostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
71956	return nil, false
71957}
71958
71959// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71960func (psls PostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
71961	return nil, false
71962}
71963
71964// AsAmazonS3LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71965func (psls PostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
71966	return nil, false
71967}
71968
71969// AsSapEccLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71970func (psls PostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
71971	return nil, false
71972}
71973
71974// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71975func (psls PostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
71976	return nil, false
71977}
71978
71979// AsSalesforceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71980func (psls PostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
71981	return nil, false
71982}
71983
71984// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71985func (psls PostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
71986	return nil, false
71987}
71988
71989// AsMongoDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71990func (psls PostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
71991	return nil, false
71992}
71993
71994// AsCassandraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71995func (psls PostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
71996	return nil, false
71997}
71998
71999// AsWebLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72000func (psls PostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
72001	return nil, false
72002}
72003
72004// AsODataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72005func (psls PostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
72006	return nil, false
72007}
72008
72009// AsHdfsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72010func (psls PostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
72011	return nil, false
72012}
72013
72014// AsOdbcLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72015func (psls PostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
72016	return nil, false
72017}
72018
72019// AsAzureMLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72020func (psls PostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
72021	return nil, false
72022}
72023
72024// AsTeradataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72025func (psls PostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
72026	return nil, false
72027}
72028
72029// AsDb2LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72030func (psls PostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
72031	return nil, false
72032}
72033
72034// AsSybaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72035func (psls PostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
72036	return nil, false
72037}
72038
72039// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72040func (psls PostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
72041	return &psls, true
72042}
72043
72044// AsMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72045func (psls PostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
72046	return nil, false
72047}
72048
72049// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72050func (psls PostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
72051	return nil, false
72052}
72053
72054// AsOracleLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72055func (psls PostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
72056	return nil, false
72057}
72058
72059// AsFileServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72060func (psls PostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
72061	return nil, false
72062}
72063
72064// AsHDInsightLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72065func (psls PostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
72066	return nil, false
72067}
72068
72069// AsDynamicsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72070func (psls PostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
72071	return nil, false
72072}
72073
72074// AsCosmosDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72075func (psls PostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
72076	return nil, false
72077}
72078
72079// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72080func (psls PostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
72081	return nil, false
72082}
72083
72084// AsAzureBatchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72085func (psls PostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
72086	return nil, false
72087}
72088
72089// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72090func (psls PostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
72091	return nil, false
72092}
72093
72094// AsSQLServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72095func (psls PostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
72096	return nil, false
72097}
72098
72099// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72100func (psls PostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
72101	return nil, false
72102}
72103
72104// AsAzureStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72105func (psls PostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
72106	return nil, false
72107}
72108
72109// AsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72110func (psls PostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) {
72111	return nil, false
72112}
72113
72114// AsBasicLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72115func (psls PostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
72116	return &psls, true
72117}
72118
72119// UnmarshalJSON is the custom unmarshaler for PostgreSQLLinkedService struct.
72120func (psls *PostgreSQLLinkedService) UnmarshalJSON(body []byte) error {
72121	var m map[string]*json.RawMessage
72122	err := json.Unmarshal(body, &m)
72123	if err != nil {
72124		return err
72125	}
72126	for k, v := range m {
72127		switch k {
72128		case "typeProperties":
72129			if v != nil {
72130				var postgreSQLLinkedServiceTypeProperties PostgreSQLLinkedServiceTypeProperties
72131				err = json.Unmarshal(*v, &postgreSQLLinkedServiceTypeProperties)
72132				if err != nil {
72133					return err
72134				}
72135				psls.PostgreSQLLinkedServiceTypeProperties = &postgreSQLLinkedServiceTypeProperties
72136			}
72137		default:
72138			if v != nil {
72139				var additionalProperties interface{}
72140				err = json.Unmarshal(*v, &additionalProperties)
72141				if err != nil {
72142					return err
72143				}
72144				if psls.AdditionalProperties == nil {
72145					psls.AdditionalProperties = make(map[string]interface{})
72146				}
72147				psls.AdditionalProperties[k] = additionalProperties
72148			}
72149		case "connectVia":
72150			if v != nil {
72151				var connectVia IntegrationRuntimeReference
72152				err = json.Unmarshal(*v, &connectVia)
72153				if err != nil {
72154					return err
72155				}
72156				psls.ConnectVia = &connectVia
72157			}
72158		case "description":
72159			if v != nil {
72160				var description string
72161				err = json.Unmarshal(*v, &description)
72162				if err != nil {
72163					return err
72164				}
72165				psls.Description = &description
72166			}
72167		case "parameters":
72168			if v != nil {
72169				var parameters map[string]*ParameterSpecification
72170				err = json.Unmarshal(*v, &parameters)
72171				if err != nil {
72172					return err
72173				}
72174				psls.Parameters = parameters
72175			}
72176		case "annotations":
72177			if v != nil {
72178				var annotations []interface{}
72179				err = json.Unmarshal(*v, &annotations)
72180				if err != nil {
72181					return err
72182				}
72183				psls.Annotations = &annotations
72184			}
72185		case "type":
72186			if v != nil {
72187				var typeVar TypeBasicLinkedService
72188				err = json.Unmarshal(*v, &typeVar)
72189				if err != nil {
72190					return err
72191				}
72192				psls.Type = typeVar
72193			}
72194		}
72195	}
72196
72197	return nil
72198}
72199
72200// PostgreSQLLinkedServiceTypeProperties postgreSQL linked service properties.
72201type PostgreSQLLinkedServiceTypeProperties struct {
72202	// ConnectionString - The connection string.
72203	ConnectionString BasicSecretBase `json:"connectionString,omitempty"`
72204	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
72205	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
72206}
72207
72208// UnmarshalJSON is the custom unmarshaler for PostgreSQLLinkedServiceTypeProperties struct.
72209func (pslstp *PostgreSQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
72210	var m map[string]*json.RawMessage
72211	err := json.Unmarshal(body, &m)
72212	if err != nil {
72213		return err
72214	}
72215	for k, v := range m {
72216		switch k {
72217		case "connectionString":
72218			if v != nil {
72219				connectionString, err := unmarshalBasicSecretBase(*v)
72220				if err != nil {
72221					return err
72222				}
72223				pslstp.ConnectionString = connectionString
72224			}
72225		case "encryptedCredential":
72226			if v != nil {
72227				var encryptedCredential interface{}
72228				err = json.Unmarshal(*v, &encryptedCredential)
72229				if err != nil {
72230					return err
72231				}
72232				pslstp.EncryptedCredential = encryptedCredential
72233			}
72234		}
72235	}
72236
72237	return nil
72238}
72239
72240// PrestoLinkedService presto server linked service.
72241type PrestoLinkedService struct {
72242	// PrestoLinkedServiceTypeProperties - Presto server linked service properties.
72243	*PrestoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
72244	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
72245	AdditionalProperties map[string]interface{} `json:""`
72246	// ConnectVia - The integration runtime reference.
72247	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
72248	// Description - Linked service description.
72249	Description *string `json:"description,omitempty"`
72250	// Parameters - Parameters for linked service.
72251	Parameters map[string]*ParameterSpecification `json:"parameters"`
72252	// Annotations - List of tags that can be used for describing the Dataset.
72253	Annotations *[]interface{} `json:"annotations,omitempty"`
72254	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
72255	Type TypeBasicLinkedService `json:"type,omitempty"`
72256}
72257
72258// MarshalJSON is the custom marshaler for PrestoLinkedService.
72259func (pls PrestoLinkedService) MarshalJSON() ([]byte, error) {
72260	pls.Type = TypePresto
72261	objectMap := make(map[string]interface{})
72262	if pls.PrestoLinkedServiceTypeProperties != nil {
72263		objectMap["typeProperties"] = pls.PrestoLinkedServiceTypeProperties
72264	}
72265	if pls.ConnectVia != nil {
72266		objectMap["connectVia"] = pls.ConnectVia
72267	}
72268	if pls.Description != nil {
72269		objectMap["description"] = pls.Description
72270	}
72271	if pls.Parameters != nil {
72272		objectMap["parameters"] = pls.Parameters
72273	}
72274	if pls.Annotations != nil {
72275		objectMap["annotations"] = pls.Annotations
72276	}
72277	if pls.Type != "" {
72278		objectMap["type"] = pls.Type
72279	}
72280	for k, v := range pls.AdditionalProperties {
72281		objectMap[k] = v
72282	}
72283	return json.Marshal(objectMap)
72284}
72285
72286// AsResponsysLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72287func (pls PrestoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
72288	return nil, false
72289}
72290
72291// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72292func (pls PrestoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
72293	return nil, false
72294}
72295
72296// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72297func (pls PrestoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
72298	return nil, false
72299}
72300
72301// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72302func (pls PrestoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
72303	return nil, false
72304}
72305
72306// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72307func (pls PrestoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
72308	return nil, false
72309}
72310
72311// AsNetezzaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72312func (pls PrestoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
72313	return nil, false
72314}
72315
72316// AsVerticaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72317func (pls PrestoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
72318	return nil, false
72319}
72320
72321// AsZohoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72322func (pls PrestoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
72323	return nil, false
72324}
72325
72326// AsXeroLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72327func (pls PrestoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
72328	return nil, false
72329}
72330
72331// AsSquareLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72332func (pls PrestoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
72333	return nil, false
72334}
72335
72336// AsSparkLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72337func (pls PrestoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
72338	return nil, false
72339}
72340
72341// AsShopifyLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72342func (pls PrestoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
72343	return nil, false
72344}
72345
72346// AsServiceNowLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72347func (pls PrestoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
72348	return nil, false
72349}
72350
72351// AsQuickBooksLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72352func (pls PrestoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
72353	return nil, false
72354}
72355
72356// AsPrestoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72357func (pls PrestoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
72358	return &pls, true
72359}
72360
72361// AsPhoenixLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72362func (pls PrestoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
72363	return nil, false
72364}
72365
72366// AsPaypalLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72367func (pls PrestoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
72368	return nil, false
72369}
72370
72371// AsMarketoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72372func (pls PrestoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
72373	return nil, false
72374}
72375
72376// AsMariaDBLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72377func (pls PrestoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
72378	return nil, false
72379}
72380
72381// AsMagentoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72382func (pls PrestoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
72383	return nil, false
72384}
72385
72386// AsJiraLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72387func (pls PrestoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
72388	return nil, false
72389}
72390
72391// AsImpalaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72392func (pls PrestoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
72393	return nil, false
72394}
72395
72396// AsHubspotLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72397func (pls PrestoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
72398	return nil, false
72399}
72400
72401// AsHiveLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72402func (pls PrestoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
72403	return nil, false
72404}
72405
72406// AsHBaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72407func (pls PrestoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
72408	return nil, false
72409}
72410
72411// AsGreenplumLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72412func (pls PrestoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
72413	return nil, false
72414}
72415
72416// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72417func (pls PrestoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
72418	return nil, false
72419}
72420
72421// AsEloquaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72422func (pls PrestoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
72423	return nil, false
72424}
72425
72426// AsDrillLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72427func (pls PrestoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
72428	return nil, false
72429}
72430
72431// AsCouchbaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72432func (pls PrestoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
72433	return nil, false
72434}
72435
72436// AsConcurLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72437func (pls PrestoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
72438	return nil, false
72439}
72440
72441// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72442func (pls PrestoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
72443	return nil, false
72444}
72445
72446// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72447func (pls PrestoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
72448	return nil, false
72449}
72450
72451// AsSapHanaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72452func (pls PrestoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
72453	return nil, false
72454}
72455
72456// AsSapBWLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72457func (pls PrestoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
72458	return nil, false
72459}
72460
72461// AsSftpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72462func (pls PrestoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
72463	return nil, false
72464}
72465
72466// AsFtpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72467func (pls PrestoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
72468	return nil, false
72469}
72470
72471// AsHTTPLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72472func (pls PrestoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
72473	return nil, false
72474}
72475
72476// AsAzureSearchLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72477func (pls PrestoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
72478	return nil, false
72479}
72480
72481// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72482func (pls PrestoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
72483	return nil, false
72484}
72485
72486// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72487func (pls PrestoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
72488	return nil, false
72489}
72490
72491// AsAmazonS3LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72492func (pls PrestoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
72493	return nil, false
72494}
72495
72496// AsSapEccLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72497func (pls PrestoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
72498	return nil, false
72499}
72500
72501// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72502func (pls PrestoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
72503	return nil, false
72504}
72505
72506// AsSalesforceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72507func (pls PrestoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
72508	return nil, false
72509}
72510
72511// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72512func (pls PrestoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
72513	return nil, false
72514}
72515
72516// AsMongoDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72517func (pls PrestoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
72518	return nil, false
72519}
72520
72521// AsCassandraLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72522func (pls PrestoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
72523	return nil, false
72524}
72525
72526// AsWebLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72527func (pls PrestoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
72528	return nil, false
72529}
72530
72531// AsODataLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72532func (pls PrestoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
72533	return nil, false
72534}
72535
72536// AsHdfsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72537func (pls PrestoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
72538	return nil, false
72539}
72540
72541// AsOdbcLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72542func (pls PrestoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
72543	return nil, false
72544}
72545
72546// AsAzureMLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72547func (pls PrestoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
72548	return nil, false
72549}
72550
72551// AsTeradataLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72552func (pls PrestoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
72553	return nil, false
72554}
72555
72556// AsDb2LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72557func (pls PrestoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
72558	return nil, false
72559}
72560
72561// AsSybaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72562func (pls PrestoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
72563	return nil, false
72564}
72565
72566// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72567func (pls PrestoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
72568	return nil, false
72569}
72570
72571// AsMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72572func (pls PrestoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
72573	return nil, false
72574}
72575
72576// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72577func (pls PrestoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
72578	return nil, false
72579}
72580
72581// AsOracleLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72582func (pls PrestoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
72583	return nil, false
72584}
72585
72586// AsFileServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72587func (pls PrestoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
72588	return nil, false
72589}
72590
72591// AsHDInsightLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72592func (pls PrestoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
72593	return nil, false
72594}
72595
72596// AsDynamicsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72597func (pls PrestoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
72598	return nil, false
72599}
72600
72601// AsCosmosDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72602func (pls PrestoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
72603	return nil, false
72604}
72605
72606// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72607func (pls PrestoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
72608	return nil, false
72609}
72610
72611// AsAzureBatchLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72612func (pls PrestoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
72613	return nil, false
72614}
72615
72616// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72617func (pls PrestoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
72618	return nil, false
72619}
72620
72621// AsSQLServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72622func (pls PrestoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
72623	return nil, false
72624}
72625
72626// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72627func (pls PrestoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
72628	return nil, false
72629}
72630
72631// AsAzureStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72632func (pls PrestoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
72633	return nil, false
72634}
72635
72636// AsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72637func (pls PrestoLinkedService) AsLinkedService() (*LinkedService, bool) {
72638	return nil, false
72639}
72640
72641// AsBasicLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72642func (pls PrestoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
72643	return &pls, true
72644}
72645
72646// UnmarshalJSON is the custom unmarshaler for PrestoLinkedService struct.
72647func (pls *PrestoLinkedService) UnmarshalJSON(body []byte) error {
72648	var m map[string]*json.RawMessage
72649	err := json.Unmarshal(body, &m)
72650	if err != nil {
72651		return err
72652	}
72653	for k, v := range m {
72654		switch k {
72655		case "typeProperties":
72656			if v != nil {
72657				var prestoLinkedServiceTypeProperties PrestoLinkedServiceTypeProperties
72658				err = json.Unmarshal(*v, &prestoLinkedServiceTypeProperties)
72659				if err != nil {
72660					return err
72661				}
72662				pls.PrestoLinkedServiceTypeProperties = &prestoLinkedServiceTypeProperties
72663			}
72664		default:
72665			if v != nil {
72666				var additionalProperties interface{}
72667				err = json.Unmarshal(*v, &additionalProperties)
72668				if err != nil {
72669					return err
72670				}
72671				if pls.AdditionalProperties == nil {
72672					pls.AdditionalProperties = make(map[string]interface{})
72673				}
72674				pls.AdditionalProperties[k] = additionalProperties
72675			}
72676		case "connectVia":
72677			if v != nil {
72678				var connectVia IntegrationRuntimeReference
72679				err = json.Unmarshal(*v, &connectVia)
72680				if err != nil {
72681					return err
72682				}
72683				pls.ConnectVia = &connectVia
72684			}
72685		case "description":
72686			if v != nil {
72687				var description string
72688				err = json.Unmarshal(*v, &description)
72689				if err != nil {
72690					return err
72691				}
72692				pls.Description = &description
72693			}
72694		case "parameters":
72695			if v != nil {
72696				var parameters map[string]*ParameterSpecification
72697				err = json.Unmarshal(*v, &parameters)
72698				if err != nil {
72699					return err
72700				}
72701				pls.Parameters = parameters
72702			}
72703		case "annotations":
72704			if v != nil {
72705				var annotations []interface{}
72706				err = json.Unmarshal(*v, &annotations)
72707				if err != nil {
72708					return err
72709				}
72710				pls.Annotations = &annotations
72711			}
72712		case "type":
72713			if v != nil {
72714				var typeVar TypeBasicLinkedService
72715				err = json.Unmarshal(*v, &typeVar)
72716				if err != nil {
72717					return err
72718				}
72719				pls.Type = typeVar
72720			}
72721		}
72722	}
72723
72724	return nil
72725}
72726
72727// PrestoLinkedServiceTypeProperties presto server linked service properties.
72728type PrestoLinkedServiceTypeProperties struct {
72729	// Host - The IP address or host name of the Presto server. (i.e. 192.168.222.160)
72730	Host interface{} `json:"host,omitempty"`
72731	// ServerVersion - The version of the Presto server. (i.e. 0.148-t)
72732	ServerVersion interface{} `json:"serverVersion,omitempty"`
72733	// Catalog - The catalog context for all request against the server.
72734	Catalog interface{} `json:"catalog,omitempty"`
72735	// Port - The TCP port that the Presto server uses to listen for client connections. The default value is 8080.
72736	Port interface{} `json:"port,omitempty"`
72737	// AuthenticationType - The authentication mechanism used to connect to the Presto server. Possible values include: 'PrestoAuthenticationTypeAnonymous', 'PrestoAuthenticationTypeLDAP'
72738	AuthenticationType PrestoAuthenticationType `json:"authenticationType,omitempty"`
72739	// Username - The user name used to connect to the Presto server.
72740	Username interface{} `json:"username,omitempty"`
72741	// Password - The password corresponding to the user name.
72742	Password BasicSecretBase `json:"password,omitempty"`
72743	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
72744	EnableSsl interface{} `json:"enableSsl,omitempty"`
72745	// TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
72746	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
72747	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
72748	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
72749	// AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
72750	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
72751	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
72752	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
72753	// TimeZoneID - The local time zone used by the connection. Valid values for this option are specified in the IANA Time Zone Database. The default value is the system time zone.
72754	TimeZoneID interface{} `json:"timeZoneID,omitempty"`
72755	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
72756	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
72757}
72758
72759// UnmarshalJSON is the custom unmarshaler for PrestoLinkedServiceTypeProperties struct.
72760func (plstp *PrestoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
72761	var m map[string]*json.RawMessage
72762	err := json.Unmarshal(body, &m)
72763	if err != nil {
72764		return err
72765	}
72766	for k, v := range m {
72767		switch k {
72768		case "host":
72769			if v != nil {
72770				var host interface{}
72771				err = json.Unmarshal(*v, &host)
72772				if err != nil {
72773					return err
72774				}
72775				plstp.Host = host
72776			}
72777		case "serverVersion":
72778			if v != nil {
72779				var serverVersion interface{}
72780				err = json.Unmarshal(*v, &serverVersion)
72781				if err != nil {
72782					return err
72783				}
72784				plstp.ServerVersion = serverVersion
72785			}
72786		case "catalog":
72787			if v != nil {
72788				var catalog interface{}
72789				err = json.Unmarshal(*v, &catalog)
72790				if err != nil {
72791					return err
72792				}
72793				plstp.Catalog = catalog
72794			}
72795		case "port":
72796			if v != nil {
72797				var port interface{}
72798				err = json.Unmarshal(*v, &port)
72799				if err != nil {
72800					return err
72801				}
72802				plstp.Port = port
72803			}
72804		case "authenticationType":
72805			if v != nil {
72806				var authenticationType PrestoAuthenticationType
72807				err = json.Unmarshal(*v, &authenticationType)
72808				if err != nil {
72809					return err
72810				}
72811				plstp.AuthenticationType = authenticationType
72812			}
72813		case "username":
72814			if v != nil {
72815				var username interface{}
72816				err = json.Unmarshal(*v, &username)
72817				if err != nil {
72818					return err
72819				}
72820				plstp.Username = username
72821			}
72822		case "password":
72823			if v != nil {
72824				password, err := unmarshalBasicSecretBase(*v)
72825				if err != nil {
72826					return err
72827				}
72828				plstp.Password = password
72829			}
72830		case "enableSsl":
72831			if v != nil {
72832				var enableSsl interface{}
72833				err = json.Unmarshal(*v, &enableSsl)
72834				if err != nil {
72835					return err
72836				}
72837				plstp.EnableSsl = enableSsl
72838			}
72839		case "trustedCertPath":
72840			if v != nil {
72841				var trustedCertPath interface{}
72842				err = json.Unmarshal(*v, &trustedCertPath)
72843				if err != nil {
72844					return err
72845				}
72846				plstp.TrustedCertPath = trustedCertPath
72847			}
72848		case "useSystemTrustStore":
72849			if v != nil {
72850				var useSystemTrustStore interface{}
72851				err = json.Unmarshal(*v, &useSystemTrustStore)
72852				if err != nil {
72853					return err
72854				}
72855				plstp.UseSystemTrustStore = useSystemTrustStore
72856			}
72857		case "allowHostNameCNMismatch":
72858			if v != nil {
72859				var allowHostNameCNMismatch interface{}
72860				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
72861				if err != nil {
72862					return err
72863				}
72864				plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
72865			}
72866		case "allowSelfSignedServerCert":
72867			if v != nil {
72868				var allowSelfSignedServerCert interface{}
72869				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
72870				if err != nil {
72871					return err
72872				}
72873				plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
72874			}
72875		case "timeZoneID":
72876			if v != nil {
72877				var timeZoneID interface{}
72878				err = json.Unmarshal(*v, &timeZoneID)
72879				if err != nil {
72880					return err
72881				}
72882				plstp.TimeZoneID = timeZoneID
72883			}
72884		case "encryptedCredential":
72885			if v != nil {
72886				var encryptedCredential interface{}
72887				err = json.Unmarshal(*v, &encryptedCredential)
72888				if err != nil {
72889					return err
72890				}
72891				plstp.EncryptedCredential = encryptedCredential
72892			}
72893		}
72894	}
72895
72896	return nil
72897}
72898
72899// PrestoObjectDataset presto server dataset.
72900type PrestoObjectDataset struct {
72901	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
72902	AdditionalProperties map[string]interface{} `json:""`
72903	// Description - Dataset description.
72904	Description *string `json:"description,omitempty"`
72905	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
72906	Structure interface{} `json:"structure,omitempty"`
72907	// LinkedServiceName - Linked service reference.
72908	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
72909	// Parameters - Parameters for dataset.
72910	Parameters map[string]*ParameterSpecification `json:"parameters"`
72911	// Annotations - List of tags that can be used for describing the Dataset.
72912	Annotations *[]interface{} `json:"annotations,omitempty"`
72913	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
72914	Type TypeBasicDataset `json:"type,omitempty"`
72915}
72916
72917// MarshalJSON is the custom marshaler for PrestoObjectDataset.
72918func (pod PrestoObjectDataset) MarshalJSON() ([]byte, error) {
72919	pod.Type = TypePrestoObject
72920	objectMap := make(map[string]interface{})
72921	if pod.Description != nil {
72922		objectMap["description"] = pod.Description
72923	}
72924	if pod.Structure != nil {
72925		objectMap["structure"] = pod.Structure
72926	}
72927	if pod.LinkedServiceName != nil {
72928		objectMap["linkedServiceName"] = pod.LinkedServiceName
72929	}
72930	if pod.Parameters != nil {
72931		objectMap["parameters"] = pod.Parameters
72932	}
72933	if pod.Annotations != nil {
72934		objectMap["annotations"] = pod.Annotations
72935	}
72936	if pod.Type != "" {
72937		objectMap["type"] = pod.Type
72938	}
72939	for k, v := range pod.AdditionalProperties {
72940		objectMap[k] = v
72941	}
72942	return json.Marshal(objectMap)
72943}
72944
72945// AsResponsysObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72946func (pod PrestoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
72947	return nil, false
72948}
72949
72950// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72951func (pod PrestoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
72952	return nil, false
72953}
72954
72955// AsVerticaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72956func (pod PrestoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
72957	return nil, false
72958}
72959
72960// AsNetezzaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72961func (pod PrestoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
72962	return nil, false
72963}
72964
72965// AsZohoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72966func (pod PrestoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
72967	return nil, false
72968}
72969
72970// AsXeroObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72971func (pod PrestoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
72972	return nil, false
72973}
72974
72975// AsSquareObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72976func (pod PrestoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
72977	return nil, false
72978}
72979
72980// AsSparkObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72981func (pod PrestoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
72982	return nil, false
72983}
72984
72985// AsShopifyObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72986func (pod PrestoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
72987	return nil, false
72988}
72989
72990// AsServiceNowObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72991func (pod PrestoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
72992	return nil, false
72993}
72994
72995// AsQuickBooksObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72996func (pod PrestoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
72997	return nil, false
72998}
72999
73000// AsPrestoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73001func (pod PrestoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
73002	return &pod, true
73003}
73004
73005// AsPhoenixObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73006func (pod PrestoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
73007	return nil, false
73008}
73009
73010// AsPaypalObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73011func (pod PrestoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
73012	return nil, false
73013}
73014
73015// AsMarketoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73016func (pod PrestoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
73017	return nil, false
73018}
73019
73020// AsMariaDBTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73021func (pod PrestoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
73022	return nil, false
73023}
73024
73025// AsMagentoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73026func (pod PrestoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
73027	return nil, false
73028}
73029
73030// AsJiraObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73031func (pod PrestoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
73032	return nil, false
73033}
73034
73035// AsImpalaObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73036func (pod PrestoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
73037	return nil, false
73038}
73039
73040// AsHubspotObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73041func (pod PrestoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
73042	return nil, false
73043}
73044
73045// AsHiveObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73046func (pod PrestoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
73047	return nil, false
73048}
73049
73050// AsHBaseObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73051func (pod PrestoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
73052	return nil, false
73053}
73054
73055// AsGreenplumTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73056func (pod PrestoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
73057	return nil, false
73058}
73059
73060// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73061func (pod PrestoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
73062	return nil, false
73063}
73064
73065// AsEloquaObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73066func (pod PrestoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
73067	return nil, false
73068}
73069
73070// AsDrillTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73071func (pod PrestoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
73072	return nil, false
73073}
73074
73075// AsCouchbaseTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73076func (pod PrestoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
73077	return nil, false
73078}
73079
73080// AsConcurObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73081func (pod PrestoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
73082	return nil, false
73083}
73084
73085// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73086func (pod PrestoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
73087	return nil, false
73088}
73089
73090// AsAmazonMWSObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73091func (pod PrestoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
73092	return nil, false
73093}
73094
73095// AsHTTPDataset is the BasicDataset implementation for PrestoObjectDataset.
73096func (pod PrestoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
73097	return nil, false
73098}
73099
73100// AsAzureSearchIndexDataset is the BasicDataset implementation for PrestoObjectDataset.
73101func (pod PrestoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
73102	return nil, false
73103}
73104
73105// AsWebTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73106func (pod PrestoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
73107	return nil, false
73108}
73109
73110// AsSQLServerTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73111func (pod PrestoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
73112	return nil, false
73113}
73114
73115// AsSapEccResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
73116func (pod PrestoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
73117	return nil, false
73118}
73119
73120// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
73121func (pod PrestoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
73122	return nil, false
73123}
73124
73125// AsSalesforceObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73126func (pod PrestoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
73127	return nil, false
73128}
73129
73130// AsRelationalTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73131func (pod PrestoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
73132	return nil, false
73133}
73134
73135// AsAzureMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73136func (pod PrestoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
73137	return nil, false
73138}
73139
73140// AsOracleTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73141func (pod PrestoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
73142	return nil, false
73143}
73144
73145// AsODataResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
73146func (pod PrestoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
73147	return nil, false
73148}
73149
73150// AsMongoDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
73151func (pod PrestoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
73152	return nil, false
73153}
73154
73155// AsFileShareDataset is the BasicDataset implementation for PrestoObjectDataset.
73156func (pod PrestoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
73157	return nil, false
73158}
73159
73160// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PrestoObjectDataset.
73161func (pod PrestoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
73162	return nil, false
73163}
73164
73165// AsDynamicsEntityDataset is the BasicDataset implementation for PrestoObjectDataset.
73166func (pod PrestoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
73167	return nil, false
73168}
73169
73170// AsDocumentDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
73171func (pod PrestoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
73172	return nil, false
73173}
73174
73175// AsCustomDataset is the BasicDataset implementation for PrestoObjectDataset.
73176func (pod PrestoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
73177	return nil, false
73178}
73179
73180// AsCassandraTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73181func (pod PrestoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
73182	return nil, false
73183}
73184
73185// AsAzureSQLDWTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73186func (pod PrestoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
73187	return nil, false
73188}
73189
73190// AsAzureSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73191func (pod PrestoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
73192	return nil, false
73193}
73194
73195// AsAzureTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73196func (pod PrestoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
73197	return nil, false
73198}
73199
73200// AsAzureBlobDataset is the BasicDataset implementation for PrestoObjectDataset.
73201func (pod PrestoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
73202	return nil, false
73203}
73204
73205// AsAmazonS3Dataset is the BasicDataset implementation for PrestoObjectDataset.
73206func (pod PrestoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
73207	return nil, false
73208}
73209
73210// AsDataset is the BasicDataset implementation for PrestoObjectDataset.
73211func (pod PrestoObjectDataset) AsDataset() (*Dataset, bool) {
73212	return nil, false
73213}
73214
73215// AsBasicDataset is the BasicDataset implementation for PrestoObjectDataset.
73216func (pod PrestoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
73217	return &pod, true
73218}
73219
73220// UnmarshalJSON is the custom unmarshaler for PrestoObjectDataset struct.
73221func (pod *PrestoObjectDataset) UnmarshalJSON(body []byte) error {
73222	var m map[string]*json.RawMessage
73223	err := json.Unmarshal(body, &m)
73224	if err != nil {
73225		return err
73226	}
73227	for k, v := range m {
73228		switch k {
73229		default:
73230			if v != nil {
73231				var additionalProperties interface{}
73232				err = json.Unmarshal(*v, &additionalProperties)
73233				if err != nil {
73234					return err
73235				}
73236				if pod.AdditionalProperties == nil {
73237					pod.AdditionalProperties = make(map[string]interface{})
73238				}
73239				pod.AdditionalProperties[k] = additionalProperties
73240			}
73241		case "description":
73242			if v != nil {
73243				var description string
73244				err = json.Unmarshal(*v, &description)
73245				if err != nil {
73246					return err
73247				}
73248				pod.Description = &description
73249			}
73250		case "structure":
73251			if v != nil {
73252				var structure interface{}
73253				err = json.Unmarshal(*v, &structure)
73254				if err != nil {
73255					return err
73256				}
73257				pod.Structure = structure
73258			}
73259		case "linkedServiceName":
73260			if v != nil {
73261				var linkedServiceName LinkedServiceReference
73262				err = json.Unmarshal(*v, &linkedServiceName)
73263				if err != nil {
73264					return err
73265				}
73266				pod.LinkedServiceName = &linkedServiceName
73267			}
73268		case "parameters":
73269			if v != nil {
73270				var parameters map[string]*ParameterSpecification
73271				err = json.Unmarshal(*v, &parameters)
73272				if err != nil {
73273					return err
73274				}
73275				pod.Parameters = parameters
73276			}
73277		case "annotations":
73278			if v != nil {
73279				var annotations []interface{}
73280				err = json.Unmarshal(*v, &annotations)
73281				if err != nil {
73282					return err
73283				}
73284				pod.Annotations = &annotations
73285			}
73286		case "type":
73287			if v != nil {
73288				var typeVar TypeBasicDataset
73289				err = json.Unmarshal(*v, &typeVar)
73290				if err != nil {
73291					return err
73292				}
73293				pod.Type = typeVar
73294			}
73295		}
73296	}
73297
73298	return nil
73299}
73300
73301// PrestoSource a copy activity Presto server source.
73302type PrestoSource struct {
73303	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
73304	Query interface{} `json:"query,omitempty"`
73305	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
73306	AdditionalProperties map[string]interface{} `json:""`
73307	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
73308	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
73309	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
73310	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
73311	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
73312	Type TypeBasicCopySource `json:"type,omitempty"`
73313}
73314
73315// MarshalJSON is the custom marshaler for PrestoSource.
73316func (ps PrestoSource) MarshalJSON() ([]byte, error) {
73317	ps.Type = TypePrestoSource
73318	objectMap := make(map[string]interface{})
73319	if ps.Query != nil {
73320		objectMap["query"] = ps.Query
73321	}
73322	if ps.SourceRetryCount != nil {
73323		objectMap["sourceRetryCount"] = ps.SourceRetryCount
73324	}
73325	if ps.SourceRetryWait != nil {
73326		objectMap["sourceRetryWait"] = ps.SourceRetryWait
73327	}
73328	if ps.Type != "" {
73329		objectMap["type"] = ps.Type
73330	}
73331	for k, v := range ps.AdditionalProperties {
73332		objectMap[k] = v
73333	}
73334	return json.Marshal(objectMap)
73335}
73336
73337// AsAmazonRedshiftSource is the BasicCopySource implementation for PrestoSource.
73338func (ps PrestoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
73339	return nil, false
73340}
73341
73342// AsResponsysSource is the BasicCopySource implementation for PrestoSource.
73343func (ps PrestoSource) AsResponsysSource() (*ResponsysSource, bool) {
73344	return nil, false
73345}
73346
73347// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PrestoSource.
73348func (ps PrestoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
73349	return nil, false
73350}
73351
73352// AsVerticaSource is the BasicCopySource implementation for PrestoSource.
73353func (ps PrestoSource) AsVerticaSource() (*VerticaSource, bool) {
73354	return nil, false
73355}
73356
73357// AsNetezzaSource is the BasicCopySource implementation for PrestoSource.
73358func (ps PrestoSource) AsNetezzaSource() (*NetezzaSource, bool) {
73359	return nil, false
73360}
73361
73362// AsZohoSource is the BasicCopySource implementation for PrestoSource.
73363func (ps PrestoSource) AsZohoSource() (*ZohoSource, bool) {
73364	return nil, false
73365}
73366
73367// AsXeroSource is the BasicCopySource implementation for PrestoSource.
73368func (ps PrestoSource) AsXeroSource() (*XeroSource, bool) {
73369	return nil, false
73370}
73371
73372// AsSquareSource is the BasicCopySource implementation for PrestoSource.
73373func (ps PrestoSource) AsSquareSource() (*SquareSource, bool) {
73374	return nil, false
73375}
73376
73377// AsSparkSource is the BasicCopySource implementation for PrestoSource.
73378func (ps PrestoSource) AsSparkSource() (*SparkSource, bool) {
73379	return nil, false
73380}
73381
73382// AsShopifySource is the BasicCopySource implementation for PrestoSource.
73383func (ps PrestoSource) AsShopifySource() (*ShopifySource, bool) {
73384	return nil, false
73385}
73386
73387// AsServiceNowSource is the BasicCopySource implementation for PrestoSource.
73388func (ps PrestoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
73389	return nil, false
73390}
73391
73392// AsQuickBooksSource is the BasicCopySource implementation for PrestoSource.
73393func (ps PrestoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
73394	return nil, false
73395}
73396
73397// AsPrestoSource is the BasicCopySource implementation for PrestoSource.
73398func (ps PrestoSource) AsPrestoSource() (*PrestoSource, bool) {
73399	return &ps, true
73400}
73401
73402// AsPhoenixSource is the BasicCopySource implementation for PrestoSource.
73403func (ps PrestoSource) AsPhoenixSource() (*PhoenixSource, bool) {
73404	return nil, false
73405}
73406
73407// AsPaypalSource is the BasicCopySource implementation for PrestoSource.
73408func (ps PrestoSource) AsPaypalSource() (*PaypalSource, bool) {
73409	return nil, false
73410}
73411
73412// AsMarketoSource is the BasicCopySource implementation for PrestoSource.
73413func (ps PrestoSource) AsMarketoSource() (*MarketoSource, bool) {
73414	return nil, false
73415}
73416
73417// AsMariaDBSource is the BasicCopySource implementation for PrestoSource.
73418func (ps PrestoSource) AsMariaDBSource() (*MariaDBSource, bool) {
73419	return nil, false
73420}
73421
73422// AsMagentoSource is the BasicCopySource implementation for PrestoSource.
73423func (ps PrestoSource) AsMagentoSource() (*MagentoSource, bool) {
73424	return nil, false
73425}
73426
73427// AsJiraSource is the BasicCopySource implementation for PrestoSource.
73428func (ps PrestoSource) AsJiraSource() (*JiraSource, bool) {
73429	return nil, false
73430}
73431
73432// AsImpalaSource is the BasicCopySource implementation for PrestoSource.
73433func (ps PrestoSource) AsImpalaSource() (*ImpalaSource, bool) {
73434	return nil, false
73435}
73436
73437// AsHubspotSource is the BasicCopySource implementation for PrestoSource.
73438func (ps PrestoSource) AsHubspotSource() (*HubspotSource, bool) {
73439	return nil, false
73440}
73441
73442// AsHiveSource is the BasicCopySource implementation for PrestoSource.
73443func (ps PrestoSource) AsHiveSource() (*HiveSource, bool) {
73444	return nil, false
73445}
73446
73447// AsHBaseSource is the BasicCopySource implementation for PrestoSource.
73448func (ps PrestoSource) AsHBaseSource() (*HBaseSource, bool) {
73449	return nil, false
73450}
73451
73452// AsGreenplumSource is the BasicCopySource implementation for PrestoSource.
73453func (ps PrestoSource) AsGreenplumSource() (*GreenplumSource, bool) {
73454	return nil, false
73455}
73456
73457// AsGoogleBigQuerySource is the BasicCopySource implementation for PrestoSource.
73458func (ps PrestoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
73459	return nil, false
73460}
73461
73462// AsEloquaSource is the BasicCopySource implementation for PrestoSource.
73463func (ps PrestoSource) AsEloquaSource() (*EloquaSource, bool) {
73464	return nil, false
73465}
73466
73467// AsDrillSource is the BasicCopySource implementation for PrestoSource.
73468func (ps PrestoSource) AsDrillSource() (*DrillSource, bool) {
73469	return nil, false
73470}
73471
73472// AsCouchbaseSource is the BasicCopySource implementation for PrestoSource.
73473func (ps PrestoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
73474	return nil, false
73475}
73476
73477// AsConcurSource is the BasicCopySource implementation for PrestoSource.
73478func (ps PrestoSource) AsConcurSource() (*ConcurSource, bool) {
73479	return nil, false
73480}
73481
73482// AsAzurePostgreSQLSource is the BasicCopySource implementation for PrestoSource.
73483func (ps PrestoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
73484	return nil, false
73485}
73486
73487// AsAmazonMWSSource is the BasicCopySource implementation for PrestoSource.
73488func (ps PrestoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
73489	return nil, false
73490}
73491
73492// AsHTTPSource is the BasicCopySource implementation for PrestoSource.
73493func (ps PrestoSource) AsHTTPSource() (*HTTPSource, bool) {
73494	return nil, false
73495}
73496
73497// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PrestoSource.
73498func (ps PrestoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
73499	return nil, false
73500}
73501
73502// AsMongoDbSource is the BasicCopySource implementation for PrestoSource.
73503func (ps PrestoSource) AsMongoDbSource() (*MongoDbSource, bool) {
73504	return nil, false
73505}
73506
73507// AsCassandraSource is the BasicCopySource implementation for PrestoSource.
73508func (ps PrestoSource) AsCassandraSource() (*CassandraSource, bool) {
73509	return nil, false
73510}
73511
73512// AsWebSource is the BasicCopySource implementation for PrestoSource.
73513func (ps PrestoSource) AsWebSource() (*WebSource, bool) {
73514	return nil, false
73515}
73516
73517// AsOracleSource is the BasicCopySource implementation for PrestoSource.
73518func (ps PrestoSource) AsOracleSource() (*OracleSource, bool) {
73519	return nil, false
73520}
73521
73522// AsAzureMySQLSource is the BasicCopySource implementation for PrestoSource.
73523func (ps PrestoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
73524	return nil, false
73525}
73526
73527// AsHdfsSource is the BasicCopySource implementation for PrestoSource.
73528func (ps PrestoSource) AsHdfsSource() (*HdfsSource, bool) {
73529	return nil, false
73530}
73531
73532// AsFileSystemSource is the BasicCopySource implementation for PrestoSource.
73533func (ps PrestoSource) AsFileSystemSource() (*FileSystemSource, bool) {
73534	return nil, false
73535}
73536
73537// AsSQLDWSource is the BasicCopySource implementation for PrestoSource.
73538func (ps PrestoSource) AsSQLDWSource() (*SQLDWSource, bool) {
73539	return nil, false
73540}
73541
73542// AsSQLSource is the BasicCopySource implementation for PrestoSource.
73543func (ps PrestoSource) AsSQLSource() (*SQLSource, bool) {
73544	return nil, false
73545}
73546
73547// AsSapEccSource is the BasicCopySource implementation for PrestoSource.
73548func (ps PrestoSource) AsSapEccSource() (*SapEccSource, bool) {
73549	return nil, false
73550}
73551
73552// AsSapCloudForCustomerSource is the BasicCopySource implementation for PrestoSource.
73553func (ps PrestoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
73554	return nil, false
73555}
73556
73557// AsSalesforceSource is the BasicCopySource implementation for PrestoSource.
73558func (ps PrestoSource) AsSalesforceSource() (*SalesforceSource, bool) {
73559	return nil, false
73560}
73561
73562// AsRelationalSource is the BasicCopySource implementation for PrestoSource.
73563func (ps PrestoSource) AsRelationalSource() (*RelationalSource, bool) {
73564	return nil, false
73565}
73566
73567// AsDynamicsSource is the BasicCopySource implementation for PrestoSource.
73568func (ps PrestoSource) AsDynamicsSource() (*DynamicsSource, bool) {
73569	return nil, false
73570}
73571
73572// AsDocumentDbCollectionSource is the BasicCopySource implementation for PrestoSource.
73573func (ps PrestoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
73574	return nil, false
73575}
73576
73577// AsBlobSource is the BasicCopySource implementation for PrestoSource.
73578func (ps PrestoSource) AsBlobSource() (*BlobSource, bool) {
73579	return nil, false
73580}
73581
73582// AsAzureTableSource is the BasicCopySource implementation for PrestoSource.
73583func (ps PrestoSource) AsAzureTableSource() (*AzureTableSource, bool) {
73584	return nil, false
73585}
73586
73587// AsCopySource is the BasicCopySource implementation for PrestoSource.
73588func (ps PrestoSource) AsCopySource() (*CopySource, bool) {
73589	return nil, false
73590}
73591
73592// AsBasicCopySource is the BasicCopySource implementation for PrestoSource.
73593func (ps PrestoSource) AsBasicCopySource() (BasicCopySource, bool) {
73594	return &ps, true
73595}
73596
73597// UnmarshalJSON is the custom unmarshaler for PrestoSource struct.
73598func (ps *PrestoSource) UnmarshalJSON(body []byte) error {
73599	var m map[string]*json.RawMessage
73600	err := json.Unmarshal(body, &m)
73601	if err != nil {
73602		return err
73603	}
73604	for k, v := range m {
73605		switch k {
73606		case "query":
73607			if v != nil {
73608				var query interface{}
73609				err = json.Unmarshal(*v, &query)
73610				if err != nil {
73611					return err
73612				}
73613				ps.Query = query
73614			}
73615		default:
73616			if v != nil {
73617				var additionalProperties interface{}
73618				err = json.Unmarshal(*v, &additionalProperties)
73619				if err != nil {
73620					return err
73621				}
73622				if ps.AdditionalProperties == nil {
73623					ps.AdditionalProperties = make(map[string]interface{})
73624				}
73625				ps.AdditionalProperties[k] = additionalProperties
73626			}
73627		case "sourceRetryCount":
73628			if v != nil {
73629				var sourceRetryCount interface{}
73630				err = json.Unmarshal(*v, &sourceRetryCount)
73631				if err != nil {
73632					return err
73633				}
73634				ps.SourceRetryCount = sourceRetryCount
73635			}
73636		case "sourceRetryWait":
73637			if v != nil {
73638				var sourceRetryWait interface{}
73639				err = json.Unmarshal(*v, &sourceRetryWait)
73640				if err != nil {
73641					return err
73642				}
73643				ps.SourceRetryWait = sourceRetryWait
73644			}
73645		case "type":
73646			if v != nil {
73647				var typeVar TypeBasicCopySource
73648				err = json.Unmarshal(*v, &typeVar)
73649				if err != nil {
73650					return err
73651				}
73652				ps.Type = typeVar
73653			}
73654		}
73655	}
73656
73657	return nil
73658}
73659
73660// QuickBooksLinkedService quickBooks server linked service.
73661type QuickBooksLinkedService struct {
73662	// QuickBooksLinkedServiceTypeProperties - QuickBooks server linked service properties.
73663	*QuickBooksLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
73664	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
73665	AdditionalProperties map[string]interface{} `json:""`
73666	// ConnectVia - The integration runtime reference.
73667	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
73668	// Description - Linked service description.
73669	Description *string `json:"description,omitempty"`
73670	// Parameters - Parameters for linked service.
73671	Parameters map[string]*ParameterSpecification `json:"parameters"`
73672	// Annotations - List of tags that can be used for describing the Dataset.
73673	Annotations *[]interface{} `json:"annotations,omitempty"`
73674	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
73675	Type TypeBasicLinkedService `json:"type,omitempty"`
73676}
73677
73678// MarshalJSON is the custom marshaler for QuickBooksLinkedService.
73679func (qbls QuickBooksLinkedService) MarshalJSON() ([]byte, error) {
73680	qbls.Type = TypeQuickBooks
73681	objectMap := make(map[string]interface{})
73682	if qbls.QuickBooksLinkedServiceTypeProperties != nil {
73683		objectMap["typeProperties"] = qbls.QuickBooksLinkedServiceTypeProperties
73684	}
73685	if qbls.ConnectVia != nil {
73686		objectMap["connectVia"] = qbls.ConnectVia
73687	}
73688	if qbls.Description != nil {
73689		objectMap["description"] = qbls.Description
73690	}
73691	if qbls.Parameters != nil {
73692		objectMap["parameters"] = qbls.Parameters
73693	}
73694	if qbls.Annotations != nil {
73695		objectMap["annotations"] = qbls.Annotations
73696	}
73697	if qbls.Type != "" {
73698		objectMap["type"] = qbls.Type
73699	}
73700	for k, v := range qbls.AdditionalProperties {
73701		objectMap[k] = v
73702	}
73703	return json.Marshal(objectMap)
73704}
73705
73706// AsResponsysLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73707func (qbls QuickBooksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
73708	return nil, false
73709}
73710
73711// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73712func (qbls QuickBooksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
73713	return nil, false
73714}
73715
73716// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73717func (qbls QuickBooksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
73718	return nil, false
73719}
73720
73721// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73722func (qbls QuickBooksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
73723	return nil, false
73724}
73725
73726// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73727func (qbls QuickBooksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
73728	return nil, false
73729}
73730
73731// AsNetezzaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73732func (qbls QuickBooksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
73733	return nil, false
73734}
73735
73736// AsVerticaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73737func (qbls QuickBooksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
73738	return nil, false
73739}
73740
73741// AsZohoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73742func (qbls QuickBooksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
73743	return nil, false
73744}
73745
73746// AsXeroLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73747func (qbls QuickBooksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
73748	return nil, false
73749}
73750
73751// AsSquareLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73752func (qbls QuickBooksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
73753	return nil, false
73754}
73755
73756// AsSparkLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73757func (qbls QuickBooksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
73758	return nil, false
73759}
73760
73761// AsShopifyLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73762func (qbls QuickBooksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
73763	return nil, false
73764}
73765
73766// AsServiceNowLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73767func (qbls QuickBooksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
73768	return nil, false
73769}
73770
73771// AsQuickBooksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73772func (qbls QuickBooksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
73773	return &qbls, true
73774}
73775
73776// AsPrestoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73777func (qbls QuickBooksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
73778	return nil, false
73779}
73780
73781// AsPhoenixLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73782func (qbls QuickBooksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
73783	return nil, false
73784}
73785
73786// AsPaypalLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73787func (qbls QuickBooksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
73788	return nil, false
73789}
73790
73791// AsMarketoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73792func (qbls QuickBooksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
73793	return nil, false
73794}
73795
73796// AsMariaDBLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73797func (qbls QuickBooksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
73798	return nil, false
73799}
73800
73801// AsMagentoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73802func (qbls QuickBooksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
73803	return nil, false
73804}
73805
73806// AsJiraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73807func (qbls QuickBooksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
73808	return nil, false
73809}
73810
73811// AsImpalaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73812func (qbls QuickBooksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
73813	return nil, false
73814}
73815
73816// AsHubspotLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73817func (qbls QuickBooksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
73818	return nil, false
73819}
73820
73821// AsHiveLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73822func (qbls QuickBooksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
73823	return nil, false
73824}
73825
73826// AsHBaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73827func (qbls QuickBooksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
73828	return nil, false
73829}
73830
73831// AsGreenplumLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73832func (qbls QuickBooksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
73833	return nil, false
73834}
73835
73836// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73837func (qbls QuickBooksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
73838	return nil, false
73839}
73840
73841// AsEloquaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73842func (qbls QuickBooksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
73843	return nil, false
73844}
73845
73846// AsDrillLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73847func (qbls QuickBooksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
73848	return nil, false
73849}
73850
73851// AsCouchbaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73852func (qbls QuickBooksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
73853	return nil, false
73854}
73855
73856// AsConcurLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73857func (qbls QuickBooksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
73858	return nil, false
73859}
73860
73861// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73862func (qbls QuickBooksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
73863	return nil, false
73864}
73865
73866// AsAmazonMWSLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73867func (qbls QuickBooksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
73868	return nil, false
73869}
73870
73871// AsSapHanaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73872func (qbls QuickBooksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
73873	return nil, false
73874}
73875
73876// AsSapBWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73877func (qbls QuickBooksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
73878	return nil, false
73879}
73880
73881// AsSftpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73882func (qbls QuickBooksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
73883	return nil, false
73884}
73885
73886// AsFtpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73887func (qbls QuickBooksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
73888	return nil, false
73889}
73890
73891// AsHTTPLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73892func (qbls QuickBooksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
73893	return nil, false
73894}
73895
73896// AsAzureSearchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73897func (qbls QuickBooksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
73898	return nil, false
73899}
73900
73901// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73902func (qbls QuickBooksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
73903	return nil, false
73904}
73905
73906// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73907func (qbls QuickBooksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
73908	return nil, false
73909}
73910
73911// AsAmazonS3LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73912func (qbls QuickBooksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
73913	return nil, false
73914}
73915
73916// AsSapEccLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73917func (qbls QuickBooksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
73918	return nil, false
73919}
73920
73921// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73922func (qbls QuickBooksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
73923	return nil, false
73924}
73925
73926// AsSalesforceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73927func (qbls QuickBooksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
73928	return nil, false
73929}
73930
73931// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73932func (qbls QuickBooksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
73933	return nil, false
73934}
73935
73936// AsMongoDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73937func (qbls QuickBooksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
73938	return nil, false
73939}
73940
73941// AsCassandraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73942func (qbls QuickBooksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
73943	return nil, false
73944}
73945
73946// AsWebLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73947func (qbls QuickBooksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
73948	return nil, false
73949}
73950
73951// AsODataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73952func (qbls QuickBooksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
73953	return nil, false
73954}
73955
73956// AsHdfsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73957func (qbls QuickBooksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
73958	return nil, false
73959}
73960
73961// AsOdbcLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73962func (qbls QuickBooksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
73963	return nil, false
73964}
73965
73966// AsAzureMLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73967func (qbls QuickBooksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
73968	return nil, false
73969}
73970
73971// AsTeradataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73972func (qbls QuickBooksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
73973	return nil, false
73974}
73975
73976// AsDb2LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73977func (qbls QuickBooksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
73978	return nil, false
73979}
73980
73981// AsSybaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73982func (qbls QuickBooksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
73983	return nil, false
73984}
73985
73986// AsPostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73987func (qbls QuickBooksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
73988	return nil, false
73989}
73990
73991// AsMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73992func (qbls QuickBooksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
73993	return nil, false
73994}
73995
73996// AsAzureMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73997func (qbls QuickBooksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
73998	return nil, false
73999}
74000
74001// AsOracleLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74002func (qbls QuickBooksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
74003	return nil, false
74004}
74005
74006// AsFileServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74007func (qbls QuickBooksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
74008	return nil, false
74009}
74010
74011// AsHDInsightLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74012func (qbls QuickBooksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
74013	return nil, false
74014}
74015
74016// AsDynamicsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74017func (qbls QuickBooksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
74018	return nil, false
74019}
74020
74021// AsCosmosDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74022func (qbls QuickBooksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
74023	return nil, false
74024}
74025
74026// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74027func (qbls QuickBooksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
74028	return nil, false
74029}
74030
74031// AsAzureBatchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74032func (qbls QuickBooksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
74033	return nil, false
74034}
74035
74036// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74037func (qbls QuickBooksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
74038	return nil, false
74039}
74040
74041// AsSQLServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74042func (qbls QuickBooksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
74043	return nil, false
74044}
74045
74046// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74047func (qbls QuickBooksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
74048	return nil, false
74049}
74050
74051// AsAzureStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74052func (qbls QuickBooksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
74053	return nil, false
74054}
74055
74056// AsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74057func (qbls QuickBooksLinkedService) AsLinkedService() (*LinkedService, bool) {
74058	return nil, false
74059}
74060
74061// AsBasicLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
74062func (qbls QuickBooksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
74063	return &qbls, true
74064}
74065
74066// UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedService struct.
74067func (qbls *QuickBooksLinkedService) UnmarshalJSON(body []byte) error {
74068	var m map[string]*json.RawMessage
74069	err := json.Unmarshal(body, &m)
74070	if err != nil {
74071		return err
74072	}
74073	for k, v := range m {
74074		switch k {
74075		case "typeProperties":
74076			if v != nil {
74077				var quickBooksLinkedServiceTypeProperties QuickBooksLinkedServiceTypeProperties
74078				err = json.Unmarshal(*v, &quickBooksLinkedServiceTypeProperties)
74079				if err != nil {
74080					return err
74081				}
74082				qbls.QuickBooksLinkedServiceTypeProperties = &quickBooksLinkedServiceTypeProperties
74083			}
74084		default:
74085			if v != nil {
74086				var additionalProperties interface{}
74087				err = json.Unmarshal(*v, &additionalProperties)
74088				if err != nil {
74089					return err
74090				}
74091				if qbls.AdditionalProperties == nil {
74092					qbls.AdditionalProperties = make(map[string]interface{})
74093				}
74094				qbls.AdditionalProperties[k] = additionalProperties
74095			}
74096		case "connectVia":
74097			if v != nil {
74098				var connectVia IntegrationRuntimeReference
74099				err = json.Unmarshal(*v, &connectVia)
74100				if err != nil {
74101					return err
74102				}
74103				qbls.ConnectVia = &connectVia
74104			}
74105		case "description":
74106			if v != nil {
74107				var description string
74108				err = json.Unmarshal(*v, &description)
74109				if err != nil {
74110					return err
74111				}
74112				qbls.Description = &description
74113			}
74114		case "parameters":
74115			if v != nil {
74116				var parameters map[string]*ParameterSpecification
74117				err = json.Unmarshal(*v, &parameters)
74118				if err != nil {
74119					return err
74120				}
74121				qbls.Parameters = parameters
74122			}
74123		case "annotations":
74124			if v != nil {
74125				var annotations []interface{}
74126				err = json.Unmarshal(*v, &annotations)
74127				if err != nil {
74128					return err
74129				}
74130				qbls.Annotations = &annotations
74131			}
74132		case "type":
74133			if v != nil {
74134				var typeVar TypeBasicLinkedService
74135				err = json.Unmarshal(*v, &typeVar)
74136				if err != nil {
74137					return err
74138				}
74139				qbls.Type = typeVar
74140			}
74141		}
74142	}
74143
74144	return nil
74145}
74146
74147// QuickBooksLinkedServiceTypeProperties quickBooks server linked service properties.
74148type QuickBooksLinkedServiceTypeProperties struct {
74149	// Endpoint - The endpoint of the QuickBooks server. (i.e. quickbooks.api.intuit.com)
74150	Endpoint interface{} `json:"endpoint,omitempty"`
74151	// CompanyID - The company ID of the QuickBooks company to authorize.
74152	CompanyID interface{} `json:"companyId,omitempty"`
74153	// ConsumerKey - The consumer key for OAuth 1.0 authentication.
74154	ConsumerKey interface{} `json:"consumerKey,omitempty"`
74155	// ConsumerSecret - The consumer secret for OAuth 1.0 authentication.
74156	ConsumerSecret BasicSecretBase `json:"consumerSecret,omitempty"`
74157	// AccessToken - The access token for OAuth 1.0 authentication.
74158	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
74159	// AccessTokenSecret - The access token secret for OAuth 1.0 authentication.
74160	AccessTokenSecret BasicSecretBase `json:"accessTokenSecret,omitempty"`
74161	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
74162	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
74163	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
74164	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
74165}
74166
74167// UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedServiceTypeProperties struct.
74168func (qblstp *QuickBooksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
74169	var m map[string]*json.RawMessage
74170	err := json.Unmarshal(body, &m)
74171	if err != nil {
74172		return err
74173	}
74174	for k, v := range m {
74175		switch k {
74176		case "endpoint":
74177			if v != nil {
74178				var endpoint interface{}
74179				err = json.Unmarshal(*v, &endpoint)
74180				if err != nil {
74181					return err
74182				}
74183				qblstp.Endpoint = endpoint
74184			}
74185		case "companyId":
74186			if v != nil {
74187				var companyID interface{}
74188				err = json.Unmarshal(*v, &companyID)
74189				if err != nil {
74190					return err
74191				}
74192				qblstp.CompanyID = companyID
74193			}
74194		case "consumerKey":
74195			if v != nil {
74196				var consumerKey interface{}
74197				err = json.Unmarshal(*v, &consumerKey)
74198				if err != nil {
74199					return err
74200				}
74201				qblstp.ConsumerKey = consumerKey
74202			}
74203		case "consumerSecret":
74204			if v != nil {
74205				consumerSecret, err := unmarshalBasicSecretBase(*v)
74206				if err != nil {
74207					return err
74208				}
74209				qblstp.ConsumerSecret = consumerSecret
74210			}
74211		case "accessToken":
74212			if v != nil {
74213				accessToken, err := unmarshalBasicSecretBase(*v)
74214				if err != nil {
74215					return err
74216				}
74217				qblstp.AccessToken = accessToken
74218			}
74219		case "accessTokenSecret":
74220			if v != nil {
74221				accessTokenSecret, err := unmarshalBasicSecretBase(*v)
74222				if err != nil {
74223					return err
74224				}
74225				qblstp.AccessTokenSecret = accessTokenSecret
74226			}
74227		case "useEncryptedEndpoints":
74228			if v != nil {
74229				var useEncryptedEndpoints interface{}
74230				err = json.Unmarshal(*v, &useEncryptedEndpoints)
74231				if err != nil {
74232					return err
74233				}
74234				qblstp.UseEncryptedEndpoints = useEncryptedEndpoints
74235			}
74236		case "encryptedCredential":
74237			if v != nil {
74238				var encryptedCredential interface{}
74239				err = json.Unmarshal(*v, &encryptedCredential)
74240				if err != nil {
74241					return err
74242				}
74243				qblstp.EncryptedCredential = encryptedCredential
74244			}
74245		}
74246	}
74247
74248	return nil
74249}
74250
74251// QuickBooksObjectDataset quickBooks server dataset.
74252type QuickBooksObjectDataset struct {
74253	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74254	AdditionalProperties map[string]interface{} `json:""`
74255	// Description - Dataset description.
74256	Description *string `json:"description,omitempty"`
74257	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
74258	Structure interface{} `json:"structure,omitempty"`
74259	// LinkedServiceName - Linked service reference.
74260	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
74261	// Parameters - Parameters for dataset.
74262	Parameters map[string]*ParameterSpecification `json:"parameters"`
74263	// Annotations - List of tags that can be used for describing the Dataset.
74264	Annotations *[]interface{} `json:"annotations,omitempty"`
74265	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
74266	Type TypeBasicDataset `json:"type,omitempty"`
74267}
74268
74269// MarshalJSON is the custom marshaler for QuickBooksObjectDataset.
74270func (qbod QuickBooksObjectDataset) MarshalJSON() ([]byte, error) {
74271	qbod.Type = TypeQuickBooksObject
74272	objectMap := make(map[string]interface{})
74273	if qbod.Description != nil {
74274		objectMap["description"] = qbod.Description
74275	}
74276	if qbod.Structure != nil {
74277		objectMap["structure"] = qbod.Structure
74278	}
74279	if qbod.LinkedServiceName != nil {
74280		objectMap["linkedServiceName"] = qbod.LinkedServiceName
74281	}
74282	if qbod.Parameters != nil {
74283		objectMap["parameters"] = qbod.Parameters
74284	}
74285	if qbod.Annotations != nil {
74286		objectMap["annotations"] = qbod.Annotations
74287	}
74288	if qbod.Type != "" {
74289		objectMap["type"] = qbod.Type
74290	}
74291	for k, v := range qbod.AdditionalProperties {
74292		objectMap[k] = v
74293	}
74294	return json.Marshal(objectMap)
74295}
74296
74297// AsResponsysObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74298func (qbod QuickBooksObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
74299	return nil, false
74300}
74301
74302// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74303func (qbod QuickBooksObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
74304	return nil, false
74305}
74306
74307// AsVerticaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74308func (qbod QuickBooksObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
74309	return nil, false
74310}
74311
74312// AsNetezzaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74313func (qbod QuickBooksObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
74314	return nil, false
74315}
74316
74317// AsZohoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74318func (qbod QuickBooksObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
74319	return nil, false
74320}
74321
74322// AsXeroObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74323func (qbod QuickBooksObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
74324	return nil, false
74325}
74326
74327// AsSquareObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74328func (qbod QuickBooksObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
74329	return nil, false
74330}
74331
74332// AsSparkObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74333func (qbod QuickBooksObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
74334	return nil, false
74335}
74336
74337// AsShopifyObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74338func (qbod QuickBooksObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
74339	return nil, false
74340}
74341
74342// AsServiceNowObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74343func (qbod QuickBooksObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
74344	return nil, false
74345}
74346
74347// AsQuickBooksObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74348func (qbod QuickBooksObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
74349	return &qbod, true
74350}
74351
74352// AsPrestoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74353func (qbod QuickBooksObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
74354	return nil, false
74355}
74356
74357// AsPhoenixObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74358func (qbod QuickBooksObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
74359	return nil, false
74360}
74361
74362// AsPaypalObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74363func (qbod QuickBooksObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
74364	return nil, false
74365}
74366
74367// AsMarketoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74368func (qbod QuickBooksObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
74369	return nil, false
74370}
74371
74372// AsMariaDBTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74373func (qbod QuickBooksObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
74374	return nil, false
74375}
74376
74377// AsMagentoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74378func (qbod QuickBooksObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
74379	return nil, false
74380}
74381
74382// AsJiraObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74383func (qbod QuickBooksObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
74384	return nil, false
74385}
74386
74387// AsImpalaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74388func (qbod QuickBooksObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
74389	return nil, false
74390}
74391
74392// AsHubspotObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74393func (qbod QuickBooksObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
74394	return nil, false
74395}
74396
74397// AsHiveObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74398func (qbod QuickBooksObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
74399	return nil, false
74400}
74401
74402// AsHBaseObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74403func (qbod QuickBooksObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
74404	return nil, false
74405}
74406
74407// AsGreenplumTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74408func (qbod QuickBooksObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
74409	return nil, false
74410}
74411
74412// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74413func (qbod QuickBooksObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
74414	return nil, false
74415}
74416
74417// AsEloquaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74418func (qbod QuickBooksObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
74419	return nil, false
74420}
74421
74422// AsDrillTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74423func (qbod QuickBooksObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
74424	return nil, false
74425}
74426
74427// AsCouchbaseTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74428func (qbod QuickBooksObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
74429	return nil, false
74430}
74431
74432// AsConcurObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74433func (qbod QuickBooksObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
74434	return nil, false
74435}
74436
74437// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74438func (qbod QuickBooksObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
74439	return nil, false
74440}
74441
74442// AsAmazonMWSObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74443func (qbod QuickBooksObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
74444	return nil, false
74445}
74446
74447// AsHTTPDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74448func (qbod QuickBooksObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
74449	return nil, false
74450}
74451
74452// AsAzureSearchIndexDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74453func (qbod QuickBooksObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
74454	return nil, false
74455}
74456
74457// AsWebTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74458func (qbod QuickBooksObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
74459	return nil, false
74460}
74461
74462// AsSQLServerTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74463func (qbod QuickBooksObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
74464	return nil, false
74465}
74466
74467// AsSapEccResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74468func (qbod QuickBooksObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
74469	return nil, false
74470}
74471
74472// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74473func (qbod QuickBooksObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
74474	return nil, false
74475}
74476
74477// AsSalesforceObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74478func (qbod QuickBooksObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
74479	return nil, false
74480}
74481
74482// AsRelationalTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74483func (qbod QuickBooksObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
74484	return nil, false
74485}
74486
74487// AsAzureMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74488func (qbod QuickBooksObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
74489	return nil, false
74490}
74491
74492// AsOracleTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74493func (qbod QuickBooksObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
74494	return nil, false
74495}
74496
74497// AsODataResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74498func (qbod QuickBooksObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
74499	return nil, false
74500}
74501
74502// AsMongoDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74503func (qbod QuickBooksObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
74504	return nil, false
74505}
74506
74507// AsFileShareDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74508func (qbod QuickBooksObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
74509	return nil, false
74510}
74511
74512// AsAzureDataLakeStoreDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74513func (qbod QuickBooksObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
74514	return nil, false
74515}
74516
74517// AsDynamicsEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74518func (qbod QuickBooksObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
74519	return nil, false
74520}
74521
74522// AsDocumentDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74523func (qbod QuickBooksObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
74524	return nil, false
74525}
74526
74527// AsCustomDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74528func (qbod QuickBooksObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
74529	return nil, false
74530}
74531
74532// AsCassandraTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74533func (qbod QuickBooksObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
74534	return nil, false
74535}
74536
74537// AsAzureSQLDWTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74538func (qbod QuickBooksObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
74539	return nil, false
74540}
74541
74542// AsAzureSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74543func (qbod QuickBooksObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
74544	return nil, false
74545}
74546
74547// AsAzureTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74548func (qbod QuickBooksObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
74549	return nil, false
74550}
74551
74552// AsAzureBlobDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74553func (qbod QuickBooksObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
74554	return nil, false
74555}
74556
74557// AsAmazonS3Dataset is the BasicDataset implementation for QuickBooksObjectDataset.
74558func (qbod QuickBooksObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
74559	return nil, false
74560}
74561
74562// AsDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74563func (qbod QuickBooksObjectDataset) AsDataset() (*Dataset, bool) {
74564	return nil, false
74565}
74566
74567// AsBasicDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74568func (qbod QuickBooksObjectDataset) AsBasicDataset() (BasicDataset, bool) {
74569	return &qbod, true
74570}
74571
74572// UnmarshalJSON is the custom unmarshaler for QuickBooksObjectDataset struct.
74573func (qbod *QuickBooksObjectDataset) UnmarshalJSON(body []byte) error {
74574	var m map[string]*json.RawMessage
74575	err := json.Unmarshal(body, &m)
74576	if err != nil {
74577		return err
74578	}
74579	for k, v := range m {
74580		switch k {
74581		default:
74582			if v != nil {
74583				var additionalProperties interface{}
74584				err = json.Unmarshal(*v, &additionalProperties)
74585				if err != nil {
74586					return err
74587				}
74588				if qbod.AdditionalProperties == nil {
74589					qbod.AdditionalProperties = make(map[string]interface{})
74590				}
74591				qbod.AdditionalProperties[k] = additionalProperties
74592			}
74593		case "description":
74594			if v != nil {
74595				var description string
74596				err = json.Unmarshal(*v, &description)
74597				if err != nil {
74598					return err
74599				}
74600				qbod.Description = &description
74601			}
74602		case "structure":
74603			if v != nil {
74604				var structure interface{}
74605				err = json.Unmarshal(*v, &structure)
74606				if err != nil {
74607					return err
74608				}
74609				qbod.Structure = structure
74610			}
74611		case "linkedServiceName":
74612			if v != nil {
74613				var linkedServiceName LinkedServiceReference
74614				err = json.Unmarshal(*v, &linkedServiceName)
74615				if err != nil {
74616					return err
74617				}
74618				qbod.LinkedServiceName = &linkedServiceName
74619			}
74620		case "parameters":
74621			if v != nil {
74622				var parameters map[string]*ParameterSpecification
74623				err = json.Unmarshal(*v, &parameters)
74624				if err != nil {
74625					return err
74626				}
74627				qbod.Parameters = parameters
74628			}
74629		case "annotations":
74630			if v != nil {
74631				var annotations []interface{}
74632				err = json.Unmarshal(*v, &annotations)
74633				if err != nil {
74634					return err
74635				}
74636				qbod.Annotations = &annotations
74637			}
74638		case "type":
74639			if v != nil {
74640				var typeVar TypeBasicDataset
74641				err = json.Unmarshal(*v, &typeVar)
74642				if err != nil {
74643					return err
74644				}
74645				qbod.Type = typeVar
74646			}
74647		}
74648	}
74649
74650	return nil
74651}
74652
74653// QuickBooksSource a copy activity QuickBooks server source.
74654type QuickBooksSource struct {
74655	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
74656	Query interface{} `json:"query,omitempty"`
74657	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74658	AdditionalProperties map[string]interface{} `json:""`
74659	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
74660	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
74661	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
74662	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
74663	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
74664	Type TypeBasicCopySource `json:"type,omitempty"`
74665}
74666
74667// MarshalJSON is the custom marshaler for QuickBooksSource.
74668func (qbs QuickBooksSource) MarshalJSON() ([]byte, error) {
74669	qbs.Type = TypeQuickBooksSource
74670	objectMap := make(map[string]interface{})
74671	if qbs.Query != nil {
74672		objectMap["query"] = qbs.Query
74673	}
74674	if qbs.SourceRetryCount != nil {
74675		objectMap["sourceRetryCount"] = qbs.SourceRetryCount
74676	}
74677	if qbs.SourceRetryWait != nil {
74678		objectMap["sourceRetryWait"] = qbs.SourceRetryWait
74679	}
74680	if qbs.Type != "" {
74681		objectMap["type"] = qbs.Type
74682	}
74683	for k, v := range qbs.AdditionalProperties {
74684		objectMap[k] = v
74685	}
74686	return json.Marshal(objectMap)
74687}
74688
74689// AsAmazonRedshiftSource is the BasicCopySource implementation for QuickBooksSource.
74690func (qbs QuickBooksSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
74691	return nil, false
74692}
74693
74694// AsResponsysSource is the BasicCopySource implementation for QuickBooksSource.
74695func (qbs QuickBooksSource) AsResponsysSource() (*ResponsysSource, bool) {
74696	return nil, false
74697}
74698
74699// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for QuickBooksSource.
74700func (qbs QuickBooksSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
74701	return nil, false
74702}
74703
74704// AsVerticaSource is the BasicCopySource implementation for QuickBooksSource.
74705func (qbs QuickBooksSource) AsVerticaSource() (*VerticaSource, bool) {
74706	return nil, false
74707}
74708
74709// AsNetezzaSource is the BasicCopySource implementation for QuickBooksSource.
74710func (qbs QuickBooksSource) AsNetezzaSource() (*NetezzaSource, bool) {
74711	return nil, false
74712}
74713
74714// AsZohoSource is the BasicCopySource implementation for QuickBooksSource.
74715func (qbs QuickBooksSource) AsZohoSource() (*ZohoSource, bool) {
74716	return nil, false
74717}
74718
74719// AsXeroSource is the BasicCopySource implementation for QuickBooksSource.
74720func (qbs QuickBooksSource) AsXeroSource() (*XeroSource, bool) {
74721	return nil, false
74722}
74723
74724// AsSquareSource is the BasicCopySource implementation for QuickBooksSource.
74725func (qbs QuickBooksSource) AsSquareSource() (*SquareSource, bool) {
74726	return nil, false
74727}
74728
74729// AsSparkSource is the BasicCopySource implementation for QuickBooksSource.
74730func (qbs QuickBooksSource) AsSparkSource() (*SparkSource, bool) {
74731	return nil, false
74732}
74733
74734// AsShopifySource is the BasicCopySource implementation for QuickBooksSource.
74735func (qbs QuickBooksSource) AsShopifySource() (*ShopifySource, bool) {
74736	return nil, false
74737}
74738
74739// AsServiceNowSource is the BasicCopySource implementation for QuickBooksSource.
74740func (qbs QuickBooksSource) AsServiceNowSource() (*ServiceNowSource, bool) {
74741	return nil, false
74742}
74743
74744// AsQuickBooksSource is the BasicCopySource implementation for QuickBooksSource.
74745func (qbs QuickBooksSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
74746	return &qbs, true
74747}
74748
74749// AsPrestoSource is the BasicCopySource implementation for QuickBooksSource.
74750func (qbs QuickBooksSource) AsPrestoSource() (*PrestoSource, bool) {
74751	return nil, false
74752}
74753
74754// AsPhoenixSource is the BasicCopySource implementation for QuickBooksSource.
74755func (qbs QuickBooksSource) AsPhoenixSource() (*PhoenixSource, bool) {
74756	return nil, false
74757}
74758
74759// AsPaypalSource is the BasicCopySource implementation for QuickBooksSource.
74760func (qbs QuickBooksSource) AsPaypalSource() (*PaypalSource, bool) {
74761	return nil, false
74762}
74763
74764// AsMarketoSource is the BasicCopySource implementation for QuickBooksSource.
74765func (qbs QuickBooksSource) AsMarketoSource() (*MarketoSource, bool) {
74766	return nil, false
74767}
74768
74769// AsMariaDBSource is the BasicCopySource implementation for QuickBooksSource.
74770func (qbs QuickBooksSource) AsMariaDBSource() (*MariaDBSource, bool) {
74771	return nil, false
74772}
74773
74774// AsMagentoSource is the BasicCopySource implementation for QuickBooksSource.
74775func (qbs QuickBooksSource) AsMagentoSource() (*MagentoSource, bool) {
74776	return nil, false
74777}
74778
74779// AsJiraSource is the BasicCopySource implementation for QuickBooksSource.
74780func (qbs QuickBooksSource) AsJiraSource() (*JiraSource, bool) {
74781	return nil, false
74782}
74783
74784// AsImpalaSource is the BasicCopySource implementation for QuickBooksSource.
74785func (qbs QuickBooksSource) AsImpalaSource() (*ImpalaSource, bool) {
74786	return nil, false
74787}
74788
74789// AsHubspotSource is the BasicCopySource implementation for QuickBooksSource.
74790func (qbs QuickBooksSource) AsHubspotSource() (*HubspotSource, bool) {
74791	return nil, false
74792}
74793
74794// AsHiveSource is the BasicCopySource implementation for QuickBooksSource.
74795func (qbs QuickBooksSource) AsHiveSource() (*HiveSource, bool) {
74796	return nil, false
74797}
74798
74799// AsHBaseSource is the BasicCopySource implementation for QuickBooksSource.
74800func (qbs QuickBooksSource) AsHBaseSource() (*HBaseSource, bool) {
74801	return nil, false
74802}
74803
74804// AsGreenplumSource is the BasicCopySource implementation for QuickBooksSource.
74805func (qbs QuickBooksSource) AsGreenplumSource() (*GreenplumSource, bool) {
74806	return nil, false
74807}
74808
74809// AsGoogleBigQuerySource is the BasicCopySource implementation for QuickBooksSource.
74810func (qbs QuickBooksSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
74811	return nil, false
74812}
74813
74814// AsEloquaSource is the BasicCopySource implementation for QuickBooksSource.
74815func (qbs QuickBooksSource) AsEloquaSource() (*EloquaSource, bool) {
74816	return nil, false
74817}
74818
74819// AsDrillSource is the BasicCopySource implementation for QuickBooksSource.
74820func (qbs QuickBooksSource) AsDrillSource() (*DrillSource, bool) {
74821	return nil, false
74822}
74823
74824// AsCouchbaseSource is the BasicCopySource implementation for QuickBooksSource.
74825func (qbs QuickBooksSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
74826	return nil, false
74827}
74828
74829// AsConcurSource is the BasicCopySource implementation for QuickBooksSource.
74830func (qbs QuickBooksSource) AsConcurSource() (*ConcurSource, bool) {
74831	return nil, false
74832}
74833
74834// AsAzurePostgreSQLSource is the BasicCopySource implementation for QuickBooksSource.
74835func (qbs QuickBooksSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
74836	return nil, false
74837}
74838
74839// AsAmazonMWSSource is the BasicCopySource implementation for QuickBooksSource.
74840func (qbs QuickBooksSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
74841	return nil, false
74842}
74843
74844// AsHTTPSource is the BasicCopySource implementation for QuickBooksSource.
74845func (qbs QuickBooksSource) AsHTTPSource() (*HTTPSource, bool) {
74846	return nil, false
74847}
74848
74849// AsAzureDataLakeStoreSource is the BasicCopySource implementation for QuickBooksSource.
74850func (qbs QuickBooksSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
74851	return nil, false
74852}
74853
74854// AsMongoDbSource is the BasicCopySource implementation for QuickBooksSource.
74855func (qbs QuickBooksSource) AsMongoDbSource() (*MongoDbSource, bool) {
74856	return nil, false
74857}
74858
74859// AsCassandraSource is the BasicCopySource implementation for QuickBooksSource.
74860func (qbs QuickBooksSource) AsCassandraSource() (*CassandraSource, bool) {
74861	return nil, false
74862}
74863
74864// AsWebSource is the BasicCopySource implementation for QuickBooksSource.
74865func (qbs QuickBooksSource) AsWebSource() (*WebSource, bool) {
74866	return nil, false
74867}
74868
74869// AsOracleSource is the BasicCopySource implementation for QuickBooksSource.
74870func (qbs QuickBooksSource) AsOracleSource() (*OracleSource, bool) {
74871	return nil, false
74872}
74873
74874// AsAzureMySQLSource is the BasicCopySource implementation for QuickBooksSource.
74875func (qbs QuickBooksSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
74876	return nil, false
74877}
74878
74879// AsHdfsSource is the BasicCopySource implementation for QuickBooksSource.
74880func (qbs QuickBooksSource) AsHdfsSource() (*HdfsSource, bool) {
74881	return nil, false
74882}
74883
74884// AsFileSystemSource is the BasicCopySource implementation for QuickBooksSource.
74885func (qbs QuickBooksSource) AsFileSystemSource() (*FileSystemSource, bool) {
74886	return nil, false
74887}
74888
74889// AsSQLDWSource is the BasicCopySource implementation for QuickBooksSource.
74890func (qbs QuickBooksSource) AsSQLDWSource() (*SQLDWSource, bool) {
74891	return nil, false
74892}
74893
74894// AsSQLSource is the BasicCopySource implementation for QuickBooksSource.
74895func (qbs QuickBooksSource) AsSQLSource() (*SQLSource, bool) {
74896	return nil, false
74897}
74898
74899// AsSapEccSource is the BasicCopySource implementation for QuickBooksSource.
74900func (qbs QuickBooksSource) AsSapEccSource() (*SapEccSource, bool) {
74901	return nil, false
74902}
74903
74904// AsSapCloudForCustomerSource is the BasicCopySource implementation for QuickBooksSource.
74905func (qbs QuickBooksSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
74906	return nil, false
74907}
74908
74909// AsSalesforceSource is the BasicCopySource implementation for QuickBooksSource.
74910func (qbs QuickBooksSource) AsSalesforceSource() (*SalesforceSource, bool) {
74911	return nil, false
74912}
74913
74914// AsRelationalSource is the BasicCopySource implementation for QuickBooksSource.
74915func (qbs QuickBooksSource) AsRelationalSource() (*RelationalSource, bool) {
74916	return nil, false
74917}
74918
74919// AsDynamicsSource is the BasicCopySource implementation for QuickBooksSource.
74920func (qbs QuickBooksSource) AsDynamicsSource() (*DynamicsSource, bool) {
74921	return nil, false
74922}
74923
74924// AsDocumentDbCollectionSource is the BasicCopySource implementation for QuickBooksSource.
74925func (qbs QuickBooksSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
74926	return nil, false
74927}
74928
74929// AsBlobSource is the BasicCopySource implementation for QuickBooksSource.
74930func (qbs QuickBooksSource) AsBlobSource() (*BlobSource, bool) {
74931	return nil, false
74932}
74933
74934// AsAzureTableSource is the BasicCopySource implementation for QuickBooksSource.
74935func (qbs QuickBooksSource) AsAzureTableSource() (*AzureTableSource, bool) {
74936	return nil, false
74937}
74938
74939// AsCopySource is the BasicCopySource implementation for QuickBooksSource.
74940func (qbs QuickBooksSource) AsCopySource() (*CopySource, bool) {
74941	return nil, false
74942}
74943
74944// AsBasicCopySource is the BasicCopySource implementation for QuickBooksSource.
74945func (qbs QuickBooksSource) AsBasicCopySource() (BasicCopySource, bool) {
74946	return &qbs, true
74947}
74948
74949// UnmarshalJSON is the custom unmarshaler for QuickBooksSource struct.
74950func (qbs *QuickBooksSource) UnmarshalJSON(body []byte) error {
74951	var m map[string]*json.RawMessage
74952	err := json.Unmarshal(body, &m)
74953	if err != nil {
74954		return err
74955	}
74956	for k, v := range m {
74957		switch k {
74958		case "query":
74959			if v != nil {
74960				var query interface{}
74961				err = json.Unmarshal(*v, &query)
74962				if err != nil {
74963					return err
74964				}
74965				qbs.Query = query
74966			}
74967		default:
74968			if v != nil {
74969				var additionalProperties interface{}
74970				err = json.Unmarshal(*v, &additionalProperties)
74971				if err != nil {
74972					return err
74973				}
74974				if qbs.AdditionalProperties == nil {
74975					qbs.AdditionalProperties = make(map[string]interface{})
74976				}
74977				qbs.AdditionalProperties[k] = additionalProperties
74978			}
74979		case "sourceRetryCount":
74980			if v != nil {
74981				var sourceRetryCount interface{}
74982				err = json.Unmarshal(*v, &sourceRetryCount)
74983				if err != nil {
74984					return err
74985				}
74986				qbs.SourceRetryCount = sourceRetryCount
74987			}
74988		case "sourceRetryWait":
74989			if v != nil {
74990				var sourceRetryWait interface{}
74991				err = json.Unmarshal(*v, &sourceRetryWait)
74992				if err != nil {
74993					return err
74994				}
74995				qbs.SourceRetryWait = sourceRetryWait
74996			}
74997		case "type":
74998			if v != nil {
74999				var typeVar TypeBasicCopySource
75000				err = json.Unmarshal(*v, &typeVar)
75001				if err != nil {
75002					return err
75003				}
75004				qbs.Type = typeVar
75005			}
75006		}
75007	}
75008
75009	return nil
75010}
75011
75012// RecurrenceSchedule the recurrence schedule.
75013type RecurrenceSchedule struct {
75014	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75015	AdditionalProperties map[string]interface{} `json:""`
75016	// Minutes - The minutes.
75017	Minutes *[]int32 `json:"minutes,omitempty"`
75018	// Hours - The hours.
75019	Hours *[]int32 `json:"hours,omitempty"`
75020	// WeekDays - The days of the week.
75021	WeekDays *[]DaysOfWeek `json:"weekDays,omitempty"`
75022	// MonthDays - The month days.
75023	MonthDays *[]int32 `json:"monthDays,omitempty"`
75024	// MonthlyOccurrences - The monthly occurrences.
75025	MonthlyOccurrences *[]RecurrenceScheduleOccurrence `json:"monthlyOccurrences,omitempty"`
75026}
75027
75028// MarshalJSON is the custom marshaler for RecurrenceSchedule.
75029func (rs RecurrenceSchedule) MarshalJSON() ([]byte, error) {
75030	objectMap := make(map[string]interface{})
75031	if rs.Minutes != nil {
75032		objectMap["minutes"] = rs.Minutes
75033	}
75034	if rs.Hours != nil {
75035		objectMap["hours"] = rs.Hours
75036	}
75037	if rs.WeekDays != nil {
75038		objectMap["weekDays"] = rs.WeekDays
75039	}
75040	if rs.MonthDays != nil {
75041		objectMap["monthDays"] = rs.MonthDays
75042	}
75043	if rs.MonthlyOccurrences != nil {
75044		objectMap["monthlyOccurrences"] = rs.MonthlyOccurrences
75045	}
75046	for k, v := range rs.AdditionalProperties {
75047		objectMap[k] = v
75048	}
75049	return json.Marshal(objectMap)
75050}
75051
75052// UnmarshalJSON is the custom unmarshaler for RecurrenceSchedule struct.
75053func (rs *RecurrenceSchedule) UnmarshalJSON(body []byte) error {
75054	var m map[string]*json.RawMessage
75055	err := json.Unmarshal(body, &m)
75056	if err != nil {
75057		return err
75058	}
75059	for k, v := range m {
75060		switch k {
75061		default:
75062			if v != nil {
75063				var additionalProperties interface{}
75064				err = json.Unmarshal(*v, &additionalProperties)
75065				if err != nil {
75066					return err
75067				}
75068				if rs.AdditionalProperties == nil {
75069					rs.AdditionalProperties = make(map[string]interface{})
75070				}
75071				rs.AdditionalProperties[k] = additionalProperties
75072			}
75073		case "minutes":
75074			if v != nil {
75075				var minutes []int32
75076				err = json.Unmarshal(*v, &minutes)
75077				if err != nil {
75078					return err
75079				}
75080				rs.Minutes = &minutes
75081			}
75082		case "hours":
75083			if v != nil {
75084				var hours []int32
75085				err = json.Unmarshal(*v, &hours)
75086				if err != nil {
75087					return err
75088				}
75089				rs.Hours = &hours
75090			}
75091		case "weekDays":
75092			if v != nil {
75093				var weekDays []DaysOfWeek
75094				err = json.Unmarshal(*v, &weekDays)
75095				if err != nil {
75096					return err
75097				}
75098				rs.WeekDays = &weekDays
75099			}
75100		case "monthDays":
75101			if v != nil {
75102				var monthDays []int32
75103				err = json.Unmarshal(*v, &monthDays)
75104				if err != nil {
75105					return err
75106				}
75107				rs.MonthDays = &monthDays
75108			}
75109		case "monthlyOccurrences":
75110			if v != nil {
75111				var monthlyOccurrences []RecurrenceScheduleOccurrence
75112				err = json.Unmarshal(*v, &monthlyOccurrences)
75113				if err != nil {
75114					return err
75115				}
75116				rs.MonthlyOccurrences = &monthlyOccurrences
75117			}
75118		}
75119	}
75120
75121	return nil
75122}
75123
75124// RecurrenceScheduleOccurrence the recurrence schedule occurrence.
75125type RecurrenceScheduleOccurrence struct {
75126	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75127	AdditionalProperties map[string]interface{} `json:""`
75128	// Day - The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
75129	Day DayOfWeek `json:"day,omitempty"`
75130	// Occurrence - The occurrence.
75131	Occurrence *int32 `json:"occurrence,omitempty"`
75132}
75133
75134// MarshalJSON is the custom marshaler for RecurrenceScheduleOccurrence.
75135func (rso RecurrenceScheduleOccurrence) MarshalJSON() ([]byte, error) {
75136	objectMap := make(map[string]interface{})
75137	if rso.Day != "" {
75138		objectMap["day"] = rso.Day
75139	}
75140	if rso.Occurrence != nil {
75141		objectMap["occurrence"] = rso.Occurrence
75142	}
75143	for k, v := range rso.AdditionalProperties {
75144		objectMap[k] = v
75145	}
75146	return json.Marshal(objectMap)
75147}
75148
75149// UnmarshalJSON is the custom unmarshaler for RecurrenceScheduleOccurrence struct.
75150func (rso *RecurrenceScheduleOccurrence) UnmarshalJSON(body []byte) error {
75151	var m map[string]*json.RawMessage
75152	err := json.Unmarshal(body, &m)
75153	if err != nil {
75154		return err
75155	}
75156	for k, v := range m {
75157		switch k {
75158		default:
75159			if v != nil {
75160				var additionalProperties interface{}
75161				err = json.Unmarshal(*v, &additionalProperties)
75162				if err != nil {
75163					return err
75164				}
75165				if rso.AdditionalProperties == nil {
75166					rso.AdditionalProperties = make(map[string]interface{})
75167				}
75168				rso.AdditionalProperties[k] = additionalProperties
75169			}
75170		case "day":
75171			if v != nil {
75172				var day DayOfWeek
75173				err = json.Unmarshal(*v, &day)
75174				if err != nil {
75175					return err
75176				}
75177				rso.Day = day
75178			}
75179		case "occurrence":
75180			if v != nil {
75181				var occurrence int32
75182				err = json.Unmarshal(*v, &occurrence)
75183				if err != nil {
75184					return err
75185				}
75186				rso.Occurrence = &occurrence
75187			}
75188		}
75189	}
75190
75191	return nil
75192}
75193
75194// RedirectIncompatibleRowSettings redirect incompatible row settings
75195type RedirectIncompatibleRowSettings struct {
75196	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75197	AdditionalProperties map[string]interface{} `json:""`
75198	// LinkedServiceName - Name of the Azure Storage, Storage SAS, or Azure Data Lake Store linked service used for redirecting incompatible row. Must be specified if redirectIncompatibleRowSettings is specified. Type: string (or Expression with resultType string).
75199	LinkedServiceName interface{} `json:"linkedServiceName,omitempty"`
75200	// Path - The path for storing the redirect incompatible row data. Type: string (or Expression with resultType string).
75201	Path interface{} `json:"path,omitempty"`
75202}
75203
75204// MarshalJSON is the custom marshaler for RedirectIncompatibleRowSettings.
75205func (rirs RedirectIncompatibleRowSettings) MarshalJSON() ([]byte, error) {
75206	objectMap := make(map[string]interface{})
75207	if rirs.LinkedServiceName != nil {
75208		objectMap["linkedServiceName"] = rirs.LinkedServiceName
75209	}
75210	if rirs.Path != nil {
75211		objectMap["path"] = rirs.Path
75212	}
75213	for k, v := range rirs.AdditionalProperties {
75214		objectMap[k] = v
75215	}
75216	return json.Marshal(objectMap)
75217}
75218
75219// UnmarshalJSON is the custom unmarshaler for RedirectIncompatibleRowSettings struct.
75220func (rirs *RedirectIncompatibleRowSettings) UnmarshalJSON(body []byte) error {
75221	var m map[string]*json.RawMessage
75222	err := json.Unmarshal(body, &m)
75223	if err != nil {
75224		return err
75225	}
75226	for k, v := range m {
75227		switch k {
75228		default:
75229			if v != nil {
75230				var additionalProperties interface{}
75231				err = json.Unmarshal(*v, &additionalProperties)
75232				if err != nil {
75233					return err
75234				}
75235				if rirs.AdditionalProperties == nil {
75236					rirs.AdditionalProperties = make(map[string]interface{})
75237				}
75238				rirs.AdditionalProperties[k] = additionalProperties
75239			}
75240		case "linkedServiceName":
75241			if v != nil {
75242				var linkedServiceName interface{}
75243				err = json.Unmarshal(*v, &linkedServiceName)
75244				if err != nil {
75245					return err
75246				}
75247				rirs.LinkedServiceName = linkedServiceName
75248			}
75249		case "path":
75250			if v != nil {
75251				var pathVar interface{}
75252				err = json.Unmarshal(*v, &pathVar)
75253				if err != nil {
75254					return err
75255				}
75256				rirs.Path = pathVar
75257			}
75258		}
75259	}
75260
75261	return nil
75262}
75263
75264// RedshiftUnloadSettings the Amazon S3 settings needed for the interim Amazon S3 when copying from Amazon
75265// Redshift with unload. With this, data from Amazon Redshift source will be unloaded into S3 first and
75266// then copied into the targeted sink from the interim S3.
75267type RedshiftUnloadSettings struct {
75268	// S3LinkedServiceName - The name of the Amazon S3 linked service which will be used for the unload operation when copying from the Amazon Redshift source.
75269	S3LinkedServiceName *LinkedServiceReference `json:"s3LinkedServiceName,omitempty"`
75270	// BucketName - The bucket of the interim Amazon S3 which will be used to store the unloaded data from Amazon Redshift source. The bucket must be in the same region as the Amazon Redshift source. Type: string (or Expression with resultType string).
75271	BucketName interface{} `json:"bucketName,omitempty"`
75272}
75273
75274// RelationalSource a copy activity source for various relational databases.
75275type RelationalSource struct {
75276	// Query - Database query. Type: string (or Expression with resultType string).
75277	Query interface{} `json:"query,omitempty"`
75278	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75279	AdditionalProperties map[string]interface{} `json:""`
75280	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
75281	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
75282	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
75283	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
75284	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
75285	Type TypeBasicCopySource `json:"type,omitempty"`
75286}
75287
75288// MarshalJSON is the custom marshaler for RelationalSource.
75289func (rs RelationalSource) MarshalJSON() ([]byte, error) {
75290	rs.Type = TypeRelationalSource
75291	objectMap := make(map[string]interface{})
75292	if rs.Query != nil {
75293		objectMap["query"] = rs.Query
75294	}
75295	if rs.SourceRetryCount != nil {
75296		objectMap["sourceRetryCount"] = rs.SourceRetryCount
75297	}
75298	if rs.SourceRetryWait != nil {
75299		objectMap["sourceRetryWait"] = rs.SourceRetryWait
75300	}
75301	if rs.Type != "" {
75302		objectMap["type"] = rs.Type
75303	}
75304	for k, v := range rs.AdditionalProperties {
75305		objectMap[k] = v
75306	}
75307	return json.Marshal(objectMap)
75308}
75309
75310// AsAmazonRedshiftSource is the BasicCopySource implementation for RelationalSource.
75311func (rs RelationalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
75312	return nil, false
75313}
75314
75315// AsResponsysSource is the BasicCopySource implementation for RelationalSource.
75316func (rs RelationalSource) AsResponsysSource() (*ResponsysSource, bool) {
75317	return nil, false
75318}
75319
75320// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for RelationalSource.
75321func (rs RelationalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
75322	return nil, false
75323}
75324
75325// AsVerticaSource is the BasicCopySource implementation for RelationalSource.
75326func (rs RelationalSource) AsVerticaSource() (*VerticaSource, bool) {
75327	return nil, false
75328}
75329
75330// AsNetezzaSource is the BasicCopySource implementation for RelationalSource.
75331func (rs RelationalSource) AsNetezzaSource() (*NetezzaSource, bool) {
75332	return nil, false
75333}
75334
75335// AsZohoSource is the BasicCopySource implementation for RelationalSource.
75336func (rs RelationalSource) AsZohoSource() (*ZohoSource, bool) {
75337	return nil, false
75338}
75339
75340// AsXeroSource is the BasicCopySource implementation for RelationalSource.
75341func (rs RelationalSource) AsXeroSource() (*XeroSource, bool) {
75342	return nil, false
75343}
75344
75345// AsSquareSource is the BasicCopySource implementation for RelationalSource.
75346func (rs RelationalSource) AsSquareSource() (*SquareSource, bool) {
75347	return nil, false
75348}
75349
75350// AsSparkSource is the BasicCopySource implementation for RelationalSource.
75351func (rs RelationalSource) AsSparkSource() (*SparkSource, bool) {
75352	return nil, false
75353}
75354
75355// AsShopifySource is the BasicCopySource implementation for RelationalSource.
75356func (rs RelationalSource) AsShopifySource() (*ShopifySource, bool) {
75357	return nil, false
75358}
75359
75360// AsServiceNowSource is the BasicCopySource implementation for RelationalSource.
75361func (rs RelationalSource) AsServiceNowSource() (*ServiceNowSource, bool) {
75362	return nil, false
75363}
75364
75365// AsQuickBooksSource is the BasicCopySource implementation for RelationalSource.
75366func (rs RelationalSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
75367	return nil, false
75368}
75369
75370// AsPrestoSource is the BasicCopySource implementation for RelationalSource.
75371func (rs RelationalSource) AsPrestoSource() (*PrestoSource, bool) {
75372	return nil, false
75373}
75374
75375// AsPhoenixSource is the BasicCopySource implementation for RelationalSource.
75376func (rs RelationalSource) AsPhoenixSource() (*PhoenixSource, bool) {
75377	return nil, false
75378}
75379
75380// AsPaypalSource is the BasicCopySource implementation for RelationalSource.
75381func (rs RelationalSource) AsPaypalSource() (*PaypalSource, bool) {
75382	return nil, false
75383}
75384
75385// AsMarketoSource is the BasicCopySource implementation for RelationalSource.
75386func (rs RelationalSource) AsMarketoSource() (*MarketoSource, bool) {
75387	return nil, false
75388}
75389
75390// AsMariaDBSource is the BasicCopySource implementation for RelationalSource.
75391func (rs RelationalSource) AsMariaDBSource() (*MariaDBSource, bool) {
75392	return nil, false
75393}
75394
75395// AsMagentoSource is the BasicCopySource implementation for RelationalSource.
75396func (rs RelationalSource) AsMagentoSource() (*MagentoSource, bool) {
75397	return nil, false
75398}
75399
75400// AsJiraSource is the BasicCopySource implementation for RelationalSource.
75401func (rs RelationalSource) AsJiraSource() (*JiraSource, bool) {
75402	return nil, false
75403}
75404
75405// AsImpalaSource is the BasicCopySource implementation for RelationalSource.
75406func (rs RelationalSource) AsImpalaSource() (*ImpalaSource, bool) {
75407	return nil, false
75408}
75409
75410// AsHubspotSource is the BasicCopySource implementation for RelationalSource.
75411func (rs RelationalSource) AsHubspotSource() (*HubspotSource, bool) {
75412	return nil, false
75413}
75414
75415// AsHiveSource is the BasicCopySource implementation for RelationalSource.
75416func (rs RelationalSource) AsHiveSource() (*HiveSource, bool) {
75417	return nil, false
75418}
75419
75420// AsHBaseSource is the BasicCopySource implementation for RelationalSource.
75421func (rs RelationalSource) AsHBaseSource() (*HBaseSource, bool) {
75422	return nil, false
75423}
75424
75425// AsGreenplumSource is the BasicCopySource implementation for RelationalSource.
75426func (rs RelationalSource) AsGreenplumSource() (*GreenplumSource, bool) {
75427	return nil, false
75428}
75429
75430// AsGoogleBigQuerySource is the BasicCopySource implementation for RelationalSource.
75431func (rs RelationalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
75432	return nil, false
75433}
75434
75435// AsEloquaSource is the BasicCopySource implementation for RelationalSource.
75436func (rs RelationalSource) AsEloquaSource() (*EloquaSource, bool) {
75437	return nil, false
75438}
75439
75440// AsDrillSource is the BasicCopySource implementation for RelationalSource.
75441func (rs RelationalSource) AsDrillSource() (*DrillSource, bool) {
75442	return nil, false
75443}
75444
75445// AsCouchbaseSource is the BasicCopySource implementation for RelationalSource.
75446func (rs RelationalSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
75447	return nil, false
75448}
75449
75450// AsConcurSource is the BasicCopySource implementation for RelationalSource.
75451func (rs RelationalSource) AsConcurSource() (*ConcurSource, bool) {
75452	return nil, false
75453}
75454
75455// AsAzurePostgreSQLSource is the BasicCopySource implementation for RelationalSource.
75456func (rs RelationalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
75457	return nil, false
75458}
75459
75460// AsAmazonMWSSource is the BasicCopySource implementation for RelationalSource.
75461func (rs RelationalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
75462	return nil, false
75463}
75464
75465// AsHTTPSource is the BasicCopySource implementation for RelationalSource.
75466func (rs RelationalSource) AsHTTPSource() (*HTTPSource, bool) {
75467	return nil, false
75468}
75469
75470// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RelationalSource.
75471func (rs RelationalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
75472	return nil, false
75473}
75474
75475// AsMongoDbSource is the BasicCopySource implementation for RelationalSource.
75476func (rs RelationalSource) AsMongoDbSource() (*MongoDbSource, bool) {
75477	return nil, false
75478}
75479
75480// AsCassandraSource is the BasicCopySource implementation for RelationalSource.
75481func (rs RelationalSource) AsCassandraSource() (*CassandraSource, bool) {
75482	return nil, false
75483}
75484
75485// AsWebSource is the BasicCopySource implementation for RelationalSource.
75486func (rs RelationalSource) AsWebSource() (*WebSource, bool) {
75487	return nil, false
75488}
75489
75490// AsOracleSource is the BasicCopySource implementation for RelationalSource.
75491func (rs RelationalSource) AsOracleSource() (*OracleSource, bool) {
75492	return nil, false
75493}
75494
75495// AsAzureMySQLSource is the BasicCopySource implementation for RelationalSource.
75496func (rs RelationalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
75497	return nil, false
75498}
75499
75500// AsHdfsSource is the BasicCopySource implementation for RelationalSource.
75501func (rs RelationalSource) AsHdfsSource() (*HdfsSource, bool) {
75502	return nil, false
75503}
75504
75505// AsFileSystemSource is the BasicCopySource implementation for RelationalSource.
75506func (rs RelationalSource) AsFileSystemSource() (*FileSystemSource, bool) {
75507	return nil, false
75508}
75509
75510// AsSQLDWSource is the BasicCopySource implementation for RelationalSource.
75511func (rs RelationalSource) AsSQLDWSource() (*SQLDWSource, bool) {
75512	return nil, false
75513}
75514
75515// AsSQLSource is the BasicCopySource implementation for RelationalSource.
75516func (rs RelationalSource) AsSQLSource() (*SQLSource, bool) {
75517	return nil, false
75518}
75519
75520// AsSapEccSource is the BasicCopySource implementation for RelationalSource.
75521func (rs RelationalSource) AsSapEccSource() (*SapEccSource, bool) {
75522	return nil, false
75523}
75524
75525// AsSapCloudForCustomerSource is the BasicCopySource implementation for RelationalSource.
75526func (rs RelationalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
75527	return nil, false
75528}
75529
75530// AsSalesforceSource is the BasicCopySource implementation for RelationalSource.
75531func (rs RelationalSource) AsSalesforceSource() (*SalesforceSource, bool) {
75532	return nil, false
75533}
75534
75535// AsRelationalSource is the BasicCopySource implementation for RelationalSource.
75536func (rs RelationalSource) AsRelationalSource() (*RelationalSource, bool) {
75537	return &rs, true
75538}
75539
75540// AsDynamicsSource is the BasicCopySource implementation for RelationalSource.
75541func (rs RelationalSource) AsDynamicsSource() (*DynamicsSource, bool) {
75542	return nil, false
75543}
75544
75545// AsDocumentDbCollectionSource is the BasicCopySource implementation for RelationalSource.
75546func (rs RelationalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
75547	return nil, false
75548}
75549
75550// AsBlobSource is the BasicCopySource implementation for RelationalSource.
75551func (rs RelationalSource) AsBlobSource() (*BlobSource, bool) {
75552	return nil, false
75553}
75554
75555// AsAzureTableSource is the BasicCopySource implementation for RelationalSource.
75556func (rs RelationalSource) AsAzureTableSource() (*AzureTableSource, bool) {
75557	return nil, false
75558}
75559
75560// AsCopySource is the BasicCopySource implementation for RelationalSource.
75561func (rs RelationalSource) AsCopySource() (*CopySource, bool) {
75562	return nil, false
75563}
75564
75565// AsBasicCopySource is the BasicCopySource implementation for RelationalSource.
75566func (rs RelationalSource) AsBasicCopySource() (BasicCopySource, bool) {
75567	return &rs, true
75568}
75569
75570// UnmarshalJSON is the custom unmarshaler for RelationalSource struct.
75571func (rs *RelationalSource) UnmarshalJSON(body []byte) error {
75572	var m map[string]*json.RawMessage
75573	err := json.Unmarshal(body, &m)
75574	if err != nil {
75575		return err
75576	}
75577	for k, v := range m {
75578		switch k {
75579		case "query":
75580			if v != nil {
75581				var query interface{}
75582				err = json.Unmarshal(*v, &query)
75583				if err != nil {
75584					return err
75585				}
75586				rs.Query = query
75587			}
75588		default:
75589			if v != nil {
75590				var additionalProperties interface{}
75591				err = json.Unmarshal(*v, &additionalProperties)
75592				if err != nil {
75593					return err
75594				}
75595				if rs.AdditionalProperties == nil {
75596					rs.AdditionalProperties = make(map[string]interface{})
75597				}
75598				rs.AdditionalProperties[k] = additionalProperties
75599			}
75600		case "sourceRetryCount":
75601			if v != nil {
75602				var sourceRetryCount interface{}
75603				err = json.Unmarshal(*v, &sourceRetryCount)
75604				if err != nil {
75605					return err
75606				}
75607				rs.SourceRetryCount = sourceRetryCount
75608			}
75609		case "sourceRetryWait":
75610			if v != nil {
75611				var sourceRetryWait interface{}
75612				err = json.Unmarshal(*v, &sourceRetryWait)
75613				if err != nil {
75614					return err
75615				}
75616				rs.SourceRetryWait = sourceRetryWait
75617			}
75618		case "type":
75619			if v != nil {
75620				var typeVar TypeBasicCopySource
75621				err = json.Unmarshal(*v, &typeVar)
75622				if err != nil {
75623					return err
75624				}
75625				rs.Type = typeVar
75626			}
75627		}
75628	}
75629
75630	return nil
75631}
75632
75633// RelationalTableDataset the relational table dataset.
75634type RelationalTableDataset struct {
75635	// RelationalTableDatasetTypeProperties - Relational table dataset properties.
75636	*RelationalTableDatasetTypeProperties `json:"typeProperties,omitempty"`
75637	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75638	AdditionalProperties map[string]interface{} `json:""`
75639	// Description - Dataset description.
75640	Description *string `json:"description,omitempty"`
75641	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
75642	Structure interface{} `json:"structure,omitempty"`
75643	// LinkedServiceName - Linked service reference.
75644	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
75645	// Parameters - Parameters for dataset.
75646	Parameters map[string]*ParameterSpecification `json:"parameters"`
75647	// Annotations - List of tags that can be used for describing the Dataset.
75648	Annotations *[]interface{} `json:"annotations,omitempty"`
75649	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
75650	Type TypeBasicDataset `json:"type,omitempty"`
75651}
75652
75653// MarshalJSON is the custom marshaler for RelationalTableDataset.
75654func (rtd RelationalTableDataset) MarshalJSON() ([]byte, error) {
75655	rtd.Type = TypeRelationalTable
75656	objectMap := make(map[string]interface{})
75657	if rtd.RelationalTableDatasetTypeProperties != nil {
75658		objectMap["typeProperties"] = rtd.RelationalTableDatasetTypeProperties
75659	}
75660	if rtd.Description != nil {
75661		objectMap["description"] = rtd.Description
75662	}
75663	if rtd.Structure != nil {
75664		objectMap["structure"] = rtd.Structure
75665	}
75666	if rtd.LinkedServiceName != nil {
75667		objectMap["linkedServiceName"] = rtd.LinkedServiceName
75668	}
75669	if rtd.Parameters != nil {
75670		objectMap["parameters"] = rtd.Parameters
75671	}
75672	if rtd.Annotations != nil {
75673		objectMap["annotations"] = rtd.Annotations
75674	}
75675	if rtd.Type != "" {
75676		objectMap["type"] = rtd.Type
75677	}
75678	for k, v := range rtd.AdditionalProperties {
75679		objectMap[k] = v
75680	}
75681	return json.Marshal(objectMap)
75682}
75683
75684// AsResponsysObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75685func (rtd RelationalTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
75686	return nil, false
75687}
75688
75689// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75690func (rtd RelationalTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
75691	return nil, false
75692}
75693
75694// AsVerticaTableDataset is the BasicDataset implementation for RelationalTableDataset.
75695func (rtd RelationalTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
75696	return nil, false
75697}
75698
75699// AsNetezzaTableDataset is the BasicDataset implementation for RelationalTableDataset.
75700func (rtd RelationalTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
75701	return nil, false
75702}
75703
75704// AsZohoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75705func (rtd RelationalTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
75706	return nil, false
75707}
75708
75709// AsXeroObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75710func (rtd RelationalTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
75711	return nil, false
75712}
75713
75714// AsSquareObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75715func (rtd RelationalTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
75716	return nil, false
75717}
75718
75719// AsSparkObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75720func (rtd RelationalTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
75721	return nil, false
75722}
75723
75724// AsShopifyObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75725func (rtd RelationalTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
75726	return nil, false
75727}
75728
75729// AsServiceNowObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75730func (rtd RelationalTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
75731	return nil, false
75732}
75733
75734// AsQuickBooksObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75735func (rtd RelationalTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
75736	return nil, false
75737}
75738
75739// AsPrestoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75740func (rtd RelationalTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
75741	return nil, false
75742}
75743
75744// AsPhoenixObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75745func (rtd RelationalTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
75746	return nil, false
75747}
75748
75749// AsPaypalObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75750func (rtd RelationalTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
75751	return nil, false
75752}
75753
75754// AsMarketoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75755func (rtd RelationalTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
75756	return nil, false
75757}
75758
75759// AsMariaDBTableDataset is the BasicDataset implementation for RelationalTableDataset.
75760func (rtd RelationalTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
75761	return nil, false
75762}
75763
75764// AsMagentoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75765func (rtd RelationalTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
75766	return nil, false
75767}
75768
75769// AsJiraObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75770func (rtd RelationalTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
75771	return nil, false
75772}
75773
75774// AsImpalaObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75775func (rtd RelationalTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
75776	return nil, false
75777}
75778
75779// AsHubspotObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75780func (rtd RelationalTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
75781	return nil, false
75782}
75783
75784// AsHiveObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75785func (rtd RelationalTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
75786	return nil, false
75787}
75788
75789// AsHBaseObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75790func (rtd RelationalTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
75791	return nil, false
75792}
75793
75794// AsGreenplumTableDataset is the BasicDataset implementation for RelationalTableDataset.
75795func (rtd RelationalTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
75796	return nil, false
75797}
75798
75799// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75800func (rtd RelationalTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
75801	return nil, false
75802}
75803
75804// AsEloquaObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75805func (rtd RelationalTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
75806	return nil, false
75807}
75808
75809// AsDrillTableDataset is the BasicDataset implementation for RelationalTableDataset.
75810func (rtd RelationalTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
75811	return nil, false
75812}
75813
75814// AsCouchbaseTableDataset is the BasicDataset implementation for RelationalTableDataset.
75815func (rtd RelationalTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
75816	return nil, false
75817}
75818
75819// AsConcurObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75820func (rtd RelationalTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
75821	return nil, false
75822}
75823
75824// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
75825func (rtd RelationalTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
75826	return nil, false
75827}
75828
75829// AsAmazonMWSObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75830func (rtd RelationalTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
75831	return nil, false
75832}
75833
75834// AsHTTPDataset is the BasicDataset implementation for RelationalTableDataset.
75835func (rtd RelationalTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
75836	return nil, false
75837}
75838
75839// AsAzureSearchIndexDataset is the BasicDataset implementation for RelationalTableDataset.
75840func (rtd RelationalTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
75841	return nil, false
75842}
75843
75844// AsWebTableDataset is the BasicDataset implementation for RelationalTableDataset.
75845func (rtd RelationalTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
75846	return nil, false
75847}
75848
75849// AsSQLServerTableDataset is the BasicDataset implementation for RelationalTableDataset.
75850func (rtd RelationalTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
75851	return nil, false
75852}
75853
75854// AsSapEccResourceDataset is the BasicDataset implementation for RelationalTableDataset.
75855func (rtd RelationalTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
75856	return nil, false
75857}
75858
75859// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for RelationalTableDataset.
75860func (rtd RelationalTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
75861	return nil, false
75862}
75863
75864// AsSalesforceObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75865func (rtd RelationalTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
75866	return nil, false
75867}
75868
75869// AsRelationalTableDataset is the BasicDataset implementation for RelationalTableDataset.
75870func (rtd RelationalTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
75871	return &rtd, true
75872}
75873
75874// AsAzureMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
75875func (rtd RelationalTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
75876	return nil, false
75877}
75878
75879// AsOracleTableDataset is the BasicDataset implementation for RelationalTableDataset.
75880func (rtd RelationalTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
75881	return nil, false
75882}
75883
75884// AsODataResourceDataset is the BasicDataset implementation for RelationalTableDataset.
75885func (rtd RelationalTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
75886	return nil, false
75887}
75888
75889// AsMongoDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset.
75890func (rtd RelationalTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
75891	return nil, false
75892}
75893
75894// AsFileShareDataset is the BasicDataset implementation for RelationalTableDataset.
75895func (rtd RelationalTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
75896	return nil, false
75897}
75898
75899// AsAzureDataLakeStoreDataset is the BasicDataset implementation for RelationalTableDataset.
75900func (rtd RelationalTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
75901	return nil, false
75902}
75903
75904// AsDynamicsEntityDataset is the BasicDataset implementation for RelationalTableDataset.
75905func (rtd RelationalTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
75906	return nil, false
75907}
75908
75909// AsDocumentDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset.
75910func (rtd RelationalTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
75911	return nil, false
75912}
75913
75914// AsCustomDataset is the BasicDataset implementation for RelationalTableDataset.
75915func (rtd RelationalTableDataset) AsCustomDataset() (*CustomDataset, bool) {
75916	return nil, false
75917}
75918
75919// AsCassandraTableDataset is the BasicDataset implementation for RelationalTableDataset.
75920func (rtd RelationalTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
75921	return nil, false
75922}
75923
75924// AsAzureSQLDWTableDataset is the BasicDataset implementation for RelationalTableDataset.
75925func (rtd RelationalTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
75926	return nil, false
75927}
75928
75929// AsAzureSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
75930func (rtd RelationalTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
75931	return nil, false
75932}
75933
75934// AsAzureTableDataset is the BasicDataset implementation for RelationalTableDataset.
75935func (rtd RelationalTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
75936	return nil, false
75937}
75938
75939// AsAzureBlobDataset is the BasicDataset implementation for RelationalTableDataset.
75940func (rtd RelationalTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
75941	return nil, false
75942}
75943
75944// AsAmazonS3Dataset is the BasicDataset implementation for RelationalTableDataset.
75945func (rtd RelationalTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
75946	return nil, false
75947}
75948
75949// AsDataset is the BasicDataset implementation for RelationalTableDataset.
75950func (rtd RelationalTableDataset) AsDataset() (*Dataset, bool) {
75951	return nil, false
75952}
75953
75954// AsBasicDataset is the BasicDataset implementation for RelationalTableDataset.
75955func (rtd RelationalTableDataset) AsBasicDataset() (BasicDataset, bool) {
75956	return &rtd, true
75957}
75958
75959// UnmarshalJSON is the custom unmarshaler for RelationalTableDataset struct.
75960func (rtd *RelationalTableDataset) UnmarshalJSON(body []byte) error {
75961	var m map[string]*json.RawMessage
75962	err := json.Unmarshal(body, &m)
75963	if err != nil {
75964		return err
75965	}
75966	for k, v := range m {
75967		switch k {
75968		case "typeProperties":
75969			if v != nil {
75970				var relationalTableDatasetTypeProperties RelationalTableDatasetTypeProperties
75971				err = json.Unmarshal(*v, &relationalTableDatasetTypeProperties)
75972				if err != nil {
75973					return err
75974				}
75975				rtd.RelationalTableDatasetTypeProperties = &relationalTableDatasetTypeProperties
75976			}
75977		default:
75978			if v != nil {
75979				var additionalProperties interface{}
75980				err = json.Unmarshal(*v, &additionalProperties)
75981				if err != nil {
75982					return err
75983				}
75984				if rtd.AdditionalProperties == nil {
75985					rtd.AdditionalProperties = make(map[string]interface{})
75986				}
75987				rtd.AdditionalProperties[k] = additionalProperties
75988			}
75989		case "description":
75990			if v != nil {
75991				var description string
75992				err = json.Unmarshal(*v, &description)
75993				if err != nil {
75994					return err
75995				}
75996				rtd.Description = &description
75997			}
75998		case "structure":
75999			if v != nil {
76000				var structure interface{}
76001				err = json.Unmarshal(*v, &structure)
76002				if err != nil {
76003					return err
76004				}
76005				rtd.Structure = structure
76006			}
76007		case "linkedServiceName":
76008			if v != nil {
76009				var linkedServiceName LinkedServiceReference
76010				err = json.Unmarshal(*v, &linkedServiceName)
76011				if err != nil {
76012					return err
76013				}
76014				rtd.LinkedServiceName = &linkedServiceName
76015			}
76016		case "parameters":
76017			if v != nil {
76018				var parameters map[string]*ParameterSpecification
76019				err = json.Unmarshal(*v, &parameters)
76020				if err != nil {
76021					return err
76022				}
76023				rtd.Parameters = parameters
76024			}
76025		case "annotations":
76026			if v != nil {
76027				var annotations []interface{}
76028				err = json.Unmarshal(*v, &annotations)
76029				if err != nil {
76030					return err
76031				}
76032				rtd.Annotations = &annotations
76033			}
76034		case "type":
76035			if v != nil {
76036				var typeVar TypeBasicDataset
76037				err = json.Unmarshal(*v, &typeVar)
76038				if err != nil {
76039					return err
76040				}
76041				rtd.Type = typeVar
76042			}
76043		}
76044	}
76045
76046	return nil
76047}
76048
76049// RelationalTableDatasetTypeProperties relational table dataset properties.
76050type RelationalTableDatasetTypeProperties struct {
76051	// TableName - The relational table name. Type: string (or Expression with resultType string).
76052	TableName interface{} `json:"tableName,omitempty"`
76053}
76054
76055// Resource azure Data Factory top-level resource.
76056type Resource struct {
76057	// ID - READ-ONLY; The resource identifier.
76058	ID *string `json:"id,omitempty"`
76059	// Name - READ-ONLY; The resource name.
76060	Name *string `json:"name,omitempty"`
76061	// Type - READ-ONLY; The resource type.
76062	Type *string `json:"type,omitempty"`
76063	// Location - The resource location.
76064	Location *string `json:"location,omitempty"`
76065	// Tags - The resource tags.
76066	Tags map[string]*string `json:"tags"`
76067}
76068
76069// MarshalJSON is the custom marshaler for Resource.
76070func (r Resource) MarshalJSON() ([]byte, error) {
76071	objectMap := make(map[string]interface{})
76072	if r.Location != nil {
76073		objectMap["location"] = r.Location
76074	}
76075	if r.Tags != nil {
76076		objectMap["tags"] = r.Tags
76077	}
76078	return json.Marshal(objectMap)
76079}
76080
76081// ResponsysLinkedService responsys linked service.
76082type ResponsysLinkedService struct {
76083	// ResponsysLinkedServiceTypeProperties - Responsys linked service properties.
76084	*ResponsysLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
76085	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
76086	AdditionalProperties map[string]interface{} `json:""`
76087	// ConnectVia - The integration runtime reference.
76088	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
76089	// Description - Linked service description.
76090	Description *string `json:"description,omitempty"`
76091	// Parameters - Parameters for linked service.
76092	Parameters map[string]*ParameterSpecification `json:"parameters"`
76093	// Annotations - List of tags that can be used for describing the Dataset.
76094	Annotations *[]interface{} `json:"annotations,omitempty"`
76095	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
76096	Type TypeBasicLinkedService `json:"type,omitempty"`
76097}
76098
76099// MarshalJSON is the custom marshaler for ResponsysLinkedService.
76100func (rls ResponsysLinkedService) MarshalJSON() ([]byte, error) {
76101	rls.Type = TypeResponsys
76102	objectMap := make(map[string]interface{})
76103	if rls.ResponsysLinkedServiceTypeProperties != nil {
76104		objectMap["typeProperties"] = rls.ResponsysLinkedServiceTypeProperties
76105	}
76106	if rls.ConnectVia != nil {
76107		objectMap["connectVia"] = rls.ConnectVia
76108	}
76109	if rls.Description != nil {
76110		objectMap["description"] = rls.Description
76111	}
76112	if rls.Parameters != nil {
76113		objectMap["parameters"] = rls.Parameters
76114	}
76115	if rls.Annotations != nil {
76116		objectMap["annotations"] = rls.Annotations
76117	}
76118	if rls.Type != "" {
76119		objectMap["type"] = rls.Type
76120	}
76121	for k, v := range rls.AdditionalProperties {
76122		objectMap[k] = v
76123	}
76124	return json.Marshal(objectMap)
76125}
76126
76127// AsResponsysLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76128func (rls ResponsysLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
76129	return &rls, true
76130}
76131
76132// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76133func (rls ResponsysLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
76134	return nil, false
76135}
76136
76137// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76138func (rls ResponsysLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
76139	return nil, false
76140}
76141
76142// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76143func (rls ResponsysLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
76144	return nil, false
76145}
76146
76147// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76148func (rls ResponsysLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
76149	return nil, false
76150}
76151
76152// AsNetezzaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76153func (rls ResponsysLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
76154	return nil, false
76155}
76156
76157// AsVerticaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76158func (rls ResponsysLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
76159	return nil, false
76160}
76161
76162// AsZohoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76163func (rls ResponsysLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
76164	return nil, false
76165}
76166
76167// AsXeroLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76168func (rls ResponsysLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
76169	return nil, false
76170}
76171
76172// AsSquareLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76173func (rls ResponsysLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
76174	return nil, false
76175}
76176
76177// AsSparkLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76178func (rls ResponsysLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
76179	return nil, false
76180}
76181
76182// AsShopifyLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76183func (rls ResponsysLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
76184	return nil, false
76185}
76186
76187// AsServiceNowLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76188func (rls ResponsysLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
76189	return nil, false
76190}
76191
76192// AsQuickBooksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76193func (rls ResponsysLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
76194	return nil, false
76195}
76196
76197// AsPrestoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76198func (rls ResponsysLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
76199	return nil, false
76200}
76201
76202// AsPhoenixLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76203func (rls ResponsysLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
76204	return nil, false
76205}
76206
76207// AsPaypalLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76208func (rls ResponsysLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
76209	return nil, false
76210}
76211
76212// AsMarketoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76213func (rls ResponsysLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
76214	return nil, false
76215}
76216
76217// AsMariaDBLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76218func (rls ResponsysLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
76219	return nil, false
76220}
76221
76222// AsMagentoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76223func (rls ResponsysLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
76224	return nil, false
76225}
76226
76227// AsJiraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76228func (rls ResponsysLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
76229	return nil, false
76230}
76231
76232// AsImpalaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76233func (rls ResponsysLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
76234	return nil, false
76235}
76236
76237// AsHubspotLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76238func (rls ResponsysLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
76239	return nil, false
76240}
76241
76242// AsHiveLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76243func (rls ResponsysLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
76244	return nil, false
76245}
76246
76247// AsHBaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76248func (rls ResponsysLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
76249	return nil, false
76250}
76251
76252// AsGreenplumLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76253func (rls ResponsysLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
76254	return nil, false
76255}
76256
76257// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76258func (rls ResponsysLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
76259	return nil, false
76260}
76261
76262// AsEloquaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76263func (rls ResponsysLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
76264	return nil, false
76265}
76266
76267// AsDrillLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76268func (rls ResponsysLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
76269	return nil, false
76270}
76271
76272// AsCouchbaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76273func (rls ResponsysLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
76274	return nil, false
76275}
76276
76277// AsConcurLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76278func (rls ResponsysLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
76279	return nil, false
76280}
76281
76282// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76283func (rls ResponsysLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
76284	return nil, false
76285}
76286
76287// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76288func (rls ResponsysLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
76289	return nil, false
76290}
76291
76292// AsSapHanaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76293func (rls ResponsysLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
76294	return nil, false
76295}
76296
76297// AsSapBWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76298func (rls ResponsysLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
76299	return nil, false
76300}
76301
76302// AsSftpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76303func (rls ResponsysLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
76304	return nil, false
76305}
76306
76307// AsFtpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76308func (rls ResponsysLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
76309	return nil, false
76310}
76311
76312// AsHTTPLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76313func (rls ResponsysLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
76314	return nil, false
76315}
76316
76317// AsAzureSearchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76318func (rls ResponsysLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
76319	return nil, false
76320}
76321
76322// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76323func (rls ResponsysLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
76324	return nil, false
76325}
76326
76327// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76328func (rls ResponsysLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
76329	return nil, false
76330}
76331
76332// AsAmazonS3LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76333func (rls ResponsysLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
76334	return nil, false
76335}
76336
76337// AsSapEccLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76338func (rls ResponsysLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
76339	return nil, false
76340}
76341
76342// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76343func (rls ResponsysLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
76344	return nil, false
76345}
76346
76347// AsSalesforceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76348func (rls ResponsysLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
76349	return nil, false
76350}
76351
76352// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76353func (rls ResponsysLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
76354	return nil, false
76355}
76356
76357// AsMongoDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76358func (rls ResponsysLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
76359	return nil, false
76360}
76361
76362// AsCassandraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76363func (rls ResponsysLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
76364	return nil, false
76365}
76366
76367// AsWebLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76368func (rls ResponsysLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
76369	return nil, false
76370}
76371
76372// AsODataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76373func (rls ResponsysLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
76374	return nil, false
76375}
76376
76377// AsHdfsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76378func (rls ResponsysLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
76379	return nil, false
76380}
76381
76382// AsOdbcLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76383func (rls ResponsysLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
76384	return nil, false
76385}
76386
76387// AsAzureMLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76388func (rls ResponsysLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
76389	return nil, false
76390}
76391
76392// AsTeradataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76393func (rls ResponsysLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
76394	return nil, false
76395}
76396
76397// AsDb2LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76398func (rls ResponsysLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
76399	return nil, false
76400}
76401
76402// AsSybaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76403func (rls ResponsysLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
76404	return nil, false
76405}
76406
76407// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76408func (rls ResponsysLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
76409	return nil, false
76410}
76411
76412// AsMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76413func (rls ResponsysLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
76414	return nil, false
76415}
76416
76417// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76418func (rls ResponsysLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
76419	return nil, false
76420}
76421
76422// AsOracleLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76423func (rls ResponsysLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
76424	return nil, false
76425}
76426
76427// AsFileServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76428func (rls ResponsysLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
76429	return nil, false
76430}
76431
76432// AsHDInsightLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76433func (rls ResponsysLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
76434	return nil, false
76435}
76436
76437// AsDynamicsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76438func (rls ResponsysLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
76439	return nil, false
76440}
76441
76442// AsCosmosDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76443func (rls ResponsysLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
76444	return nil, false
76445}
76446
76447// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76448func (rls ResponsysLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
76449	return nil, false
76450}
76451
76452// AsAzureBatchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76453func (rls ResponsysLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
76454	return nil, false
76455}
76456
76457// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76458func (rls ResponsysLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
76459	return nil, false
76460}
76461
76462// AsSQLServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76463func (rls ResponsysLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
76464	return nil, false
76465}
76466
76467// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76468func (rls ResponsysLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
76469	return nil, false
76470}
76471
76472// AsAzureStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76473func (rls ResponsysLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
76474	return nil, false
76475}
76476
76477// AsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76478func (rls ResponsysLinkedService) AsLinkedService() (*LinkedService, bool) {
76479	return nil, false
76480}
76481
76482// AsBasicLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76483func (rls ResponsysLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
76484	return &rls, true
76485}
76486
76487// UnmarshalJSON is the custom unmarshaler for ResponsysLinkedService struct.
76488func (rls *ResponsysLinkedService) UnmarshalJSON(body []byte) error {
76489	var m map[string]*json.RawMessage
76490	err := json.Unmarshal(body, &m)
76491	if err != nil {
76492		return err
76493	}
76494	for k, v := range m {
76495		switch k {
76496		case "typeProperties":
76497			if v != nil {
76498				var responsysLinkedServiceTypeProperties ResponsysLinkedServiceTypeProperties
76499				err = json.Unmarshal(*v, &responsysLinkedServiceTypeProperties)
76500				if err != nil {
76501					return err
76502				}
76503				rls.ResponsysLinkedServiceTypeProperties = &responsysLinkedServiceTypeProperties
76504			}
76505		default:
76506			if v != nil {
76507				var additionalProperties interface{}
76508				err = json.Unmarshal(*v, &additionalProperties)
76509				if err != nil {
76510					return err
76511				}
76512				if rls.AdditionalProperties == nil {
76513					rls.AdditionalProperties = make(map[string]interface{})
76514				}
76515				rls.AdditionalProperties[k] = additionalProperties
76516			}
76517		case "connectVia":
76518			if v != nil {
76519				var connectVia IntegrationRuntimeReference
76520				err = json.Unmarshal(*v, &connectVia)
76521				if err != nil {
76522					return err
76523				}
76524				rls.ConnectVia = &connectVia
76525			}
76526		case "description":
76527			if v != nil {
76528				var description string
76529				err = json.Unmarshal(*v, &description)
76530				if err != nil {
76531					return err
76532				}
76533				rls.Description = &description
76534			}
76535		case "parameters":
76536			if v != nil {
76537				var parameters map[string]*ParameterSpecification
76538				err = json.Unmarshal(*v, &parameters)
76539				if err != nil {
76540					return err
76541				}
76542				rls.Parameters = parameters
76543			}
76544		case "annotations":
76545			if v != nil {
76546				var annotations []interface{}
76547				err = json.Unmarshal(*v, &annotations)
76548				if err != nil {
76549					return err
76550				}
76551				rls.Annotations = &annotations
76552			}
76553		case "type":
76554			if v != nil {
76555				var typeVar TypeBasicLinkedService
76556				err = json.Unmarshal(*v, &typeVar)
76557				if err != nil {
76558					return err
76559				}
76560				rls.Type = typeVar
76561			}
76562		}
76563	}
76564
76565	return nil
76566}
76567
76568// ResponsysLinkedServiceTypeProperties responsys linked service properties.
76569type ResponsysLinkedServiceTypeProperties struct {
76570	// Endpoint - The endpoint of the Responsys server.
76571	Endpoint interface{} `json:"endpoint,omitempty"`
76572	// ClientID - The client ID associated with the Responsys application. Type: string (or Expression with resultType string).
76573	ClientID interface{} `json:"clientId,omitempty"`
76574	// ClientSecret - The client secret associated with the Responsys application. Type: string (or Expression with resultType string).
76575	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
76576	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
76577	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
76578	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean).
76579	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
76580	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean).
76581	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
76582	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
76583	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
76584}
76585
76586// UnmarshalJSON is the custom unmarshaler for ResponsysLinkedServiceTypeProperties struct.
76587func (rlstp *ResponsysLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
76588	var m map[string]*json.RawMessage
76589	err := json.Unmarshal(body, &m)
76590	if err != nil {
76591		return err
76592	}
76593	for k, v := range m {
76594		switch k {
76595		case "endpoint":
76596			if v != nil {
76597				var endpoint interface{}
76598				err = json.Unmarshal(*v, &endpoint)
76599				if err != nil {
76600					return err
76601				}
76602				rlstp.Endpoint = endpoint
76603			}
76604		case "clientId":
76605			if v != nil {
76606				var clientID interface{}
76607				err = json.Unmarshal(*v, &clientID)
76608				if err != nil {
76609					return err
76610				}
76611				rlstp.ClientID = clientID
76612			}
76613		case "clientSecret":
76614			if v != nil {
76615				clientSecret, err := unmarshalBasicSecretBase(*v)
76616				if err != nil {
76617					return err
76618				}
76619				rlstp.ClientSecret = clientSecret
76620			}
76621		case "useEncryptedEndpoints":
76622			if v != nil {
76623				var useEncryptedEndpoints interface{}
76624				err = json.Unmarshal(*v, &useEncryptedEndpoints)
76625				if err != nil {
76626					return err
76627				}
76628				rlstp.UseEncryptedEndpoints = useEncryptedEndpoints
76629			}
76630		case "useHostVerification":
76631			if v != nil {
76632				var useHostVerification interface{}
76633				err = json.Unmarshal(*v, &useHostVerification)
76634				if err != nil {
76635					return err
76636				}
76637				rlstp.UseHostVerification = useHostVerification
76638			}
76639		case "usePeerVerification":
76640			if v != nil {
76641				var usePeerVerification interface{}
76642				err = json.Unmarshal(*v, &usePeerVerification)
76643				if err != nil {
76644					return err
76645				}
76646				rlstp.UsePeerVerification = usePeerVerification
76647			}
76648		case "encryptedCredential":
76649			if v != nil {
76650				var encryptedCredential interface{}
76651				err = json.Unmarshal(*v, &encryptedCredential)
76652				if err != nil {
76653					return err
76654				}
76655				rlstp.EncryptedCredential = encryptedCredential
76656			}
76657		}
76658	}
76659
76660	return nil
76661}
76662
76663// ResponsysObjectDataset responsys dataset.
76664type ResponsysObjectDataset struct {
76665	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
76666	AdditionalProperties map[string]interface{} `json:""`
76667	// Description - Dataset description.
76668	Description *string `json:"description,omitempty"`
76669	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
76670	Structure interface{} `json:"structure,omitempty"`
76671	// LinkedServiceName - Linked service reference.
76672	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
76673	// Parameters - Parameters for dataset.
76674	Parameters map[string]*ParameterSpecification `json:"parameters"`
76675	// Annotations - List of tags that can be used for describing the Dataset.
76676	Annotations *[]interface{} `json:"annotations,omitempty"`
76677	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
76678	Type TypeBasicDataset `json:"type,omitempty"`
76679}
76680
76681// MarshalJSON is the custom marshaler for ResponsysObjectDataset.
76682func (rod ResponsysObjectDataset) MarshalJSON() ([]byte, error) {
76683	rod.Type = TypeResponsysObject
76684	objectMap := make(map[string]interface{})
76685	if rod.Description != nil {
76686		objectMap["description"] = rod.Description
76687	}
76688	if rod.Structure != nil {
76689		objectMap["structure"] = rod.Structure
76690	}
76691	if rod.LinkedServiceName != nil {
76692		objectMap["linkedServiceName"] = rod.LinkedServiceName
76693	}
76694	if rod.Parameters != nil {
76695		objectMap["parameters"] = rod.Parameters
76696	}
76697	if rod.Annotations != nil {
76698		objectMap["annotations"] = rod.Annotations
76699	}
76700	if rod.Type != "" {
76701		objectMap["type"] = rod.Type
76702	}
76703	for k, v := range rod.AdditionalProperties {
76704		objectMap[k] = v
76705	}
76706	return json.Marshal(objectMap)
76707}
76708
76709// AsResponsysObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76710func (rod ResponsysObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
76711	return &rod, true
76712}
76713
76714// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76715func (rod ResponsysObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
76716	return nil, false
76717}
76718
76719// AsVerticaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76720func (rod ResponsysObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
76721	return nil, false
76722}
76723
76724// AsNetezzaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76725func (rod ResponsysObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
76726	return nil, false
76727}
76728
76729// AsZohoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76730func (rod ResponsysObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
76731	return nil, false
76732}
76733
76734// AsXeroObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76735func (rod ResponsysObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
76736	return nil, false
76737}
76738
76739// AsSquareObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76740func (rod ResponsysObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
76741	return nil, false
76742}
76743
76744// AsSparkObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76745func (rod ResponsysObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
76746	return nil, false
76747}
76748
76749// AsShopifyObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76750func (rod ResponsysObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
76751	return nil, false
76752}
76753
76754// AsServiceNowObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76755func (rod ResponsysObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
76756	return nil, false
76757}
76758
76759// AsQuickBooksObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76760func (rod ResponsysObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
76761	return nil, false
76762}
76763
76764// AsPrestoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76765func (rod ResponsysObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
76766	return nil, false
76767}
76768
76769// AsPhoenixObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76770func (rod ResponsysObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
76771	return nil, false
76772}
76773
76774// AsPaypalObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76775func (rod ResponsysObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
76776	return nil, false
76777}
76778
76779// AsMarketoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76780func (rod ResponsysObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
76781	return nil, false
76782}
76783
76784// AsMariaDBTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76785func (rod ResponsysObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
76786	return nil, false
76787}
76788
76789// AsMagentoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76790func (rod ResponsysObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
76791	return nil, false
76792}
76793
76794// AsJiraObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76795func (rod ResponsysObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
76796	return nil, false
76797}
76798
76799// AsImpalaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76800func (rod ResponsysObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
76801	return nil, false
76802}
76803
76804// AsHubspotObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76805func (rod ResponsysObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
76806	return nil, false
76807}
76808
76809// AsHiveObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76810func (rod ResponsysObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
76811	return nil, false
76812}
76813
76814// AsHBaseObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76815func (rod ResponsysObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
76816	return nil, false
76817}
76818
76819// AsGreenplumTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76820func (rod ResponsysObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
76821	return nil, false
76822}
76823
76824// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76825func (rod ResponsysObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
76826	return nil, false
76827}
76828
76829// AsEloquaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76830func (rod ResponsysObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
76831	return nil, false
76832}
76833
76834// AsDrillTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76835func (rod ResponsysObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
76836	return nil, false
76837}
76838
76839// AsCouchbaseTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76840func (rod ResponsysObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
76841	return nil, false
76842}
76843
76844// AsConcurObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76845func (rod ResponsysObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
76846	return nil, false
76847}
76848
76849// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76850func (rod ResponsysObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
76851	return nil, false
76852}
76853
76854// AsAmazonMWSObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76855func (rod ResponsysObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
76856	return nil, false
76857}
76858
76859// AsHTTPDataset is the BasicDataset implementation for ResponsysObjectDataset.
76860func (rod ResponsysObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
76861	return nil, false
76862}
76863
76864// AsAzureSearchIndexDataset is the BasicDataset implementation for ResponsysObjectDataset.
76865func (rod ResponsysObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
76866	return nil, false
76867}
76868
76869// AsWebTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76870func (rod ResponsysObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
76871	return nil, false
76872}
76873
76874// AsSQLServerTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76875func (rod ResponsysObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
76876	return nil, false
76877}
76878
76879// AsSapEccResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
76880func (rod ResponsysObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
76881	return nil, false
76882}
76883
76884// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
76885func (rod ResponsysObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
76886	return nil, false
76887}
76888
76889// AsSalesforceObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76890func (rod ResponsysObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
76891	return nil, false
76892}
76893
76894// AsRelationalTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76895func (rod ResponsysObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
76896	return nil, false
76897}
76898
76899// AsAzureMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76900func (rod ResponsysObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
76901	return nil, false
76902}
76903
76904// AsOracleTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76905func (rod ResponsysObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
76906	return nil, false
76907}
76908
76909// AsODataResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
76910func (rod ResponsysObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
76911	return nil, false
76912}
76913
76914// AsMongoDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
76915func (rod ResponsysObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
76916	return nil, false
76917}
76918
76919// AsFileShareDataset is the BasicDataset implementation for ResponsysObjectDataset.
76920func (rod ResponsysObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
76921	return nil, false
76922}
76923
76924// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ResponsysObjectDataset.
76925func (rod ResponsysObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
76926	return nil, false
76927}
76928
76929// AsDynamicsEntityDataset is the BasicDataset implementation for ResponsysObjectDataset.
76930func (rod ResponsysObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
76931	return nil, false
76932}
76933
76934// AsDocumentDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
76935func (rod ResponsysObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
76936	return nil, false
76937}
76938
76939// AsCustomDataset is the BasicDataset implementation for ResponsysObjectDataset.
76940func (rod ResponsysObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
76941	return nil, false
76942}
76943
76944// AsCassandraTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76945func (rod ResponsysObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
76946	return nil, false
76947}
76948
76949// AsAzureSQLDWTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76950func (rod ResponsysObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
76951	return nil, false
76952}
76953
76954// AsAzureSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76955func (rod ResponsysObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
76956	return nil, false
76957}
76958
76959// AsAzureTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76960func (rod ResponsysObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
76961	return nil, false
76962}
76963
76964// AsAzureBlobDataset is the BasicDataset implementation for ResponsysObjectDataset.
76965func (rod ResponsysObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
76966	return nil, false
76967}
76968
76969// AsAmazonS3Dataset is the BasicDataset implementation for ResponsysObjectDataset.
76970func (rod ResponsysObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
76971	return nil, false
76972}
76973
76974// AsDataset is the BasicDataset implementation for ResponsysObjectDataset.
76975func (rod ResponsysObjectDataset) AsDataset() (*Dataset, bool) {
76976	return nil, false
76977}
76978
76979// AsBasicDataset is the BasicDataset implementation for ResponsysObjectDataset.
76980func (rod ResponsysObjectDataset) AsBasicDataset() (BasicDataset, bool) {
76981	return &rod, true
76982}
76983
76984// UnmarshalJSON is the custom unmarshaler for ResponsysObjectDataset struct.
76985func (rod *ResponsysObjectDataset) UnmarshalJSON(body []byte) error {
76986	var m map[string]*json.RawMessage
76987	err := json.Unmarshal(body, &m)
76988	if err != nil {
76989		return err
76990	}
76991	for k, v := range m {
76992		switch k {
76993		default:
76994			if v != nil {
76995				var additionalProperties interface{}
76996				err = json.Unmarshal(*v, &additionalProperties)
76997				if err != nil {
76998					return err
76999				}
77000				if rod.AdditionalProperties == nil {
77001					rod.AdditionalProperties = make(map[string]interface{})
77002				}
77003				rod.AdditionalProperties[k] = additionalProperties
77004			}
77005		case "description":
77006			if v != nil {
77007				var description string
77008				err = json.Unmarshal(*v, &description)
77009				if err != nil {
77010					return err
77011				}
77012				rod.Description = &description
77013			}
77014		case "structure":
77015			if v != nil {
77016				var structure interface{}
77017				err = json.Unmarshal(*v, &structure)
77018				if err != nil {
77019					return err
77020				}
77021				rod.Structure = structure
77022			}
77023		case "linkedServiceName":
77024			if v != nil {
77025				var linkedServiceName LinkedServiceReference
77026				err = json.Unmarshal(*v, &linkedServiceName)
77027				if err != nil {
77028					return err
77029				}
77030				rod.LinkedServiceName = &linkedServiceName
77031			}
77032		case "parameters":
77033			if v != nil {
77034				var parameters map[string]*ParameterSpecification
77035				err = json.Unmarshal(*v, &parameters)
77036				if err != nil {
77037					return err
77038				}
77039				rod.Parameters = parameters
77040			}
77041		case "annotations":
77042			if v != nil {
77043				var annotations []interface{}
77044				err = json.Unmarshal(*v, &annotations)
77045				if err != nil {
77046					return err
77047				}
77048				rod.Annotations = &annotations
77049			}
77050		case "type":
77051			if v != nil {
77052				var typeVar TypeBasicDataset
77053				err = json.Unmarshal(*v, &typeVar)
77054				if err != nil {
77055					return err
77056				}
77057				rod.Type = typeVar
77058			}
77059		}
77060	}
77061
77062	return nil
77063}
77064
77065// ResponsysSource a copy activity Responsys source.
77066type ResponsysSource struct {
77067	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
77068	Query interface{} `json:"query,omitempty"`
77069	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
77070	AdditionalProperties map[string]interface{} `json:""`
77071	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
77072	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
77073	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
77074	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
77075	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
77076	Type TypeBasicCopySource `json:"type,omitempty"`
77077}
77078
77079// MarshalJSON is the custom marshaler for ResponsysSource.
77080func (rs ResponsysSource) MarshalJSON() ([]byte, error) {
77081	rs.Type = TypeResponsysSource
77082	objectMap := make(map[string]interface{})
77083	if rs.Query != nil {
77084		objectMap["query"] = rs.Query
77085	}
77086	if rs.SourceRetryCount != nil {
77087		objectMap["sourceRetryCount"] = rs.SourceRetryCount
77088	}
77089	if rs.SourceRetryWait != nil {
77090		objectMap["sourceRetryWait"] = rs.SourceRetryWait
77091	}
77092	if rs.Type != "" {
77093		objectMap["type"] = rs.Type
77094	}
77095	for k, v := range rs.AdditionalProperties {
77096		objectMap[k] = v
77097	}
77098	return json.Marshal(objectMap)
77099}
77100
77101// AsAmazonRedshiftSource is the BasicCopySource implementation for ResponsysSource.
77102func (rs ResponsysSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
77103	return nil, false
77104}
77105
77106// AsResponsysSource is the BasicCopySource implementation for ResponsysSource.
77107func (rs ResponsysSource) AsResponsysSource() (*ResponsysSource, bool) {
77108	return &rs, true
77109}
77110
77111// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ResponsysSource.
77112func (rs ResponsysSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
77113	return nil, false
77114}
77115
77116// AsVerticaSource is the BasicCopySource implementation for ResponsysSource.
77117func (rs ResponsysSource) AsVerticaSource() (*VerticaSource, bool) {
77118	return nil, false
77119}
77120
77121// AsNetezzaSource is the BasicCopySource implementation for ResponsysSource.
77122func (rs ResponsysSource) AsNetezzaSource() (*NetezzaSource, bool) {
77123	return nil, false
77124}
77125
77126// AsZohoSource is the BasicCopySource implementation for ResponsysSource.
77127func (rs ResponsysSource) AsZohoSource() (*ZohoSource, bool) {
77128	return nil, false
77129}
77130
77131// AsXeroSource is the BasicCopySource implementation for ResponsysSource.
77132func (rs ResponsysSource) AsXeroSource() (*XeroSource, bool) {
77133	return nil, false
77134}
77135
77136// AsSquareSource is the BasicCopySource implementation for ResponsysSource.
77137func (rs ResponsysSource) AsSquareSource() (*SquareSource, bool) {
77138	return nil, false
77139}
77140
77141// AsSparkSource is the BasicCopySource implementation for ResponsysSource.
77142func (rs ResponsysSource) AsSparkSource() (*SparkSource, bool) {
77143	return nil, false
77144}
77145
77146// AsShopifySource is the BasicCopySource implementation for ResponsysSource.
77147func (rs ResponsysSource) AsShopifySource() (*ShopifySource, bool) {
77148	return nil, false
77149}
77150
77151// AsServiceNowSource is the BasicCopySource implementation for ResponsysSource.
77152func (rs ResponsysSource) AsServiceNowSource() (*ServiceNowSource, bool) {
77153	return nil, false
77154}
77155
77156// AsQuickBooksSource is the BasicCopySource implementation for ResponsysSource.
77157func (rs ResponsysSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
77158	return nil, false
77159}
77160
77161// AsPrestoSource is the BasicCopySource implementation for ResponsysSource.
77162func (rs ResponsysSource) AsPrestoSource() (*PrestoSource, bool) {
77163	return nil, false
77164}
77165
77166// AsPhoenixSource is the BasicCopySource implementation for ResponsysSource.
77167func (rs ResponsysSource) AsPhoenixSource() (*PhoenixSource, bool) {
77168	return nil, false
77169}
77170
77171// AsPaypalSource is the BasicCopySource implementation for ResponsysSource.
77172func (rs ResponsysSource) AsPaypalSource() (*PaypalSource, bool) {
77173	return nil, false
77174}
77175
77176// AsMarketoSource is the BasicCopySource implementation for ResponsysSource.
77177func (rs ResponsysSource) AsMarketoSource() (*MarketoSource, bool) {
77178	return nil, false
77179}
77180
77181// AsMariaDBSource is the BasicCopySource implementation for ResponsysSource.
77182func (rs ResponsysSource) AsMariaDBSource() (*MariaDBSource, bool) {
77183	return nil, false
77184}
77185
77186// AsMagentoSource is the BasicCopySource implementation for ResponsysSource.
77187func (rs ResponsysSource) AsMagentoSource() (*MagentoSource, bool) {
77188	return nil, false
77189}
77190
77191// AsJiraSource is the BasicCopySource implementation for ResponsysSource.
77192func (rs ResponsysSource) AsJiraSource() (*JiraSource, bool) {
77193	return nil, false
77194}
77195
77196// AsImpalaSource is the BasicCopySource implementation for ResponsysSource.
77197func (rs ResponsysSource) AsImpalaSource() (*ImpalaSource, bool) {
77198	return nil, false
77199}
77200
77201// AsHubspotSource is the BasicCopySource implementation for ResponsysSource.
77202func (rs ResponsysSource) AsHubspotSource() (*HubspotSource, bool) {
77203	return nil, false
77204}
77205
77206// AsHiveSource is the BasicCopySource implementation for ResponsysSource.
77207func (rs ResponsysSource) AsHiveSource() (*HiveSource, bool) {
77208	return nil, false
77209}
77210
77211// AsHBaseSource is the BasicCopySource implementation for ResponsysSource.
77212func (rs ResponsysSource) AsHBaseSource() (*HBaseSource, bool) {
77213	return nil, false
77214}
77215
77216// AsGreenplumSource is the BasicCopySource implementation for ResponsysSource.
77217func (rs ResponsysSource) AsGreenplumSource() (*GreenplumSource, bool) {
77218	return nil, false
77219}
77220
77221// AsGoogleBigQuerySource is the BasicCopySource implementation for ResponsysSource.
77222func (rs ResponsysSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
77223	return nil, false
77224}
77225
77226// AsEloquaSource is the BasicCopySource implementation for ResponsysSource.
77227func (rs ResponsysSource) AsEloquaSource() (*EloquaSource, bool) {
77228	return nil, false
77229}
77230
77231// AsDrillSource is the BasicCopySource implementation for ResponsysSource.
77232func (rs ResponsysSource) AsDrillSource() (*DrillSource, bool) {
77233	return nil, false
77234}
77235
77236// AsCouchbaseSource is the BasicCopySource implementation for ResponsysSource.
77237func (rs ResponsysSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
77238	return nil, false
77239}
77240
77241// AsConcurSource is the BasicCopySource implementation for ResponsysSource.
77242func (rs ResponsysSource) AsConcurSource() (*ConcurSource, bool) {
77243	return nil, false
77244}
77245
77246// AsAzurePostgreSQLSource is the BasicCopySource implementation for ResponsysSource.
77247func (rs ResponsysSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
77248	return nil, false
77249}
77250
77251// AsAmazonMWSSource is the BasicCopySource implementation for ResponsysSource.
77252func (rs ResponsysSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
77253	return nil, false
77254}
77255
77256// AsHTTPSource is the BasicCopySource implementation for ResponsysSource.
77257func (rs ResponsysSource) AsHTTPSource() (*HTTPSource, bool) {
77258	return nil, false
77259}
77260
77261// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ResponsysSource.
77262func (rs ResponsysSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
77263	return nil, false
77264}
77265
77266// AsMongoDbSource is the BasicCopySource implementation for ResponsysSource.
77267func (rs ResponsysSource) AsMongoDbSource() (*MongoDbSource, bool) {
77268	return nil, false
77269}
77270
77271// AsCassandraSource is the BasicCopySource implementation for ResponsysSource.
77272func (rs ResponsysSource) AsCassandraSource() (*CassandraSource, bool) {
77273	return nil, false
77274}
77275
77276// AsWebSource is the BasicCopySource implementation for ResponsysSource.
77277func (rs ResponsysSource) AsWebSource() (*WebSource, bool) {
77278	return nil, false
77279}
77280
77281// AsOracleSource is the BasicCopySource implementation for ResponsysSource.
77282func (rs ResponsysSource) AsOracleSource() (*OracleSource, bool) {
77283	return nil, false
77284}
77285
77286// AsAzureMySQLSource is the BasicCopySource implementation for ResponsysSource.
77287func (rs ResponsysSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
77288	return nil, false
77289}
77290
77291// AsHdfsSource is the BasicCopySource implementation for ResponsysSource.
77292func (rs ResponsysSource) AsHdfsSource() (*HdfsSource, bool) {
77293	return nil, false
77294}
77295
77296// AsFileSystemSource is the BasicCopySource implementation for ResponsysSource.
77297func (rs ResponsysSource) AsFileSystemSource() (*FileSystemSource, bool) {
77298	return nil, false
77299}
77300
77301// AsSQLDWSource is the BasicCopySource implementation for ResponsysSource.
77302func (rs ResponsysSource) AsSQLDWSource() (*SQLDWSource, bool) {
77303	return nil, false
77304}
77305
77306// AsSQLSource is the BasicCopySource implementation for ResponsysSource.
77307func (rs ResponsysSource) AsSQLSource() (*SQLSource, bool) {
77308	return nil, false
77309}
77310
77311// AsSapEccSource is the BasicCopySource implementation for ResponsysSource.
77312func (rs ResponsysSource) AsSapEccSource() (*SapEccSource, bool) {
77313	return nil, false
77314}
77315
77316// AsSapCloudForCustomerSource is the BasicCopySource implementation for ResponsysSource.
77317func (rs ResponsysSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
77318	return nil, false
77319}
77320
77321// AsSalesforceSource is the BasicCopySource implementation for ResponsysSource.
77322func (rs ResponsysSource) AsSalesforceSource() (*SalesforceSource, bool) {
77323	return nil, false
77324}
77325
77326// AsRelationalSource is the BasicCopySource implementation for ResponsysSource.
77327func (rs ResponsysSource) AsRelationalSource() (*RelationalSource, bool) {
77328	return nil, false
77329}
77330
77331// AsDynamicsSource is the BasicCopySource implementation for ResponsysSource.
77332func (rs ResponsysSource) AsDynamicsSource() (*DynamicsSource, bool) {
77333	return nil, false
77334}
77335
77336// AsDocumentDbCollectionSource is the BasicCopySource implementation for ResponsysSource.
77337func (rs ResponsysSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
77338	return nil, false
77339}
77340
77341// AsBlobSource is the BasicCopySource implementation for ResponsysSource.
77342func (rs ResponsysSource) AsBlobSource() (*BlobSource, bool) {
77343	return nil, false
77344}
77345
77346// AsAzureTableSource is the BasicCopySource implementation for ResponsysSource.
77347func (rs ResponsysSource) AsAzureTableSource() (*AzureTableSource, bool) {
77348	return nil, false
77349}
77350
77351// AsCopySource is the BasicCopySource implementation for ResponsysSource.
77352func (rs ResponsysSource) AsCopySource() (*CopySource, bool) {
77353	return nil, false
77354}
77355
77356// AsBasicCopySource is the BasicCopySource implementation for ResponsysSource.
77357func (rs ResponsysSource) AsBasicCopySource() (BasicCopySource, bool) {
77358	return &rs, true
77359}
77360
77361// UnmarshalJSON is the custom unmarshaler for ResponsysSource struct.
77362func (rs *ResponsysSource) UnmarshalJSON(body []byte) error {
77363	var m map[string]*json.RawMessage
77364	err := json.Unmarshal(body, &m)
77365	if err != nil {
77366		return err
77367	}
77368	for k, v := range m {
77369		switch k {
77370		case "query":
77371			if v != nil {
77372				var query interface{}
77373				err = json.Unmarshal(*v, &query)
77374				if err != nil {
77375					return err
77376				}
77377				rs.Query = query
77378			}
77379		default:
77380			if v != nil {
77381				var additionalProperties interface{}
77382				err = json.Unmarshal(*v, &additionalProperties)
77383				if err != nil {
77384					return err
77385				}
77386				if rs.AdditionalProperties == nil {
77387					rs.AdditionalProperties = make(map[string]interface{})
77388				}
77389				rs.AdditionalProperties[k] = additionalProperties
77390			}
77391		case "sourceRetryCount":
77392			if v != nil {
77393				var sourceRetryCount interface{}
77394				err = json.Unmarshal(*v, &sourceRetryCount)
77395				if err != nil {
77396					return err
77397				}
77398				rs.SourceRetryCount = sourceRetryCount
77399			}
77400		case "sourceRetryWait":
77401			if v != nil {
77402				var sourceRetryWait interface{}
77403				err = json.Unmarshal(*v, &sourceRetryWait)
77404				if err != nil {
77405					return err
77406				}
77407				rs.SourceRetryWait = sourceRetryWait
77408			}
77409		case "type":
77410			if v != nil {
77411				var typeVar TypeBasicCopySource
77412				err = json.Unmarshal(*v, &typeVar)
77413				if err != nil {
77414					return err
77415				}
77416				rs.Type = typeVar
77417			}
77418		}
77419	}
77420
77421	return nil
77422}
77423
77424// RetryPolicy execution policy for an activity.
77425type RetryPolicy struct {
77426	// Count - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
77427	Count interface{} `json:"count,omitempty"`
77428	// IntervalInSeconds - Interval between retries in seconds. Default is 30.
77429	IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"`
77430}
77431
77432// SalesforceLinkedService linked service for Salesforce.
77433type SalesforceLinkedService struct {
77434	// SalesforceLinkedServiceTypeProperties - Salesforce linked service properties.
77435	*SalesforceLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
77436	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
77437	AdditionalProperties map[string]interface{} `json:""`
77438	// ConnectVia - The integration runtime reference.
77439	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
77440	// Description - Linked service description.
77441	Description *string `json:"description,omitempty"`
77442	// Parameters - Parameters for linked service.
77443	Parameters map[string]*ParameterSpecification `json:"parameters"`
77444	// Annotations - List of tags that can be used for describing the Dataset.
77445	Annotations *[]interface{} `json:"annotations,omitempty"`
77446	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
77447	Type TypeBasicLinkedService `json:"type,omitempty"`
77448}
77449
77450// MarshalJSON is the custom marshaler for SalesforceLinkedService.
77451func (sls SalesforceLinkedService) MarshalJSON() ([]byte, error) {
77452	sls.Type = TypeSalesforce
77453	objectMap := make(map[string]interface{})
77454	if sls.SalesforceLinkedServiceTypeProperties != nil {
77455		objectMap["typeProperties"] = sls.SalesforceLinkedServiceTypeProperties
77456	}
77457	if sls.ConnectVia != nil {
77458		objectMap["connectVia"] = sls.ConnectVia
77459	}
77460	if sls.Description != nil {
77461		objectMap["description"] = sls.Description
77462	}
77463	if sls.Parameters != nil {
77464		objectMap["parameters"] = sls.Parameters
77465	}
77466	if sls.Annotations != nil {
77467		objectMap["annotations"] = sls.Annotations
77468	}
77469	if sls.Type != "" {
77470		objectMap["type"] = sls.Type
77471	}
77472	for k, v := range sls.AdditionalProperties {
77473		objectMap[k] = v
77474	}
77475	return json.Marshal(objectMap)
77476}
77477
77478// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77479func (sls SalesforceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
77480	return nil, false
77481}
77482
77483// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77484func (sls SalesforceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
77485	return nil, false
77486}
77487
77488// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77489func (sls SalesforceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
77490	return nil, false
77491}
77492
77493// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77494func (sls SalesforceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
77495	return nil, false
77496}
77497
77498// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77499func (sls SalesforceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
77500	return nil, false
77501}
77502
77503// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77504func (sls SalesforceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
77505	return nil, false
77506}
77507
77508// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77509func (sls SalesforceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
77510	return nil, false
77511}
77512
77513// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77514func (sls SalesforceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
77515	return nil, false
77516}
77517
77518// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77519func (sls SalesforceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
77520	return nil, false
77521}
77522
77523// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77524func (sls SalesforceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
77525	return nil, false
77526}
77527
77528// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77529func (sls SalesforceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
77530	return nil, false
77531}
77532
77533// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77534func (sls SalesforceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
77535	return nil, false
77536}
77537
77538// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77539func (sls SalesforceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
77540	return nil, false
77541}
77542
77543// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77544func (sls SalesforceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
77545	return nil, false
77546}
77547
77548// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77549func (sls SalesforceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
77550	return nil, false
77551}
77552
77553// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77554func (sls SalesforceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
77555	return nil, false
77556}
77557
77558// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77559func (sls SalesforceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
77560	return nil, false
77561}
77562
77563// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77564func (sls SalesforceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
77565	return nil, false
77566}
77567
77568// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77569func (sls SalesforceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
77570	return nil, false
77571}
77572
77573// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77574func (sls SalesforceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
77575	return nil, false
77576}
77577
77578// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77579func (sls SalesforceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
77580	return nil, false
77581}
77582
77583// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77584func (sls SalesforceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
77585	return nil, false
77586}
77587
77588// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77589func (sls SalesforceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
77590	return nil, false
77591}
77592
77593// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77594func (sls SalesforceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
77595	return nil, false
77596}
77597
77598// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77599func (sls SalesforceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
77600	return nil, false
77601}
77602
77603// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77604func (sls SalesforceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
77605	return nil, false
77606}
77607
77608// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77609func (sls SalesforceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
77610	return nil, false
77611}
77612
77613// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77614func (sls SalesforceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
77615	return nil, false
77616}
77617
77618// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77619func (sls SalesforceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
77620	return nil, false
77621}
77622
77623// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77624func (sls SalesforceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
77625	return nil, false
77626}
77627
77628// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77629func (sls SalesforceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
77630	return nil, false
77631}
77632
77633// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77634func (sls SalesforceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
77635	return nil, false
77636}
77637
77638// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77639func (sls SalesforceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
77640	return nil, false
77641}
77642
77643// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77644func (sls SalesforceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
77645	return nil, false
77646}
77647
77648// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77649func (sls SalesforceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
77650	return nil, false
77651}
77652
77653// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77654func (sls SalesforceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
77655	return nil, false
77656}
77657
77658// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77659func (sls SalesforceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
77660	return nil, false
77661}
77662
77663// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77664func (sls SalesforceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
77665	return nil, false
77666}
77667
77668// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77669func (sls SalesforceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
77670	return nil, false
77671}
77672
77673// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77674func (sls SalesforceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
77675	return nil, false
77676}
77677
77678// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77679func (sls SalesforceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
77680	return nil, false
77681}
77682
77683// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77684func (sls SalesforceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
77685	return nil, false
77686}
77687
77688// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77689func (sls SalesforceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
77690	return nil, false
77691}
77692
77693// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77694func (sls SalesforceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
77695	return nil, false
77696}
77697
77698// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77699func (sls SalesforceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
77700	return &sls, true
77701}
77702
77703// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77704func (sls SalesforceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
77705	return nil, false
77706}
77707
77708// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77709func (sls SalesforceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
77710	return nil, false
77711}
77712
77713// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77714func (sls SalesforceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
77715	return nil, false
77716}
77717
77718// AsWebLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77719func (sls SalesforceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
77720	return nil, false
77721}
77722
77723// AsODataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77724func (sls SalesforceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
77725	return nil, false
77726}
77727
77728// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77729func (sls SalesforceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
77730	return nil, false
77731}
77732
77733// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77734func (sls SalesforceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
77735	return nil, false
77736}
77737
77738// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77739func (sls SalesforceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
77740	return nil, false
77741}
77742
77743// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77744func (sls SalesforceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
77745	return nil, false
77746}
77747
77748// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77749func (sls SalesforceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
77750	return nil, false
77751}
77752
77753// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77754func (sls SalesforceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
77755	return nil, false
77756}
77757
77758// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77759func (sls SalesforceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
77760	return nil, false
77761}
77762
77763// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77764func (sls SalesforceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
77765	return nil, false
77766}
77767
77768// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77769func (sls SalesforceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
77770	return nil, false
77771}
77772
77773// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77774func (sls SalesforceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
77775	return nil, false
77776}
77777
77778// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77779func (sls SalesforceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
77780	return nil, false
77781}
77782
77783// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77784func (sls SalesforceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
77785	return nil, false
77786}
77787
77788// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77789func (sls SalesforceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
77790	return nil, false
77791}
77792
77793// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77794func (sls SalesforceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
77795	return nil, false
77796}
77797
77798// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77799func (sls SalesforceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
77800	return nil, false
77801}
77802
77803// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77804func (sls SalesforceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
77805	return nil, false
77806}
77807
77808// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77809func (sls SalesforceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
77810	return nil, false
77811}
77812
77813// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77814func (sls SalesforceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
77815	return nil, false
77816}
77817
77818// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77819func (sls SalesforceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
77820	return nil, false
77821}
77822
77823// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77824func (sls SalesforceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
77825	return nil, false
77826}
77827
77828// AsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77829func (sls SalesforceLinkedService) AsLinkedService() (*LinkedService, bool) {
77830	return nil, false
77831}
77832
77833// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77834func (sls SalesforceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
77835	return &sls, true
77836}
77837
77838// UnmarshalJSON is the custom unmarshaler for SalesforceLinkedService struct.
77839func (sls *SalesforceLinkedService) UnmarshalJSON(body []byte) error {
77840	var m map[string]*json.RawMessage
77841	err := json.Unmarshal(body, &m)
77842	if err != nil {
77843		return err
77844	}
77845	for k, v := range m {
77846		switch k {
77847		case "typeProperties":
77848			if v != nil {
77849				var salesforceLinkedServiceTypeProperties SalesforceLinkedServiceTypeProperties
77850				err = json.Unmarshal(*v, &salesforceLinkedServiceTypeProperties)
77851				if err != nil {
77852					return err
77853				}
77854				sls.SalesforceLinkedServiceTypeProperties = &salesforceLinkedServiceTypeProperties
77855			}
77856		default:
77857			if v != nil {
77858				var additionalProperties interface{}
77859				err = json.Unmarshal(*v, &additionalProperties)
77860				if err != nil {
77861					return err
77862				}
77863				if sls.AdditionalProperties == nil {
77864					sls.AdditionalProperties = make(map[string]interface{})
77865				}
77866				sls.AdditionalProperties[k] = additionalProperties
77867			}
77868		case "connectVia":
77869			if v != nil {
77870				var connectVia IntegrationRuntimeReference
77871				err = json.Unmarshal(*v, &connectVia)
77872				if err != nil {
77873					return err
77874				}
77875				sls.ConnectVia = &connectVia
77876			}
77877		case "description":
77878			if v != nil {
77879				var description string
77880				err = json.Unmarshal(*v, &description)
77881				if err != nil {
77882					return err
77883				}
77884				sls.Description = &description
77885			}
77886		case "parameters":
77887			if v != nil {
77888				var parameters map[string]*ParameterSpecification
77889				err = json.Unmarshal(*v, &parameters)
77890				if err != nil {
77891					return err
77892				}
77893				sls.Parameters = parameters
77894			}
77895		case "annotations":
77896			if v != nil {
77897				var annotations []interface{}
77898				err = json.Unmarshal(*v, &annotations)
77899				if err != nil {
77900					return err
77901				}
77902				sls.Annotations = &annotations
77903			}
77904		case "type":
77905			if v != nil {
77906				var typeVar TypeBasicLinkedService
77907				err = json.Unmarshal(*v, &typeVar)
77908				if err != nil {
77909					return err
77910				}
77911				sls.Type = typeVar
77912			}
77913		}
77914	}
77915
77916	return nil
77917}
77918
77919// SalesforceLinkedServiceTypeProperties salesforce linked service properties.
77920type SalesforceLinkedServiceTypeProperties struct {
77921	// EnvironmentURL - The URL of Salesforce instance. Default is 'https://login.salesforce.com'. To copy data from sandbox, specify 'https://test.salesforce.com'. To copy data from custom domain, specify, for example, 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string).
77922	EnvironmentURL interface{} `json:"environmentUrl,omitempty"`
77923	// Username - The username for Basic authentication of the Salesforce instance. Type: string (or Expression with resultType string).
77924	Username interface{} `json:"username,omitempty"`
77925	// Password - The password for Basic authentication of the Salesforce instance.
77926	Password BasicSecretBase `json:"password,omitempty"`
77927	// SecurityToken - The security token is required to remotely access Salesforce instance.
77928	SecurityToken BasicSecretBase `json:"securityToken,omitempty"`
77929	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
77930	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
77931}
77932
77933// UnmarshalJSON is the custom unmarshaler for SalesforceLinkedServiceTypeProperties struct.
77934func (slstp *SalesforceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
77935	var m map[string]*json.RawMessage
77936	err := json.Unmarshal(body, &m)
77937	if err != nil {
77938		return err
77939	}
77940	for k, v := range m {
77941		switch k {
77942		case "environmentUrl":
77943			if v != nil {
77944				var environmentURL interface{}
77945				err = json.Unmarshal(*v, &environmentURL)
77946				if err != nil {
77947					return err
77948				}
77949				slstp.EnvironmentURL = environmentURL
77950			}
77951		case "username":
77952			if v != nil {
77953				var username interface{}
77954				err = json.Unmarshal(*v, &username)
77955				if err != nil {
77956					return err
77957				}
77958				slstp.Username = username
77959			}
77960		case "password":
77961			if v != nil {
77962				password, err := unmarshalBasicSecretBase(*v)
77963				if err != nil {
77964					return err
77965				}
77966				slstp.Password = password
77967			}
77968		case "securityToken":
77969			if v != nil {
77970				securityToken, err := unmarshalBasicSecretBase(*v)
77971				if err != nil {
77972					return err
77973				}
77974				slstp.SecurityToken = securityToken
77975			}
77976		case "encryptedCredential":
77977			if v != nil {
77978				var encryptedCredential interface{}
77979				err = json.Unmarshal(*v, &encryptedCredential)
77980				if err != nil {
77981					return err
77982				}
77983				slstp.EncryptedCredential = encryptedCredential
77984			}
77985		}
77986	}
77987
77988	return nil
77989}
77990
77991// SalesforceMarketingCloudLinkedService salesforce Marketing Cloud linked service.
77992type SalesforceMarketingCloudLinkedService struct {
77993	// SalesforceMarketingCloudLinkedServiceTypeProperties - Salesforce Marketing Cloud linked service properties.
77994	*SalesforceMarketingCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
77995	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
77996	AdditionalProperties map[string]interface{} `json:""`
77997	// ConnectVia - The integration runtime reference.
77998	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
77999	// Description - Linked service description.
78000	Description *string `json:"description,omitempty"`
78001	// Parameters - Parameters for linked service.
78002	Parameters map[string]*ParameterSpecification `json:"parameters"`
78003	// Annotations - List of tags that can be used for describing the Dataset.
78004	Annotations *[]interface{} `json:"annotations,omitempty"`
78005	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
78006	Type TypeBasicLinkedService `json:"type,omitempty"`
78007}
78008
78009// MarshalJSON is the custom marshaler for SalesforceMarketingCloudLinkedService.
78010func (smcls SalesforceMarketingCloudLinkedService) MarshalJSON() ([]byte, error) {
78011	smcls.Type = TypeSalesforceMarketingCloud
78012	objectMap := make(map[string]interface{})
78013	if smcls.SalesforceMarketingCloudLinkedServiceTypeProperties != nil {
78014		objectMap["typeProperties"] = smcls.SalesforceMarketingCloudLinkedServiceTypeProperties
78015	}
78016	if smcls.ConnectVia != nil {
78017		objectMap["connectVia"] = smcls.ConnectVia
78018	}
78019	if smcls.Description != nil {
78020		objectMap["description"] = smcls.Description
78021	}
78022	if smcls.Parameters != nil {
78023		objectMap["parameters"] = smcls.Parameters
78024	}
78025	if smcls.Annotations != nil {
78026		objectMap["annotations"] = smcls.Annotations
78027	}
78028	if smcls.Type != "" {
78029		objectMap["type"] = smcls.Type
78030	}
78031	for k, v := range smcls.AdditionalProperties {
78032		objectMap[k] = v
78033	}
78034	return json.Marshal(objectMap)
78035}
78036
78037// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78038func (smcls SalesforceMarketingCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
78039	return nil, false
78040}
78041
78042// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78043func (smcls SalesforceMarketingCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
78044	return nil, false
78045}
78046
78047// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78048func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
78049	return nil, false
78050}
78051
78052// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78053func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
78054	return nil, false
78055}
78056
78057// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78058func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
78059	return &smcls, true
78060}
78061
78062// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78063func (smcls SalesforceMarketingCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
78064	return nil, false
78065}
78066
78067// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78068func (smcls SalesforceMarketingCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
78069	return nil, false
78070}
78071
78072// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78073func (smcls SalesforceMarketingCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
78074	return nil, false
78075}
78076
78077// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78078func (smcls SalesforceMarketingCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
78079	return nil, false
78080}
78081
78082// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78083func (smcls SalesforceMarketingCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
78084	return nil, false
78085}
78086
78087// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78088func (smcls SalesforceMarketingCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
78089	return nil, false
78090}
78091
78092// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78093func (smcls SalesforceMarketingCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
78094	return nil, false
78095}
78096
78097// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78098func (smcls SalesforceMarketingCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
78099	return nil, false
78100}
78101
78102// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78103func (smcls SalesforceMarketingCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
78104	return nil, false
78105}
78106
78107// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78108func (smcls SalesforceMarketingCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
78109	return nil, false
78110}
78111
78112// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78113func (smcls SalesforceMarketingCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
78114	return nil, false
78115}
78116
78117// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78118func (smcls SalesforceMarketingCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
78119	return nil, false
78120}
78121
78122// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78123func (smcls SalesforceMarketingCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
78124	return nil, false
78125}
78126
78127// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78128func (smcls SalesforceMarketingCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
78129	return nil, false
78130}
78131
78132// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78133func (smcls SalesforceMarketingCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
78134	return nil, false
78135}
78136
78137// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78138func (smcls SalesforceMarketingCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
78139	return nil, false
78140}
78141
78142// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78143func (smcls SalesforceMarketingCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
78144	return nil, false
78145}
78146
78147// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78148func (smcls SalesforceMarketingCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
78149	return nil, false
78150}
78151
78152// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78153func (smcls SalesforceMarketingCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
78154	return nil, false
78155}
78156
78157// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78158func (smcls SalesforceMarketingCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
78159	return nil, false
78160}
78161
78162// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78163func (smcls SalesforceMarketingCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
78164	return nil, false
78165}
78166
78167// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78168func (smcls SalesforceMarketingCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
78169	return nil, false
78170}
78171
78172// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78173func (smcls SalesforceMarketingCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
78174	return nil, false
78175}
78176
78177// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78178func (smcls SalesforceMarketingCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
78179	return nil, false
78180}
78181
78182// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78183func (smcls SalesforceMarketingCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
78184	return nil, false
78185}
78186
78187// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78188func (smcls SalesforceMarketingCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
78189	return nil, false
78190}
78191
78192// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78193func (smcls SalesforceMarketingCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
78194	return nil, false
78195}
78196
78197// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78198func (smcls SalesforceMarketingCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
78199	return nil, false
78200}
78201
78202// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78203func (smcls SalesforceMarketingCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
78204	return nil, false
78205}
78206
78207// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78208func (smcls SalesforceMarketingCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
78209	return nil, false
78210}
78211
78212// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78213func (smcls SalesforceMarketingCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
78214	return nil, false
78215}
78216
78217// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78218func (smcls SalesforceMarketingCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
78219	return nil, false
78220}
78221
78222// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78223func (smcls SalesforceMarketingCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
78224	return nil, false
78225}
78226
78227// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78228func (smcls SalesforceMarketingCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
78229	return nil, false
78230}
78231
78232// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78233func (smcls SalesforceMarketingCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
78234	return nil, false
78235}
78236
78237// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78238func (smcls SalesforceMarketingCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
78239	return nil, false
78240}
78241
78242// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78243func (smcls SalesforceMarketingCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
78244	return nil, false
78245}
78246
78247// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78248func (smcls SalesforceMarketingCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
78249	return nil, false
78250}
78251
78252// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78253func (smcls SalesforceMarketingCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
78254	return nil, false
78255}
78256
78257// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78258func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
78259	return nil, false
78260}
78261
78262// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78263func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
78264	return nil, false
78265}
78266
78267// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78268func (smcls SalesforceMarketingCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
78269	return nil, false
78270}
78271
78272// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78273func (smcls SalesforceMarketingCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
78274	return nil, false
78275}
78276
78277// AsWebLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78278func (smcls SalesforceMarketingCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
78279	return nil, false
78280}
78281
78282// AsODataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78283func (smcls SalesforceMarketingCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
78284	return nil, false
78285}
78286
78287// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78288func (smcls SalesforceMarketingCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
78289	return nil, false
78290}
78291
78292// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78293func (smcls SalesforceMarketingCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
78294	return nil, false
78295}
78296
78297// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78298func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
78299	return nil, false
78300}
78301
78302// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78303func (smcls SalesforceMarketingCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
78304	return nil, false
78305}
78306
78307// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78308func (smcls SalesforceMarketingCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
78309	return nil, false
78310}
78311
78312// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78313func (smcls SalesforceMarketingCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
78314	return nil, false
78315}
78316
78317// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78318func (smcls SalesforceMarketingCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
78319	return nil, false
78320}
78321
78322// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78323func (smcls SalesforceMarketingCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
78324	return nil, false
78325}
78326
78327// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78328func (smcls SalesforceMarketingCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
78329	return nil, false
78330}
78331
78332// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78333func (smcls SalesforceMarketingCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
78334	return nil, false
78335}
78336
78337// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78338func (smcls SalesforceMarketingCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
78339	return nil, false
78340}
78341
78342// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78343func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
78344	return nil, false
78345}
78346
78347// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78348func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
78349	return nil, false
78350}
78351
78352// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78353func (smcls SalesforceMarketingCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
78354	return nil, false
78355}
78356
78357// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78358func (smcls SalesforceMarketingCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
78359	return nil, false
78360}
78361
78362// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78363func (smcls SalesforceMarketingCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
78364	return nil, false
78365}
78366
78367// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78368func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
78369	return nil, false
78370}
78371
78372// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78373func (smcls SalesforceMarketingCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
78374	return nil, false
78375}
78376
78377// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78378func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
78379	return nil, false
78380}
78381
78382// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78383func (smcls SalesforceMarketingCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
78384	return nil, false
78385}
78386
78387// AsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78388func (smcls SalesforceMarketingCloudLinkedService) AsLinkedService() (*LinkedService, bool) {
78389	return nil, false
78390}
78391
78392// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78393func (smcls SalesforceMarketingCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
78394	return &smcls, true
78395}
78396
78397// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedService struct.
78398func (smcls *SalesforceMarketingCloudLinkedService) UnmarshalJSON(body []byte) error {
78399	var m map[string]*json.RawMessage
78400	err := json.Unmarshal(body, &m)
78401	if err != nil {
78402		return err
78403	}
78404	for k, v := range m {
78405		switch k {
78406		case "typeProperties":
78407			if v != nil {
78408				var salesforceMarketingCloudLinkedServiceTypeProperties SalesforceMarketingCloudLinkedServiceTypeProperties
78409				err = json.Unmarshal(*v, &salesforceMarketingCloudLinkedServiceTypeProperties)
78410				if err != nil {
78411					return err
78412				}
78413				smcls.SalesforceMarketingCloudLinkedServiceTypeProperties = &salesforceMarketingCloudLinkedServiceTypeProperties
78414			}
78415		default:
78416			if v != nil {
78417				var additionalProperties interface{}
78418				err = json.Unmarshal(*v, &additionalProperties)
78419				if err != nil {
78420					return err
78421				}
78422				if smcls.AdditionalProperties == nil {
78423					smcls.AdditionalProperties = make(map[string]interface{})
78424				}
78425				smcls.AdditionalProperties[k] = additionalProperties
78426			}
78427		case "connectVia":
78428			if v != nil {
78429				var connectVia IntegrationRuntimeReference
78430				err = json.Unmarshal(*v, &connectVia)
78431				if err != nil {
78432					return err
78433				}
78434				smcls.ConnectVia = &connectVia
78435			}
78436		case "description":
78437			if v != nil {
78438				var description string
78439				err = json.Unmarshal(*v, &description)
78440				if err != nil {
78441					return err
78442				}
78443				smcls.Description = &description
78444			}
78445		case "parameters":
78446			if v != nil {
78447				var parameters map[string]*ParameterSpecification
78448				err = json.Unmarshal(*v, &parameters)
78449				if err != nil {
78450					return err
78451				}
78452				smcls.Parameters = parameters
78453			}
78454		case "annotations":
78455			if v != nil {
78456				var annotations []interface{}
78457				err = json.Unmarshal(*v, &annotations)
78458				if err != nil {
78459					return err
78460				}
78461				smcls.Annotations = &annotations
78462			}
78463		case "type":
78464			if v != nil {
78465				var typeVar TypeBasicLinkedService
78466				err = json.Unmarshal(*v, &typeVar)
78467				if err != nil {
78468					return err
78469				}
78470				smcls.Type = typeVar
78471			}
78472		}
78473	}
78474
78475	return nil
78476}
78477
78478// SalesforceMarketingCloudLinkedServiceTypeProperties salesforce Marketing Cloud linked service
78479// properties.
78480type SalesforceMarketingCloudLinkedServiceTypeProperties struct {
78481	// ClientID - The client ID associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).
78482	ClientID interface{} `json:"clientId,omitempty"`
78483	// ClientSecret - The client secret associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).
78484	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
78485	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
78486	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
78487	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean).
78488	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
78489	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean).
78490	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
78491	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
78492	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
78493}
78494
78495// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedServiceTypeProperties struct.
78496func (smclstp *SalesforceMarketingCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
78497	var m map[string]*json.RawMessage
78498	err := json.Unmarshal(body, &m)
78499	if err != nil {
78500		return err
78501	}
78502	for k, v := range m {
78503		switch k {
78504		case "clientId":
78505			if v != nil {
78506				var clientID interface{}
78507				err = json.Unmarshal(*v, &clientID)
78508				if err != nil {
78509					return err
78510				}
78511				smclstp.ClientID = clientID
78512			}
78513		case "clientSecret":
78514			if v != nil {
78515				clientSecret, err := unmarshalBasicSecretBase(*v)
78516				if err != nil {
78517					return err
78518				}
78519				smclstp.ClientSecret = clientSecret
78520			}
78521		case "useEncryptedEndpoints":
78522			if v != nil {
78523				var useEncryptedEndpoints interface{}
78524				err = json.Unmarshal(*v, &useEncryptedEndpoints)
78525				if err != nil {
78526					return err
78527				}
78528				smclstp.UseEncryptedEndpoints = useEncryptedEndpoints
78529			}
78530		case "useHostVerification":
78531			if v != nil {
78532				var useHostVerification interface{}
78533				err = json.Unmarshal(*v, &useHostVerification)
78534				if err != nil {
78535					return err
78536				}
78537				smclstp.UseHostVerification = useHostVerification
78538			}
78539		case "usePeerVerification":
78540			if v != nil {
78541				var usePeerVerification interface{}
78542				err = json.Unmarshal(*v, &usePeerVerification)
78543				if err != nil {
78544					return err
78545				}
78546				smclstp.UsePeerVerification = usePeerVerification
78547			}
78548		case "encryptedCredential":
78549			if v != nil {
78550				var encryptedCredential interface{}
78551				err = json.Unmarshal(*v, &encryptedCredential)
78552				if err != nil {
78553					return err
78554				}
78555				smclstp.EncryptedCredential = encryptedCredential
78556			}
78557		}
78558	}
78559
78560	return nil
78561}
78562
78563// SalesforceMarketingCloudObjectDataset salesforce Marketing Cloud dataset.
78564type SalesforceMarketingCloudObjectDataset struct {
78565	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
78566	AdditionalProperties map[string]interface{} `json:""`
78567	// Description - Dataset description.
78568	Description *string `json:"description,omitempty"`
78569	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
78570	Structure interface{} `json:"structure,omitempty"`
78571	// LinkedServiceName - Linked service reference.
78572	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
78573	// Parameters - Parameters for dataset.
78574	Parameters map[string]*ParameterSpecification `json:"parameters"`
78575	// Annotations - List of tags that can be used for describing the Dataset.
78576	Annotations *[]interface{} `json:"annotations,omitempty"`
78577	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
78578	Type TypeBasicDataset `json:"type,omitempty"`
78579}
78580
78581// MarshalJSON is the custom marshaler for SalesforceMarketingCloudObjectDataset.
78582func (smcod SalesforceMarketingCloudObjectDataset) MarshalJSON() ([]byte, error) {
78583	smcod.Type = TypeSalesforceMarketingCloudObject
78584	objectMap := make(map[string]interface{})
78585	if smcod.Description != nil {
78586		objectMap["description"] = smcod.Description
78587	}
78588	if smcod.Structure != nil {
78589		objectMap["structure"] = smcod.Structure
78590	}
78591	if smcod.LinkedServiceName != nil {
78592		objectMap["linkedServiceName"] = smcod.LinkedServiceName
78593	}
78594	if smcod.Parameters != nil {
78595		objectMap["parameters"] = smcod.Parameters
78596	}
78597	if smcod.Annotations != nil {
78598		objectMap["annotations"] = smcod.Annotations
78599	}
78600	if smcod.Type != "" {
78601		objectMap["type"] = smcod.Type
78602	}
78603	for k, v := range smcod.AdditionalProperties {
78604		objectMap[k] = v
78605	}
78606	return json.Marshal(objectMap)
78607}
78608
78609// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78610func (smcod SalesforceMarketingCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
78611	return nil, false
78612}
78613
78614// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78615func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
78616	return &smcod, true
78617}
78618
78619// AsVerticaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78620func (smcod SalesforceMarketingCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
78621	return nil, false
78622}
78623
78624// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78625func (smcod SalesforceMarketingCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
78626	return nil, false
78627}
78628
78629// AsZohoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78630func (smcod SalesforceMarketingCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
78631	return nil, false
78632}
78633
78634// AsXeroObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78635func (smcod SalesforceMarketingCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
78636	return nil, false
78637}
78638
78639// AsSquareObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78640func (smcod SalesforceMarketingCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
78641	return nil, false
78642}
78643
78644// AsSparkObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78645func (smcod SalesforceMarketingCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
78646	return nil, false
78647}
78648
78649// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78650func (smcod SalesforceMarketingCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
78651	return nil, false
78652}
78653
78654// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78655func (smcod SalesforceMarketingCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
78656	return nil, false
78657}
78658
78659// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78660func (smcod SalesforceMarketingCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
78661	return nil, false
78662}
78663
78664// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78665func (smcod SalesforceMarketingCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
78666	return nil, false
78667}
78668
78669// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78670func (smcod SalesforceMarketingCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
78671	return nil, false
78672}
78673
78674// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78675func (smcod SalesforceMarketingCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
78676	return nil, false
78677}
78678
78679// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78680func (smcod SalesforceMarketingCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
78681	return nil, false
78682}
78683
78684// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78685func (smcod SalesforceMarketingCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
78686	return nil, false
78687}
78688
78689// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78690func (smcod SalesforceMarketingCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
78691	return nil, false
78692}
78693
78694// AsJiraObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78695func (smcod SalesforceMarketingCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
78696	return nil, false
78697}
78698
78699// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78700func (smcod SalesforceMarketingCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
78701	return nil, false
78702}
78703
78704// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78705func (smcod SalesforceMarketingCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
78706	return nil, false
78707}
78708
78709// AsHiveObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78710func (smcod SalesforceMarketingCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
78711	return nil, false
78712}
78713
78714// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78715func (smcod SalesforceMarketingCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
78716	return nil, false
78717}
78718
78719// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78720func (smcod SalesforceMarketingCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
78721	return nil, false
78722}
78723
78724// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78725func (smcod SalesforceMarketingCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
78726	return nil, false
78727}
78728
78729// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78730func (smcod SalesforceMarketingCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
78731	return nil, false
78732}
78733
78734// AsDrillTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78735func (smcod SalesforceMarketingCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
78736	return nil, false
78737}
78738
78739// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78740func (smcod SalesforceMarketingCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
78741	return nil, false
78742}
78743
78744// AsConcurObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78745func (smcod SalesforceMarketingCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
78746	return nil, false
78747}
78748
78749// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78750func (smcod SalesforceMarketingCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
78751	return nil, false
78752}
78753
78754// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78755func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
78756	return nil, false
78757}
78758
78759// AsHTTPDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78760func (smcod SalesforceMarketingCloudObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
78761	return nil, false
78762}
78763
78764// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78765func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
78766	return nil, false
78767}
78768
78769// AsWebTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78770func (smcod SalesforceMarketingCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
78771	return nil, false
78772}
78773
78774// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78775func (smcod SalesforceMarketingCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
78776	return nil, false
78777}
78778
78779// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78780func (smcod SalesforceMarketingCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
78781	return nil, false
78782}
78783
78784// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78785func (smcod SalesforceMarketingCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
78786	return nil, false
78787}
78788
78789// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78790func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
78791	return nil, false
78792}
78793
78794// AsRelationalTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78795func (smcod SalesforceMarketingCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
78796	return nil, false
78797}
78798
78799// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78800func (smcod SalesforceMarketingCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
78801	return nil, false
78802}
78803
78804// AsOracleTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78805func (smcod SalesforceMarketingCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
78806	return nil, false
78807}
78808
78809// AsODataResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78810func (smcod SalesforceMarketingCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
78811	return nil, false
78812}
78813
78814// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78815func (smcod SalesforceMarketingCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
78816	return nil, false
78817}
78818
78819// AsFileShareDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78820func (smcod SalesforceMarketingCloudObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
78821	return nil, false
78822}
78823
78824// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78825func (smcod SalesforceMarketingCloudObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
78826	return nil, false
78827}
78828
78829// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78830func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
78831	return nil, false
78832}
78833
78834// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78835func (smcod SalesforceMarketingCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
78836	return nil, false
78837}
78838
78839// AsCustomDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78840func (smcod SalesforceMarketingCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
78841	return nil, false
78842}
78843
78844// AsCassandraTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78845func (smcod SalesforceMarketingCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
78846	return nil, false
78847}
78848
78849// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78850func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
78851	return nil, false
78852}
78853
78854// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78855func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
78856	return nil, false
78857}
78858
78859// AsAzureTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78860func (smcod SalesforceMarketingCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
78861	return nil, false
78862}
78863
78864// AsAzureBlobDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78865func (smcod SalesforceMarketingCloudObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
78866	return nil, false
78867}
78868
78869// AsAmazonS3Dataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78870func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
78871	return nil, false
78872}
78873
78874// AsDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78875func (smcod SalesforceMarketingCloudObjectDataset) AsDataset() (*Dataset, bool) {
78876	return nil, false
78877}
78878
78879// AsBasicDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78880func (smcod SalesforceMarketingCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) {
78881	return &smcod, true
78882}
78883
78884// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudObjectDataset struct.
78885func (smcod *SalesforceMarketingCloudObjectDataset) UnmarshalJSON(body []byte) error {
78886	var m map[string]*json.RawMessage
78887	err := json.Unmarshal(body, &m)
78888	if err != nil {
78889		return err
78890	}
78891	for k, v := range m {
78892		switch k {
78893		default:
78894			if v != nil {
78895				var additionalProperties interface{}
78896				err = json.Unmarshal(*v, &additionalProperties)
78897				if err != nil {
78898					return err
78899				}
78900				if smcod.AdditionalProperties == nil {
78901					smcod.AdditionalProperties = make(map[string]interface{})
78902				}
78903				smcod.AdditionalProperties[k] = additionalProperties
78904			}
78905		case "description":
78906			if v != nil {
78907				var description string
78908				err = json.Unmarshal(*v, &description)
78909				if err != nil {
78910					return err
78911				}
78912				smcod.Description = &description
78913			}
78914		case "structure":
78915			if v != nil {
78916				var structure interface{}
78917				err = json.Unmarshal(*v, &structure)
78918				if err != nil {
78919					return err
78920				}
78921				smcod.Structure = structure
78922			}
78923		case "linkedServiceName":
78924			if v != nil {
78925				var linkedServiceName LinkedServiceReference
78926				err = json.Unmarshal(*v, &linkedServiceName)
78927				if err != nil {
78928					return err
78929				}
78930				smcod.LinkedServiceName = &linkedServiceName
78931			}
78932		case "parameters":
78933			if v != nil {
78934				var parameters map[string]*ParameterSpecification
78935				err = json.Unmarshal(*v, &parameters)
78936				if err != nil {
78937					return err
78938				}
78939				smcod.Parameters = parameters
78940			}
78941		case "annotations":
78942			if v != nil {
78943				var annotations []interface{}
78944				err = json.Unmarshal(*v, &annotations)
78945				if err != nil {
78946					return err
78947				}
78948				smcod.Annotations = &annotations
78949			}
78950		case "type":
78951			if v != nil {
78952				var typeVar TypeBasicDataset
78953				err = json.Unmarshal(*v, &typeVar)
78954				if err != nil {
78955					return err
78956				}
78957				smcod.Type = typeVar
78958			}
78959		}
78960	}
78961
78962	return nil
78963}
78964
78965// SalesforceMarketingCloudSource a copy activity Salesforce Marketing Cloud source.
78966type SalesforceMarketingCloudSource struct {
78967	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
78968	Query interface{} `json:"query,omitempty"`
78969	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
78970	AdditionalProperties map[string]interface{} `json:""`
78971	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
78972	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
78973	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
78974	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
78975	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
78976	Type TypeBasicCopySource `json:"type,omitempty"`
78977}
78978
78979// MarshalJSON is the custom marshaler for SalesforceMarketingCloudSource.
78980func (smcs SalesforceMarketingCloudSource) MarshalJSON() ([]byte, error) {
78981	smcs.Type = TypeSalesforceMarketingCloudSource
78982	objectMap := make(map[string]interface{})
78983	if smcs.Query != nil {
78984		objectMap["query"] = smcs.Query
78985	}
78986	if smcs.SourceRetryCount != nil {
78987		objectMap["sourceRetryCount"] = smcs.SourceRetryCount
78988	}
78989	if smcs.SourceRetryWait != nil {
78990		objectMap["sourceRetryWait"] = smcs.SourceRetryWait
78991	}
78992	if smcs.Type != "" {
78993		objectMap["type"] = smcs.Type
78994	}
78995	for k, v := range smcs.AdditionalProperties {
78996		objectMap[k] = v
78997	}
78998	return json.Marshal(objectMap)
78999}
79000
79001// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79002func (smcs SalesforceMarketingCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
79003	return nil, false
79004}
79005
79006// AsResponsysSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79007func (smcs SalesforceMarketingCloudSource) AsResponsysSource() (*ResponsysSource, bool) {
79008	return nil, false
79009}
79010
79011// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79012func (smcs SalesforceMarketingCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
79013	return &smcs, true
79014}
79015
79016// AsVerticaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79017func (smcs SalesforceMarketingCloudSource) AsVerticaSource() (*VerticaSource, bool) {
79018	return nil, false
79019}
79020
79021// AsNetezzaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79022func (smcs SalesforceMarketingCloudSource) AsNetezzaSource() (*NetezzaSource, bool) {
79023	return nil, false
79024}
79025
79026// AsZohoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79027func (smcs SalesforceMarketingCloudSource) AsZohoSource() (*ZohoSource, bool) {
79028	return nil, false
79029}
79030
79031// AsXeroSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79032func (smcs SalesforceMarketingCloudSource) AsXeroSource() (*XeroSource, bool) {
79033	return nil, false
79034}
79035
79036// AsSquareSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79037func (smcs SalesforceMarketingCloudSource) AsSquareSource() (*SquareSource, bool) {
79038	return nil, false
79039}
79040
79041// AsSparkSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79042func (smcs SalesforceMarketingCloudSource) AsSparkSource() (*SparkSource, bool) {
79043	return nil, false
79044}
79045
79046// AsShopifySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79047func (smcs SalesforceMarketingCloudSource) AsShopifySource() (*ShopifySource, bool) {
79048	return nil, false
79049}
79050
79051// AsServiceNowSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79052func (smcs SalesforceMarketingCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) {
79053	return nil, false
79054}
79055
79056// AsQuickBooksSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79057func (smcs SalesforceMarketingCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
79058	return nil, false
79059}
79060
79061// AsPrestoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79062func (smcs SalesforceMarketingCloudSource) AsPrestoSource() (*PrestoSource, bool) {
79063	return nil, false
79064}
79065
79066// AsPhoenixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79067func (smcs SalesforceMarketingCloudSource) AsPhoenixSource() (*PhoenixSource, bool) {
79068	return nil, false
79069}
79070
79071// AsPaypalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79072func (smcs SalesforceMarketingCloudSource) AsPaypalSource() (*PaypalSource, bool) {
79073	return nil, false
79074}
79075
79076// AsMarketoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79077func (smcs SalesforceMarketingCloudSource) AsMarketoSource() (*MarketoSource, bool) {
79078	return nil, false
79079}
79080
79081// AsMariaDBSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79082func (smcs SalesforceMarketingCloudSource) AsMariaDBSource() (*MariaDBSource, bool) {
79083	return nil, false
79084}
79085
79086// AsMagentoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79087func (smcs SalesforceMarketingCloudSource) AsMagentoSource() (*MagentoSource, bool) {
79088	return nil, false
79089}
79090
79091// AsJiraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79092func (smcs SalesforceMarketingCloudSource) AsJiraSource() (*JiraSource, bool) {
79093	return nil, false
79094}
79095
79096// AsImpalaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79097func (smcs SalesforceMarketingCloudSource) AsImpalaSource() (*ImpalaSource, bool) {
79098	return nil, false
79099}
79100
79101// AsHubspotSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79102func (smcs SalesforceMarketingCloudSource) AsHubspotSource() (*HubspotSource, bool) {
79103	return nil, false
79104}
79105
79106// AsHiveSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79107func (smcs SalesforceMarketingCloudSource) AsHiveSource() (*HiveSource, bool) {
79108	return nil, false
79109}
79110
79111// AsHBaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79112func (smcs SalesforceMarketingCloudSource) AsHBaseSource() (*HBaseSource, bool) {
79113	return nil, false
79114}
79115
79116// AsGreenplumSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79117func (smcs SalesforceMarketingCloudSource) AsGreenplumSource() (*GreenplumSource, bool) {
79118	return nil, false
79119}
79120
79121// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79122func (smcs SalesforceMarketingCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
79123	return nil, false
79124}
79125
79126// AsEloquaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79127func (smcs SalesforceMarketingCloudSource) AsEloquaSource() (*EloquaSource, bool) {
79128	return nil, false
79129}
79130
79131// AsDrillSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79132func (smcs SalesforceMarketingCloudSource) AsDrillSource() (*DrillSource, bool) {
79133	return nil, false
79134}
79135
79136// AsCouchbaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79137func (smcs SalesforceMarketingCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
79138	return nil, false
79139}
79140
79141// AsConcurSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79142func (smcs SalesforceMarketingCloudSource) AsConcurSource() (*ConcurSource, bool) {
79143	return nil, false
79144}
79145
79146// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79147func (smcs SalesforceMarketingCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
79148	return nil, false
79149}
79150
79151// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79152func (smcs SalesforceMarketingCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
79153	return nil, false
79154}
79155
79156// AsHTTPSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79157func (smcs SalesforceMarketingCloudSource) AsHTTPSource() (*HTTPSource, bool) {
79158	return nil, false
79159}
79160
79161// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79162func (smcs SalesforceMarketingCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
79163	return nil, false
79164}
79165
79166// AsMongoDbSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79167func (smcs SalesforceMarketingCloudSource) AsMongoDbSource() (*MongoDbSource, bool) {
79168	return nil, false
79169}
79170
79171// AsCassandraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79172func (smcs SalesforceMarketingCloudSource) AsCassandraSource() (*CassandraSource, bool) {
79173	return nil, false
79174}
79175
79176// AsWebSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79177func (smcs SalesforceMarketingCloudSource) AsWebSource() (*WebSource, bool) {
79178	return nil, false
79179}
79180
79181// AsOracleSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79182func (smcs SalesforceMarketingCloudSource) AsOracleSource() (*OracleSource, bool) {
79183	return nil, false
79184}
79185
79186// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79187func (smcs SalesforceMarketingCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
79188	return nil, false
79189}
79190
79191// AsHdfsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79192func (smcs SalesforceMarketingCloudSource) AsHdfsSource() (*HdfsSource, bool) {
79193	return nil, false
79194}
79195
79196// AsFileSystemSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79197func (smcs SalesforceMarketingCloudSource) AsFileSystemSource() (*FileSystemSource, bool) {
79198	return nil, false
79199}
79200
79201// AsSQLDWSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79202func (smcs SalesforceMarketingCloudSource) AsSQLDWSource() (*SQLDWSource, bool) {
79203	return nil, false
79204}
79205
79206// AsSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79207func (smcs SalesforceMarketingCloudSource) AsSQLSource() (*SQLSource, bool) {
79208	return nil, false
79209}
79210
79211// AsSapEccSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79212func (smcs SalesforceMarketingCloudSource) AsSapEccSource() (*SapEccSource, bool) {
79213	return nil, false
79214}
79215
79216// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79217func (smcs SalesforceMarketingCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
79218	return nil, false
79219}
79220
79221// AsSalesforceSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79222func (smcs SalesforceMarketingCloudSource) AsSalesforceSource() (*SalesforceSource, bool) {
79223	return nil, false
79224}
79225
79226// AsRelationalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79227func (smcs SalesforceMarketingCloudSource) AsRelationalSource() (*RelationalSource, bool) {
79228	return nil, false
79229}
79230
79231// AsDynamicsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79232func (smcs SalesforceMarketingCloudSource) AsDynamicsSource() (*DynamicsSource, bool) {
79233	return nil, false
79234}
79235
79236// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79237func (smcs SalesforceMarketingCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
79238	return nil, false
79239}
79240
79241// AsBlobSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79242func (smcs SalesforceMarketingCloudSource) AsBlobSource() (*BlobSource, bool) {
79243	return nil, false
79244}
79245
79246// AsAzureTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79247func (smcs SalesforceMarketingCloudSource) AsAzureTableSource() (*AzureTableSource, bool) {
79248	return nil, false
79249}
79250
79251// AsCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79252func (smcs SalesforceMarketingCloudSource) AsCopySource() (*CopySource, bool) {
79253	return nil, false
79254}
79255
79256// AsBasicCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79257func (smcs SalesforceMarketingCloudSource) AsBasicCopySource() (BasicCopySource, bool) {
79258	return &smcs, true
79259}
79260
79261// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudSource struct.
79262func (smcs *SalesforceMarketingCloudSource) UnmarshalJSON(body []byte) error {
79263	var m map[string]*json.RawMessage
79264	err := json.Unmarshal(body, &m)
79265	if err != nil {
79266		return err
79267	}
79268	for k, v := range m {
79269		switch k {
79270		case "query":
79271			if v != nil {
79272				var query interface{}
79273				err = json.Unmarshal(*v, &query)
79274				if err != nil {
79275					return err
79276				}
79277				smcs.Query = query
79278			}
79279		default:
79280			if v != nil {
79281				var additionalProperties interface{}
79282				err = json.Unmarshal(*v, &additionalProperties)
79283				if err != nil {
79284					return err
79285				}
79286				if smcs.AdditionalProperties == nil {
79287					smcs.AdditionalProperties = make(map[string]interface{})
79288				}
79289				smcs.AdditionalProperties[k] = additionalProperties
79290			}
79291		case "sourceRetryCount":
79292			if v != nil {
79293				var sourceRetryCount interface{}
79294				err = json.Unmarshal(*v, &sourceRetryCount)
79295				if err != nil {
79296					return err
79297				}
79298				smcs.SourceRetryCount = sourceRetryCount
79299			}
79300		case "sourceRetryWait":
79301			if v != nil {
79302				var sourceRetryWait interface{}
79303				err = json.Unmarshal(*v, &sourceRetryWait)
79304				if err != nil {
79305					return err
79306				}
79307				smcs.SourceRetryWait = sourceRetryWait
79308			}
79309		case "type":
79310			if v != nil {
79311				var typeVar TypeBasicCopySource
79312				err = json.Unmarshal(*v, &typeVar)
79313				if err != nil {
79314					return err
79315				}
79316				smcs.Type = typeVar
79317			}
79318		}
79319	}
79320
79321	return nil
79322}
79323
79324// SalesforceObjectDataset the Salesforce object dataset.
79325type SalesforceObjectDataset struct {
79326	// SalesforceObjectDatasetTypeProperties - Salesforce object dataset properties.
79327	*SalesforceObjectDatasetTypeProperties `json:"typeProperties,omitempty"`
79328	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
79329	AdditionalProperties map[string]interface{} `json:""`
79330	// Description - Dataset description.
79331	Description *string `json:"description,omitempty"`
79332	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
79333	Structure interface{} `json:"structure,omitempty"`
79334	// LinkedServiceName - Linked service reference.
79335	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
79336	// Parameters - Parameters for dataset.
79337	Parameters map[string]*ParameterSpecification `json:"parameters"`
79338	// Annotations - List of tags that can be used for describing the Dataset.
79339	Annotations *[]interface{} `json:"annotations,omitempty"`
79340	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
79341	Type TypeBasicDataset `json:"type,omitempty"`
79342}
79343
79344// MarshalJSON is the custom marshaler for SalesforceObjectDataset.
79345func (sod SalesforceObjectDataset) MarshalJSON() ([]byte, error) {
79346	sod.Type = TypeSalesforceObject
79347	objectMap := make(map[string]interface{})
79348	if sod.SalesforceObjectDatasetTypeProperties != nil {
79349		objectMap["typeProperties"] = sod.SalesforceObjectDatasetTypeProperties
79350	}
79351	if sod.Description != nil {
79352		objectMap["description"] = sod.Description
79353	}
79354	if sod.Structure != nil {
79355		objectMap["structure"] = sod.Structure
79356	}
79357	if sod.LinkedServiceName != nil {
79358		objectMap["linkedServiceName"] = sod.LinkedServiceName
79359	}
79360	if sod.Parameters != nil {
79361		objectMap["parameters"] = sod.Parameters
79362	}
79363	if sod.Annotations != nil {
79364		objectMap["annotations"] = sod.Annotations
79365	}
79366	if sod.Type != "" {
79367		objectMap["type"] = sod.Type
79368	}
79369	for k, v := range sod.AdditionalProperties {
79370		objectMap[k] = v
79371	}
79372	return json.Marshal(objectMap)
79373}
79374
79375// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79376func (sod SalesforceObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
79377	return nil, false
79378}
79379
79380// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79381func (sod SalesforceObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
79382	return nil, false
79383}
79384
79385// AsVerticaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79386func (sod SalesforceObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
79387	return nil, false
79388}
79389
79390// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79391func (sod SalesforceObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
79392	return nil, false
79393}
79394
79395// AsZohoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79396func (sod SalesforceObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
79397	return nil, false
79398}
79399
79400// AsXeroObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79401func (sod SalesforceObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
79402	return nil, false
79403}
79404
79405// AsSquareObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79406func (sod SalesforceObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
79407	return nil, false
79408}
79409
79410// AsSparkObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79411func (sod SalesforceObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
79412	return nil, false
79413}
79414
79415// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79416func (sod SalesforceObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
79417	return nil, false
79418}
79419
79420// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79421func (sod SalesforceObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
79422	return nil, false
79423}
79424
79425// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79426func (sod SalesforceObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
79427	return nil, false
79428}
79429
79430// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79431func (sod SalesforceObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
79432	return nil, false
79433}
79434
79435// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79436func (sod SalesforceObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
79437	return nil, false
79438}
79439
79440// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79441func (sod SalesforceObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
79442	return nil, false
79443}
79444
79445// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79446func (sod SalesforceObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
79447	return nil, false
79448}
79449
79450// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79451func (sod SalesforceObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
79452	return nil, false
79453}
79454
79455// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79456func (sod SalesforceObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
79457	return nil, false
79458}
79459
79460// AsJiraObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79461func (sod SalesforceObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
79462	return nil, false
79463}
79464
79465// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79466func (sod SalesforceObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
79467	return nil, false
79468}
79469
79470// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79471func (sod SalesforceObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
79472	return nil, false
79473}
79474
79475// AsHiveObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79476func (sod SalesforceObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
79477	return nil, false
79478}
79479
79480// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79481func (sod SalesforceObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
79482	return nil, false
79483}
79484
79485// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79486func (sod SalesforceObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
79487	return nil, false
79488}
79489
79490// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79491func (sod SalesforceObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
79492	return nil, false
79493}
79494
79495// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79496func (sod SalesforceObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
79497	return nil, false
79498}
79499
79500// AsDrillTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79501func (sod SalesforceObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
79502	return nil, false
79503}
79504
79505// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79506func (sod SalesforceObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
79507	return nil, false
79508}
79509
79510// AsConcurObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79511func (sod SalesforceObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
79512	return nil, false
79513}
79514
79515// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79516func (sod SalesforceObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
79517	return nil, false
79518}
79519
79520// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79521func (sod SalesforceObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
79522	return nil, false
79523}
79524
79525// AsHTTPDataset is the BasicDataset implementation for SalesforceObjectDataset.
79526func (sod SalesforceObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
79527	return nil, false
79528}
79529
79530// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceObjectDataset.
79531func (sod SalesforceObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
79532	return nil, false
79533}
79534
79535// AsWebTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79536func (sod SalesforceObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
79537	return nil, false
79538}
79539
79540// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79541func (sod SalesforceObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
79542	return nil, false
79543}
79544
79545// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
79546func (sod SalesforceObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
79547	return nil, false
79548}
79549
79550// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
79551func (sod SalesforceObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
79552	return nil, false
79553}
79554
79555// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79556func (sod SalesforceObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
79557	return &sod, true
79558}
79559
79560// AsRelationalTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79561func (sod SalesforceObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
79562	return nil, false
79563}
79564
79565// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79566func (sod SalesforceObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
79567	return nil, false
79568}
79569
79570// AsOracleTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79571func (sod SalesforceObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
79572	return nil, false
79573}
79574
79575// AsODataResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
79576func (sod SalesforceObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
79577	return nil, false
79578}
79579
79580// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
79581func (sod SalesforceObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
79582	return nil, false
79583}
79584
79585// AsFileShareDataset is the BasicDataset implementation for SalesforceObjectDataset.
79586func (sod SalesforceObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
79587	return nil, false
79588}
79589
79590// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SalesforceObjectDataset.
79591func (sod SalesforceObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
79592	return nil, false
79593}
79594
79595// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceObjectDataset.
79596func (sod SalesforceObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
79597	return nil, false
79598}
79599
79600// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
79601func (sod SalesforceObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
79602	return nil, false
79603}
79604
79605// AsCustomDataset is the BasicDataset implementation for SalesforceObjectDataset.
79606func (sod SalesforceObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
79607	return nil, false
79608}
79609
79610// AsCassandraTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79611func (sod SalesforceObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
79612	return nil, false
79613}
79614
79615// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79616func (sod SalesforceObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
79617	return nil, false
79618}
79619
79620// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79621func (sod SalesforceObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
79622	return nil, false
79623}
79624
79625// AsAzureTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79626func (sod SalesforceObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
79627	return nil, false
79628}
79629
79630// AsAzureBlobDataset is the BasicDataset implementation for SalesforceObjectDataset.
79631func (sod SalesforceObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
79632	return nil, false
79633}
79634
79635// AsAmazonS3Dataset is the BasicDataset implementation for SalesforceObjectDataset.
79636func (sod SalesforceObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
79637	return nil, false
79638}
79639
79640// AsDataset is the BasicDataset implementation for SalesforceObjectDataset.
79641func (sod SalesforceObjectDataset) AsDataset() (*Dataset, bool) {
79642	return nil, false
79643}
79644
79645// AsBasicDataset is the BasicDataset implementation for SalesforceObjectDataset.
79646func (sod SalesforceObjectDataset) AsBasicDataset() (BasicDataset, bool) {
79647	return &sod, true
79648}
79649
79650// UnmarshalJSON is the custom unmarshaler for SalesforceObjectDataset struct.
79651func (sod *SalesforceObjectDataset) UnmarshalJSON(body []byte) error {
79652	var m map[string]*json.RawMessage
79653	err := json.Unmarshal(body, &m)
79654	if err != nil {
79655		return err
79656	}
79657	for k, v := range m {
79658		switch k {
79659		case "typeProperties":
79660			if v != nil {
79661				var salesforceObjectDatasetTypeProperties SalesforceObjectDatasetTypeProperties
79662				err = json.Unmarshal(*v, &salesforceObjectDatasetTypeProperties)
79663				if err != nil {
79664					return err
79665				}
79666				sod.SalesforceObjectDatasetTypeProperties = &salesforceObjectDatasetTypeProperties
79667			}
79668		default:
79669			if v != nil {
79670				var additionalProperties interface{}
79671				err = json.Unmarshal(*v, &additionalProperties)
79672				if err != nil {
79673					return err
79674				}
79675				if sod.AdditionalProperties == nil {
79676					sod.AdditionalProperties = make(map[string]interface{})
79677				}
79678				sod.AdditionalProperties[k] = additionalProperties
79679			}
79680		case "description":
79681			if v != nil {
79682				var description string
79683				err = json.Unmarshal(*v, &description)
79684				if err != nil {
79685					return err
79686				}
79687				sod.Description = &description
79688			}
79689		case "structure":
79690			if v != nil {
79691				var structure interface{}
79692				err = json.Unmarshal(*v, &structure)
79693				if err != nil {
79694					return err
79695				}
79696				sod.Structure = structure
79697			}
79698		case "linkedServiceName":
79699			if v != nil {
79700				var linkedServiceName LinkedServiceReference
79701				err = json.Unmarshal(*v, &linkedServiceName)
79702				if err != nil {
79703					return err
79704				}
79705				sod.LinkedServiceName = &linkedServiceName
79706			}
79707		case "parameters":
79708			if v != nil {
79709				var parameters map[string]*ParameterSpecification
79710				err = json.Unmarshal(*v, &parameters)
79711				if err != nil {
79712					return err
79713				}
79714				sod.Parameters = parameters
79715			}
79716		case "annotations":
79717			if v != nil {
79718				var annotations []interface{}
79719				err = json.Unmarshal(*v, &annotations)
79720				if err != nil {
79721					return err
79722				}
79723				sod.Annotations = &annotations
79724			}
79725		case "type":
79726			if v != nil {
79727				var typeVar TypeBasicDataset
79728				err = json.Unmarshal(*v, &typeVar)
79729				if err != nil {
79730					return err
79731				}
79732				sod.Type = typeVar
79733			}
79734		}
79735	}
79736
79737	return nil
79738}
79739
79740// SalesforceObjectDatasetTypeProperties salesforce object dataset properties.
79741type SalesforceObjectDatasetTypeProperties struct {
79742	// ObjectAPIName - The Salesforce object API name. Type: string (or Expression with resultType string).
79743	ObjectAPIName interface{} `json:"objectApiName,omitempty"`
79744}
79745
79746// SalesforceSink a copy activity Salesforce sink.
79747type SalesforceSink struct {
79748	// WriteBehavior - The write behavior for the operation. Default is Insert.
79749	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
79750	// ExternalIDFieldName - The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string).
79751	ExternalIDFieldName interface{} `json:"externalIdFieldName,omitempty"`
79752	// IgnoreNullValues - The flag indicating whether or not to ignore null values from input dataset (except key fields) during write operation. Default value is false. If set it to true, it means ADF will leave the data in the destination object unchanged when doing upsert/update operation and insert defined default value when doing insert operation, versus ADF will update the data in the destination object to NULL when doing upsert/update operation and insert NULL value when doing insert operation. Type: boolean (or Expression with resultType boolean).
79753	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
79754	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
79755	AdditionalProperties map[string]interface{} `json:""`
79756	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
79757	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
79758	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
79759	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
79760	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
79761	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
79762	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
79763	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
79764	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
79765	Type TypeBasicCopySink `json:"type,omitempty"`
79766}
79767
79768// MarshalJSON is the custom marshaler for SalesforceSink.
79769func (ss SalesforceSink) MarshalJSON() ([]byte, error) {
79770	ss.Type = TypeSalesforceSink
79771	objectMap := make(map[string]interface{})
79772	if ss.WriteBehavior != nil {
79773		objectMap["writeBehavior"] = ss.WriteBehavior
79774	}
79775	if ss.ExternalIDFieldName != nil {
79776		objectMap["externalIdFieldName"] = ss.ExternalIDFieldName
79777	}
79778	if ss.IgnoreNullValues != nil {
79779		objectMap["ignoreNullValues"] = ss.IgnoreNullValues
79780	}
79781	if ss.WriteBatchSize != nil {
79782		objectMap["writeBatchSize"] = ss.WriteBatchSize
79783	}
79784	if ss.WriteBatchTimeout != nil {
79785		objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout
79786	}
79787	if ss.SinkRetryCount != nil {
79788		objectMap["sinkRetryCount"] = ss.SinkRetryCount
79789	}
79790	if ss.SinkRetryWait != nil {
79791		objectMap["sinkRetryWait"] = ss.SinkRetryWait
79792	}
79793	if ss.Type != "" {
79794		objectMap["type"] = ss.Type
79795	}
79796	for k, v := range ss.AdditionalProperties {
79797		objectMap[k] = v
79798	}
79799	return json.Marshal(objectMap)
79800}
79801
79802// AsSalesforceSink is the BasicCopySink implementation for SalesforceSink.
79803func (ss SalesforceSink) AsSalesforceSink() (*SalesforceSink, bool) {
79804	return &ss, true
79805}
79806
79807// AsDynamicsSink is the BasicCopySink implementation for SalesforceSink.
79808func (ss SalesforceSink) AsDynamicsSink() (*DynamicsSink, bool) {
79809	return nil, false
79810}
79811
79812// AsOdbcSink is the BasicCopySink implementation for SalesforceSink.
79813func (ss SalesforceSink) AsOdbcSink() (*OdbcSink, bool) {
79814	return nil, false
79815}
79816
79817// AsAzureSearchIndexSink is the BasicCopySink implementation for SalesforceSink.
79818func (ss SalesforceSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
79819	return nil, false
79820}
79821
79822// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SalesforceSink.
79823func (ss SalesforceSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
79824	return nil, false
79825}
79826
79827// AsOracleSink is the BasicCopySink implementation for SalesforceSink.
79828func (ss SalesforceSink) AsOracleSink() (*OracleSink, bool) {
79829	return nil, false
79830}
79831
79832// AsSQLDWSink is the BasicCopySink implementation for SalesforceSink.
79833func (ss SalesforceSink) AsSQLDWSink() (*SQLDWSink, bool) {
79834	return nil, false
79835}
79836
79837// AsSQLSink is the BasicCopySink implementation for SalesforceSink.
79838func (ss SalesforceSink) AsSQLSink() (*SQLSink, bool) {
79839	return nil, false
79840}
79841
79842// AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceSink.
79843func (ss SalesforceSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
79844	return nil, false
79845}
79846
79847// AsFileSystemSink is the BasicCopySink implementation for SalesforceSink.
79848func (ss SalesforceSink) AsFileSystemSink() (*FileSystemSink, bool) {
79849	return nil, false
79850}
79851
79852// AsBlobSink is the BasicCopySink implementation for SalesforceSink.
79853func (ss SalesforceSink) AsBlobSink() (*BlobSink, bool) {
79854	return nil, false
79855}
79856
79857// AsAzureTableSink is the BasicCopySink implementation for SalesforceSink.
79858func (ss SalesforceSink) AsAzureTableSink() (*AzureTableSink, bool) {
79859	return nil, false
79860}
79861
79862// AsAzureQueueSink is the BasicCopySink implementation for SalesforceSink.
79863func (ss SalesforceSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
79864	return nil, false
79865}
79866
79867// AsSapCloudForCustomerSink is the BasicCopySink implementation for SalesforceSink.
79868func (ss SalesforceSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
79869	return nil, false
79870}
79871
79872// AsCopySink is the BasicCopySink implementation for SalesforceSink.
79873func (ss SalesforceSink) AsCopySink() (*CopySink, bool) {
79874	return nil, false
79875}
79876
79877// AsBasicCopySink is the BasicCopySink implementation for SalesforceSink.
79878func (ss SalesforceSink) AsBasicCopySink() (BasicCopySink, bool) {
79879	return &ss, true
79880}
79881
79882// UnmarshalJSON is the custom unmarshaler for SalesforceSink struct.
79883func (ss *SalesforceSink) UnmarshalJSON(body []byte) error {
79884	var m map[string]*json.RawMessage
79885	err := json.Unmarshal(body, &m)
79886	if err != nil {
79887		return err
79888	}
79889	for k, v := range m {
79890		switch k {
79891		case "writeBehavior":
79892			if v != nil {
79893				var writeBehavior interface{}
79894				err = json.Unmarshal(*v, &writeBehavior)
79895				if err != nil {
79896					return err
79897				}
79898				ss.WriteBehavior = writeBehavior
79899			}
79900		case "externalIdFieldName":
79901			if v != nil {
79902				var externalIDFieldName interface{}
79903				err = json.Unmarshal(*v, &externalIDFieldName)
79904				if err != nil {
79905					return err
79906				}
79907				ss.ExternalIDFieldName = externalIDFieldName
79908			}
79909		case "ignoreNullValues":
79910			if v != nil {
79911				var ignoreNullValues interface{}
79912				err = json.Unmarshal(*v, &ignoreNullValues)
79913				if err != nil {
79914					return err
79915				}
79916				ss.IgnoreNullValues = ignoreNullValues
79917			}
79918		default:
79919			if v != nil {
79920				var additionalProperties interface{}
79921				err = json.Unmarshal(*v, &additionalProperties)
79922				if err != nil {
79923					return err
79924				}
79925				if ss.AdditionalProperties == nil {
79926					ss.AdditionalProperties = make(map[string]interface{})
79927				}
79928				ss.AdditionalProperties[k] = additionalProperties
79929			}
79930		case "writeBatchSize":
79931			if v != nil {
79932				var writeBatchSize interface{}
79933				err = json.Unmarshal(*v, &writeBatchSize)
79934				if err != nil {
79935					return err
79936				}
79937				ss.WriteBatchSize = writeBatchSize
79938			}
79939		case "writeBatchTimeout":
79940			if v != nil {
79941				var writeBatchTimeout interface{}
79942				err = json.Unmarshal(*v, &writeBatchTimeout)
79943				if err != nil {
79944					return err
79945				}
79946				ss.WriteBatchTimeout = writeBatchTimeout
79947			}
79948		case "sinkRetryCount":
79949			if v != nil {
79950				var sinkRetryCount interface{}
79951				err = json.Unmarshal(*v, &sinkRetryCount)
79952				if err != nil {
79953					return err
79954				}
79955				ss.SinkRetryCount = sinkRetryCount
79956			}
79957		case "sinkRetryWait":
79958			if v != nil {
79959				var sinkRetryWait interface{}
79960				err = json.Unmarshal(*v, &sinkRetryWait)
79961				if err != nil {
79962					return err
79963				}
79964				ss.SinkRetryWait = sinkRetryWait
79965			}
79966		case "type":
79967			if v != nil {
79968				var typeVar TypeBasicCopySink
79969				err = json.Unmarshal(*v, &typeVar)
79970				if err != nil {
79971					return err
79972				}
79973				ss.Type = typeVar
79974			}
79975		}
79976	}
79977
79978	return nil
79979}
79980
79981// SalesforceSource a copy activity Salesforce source.
79982type SalesforceSource struct {
79983	// Query - Database query. Type: string (or Expression with resultType string).
79984	Query interface{} `json:"query,omitempty"`
79985	// ReadBehavior - The read behavior for the operation. Default is Query.
79986	ReadBehavior interface{} `json:"readBehavior,omitempty"`
79987	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
79988	AdditionalProperties map[string]interface{} `json:""`
79989	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
79990	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
79991	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
79992	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
79993	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
79994	Type TypeBasicCopySource `json:"type,omitempty"`
79995}
79996
79997// MarshalJSON is the custom marshaler for SalesforceSource.
79998func (ss SalesforceSource) MarshalJSON() ([]byte, error) {
79999	ss.Type = TypeSalesforceSource
80000	objectMap := make(map[string]interface{})
80001	if ss.Query != nil {
80002		objectMap["query"] = ss.Query
80003	}
80004	if ss.ReadBehavior != nil {
80005		objectMap["readBehavior"] = ss.ReadBehavior
80006	}
80007	if ss.SourceRetryCount != nil {
80008		objectMap["sourceRetryCount"] = ss.SourceRetryCount
80009	}
80010	if ss.SourceRetryWait != nil {
80011		objectMap["sourceRetryWait"] = ss.SourceRetryWait
80012	}
80013	if ss.Type != "" {
80014		objectMap["type"] = ss.Type
80015	}
80016	for k, v := range ss.AdditionalProperties {
80017		objectMap[k] = v
80018	}
80019	return json.Marshal(objectMap)
80020}
80021
80022// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceSource.
80023func (ss SalesforceSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
80024	return nil, false
80025}
80026
80027// AsResponsysSource is the BasicCopySource implementation for SalesforceSource.
80028func (ss SalesforceSource) AsResponsysSource() (*ResponsysSource, bool) {
80029	return nil, false
80030}
80031
80032// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceSource.
80033func (ss SalesforceSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
80034	return nil, false
80035}
80036
80037// AsVerticaSource is the BasicCopySource implementation for SalesforceSource.
80038func (ss SalesforceSource) AsVerticaSource() (*VerticaSource, bool) {
80039	return nil, false
80040}
80041
80042// AsNetezzaSource is the BasicCopySource implementation for SalesforceSource.
80043func (ss SalesforceSource) AsNetezzaSource() (*NetezzaSource, bool) {
80044	return nil, false
80045}
80046
80047// AsZohoSource is the BasicCopySource implementation for SalesforceSource.
80048func (ss SalesforceSource) AsZohoSource() (*ZohoSource, bool) {
80049	return nil, false
80050}
80051
80052// AsXeroSource is the BasicCopySource implementation for SalesforceSource.
80053func (ss SalesforceSource) AsXeroSource() (*XeroSource, bool) {
80054	return nil, false
80055}
80056
80057// AsSquareSource is the BasicCopySource implementation for SalesforceSource.
80058func (ss SalesforceSource) AsSquareSource() (*SquareSource, bool) {
80059	return nil, false
80060}
80061
80062// AsSparkSource is the BasicCopySource implementation for SalesforceSource.
80063func (ss SalesforceSource) AsSparkSource() (*SparkSource, bool) {
80064	return nil, false
80065}
80066
80067// AsShopifySource is the BasicCopySource implementation for SalesforceSource.
80068func (ss SalesforceSource) AsShopifySource() (*ShopifySource, bool) {
80069	return nil, false
80070}
80071
80072// AsServiceNowSource is the BasicCopySource implementation for SalesforceSource.
80073func (ss SalesforceSource) AsServiceNowSource() (*ServiceNowSource, bool) {
80074	return nil, false
80075}
80076
80077// AsQuickBooksSource is the BasicCopySource implementation for SalesforceSource.
80078func (ss SalesforceSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
80079	return nil, false
80080}
80081
80082// AsPrestoSource is the BasicCopySource implementation for SalesforceSource.
80083func (ss SalesforceSource) AsPrestoSource() (*PrestoSource, bool) {
80084	return nil, false
80085}
80086
80087// AsPhoenixSource is the BasicCopySource implementation for SalesforceSource.
80088func (ss SalesforceSource) AsPhoenixSource() (*PhoenixSource, bool) {
80089	return nil, false
80090}
80091
80092// AsPaypalSource is the BasicCopySource implementation for SalesforceSource.
80093func (ss SalesforceSource) AsPaypalSource() (*PaypalSource, bool) {
80094	return nil, false
80095}
80096
80097// AsMarketoSource is the BasicCopySource implementation for SalesforceSource.
80098func (ss SalesforceSource) AsMarketoSource() (*MarketoSource, bool) {
80099	return nil, false
80100}
80101
80102// AsMariaDBSource is the BasicCopySource implementation for SalesforceSource.
80103func (ss SalesforceSource) AsMariaDBSource() (*MariaDBSource, bool) {
80104	return nil, false
80105}
80106
80107// AsMagentoSource is the BasicCopySource implementation for SalesforceSource.
80108func (ss SalesforceSource) AsMagentoSource() (*MagentoSource, bool) {
80109	return nil, false
80110}
80111
80112// AsJiraSource is the BasicCopySource implementation for SalesforceSource.
80113func (ss SalesforceSource) AsJiraSource() (*JiraSource, bool) {
80114	return nil, false
80115}
80116
80117// AsImpalaSource is the BasicCopySource implementation for SalesforceSource.
80118func (ss SalesforceSource) AsImpalaSource() (*ImpalaSource, bool) {
80119	return nil, false
80120}
80121
80122// AsHubspotSource is the BasicCopySource implementation for SalesforceSource.
80123func (ss SalesforceSource) AsHubspotSource() (*HubspotSource, bool) {
80124	return nil, false
80125}
80126
80127// AsHiveSource is the BasicCopySource implementation for SalesforceSource.
80128func (ss SalesforceSource) AsHiveSource() (*HiveSource, bool) {
80129	return nil, false
80130}
80131
80132// AsHBaseSource is the BasicCopySource implementation for SalesforceSource.
80133func (ss SalesforceSource) AsHBaseSource() (*HBaseSource, bool) {
80134	return nil, false
80135}
80136
80137// AsGreenplumSource is the BasicCopySource implementation for SalesforceSource.
80138func (ss SalesforceSource) AsGreenplumSource() (*GreenplumSource, bool) {
80139	return nil, false
80140}
80141
80142// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceSource.
80143func (ss SalesforceSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
80144	return nil, false
80145}
80146
80147// AsEloquaSource is the BasicCopySource implementation for SalesforceSource.
80148func (ss SalesforceSource) AsEloquaSource() (*EloquaSource, bool) {
80149	return nil, false
80150}
80151
80152// AsDrillSource is the BasicCopySource implementation for SalesforceSource.
80153func (ss SalesforceSource) AsDrillSource() (*DrillSource, bool) {
80154	return nil, false
80155}
80156
80157// AsCouchbaseSource is the BasicCopySource implementation for SalesforceSource.
80158func (ss SalesforceSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
80159	return nil, false
80160}
80161
80162// AsConcurSource is the BasicCopySource implementation for SalesforceSource.
80163func (ss SalesforceSource) AsConcurSource() (*ConcurSource, bool) {
80164	return nil, false
80165}
80166
80167// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceSource.
80168func (ss SalesforceSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
80169	return nil, false
80170}
80171
80172// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceSource.
80173func (ss SalesforceSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
80174	return nil, false
80175}
80176
80177// AsHTTPSource is the BasicCopySource implementation for SalesforceSource.
80178func (ss SalesforceSource) AsHTTPSource() (*HTTPSource, bool) {
80179	return nil, false
80180}
80181
80182// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceSource.
80183func (ss SalesforceSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
80184	return nil, false
80185}
80186
80187// AsMongoDbSource is the BasicCopySource implementation for SalesforceSource.
80188func (ss SalesforceSource) AsMongoDbSource() (*MongoDbSource, bool) {
80189	return nil, false
80190}
80191
80192// AsCassandraSource is the BasicCopySource implementation for SalesforceSource.
80193func (ss SalesforceSource) AsCassandraSource() (*CassandraSource, bool) {
80194	return nil, false
80195}
80196
80197// AsWebSource is the BasicCopySource implementation for SalesforceSource.
80198func (ss SalesforceSource) AsWebSource() (*WebSource, bool) {
80199	return nil, false
80200}
80201
80202// AsOracleSource is the BasicCopySource implementation for SalesforceSource.
80203func (ss SalesforceSource) AsOracleSource() (*OracleSource, bool) {
80204	return nil, false
80205}
80206
80207// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceSource.
80208func (ss SalesforceSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
80209	return nil, false
80210}
80211
80212// AsHdfsSource is the BasicCopySource implementation for SalesforceSource.
80213func (ss SalesforceSource) AsHdfsSource() (*HdfsSource, bool) {
80214	return nil, false
80215}
80216
80217// AsFileSystemSource is the BasicCopySource implementation for SalesforceSource.
80218func (ss SalesforceSource) AsFileSystemSource() (*FileSystemSource, bool) {
80219	return nil, false
80220}
80221
80222// AsSQLDWSource is the BasicCopySource implementation for SalesforceSource.
80223func (ss SalesforceSource) AsSQLDWSource() (*SQLDWSource, bool) {
80224	return nil, false
80225}
80226
80227// AsSQLSource is the BasicCopySource implementation for SalesforceSource.
80228func (ss SalesforceSource) AsSQLSource() (*SQLSource, bool) {
80229	return nil, false
80230}
80231
80232// AsSapEccSource is the BasicCopySource implementation for SalesforceSource.
80233func (ss SalesforceSource) AsSapEccSource() (*SapEccSource, bool) {
80234	return nil, false
80235}
80236
80237// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceSource.
80238func (ss SalesforceSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
80239	return nil, false
80240}
80241
80242// AsSalesforceSource is the BasicCopySource implementation for SalesforceSource.
80243func (ss SalesforceSource) AsSalesforceSource() (*SalesforceSource, bool) {
80244	return &ss, true
80245}
80246
80247// AsRelationalSource is the BasicCopySource implementation for SalesforceSource.
80248func (ss SalesforceSource) AsRelationalSource() (*RelationalSource, bool) {
80249	return nil, false
80250}
80251
80252// AsDynamicsSource is the BasicCopySource implementation for SalesforceSource.
80253func (ss SalesforceSource) AsDynamicsSource() (*DynamicsSource, bool) {
80254	return nil, false
80255}
80256
80257// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceSource.
80258func (ss SalesforceSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
80259	return nil, false
80260}
80261
80262// AsBlobSource is the BasicCopySource implementation for SalesforceSource.
80263func (ss SalesforceSource) AsBlobSource() (*BlobSource, bool) {
80264	return nil, false
80265}
80266
80267// AsAzureTableSource is the BasicCopySource implementation for SalesforceSource.
80268func (ss SalesforceSource) AsAzureTableSource() (*AzureTableSource, bool) {
80269	return nil, false
80270}
80271
80272// AsCopySource is the BasicCopySource implementation for SalesforceSource.
80273func (ss SalesforceSource) AsCopySource() (*CopySource, bool) {
80274	return nil, false
80275}
80276
80277// AsBasicCopySource is the BasicCopySource implementation for SalesforceSource.
80278func (ss SalesforceSource) AsBasicCopySource() (BasicCopySource, bool) {
80279	return &ss, true
80280}
80281
80282// UnmarshalJSON is the custom unmarshaler for SalesforceSource struct.
80283func (ss *SalesforceSource) UnmarshalJSON(body []byte) error {
80284	var m map[string]*json.RawMessage
80285	err := json.Unmarshal(body, &m)
80286	if err != nil {
80287		return err
80288	}
80289	for k, v := range m {
80290		switch k {
80291		case "query":
80292			if v != nil {
80293				var query interface{}
80294				err = json.Unmarshal(*v, &query)
80295				if err != nil {
80296					return err
80297				}
80298				ss.Query = query
80299			}
80300		case "readBehavior":
80301			if v != nil {
80302				var readBehavior interface{}
80303				err = json.Unmarshal(*v, &readBehavior)
80304				if err != nil {
80305					return err
80306				}
80307				ss.ReadBehavior = readBehavior
80308			}
80309		default:
80310			if v != nil {
80311				var additionalProperties interface{}
80312				err = json.Unmarshal(*v, &additionalProperties)
80313				if err != nil {
80314					return err
80315				}
80316				if ss.AdditionalProperties == nil {
80317					ss.AdditionalProperties = make(map[string]interface{})
80318				}
80319				ss.AdditionalProperties[k] = additionalProperties
80320			}
80321		case "sourceRetryCount":
80322			if v != nil {
80323				var sourceRetryCount interface{}
80324				err = json.Unmarshal(*v, &sourceRetryCount)
80325				if err != nil {
80326					return err
80327				}
80328				ss.SourceRetryCount = sourceRetryCount
80329			}
80330		case "sourceRetryWait":
80331			if v != nil {
80332				var sourceRetryWait interface{}
80333				err = json.Unmarshal(*v, &sourceRetryWait)
80334				if err != nil {
80335					return err
80336				}
80337				ss.SourceRetryWait = sourceRetryWait
80338			}
80339		case "type":
80340			if v != nil {
80341				var typeVar TypeBasicCopySource
80342				err = json.Unmarshal(*v, &typeVar)
80343				if err != nil {
80344					return err
80345				}
80346				ss.Type = typeVar
80347			}
80348		}
80349	}
80350
80351	return nil
80352}
80353
80354// SapBWLinkedService SAP Business Warehouse Linked Service.
80355type SapBWLinkedService struct {
80356	// SapBWLinkedServiceTypeProperties - Properties specific to this linked service type.
80357	*SapBWLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
80358	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
80359	AdditionalProperties map[string]interface{} `json:""`
80360	// ConnectVia - The integration runtime reference.
80361	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
80362	// Description - Linked service description.
80363	Description *string `json:"description,omitempty"`
80364	// Parameters - Parameters for linked service.
80365	Parameters map[string]*ParameterSpecification `json:"parameters"`
80366	// Annotations - List of tags that can be used for describing the Dataset.
80367	Annotations *[]interface{} `json:"annotations,omitempty"`
80368	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
80369	Type TypeBasicLinkedService `json:"type,omitempty"`
80370}
80371
80372// MarshalJSON is the custom marshaler for SapBWLinkedService.
80373func (sbls SapBWLinkedService) MarshalJSON() ([]byte, error) {
80374	sbls.Type = TypeSapBW
80375	objectMap := make(map[string]interface{})
80376	if sbls.SapBWLinkedServiceTypeProperties != nil {
80377		objectMap["typeProperties"] = sbls.SapBWLinkedServiceTypeProperties
80378	}
80379	if sbls.ConnectVia != nil {
80380		objectMap["connectVia"] = sbls.ConnectVia
80381	}
80382	if sbls.Description != nil {
80383		objectMap["description"] = sbls.Description
80384	}
80385	if sbls.Parameters != nil {
80386		objectMap["parameters"] = sbls.Parameters
80387	}
80388	if sbls.Annotations != nil {
80389		objectMap["annotations"] = sbls.Annotations
80390	}
80391	if sbls.Type != "" {
80392		objectMap["type"] = sbls.Type
80393	}
80394	for k, v := range sbls.AdditionalProperties {
80395		objectMap[k] = v
80396	}
80397	return json.Marshal(objectMap)
80398}
80399
80400// AsResponsysLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80401func (sbls SapBWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
80402	return nil, false
80403}
80404
80405// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80406func (sbls SapBWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
80407	return nil, false
80408}
80409
80410// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80411func (sbls SapBWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
80412	return nil, false
80413}
80414
80415// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80416func (sbls SapBWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
80417	return nil, false
80418}
80419
80420// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80421func (sbls SapBWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
80422	return nil, false
80423}
80424
80425// AsNetezzaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80426func (sbls SapBWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
80427	return nil, false
80428}
80429
80430// AsVerticaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80431func (sbls SapBWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
80432	return nil, false
80433}
80434
80435// AsZohoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80436func (sbls SapBWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
80437	return nil, false
80438}
80439
80440// AsXeroLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80441func (sbls SapBWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
80442	return nil, false
80443}
80444
80445// AsSquareLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80446func (sbls SapBWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
80447	return nil, false
80448}
80449
80450// AsSparkLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80451func (sbls SapBWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
80452	return nil, false
80453}
80454
80455// AsShopifyLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80456func (sbls SapBWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
80457	return nil, false
80458}
80459
80460// AsServiceNowLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80461func (sbls SapBWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
80462	return nil, false
80463}
80464
80465// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80466func (sbls SapBWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
80467	return nil, false
80468}
80469
80470// AsPrestoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80471func (sbls SapBWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
80472	return nil, false
80473}
80474
80475// AsPhoenixLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80476func (sbls SapBWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
80477	return nil, false
80478}
80479
80480// AsPaypalLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80481func (sbls SapBWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
80482	return nil, false
80483}
80484
80485// AsMarketoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80486func (sbls SapBWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
80487	return nil, false
80488}
80489
80490// AsMariaDBLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80491func (sbls SapBWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
80492	return nil, false
80493}
80494
80495// AsMagentoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80496func (sbls SapBWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
80497	return nil, false
80498}
80499
80500// AsJiraLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80501func (sbls SapBWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
80502	return nil, false
80503}
80504
80505// AsImpalaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80506func (sbls SapBWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
80507	return nil, false
80508}
80509
80510// AsHubspotLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80511func (sbls SapBWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
80512	return nil, false
80513}
80514
80515// AsHiveLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80516func (sbls SapBWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
80517	return nil, false
80518}
80519
80520// AsHBaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80521func (sbls SapBWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
80522	return nil, false
80523}
80524
80525// AsGreenplumLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80526func (sbls SapBWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
80527	return nil, false
80528}
80529
80530// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80531func (sbls SapBWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
80532	return nil, false
80533}
80534
80535// AsEloquaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80536func (sbls SapBWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
80537	return nil, false
80538}
80539
80540// AsDrillLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80541func (sbls SapBWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
80542	return nil, false
80543}
80544
80545// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80546func (sbls SapBWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
80547	return nil, false
80548}
80549
80550// AsConcurLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80551func (sbls SapBWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
80552	return nil, false
80553}
80554
80555// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80556func (sbls SapBWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
80557	return nil, false
80558}
80559
80560// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80561func (sbls SapBWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
80562	return nil, false
80563}
80564
80565// AsSapHanaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80566func (sbls SapBWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
80567	return nil, false
80568}
80569
80570// AsSapBWLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80571func (sbls SapBWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
80572	return &sbls, true
80573}
80574
80575// AsSftpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80576func (sbls SapBWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
80577	return nil, false
80578}
80579
80580// AsFtpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80581func (sbls SapBWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
80582	return nil, false
80583}
80584
80585// AsHTTPLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80586func (sbls SapBWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
80587	return nil, false
80588}
80589
80590// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80591func (sbls SapBWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
80592	return nil, false
80593}
80594
80595// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80596func (sbls SapBWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
80597	return nil, false
80598}
80599
80600// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80601func (sbls SapBWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
80602	return nil, false
80603}
80604
80605// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80606func (sbls SapBWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
80607	return nil, false
80608}
80609
80610// AsSapEccLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80611func (sbls SapBWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
80612	return nil, false
80613}
80614
80615// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80616func (sbls SapBWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
80617	return nil, false
80618}
80619
80620// AsSalesforceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80621func (sbls SapBWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
80622	return nil, false
80623}
80624
80625// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80626func (sbls SapBWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
80627	return nil, false
80628}
80629
80630// AsMongoDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80631func (sbls SapBWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
80632	return nil, false
80633}
80634
80635// AsCassandraLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80636func (sbls SapBWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
80637	return nil, false
80638}
80639
80640// AsWebLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80641func (sbls SapBWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
80642	return nil, false
80643}
80644
80645// AsODataLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80646func (sbls SapBWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
80647	return nil, false
80648}
80649
80650// AsHdfsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80651func (sbls SapBWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
80652	return nil, false
80653}
80654
80655// AsOdbcLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80656func (sbls SapBWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
80657	return nil, false
80658}
80659
80660// AsAzureMLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80661func (sbls SapBWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
80662	return nil, false
80663}
80664
80665// AsTeradataLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80666func (sbls SapBWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
80667	return nil, false
80668}
80669
80670// AsDb2LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80671func (sbls SapBWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
80672	return nil, false
80673}
80674
80675// AsSybaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80676func (sbls SapBWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
80677	return nil, false
80678}
80679
80680// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80681func (sbls SapBWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
80682	return nil, false
80683}
80684
80685// AsMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80686func (sbls SapBWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
80687	return nil, false
80688}
80689
80690// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80691func (sbls SapBWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
80692	return nil, false
80693}
80694
80695// AsOracleLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80696func (sbls SapBWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
80697	return nil, false
80698}
80699
80700// AsFileServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80701func (sbls SapBWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
80702	return nil, false
80703}
80704
80705// AsHDInsightLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80706func (sbls SapBWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
80707	return nil, false
80708}
80709
80710// AsDynamicsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80711func (sbls SapBWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
80712	return nil, false
80713}
80714
80715// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80716func (sbls SapBWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
80717	return nil, false
80718}
80719
80720// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80721func (sbls SapBWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
80722	return nil, false
80723}
80724
80725// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80726func (sbls SapBWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
80727	return nil, false
80728}
80729
80730// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80731func (sbls SapBWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
80732	return nil, false
80733}
80734
80735// AsSQLServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80736func (sbls SapBWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
80737	return nil, false
80738}
80739
80740// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80741func (sbls SapBWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
80742	return nil, false
80743}
80744
80745// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80746func (sbls SapBWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
80747	return nil, false
80748}
80749
80750// AsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80751func (sbls SapBWLinkedService) AsLinkedService() (*LinkedService, bool) {
80752	return nil, false
80753}
80754
80755// AsBasicLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80756func (sbls SapBWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
80757	return &sbls, true
80758}
80759
80760// UnmarshalJSON is the custom unmarshaler for SapBWLinkedService struct.
80761func (sbls *SapBWLinkedService) UnmarshalJSON(body []byte) error {
80762	var m map[string]*json.RawMessage
80763	err := json.Unmarshal(body, &m)
80764	if err != nil {
80765		return err
80766	}
80767	for k, v := range m {
80768		switch k {
80769		case "typeProperties":
80770			if v != nil {
80771				var sapBWLinkedServiceTypeProperties SapBWLinkedServiceTypeProperties
80772				err = json.Unmarshal(*v, &sapBWLinkedServiceTypeProperties)
80773				if err != nil {
80774					return err
80775				}
80776				sbls.SapBWLinkedServiceTypeProperties = &sapBWLinkedServiceTypeProperties
80777			}
80778		default:
80779			if v != nil {
80780				var additionalProperties interface{}
80781				err = json.Unmarshal(*v, &additionalProperties)
80782				if err != nil {
80783					return err
80784				}
80785				if sbls.AdditionalProperties == nil {
80786					sbls.AdditionalProperties = make(map[string]interface{})
80787				}
80788				sbls.AdditionalProperties[k] = additionalProperties
80789			}
80790		case "connectVia":
80791			if v != nil {
80792				var connectVia IntegrationRuntimeReference
80793				err = json.Unmarshal(*v, &connectVia)
80794				if err != nil {
80795					return err
80796				}
80797				sbls.ConnectVia = &connectVia
80798			}
80799		case "description":
80800			if v != nil {
80801				var description string
80802				err = json.Unmarshal(*v, &description)
80803				if err != nil {
80804					return err
80805				}
80806				sbls.Description = &description
80807			}
80808		case "parameters":
80809			if v != nil {
80810				var parameters map[string]*ParameterSpecification
80811				err = json.Unmarshal(*v, &parameters)
80812				if err != nil {
80813					return err
80814				}
80815				sbls.Parameters = parameters
80816			}
80817		case "annotations":
80818			if v != nil {
80819				var annotations []interface{}
80820				err = json.Unmarshal(*v, &annotations)
80821				if err != nil {
80822					return err
80823				}
80824				sbls.Annotations = &annotations
80825			}
80826		case "type":
80827			if v != nil {
80828				var typeVar TypeBasicLinkedService
80829				err = json.Unmarshal(*v, &typeVar)
80830				if err != nil {
80831					return err
80832				}
80833				sbls.Type = typeVar
80834			}
80835		}
80836	}
80837
80838	return nil
80839}
80840
80841// SapBWLinkedServiceTypeProperties properties specific to this linked service type.
80842type SapBWLinkedServiceTypeProperties struct {
80843	// Server - Host name of the SAP BW instance. Type: string (or Expression with resultType string).
80844	Server interface{} `json:"server,omitempty"`
80845	// SystemNumber - System number of the BW system. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
80846	SystemNumber interface{} `json:"systemNumber,omitempty"`
80847	// ClientID - Client ID of the client on the BW system. (Usually a three-digit decimal number represented as a string) Type: string (or Expression with resultType string).
80848	ClientID interface{} `json:"clientId,omitempty"`
80849	// UserName - Username to access the SAP BW server. Type: string (or Expression with resultType string).
80850	UserName interface{} `json:"userName,omitempty"`
80851	// Password - Password to access the SAP BW server.
80852	Password BasicSecretBase `json:"password,omitempty"`
80853	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
80854	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
80855}
80856
80857// UnmarshalJSON is the custom unmarshaler for SapBWLinkedServiceTypeProperties struct.
80858func (sblstp *SapBWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
80859	var m map[string]*json.RawMessage
80860	err := json.Unmarshal(body, &m)
80861	if err != nil {
80862		return err
80863	}
80864	for k, v := range m {
80865		switch k {
80866		case "server":
80867			if v != nil {
80868				var server interface{}
80869				err = json.Unmarshal(*v, &server)
80870				if err != nil {
80871					return err
80872				}
80873				sblstp.Server = server
80874			}
80875		case "systemNumber":
80876			if v != nil {
80877				var systemNumber interface{}
80878				err = json.Unmarshal(*v, &systemNumber)
80879				if err != nil {
80880					return err
80881				}
80882				sblstp.SystemNumber = systemNumber
80883			}
80884		case "clientId":
80885			if v != nil {
80886				var clientID interface{}
80887				err = json.Unmarshal(*v, &clientID)
80888				if err != nil {
80889					return err
80890				}
80891				sblstp.ClientID = clientID
80892			}
80893		case "userName":
80894			if v != nil {
80895				var userName interface{}
80896				err = json.Unmarshal(*v, &userName)
80897				if err != nil {
80898					return err
80899				}
80900				sblstp.UserName = userName
80901			}
80902		case "password":
80903			if v != nil {
80904				password, err := unmarshalBasicSecretBase(*v)
80905				if err != nil {
80906					return err
80907				}
80908				sblstp.Password = password
80909			}
80910		case "encryptedCredential":
80911			if v != nil {
80912				var encryptedCredential interface{}
80913				err = json.Unmarshal(*v, &encryptedCredential)
80914				if err != nil {
80915					return err
80916				}
80917				sblstp.EncryptedCredential = encryptedCredential
80918			}
80919		}
80920	}
80921
80922	return nil
80923}
80924
80925// SapCloudForCustomerLinkedService linked service for SAP Cloud for Customer.
80926type SapCloudForCustomerLinkedService struct {
80927	// SapCloudForCustomerLinkedServiceTypeProperties - SAP Cloud for Customer linked service properties.
80928	*SapCloudForCustomerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
80929	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
80930	AdditionalProperties map[string]interface{} `json:""`
80931	// ConnectVia - The integration runtime reference.
80932	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
80933	// Description - Linked service description.
80934	Description *string `json:"description,omitempty"`
80935	// Parameters - Parameters for linked service.
80936	Parameters map[string]*ParameterSpecification `json:"parameters"`
80937	// Annotations - List of tags that can be used for describing the Dataset.
80938	Annotations *[]interface{} `json:"annotations,omitempty"`
80939	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
80940	Type TypeBasicLinkedService `json:"type,omitempty"`
80941}
80942
80943// MarshalJSON is the custom marshaler for SapCloudForCustomerLinkedService.
80944func (scfcls SapCloudForCustomerLinkedService) MarshalJSON() ([]byte, error) {
80945	scfcls.Type = TypeSapCloudForCustomer
80946	objectMap := make(map[string]interface{})
80947	if scfcls.SapCloudForCustomerLinkedServiceTypeProperties != nil {
80948		objectMap["typeProperties"] = scfcls.SapCloudForCustomerLinkedServiceTypeProperties
80949	}
80950	if scfcls.ConnectVia != nil {
80951		objectMap["connectVia"] = scfcls.ConnectVia
80952	}
80953	if scfcls.Description != nil {
80954		objectMap["description"] = scfcls.Description
80955	}
80956	if scfcls.Parameters != nil {
80957		objectMap["parameters"] = scfcls.Parameters
80958	}
80959	if scfcls.Annotations != nil {
80960		objectMap["annotations"] = scfcls.Annotations
80961	}
80962	if scfcls.Type != "" {
80963		objectMap["type"] = scfcls.Type
80964	}
80965	for k, v := range scfcls.AdditionalProperties {
80966		objectMap[k] = v
80967	}
80968	return json.Marshal(objectMap)
80969}
80970
80971// AsResponsysLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80972func (scfcls SapCloudForCustomerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
80973	return nil, false
80974}
80975
80976// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80977func (scfcls SapCloudForCustomerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
80978	return nil, false
80979}
80980
80981// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80982func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
80983	return nil, false
80984}
80985
80986// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80987func (scfcls SapCloudForCustomerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
80988	return nil, false
80989}
80990
80991// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80992func (scfcls SapCloudForCustomerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
80993	return nil, false
80994}
80995
80996// AsNetezzaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80997func (scfcls SapCloudForCustomerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
80998	return nil, false
80999}
81000
81001// AsVerticaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81002func (scfcls SapCloudForCustomerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
81003	return nil, false
81004}
81005
81006// AsZohoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81007func (scfcls SapCloudForCustomerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
81008	return nil, false
81009}
81010
81011// AsXeroLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81012func (scfcls SapCloudForCustomerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
81013	return nil, false
81014}
81015
81016// AsSquareLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81017func (scfcls SapCloudForCustomerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
81018	return nil, false
81019}
81020
81021// AsSparkLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81022func (scfcls SapCloudForCustomerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
81023	return nil, false
81024}
81025
81026// AsShopifyLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81027func (scfcls SapCloudForCustomerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
81028	return nil, false
81029}
81030
81031// AsServiceNowLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81032func (scfcls SapCloudForCustomerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
81033	return nil, false
81034}
81035
81036// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81037func (scfcls SapCloudForCustomerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
81038	return nil, false
81039}
81040
81041// AsPrestoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81042func (scfcls SapCloudForCustomerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
81043	return nil, false
81044}
81045
81046// AsPhoenixLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81047func (scfcls SapCloudForCustomerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
81048	return nil, false
81049}
81050
81051// AsPaypalLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81052func (scfcls SapCloudForCustomerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
81053	return nil, false
81054}
81055
81056// AsMarketoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81057func (scfcls SapCloudForCustomerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
81058	return nil, false
81059}
81060
81061// AsMariaDBLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81062func (scfcls SapCloudForCustomerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
81063	return nil, false
81064}
81065
81066// AsMagentoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81067func (scfcls SapCloudForCustomerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
81068	return nil, false
81069}
81070
81071// AsJiraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81072func (scfcls SapCloudForCustomerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
81073	return nil, false
81074}
81075
81076// AsImpalaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81077func (scfcls SapCloudForCustomerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
81078	return nil, false
81079}
81080
81081// AsHubspotLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81082func (scfcls SapCloudForCustomerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
81083	return nil, false
81084}
81085
81086// AsHiveLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81087func (scfcls SapCloudForCustomerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
81088	return nil, false
81089}
81090
81091// AsHBaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81092func (scfcls SapCloudForCustomerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
81093	return nil, false
81094}
81095
81096// AsGreenplumLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81097func (scfcls SapCloudForCustomerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
81098	return nil, false
81099}
81100
81101// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81102func (scfcls SapCloudForCustomerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
81103	return nil, false
81104}
81105
81106// AsEloquaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81107func (scfcls SapCloudForCustomerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
81108	return nil, false
81109}
81110
81111// AsDrillLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81112func (scfcls SapCloudForCustomerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
81113	return nil, false
81114}
81115
81116// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81117func (scfcls SapCloudForCustomerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
81118	return nil, false
81119}
81120
81121// AsConcurLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81122func (scfcls SapCloudForCustomerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
81123	return nil, false
81124}
81125
81126// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81127func (scfcls SapCloudForCustomerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
81128	return nil, false
81129}
81130
81131// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81132func (scfcls SapCloudForCustomerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
81133	return nil, false
81134}
81135
81136// AsSapHanaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81137func (scfcls SapCloudForCustomerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
81138	return nil, false
81139}
81140
81141// AsSapBWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81142func (scfcls SapCloudForCustomerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
81143	return nil, false
81144}
81145
81146// AsSftpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81147func (scfcls SapCloudForCustomerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
81148	return nil, false
81149}
81150
81151// AsFtpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81152func (scfcls SapCloudForCustomerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
81153	return nil, false
81154}
81155
81156// AsHTTPLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81157func (scfcls SapCloudForCustomerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
81158	return nil, false
81159}
81160
81161// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81162func (scfcls SapCloudForCustomerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
81163	return nil, false
81164}
81165
81166// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81167func (scfcls SapCloudForCustomerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
81168	return nil, false
81169}
81170
81171// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81172func (scfcls SapCloudForCustomerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
81173	return nil, false
81174}
81175
81176// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81177func (scfcls SapCloudForCustomerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
81178	return nil, false
81179}
81180
81181// AsSapEccLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81182func (scfcls SapCloudForCustomerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
81183	return nil, false
81184}
81185
81186// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81187func (scfcls SapCloudForCustomerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
81188	return &scfcls, true
81189}
81190
81191// AsSalesforceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81192func (scfcls SapCloudForCustomerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
81193	return nil, false
81194}
81195
81196// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81197func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
81198	return nil, false
81199}
81200
81201// AsMongoDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81202func (scfcls SapCloudForCustomerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
81203	return nil, false
81204}
81205
81206// AsCassandraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81207func (scfcls SapCloudForCustomerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
81208	return nil, false
81209}
81210
81211// AsWebLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81212func (scfcls SapCloudForCustomerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
81213	return nil, false
81214}
81215
81216// AsODataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81217func (scfcls SapCloudForCustomerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
81218	return nil, false
81219}
81220
81221// AsHdfsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81222func (scfcls SapCloudForCustomerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
81223	return nil, false
81224}
81225
81226// AsOdbcLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81227func (scfcls SapCloudForCustomerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
81228	return nil, false
81229}
81230
81231// AsAzureMLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81232func (scfcls SapCloudForCustomerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
81233	return nil, false
81234}
81235
81236// AsTeradataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81237func (scfcls SapCloudForCustomerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
81238	return nil, false
81239}
81240
81241// AsDb2LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81242func (scfcls SapCloudForCustomerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
81243	return nil, false
81244}
81245
81246// AsSybaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81247func (scfcls SapCloudForCustomerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
81248	return nil, false
81249}
81250
81251// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81252func (scfcls SapCloudForCustomerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
81253	return nil, false
81254}
81255
81256// AsMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81257func (scfcls SapCloudForCustomerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
81258	return nil, false
81259}
81260
81261// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81262func (scfcls SapCloudForCustomerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
81263	return nil, false
81264}
81265
81266// AsOracleLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81267func (scfcls SapCloudForCustomerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
81268	return nil, false
81269}
81270
81271// AsFileServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81272func (scfcls SapCloudForCustomerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
81273	return nil, false
81274}
81275
81276// AsHDInsightLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81277func (scfcls SapCloudForCustomerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
81278	return nil, false
81279}
81280
81281// AsDynamicsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81282func (scfcls SapCloudForCustomerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
81283	return nil, false
81284}
81285
81286// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81287func (scfcls SapCloudForCustomerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
81288	return nil, false
81289}
81290
81291// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81292func (scfcls SapCloudForCustomerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
81293	return nil, false
81294}
81295
81296// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81297func (scfcls SapCloudForCustomerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
81298	return nil, false
81299}
81300
81301// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81302func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
81303	return nil, false
81304}
81305
81306// AsSQLServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81307func (scfcls SapCloudForCustomerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
81308	return nil, false
81309}
81310
81311// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81312func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
81313	return nil, false
81314}
81315
81316// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81317func (scfcls SapCloudForCustomerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
81318	return nil, false
81319}
81320
81321// AsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81322func (scfcls SapCloudForCustomerLinkedService) AsLinkedService() (*LinkedService, bool) {
81323	return nil, false
81324}
81325
81326// AsBasicLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81327func (scfcls SapCloudForCustomerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
81328	return &scfcls, true
81329}
81330
81331// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedService struct.
81332func (scfcls *SapCloudForCustomerLinkedService) UnmarshalJSON(body []byte) error {
81333	var m map[string]*json.RawMessage
81334	err := json.Unmarshal(body, &m)
81335	if err != nil {
81336		return err
81337	}
81338	for k, v := range m {
81339		switch k {
81340		case "typeProperties":
81341			if v != nil {
81342				var sapCloudForCustomerLinkedServiceTypeProperties SapCloudForCustomerLinkedServiceTypeProperties
81343				err = json.Unmarshal(*v, &sapCloudForCustomerLinkedServiceTypeProperties)
81344				if err != nil {
81345					return err
81346				}
81347				scfcls.SapCloudForCustomerLinkedServiceTypeProperties = &sapCloudForCustomerLinkedServiceTypeProperties
81348			}
81349		default:
81350			if v != nil {
81351				var additionalProperties interface{}
81352				err = json.Unmarshal(*v, &additionalProperties)
81353				if err != nil {
81354					return err
81355				}
81356				if scfcls.AdditionalProperties == nil {
81357					scfcls.AdditionalProperties = make(map[string]interface{})
81358				}
81359				scfcls.AdditionalProperties[k] = additionalProperties
81360			}
81361		case "connectVia":
81362			if v != nil {
81363				var connectVia IntegrationRuntimeReference
81364				err = json.Unmarshal(*v, &connectVia)
81365				if err != nil {
81366					return err
81367				}
81368				scfcls.ConnectVia = &connectVia
81369			}
81370		case "description":
81371			if v != nil {
81372				var description string
81373				err = json.Unmarshal(*v, &description)
81374				if err != nil {
81375					return err
81376				}
81377				scfcls.Description = &description
81378			}
81379		case "parameters":
81380			if v != nil {
81381				var parameters map[string]*ParameterSpecification
81382				err = json.Unmarshal(*v, &parameters)
81383				if err != nil {
81384					return err
81385				}
81386				scfcls.Parameters = parameters
81387			}
81388		case "annotations":
81389			if v != nil {
81390				var annotations []interface{}
81391				err = json.Unmarshal(*v, &annotations)
81392				if err != nil {
81393					return err
81394				}
81395				scfcls.Annotations = &annotations
81396			}
81397		case "type":
81398			if v != nil {
81399				var typeVar TypeBasicLinkedService
81400				err = json.Unmarshal(*v, &typeVar)
81401				if err != nil {
81402					return err
81403				}
81404				scfcls.Type = typeVar
81405			}
81406		}
81407	}
81408
81409	return nil
81410}
81411
81412// SapCloudForCustomerLinkedServiceTypeProperties SAP Cloud for Customer linked service properties.
81413type SapCloudForCustomerLinkedServiceTypeProperties struct {
81414	// URL - The URL of SAP Cloud for Customer OData API. For example, '[https://[tenantname].crm.ondemand.com/sap/c4c/odata/v1]'. Type: string (or Expression with resultType string).
81415	URL interface{} `json:"url,omitempty"`
81416	// Username - The username for Basic authentication. Type: string (or Expression with resultType string).
81417	Username interface{} `json:"username,omitempty"`
81418	// Password - The password for Basic authentication.
81419	Password BasicSecretBase `json:"password,omitempty"`
81420	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Either encryptedCredential or username/password must be provided. Type: string (or Expression with resultType string).
81421	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
81422}
81423
81424// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedServiceTypeProperties struct.
81425func (scfclstp *SapCloudForCustomerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
81426	var m map[string]*json.RawMessage
81427	err := json.Unmarshal(body, &m)
81428	if err != nil {
81429		return err
81430	}
81431	for k, v := range m {
81432		switch k {
81433		case "url":
81434			if v != nil {
81435				var URL interface{}
81436				err = json.Unmarshal(*v, &URL)
81437				if err != nil {
81438					return err
81439				}
81440				scfclstp.URL = URL
81441			}
81442		case "username":
81443			if v != nil {
81444				var username interface{}
81445				err = json.Unmarshal(*v, &username)
81446				if err != nil {
81447					return err
81448				}
81449				scfclstp.Username = username
81450			}
81451		case "password":
81452			if v != nil {
81453				password, err := unmarshalBasicSecretBase(*v)
81454				if err != nil {
81455					return err
81456				}
81457				scfclstp.Password = password
81458			}
81459		case "encryptedCredential":
81460			if v != nil {
81461				var encryptedCredential interface{}
81462				err = json.Unmarshal(*v, &encryptedCredential)
81463				if err != nil {
81464					return err
81465				}
81466				scfclstp.EncryptedCredential = encryptedCredential
81467			}
81468		}
81469	}
81470
81471	return nil
81472}
81473
81474// SapCloudForCustomerResourceDataset the path of the SAP Cloud for Customer OData entity.
81475type SapCloudForCustomerResourceDataset struct {
81476	// SapCloudForCustomerResourceDatasetTypeProperties - SAP Cloud For Customer OData resource dataset properties.
81477	*SapCloudForCustomerResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
81478	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
81479	AdditionalProperties map[string]interface{} `json:""`
81480	// Description - Dataset description.
81481	Description *string `json:"description,omitempty"`
81482	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
81483	Structure interface{} `json:"structure,omitempty"`
81484	// LinkedServiceName - Linked service reference.
81485	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
81486	// Parameters - Parameters for dataset.
81487	Parameters map[string]*ParameterSpecification `json:"parameters"`
81488	// Annotations - List of tags that can be used for describing the Dataset.
81489	Annotations *[]interface{} `json:"annotations,omitempty"`
81490	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
81491	Type TypeBasicDataset `json:"type,omitempty"`
81492}
81493
81494// MarshalJSON is the custom marshaler for SapCloudForCustomerResourceDataset.
81495func (scfcrd SapCloudForCustomerResourceDataset) MarshalJSON() ([]byte, error) {
81496	scfcrd.Type = TypeSapCloudForCustomerResource
81497	objectMap := make(map[string]interface{})
81498	if scfcrd.SapCloudForCustomerResourceDatasetTypeProperties != nil {
81499		objectMap["typeProperties"] = scfcrd.SapCloudForCustomerResourceDatasetTypeProperties
81500	}
81501	if scfcrd.Description != nil {
81502		objectMap["description"] = scfcrd.Description
81503	}
81504	if scfcrd.Structure != nil {
81505		objectMap["structure"] = scfcrd.Structure
81506	}
81507	if scfcrd.LinkedServiceName != nil {
81508		objectMap["linkedServiceName"] = scfcrd.LinkedServiceName
81509	}
81510	if scfcrd.Parameters != nil {
81511		objectMap["parameters"] = scfcrd.Parameters
81512	}
81513	if scfcrd.Annotations != nil {
81514		objectMap["annotations"] = scfcrd.Annotations
81515	}
81516	if scfcrd.Type != "" {
81517		objectMap["type"] = scfcrd.Type
81518	}
81519	for k, v := range scfcrd.AdditionalProperties {
81520		objectMap[k] = v
81521	}
81522	return json.Marshal(objectMap)
81523}
81524
81525// AsResponsysObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81526func (scfcrd SapCloudForCustomerResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
81527	return nil, false
81528}
81529
81530// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81531func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
81532	return nil, false
81533}
81534
81535// AsVerticaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81536func (scfcrd SapCloudForCustomerResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
81537	return nil, false
81538}
81539
81540// AsNetezzaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81541func (scfcrd SapCloudForCustomerResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
81542	return nil, false
81543}
81544
81545// AsZohoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81546func (scfcrd SapCloudForCustomerResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
81547	return nil, false
81548}
81549
81550// AsXeroObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81551func (scfcrd SapCloudForCustomerResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
81552	return nil, false
81553}
81554
81555// AsSquareObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81556func (scfcrd SapCloudForCustomerResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
81557	return nil, false
81558}
81559
81560// AsSparkObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81561func (scfcrd SapCloudForCustomerResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
81562	return nil, false
81563}
81564
81565// AsShopifyObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81566func (scfcrd SapCloudForCustomerResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
81567	return nil, false
81568}
81569
81570// AsServiceNowObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81571func (scfcrd SapCloudForCustomerResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
81572	return nil, false
81573}
81574
81575// AsQuickBooksObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81576func (scfcrd SapCloudForCustomerResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
81577	return nil, false
81578}
81579
81580// AsPrestoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81581func (scfcrd SapCloudForCustomerResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
81582	return nil, false
81583}
81584
81585// AsPhoenixObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81586func (scfcrd SapCloudForCustomerResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
81587	return nil, false
81588}
81589
81590// AsPaypalObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81591func (scfcrd SapCloudForCustomerResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
81592	return nil, false
81593}
81594
81595// AsMarketoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81596func (scfcrd SapCloudForCustomerResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
81597	return nil, false
81598}
81599
81600// AsMariaDBTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81601func (scfcrd SapCloudForCustomerResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
81602	return nil, false
81603}
81604
81605// AsMagentoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81606func (scfcrd SapCloudForCustomerResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
81607	return nil, false
81608}
81609
81610// AsJiraObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81611func (scfcrd SapCloudForCustomerResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
81612	return nil, false
81613}
81614
81615// AsImpalaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81616func (scfcrd SapCloudForCustomerResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
81617	return nil, false
81618}
81619
81620// AsHubspotObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81621func (scfcrd SapCloudForCustomerResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
81622	return nil, false
81623}
81624
81625// AsHiveObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81626func (scfcrd SapCloudForCustomerResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
81627	return nil, false
81628}
81629
81630// AsHBaseObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81631func (scfcrd SapCloudForCustomerResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
81632	return nil, false
81633}
81634
81635// AsGreenplumTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81636func (scfcrd SapCloudForCustomerResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
81637	return nil, false
81638}
81639
81640// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81641func (scfcrd SapCloudForCustomerResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
81642	return nil, false
81643}
81644
81645// AsEloquaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81646func (scfcrd SapCloudForCustomerResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
81647	return nil, false
81648}
81649
81650// AsDrillTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81651func (scfcrd SapCloudForCustomerResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
81652	return nil, false
81653}
81654
81655// AsCouchbaseTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81656func (scfcrd SapCloudForCustomerResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
81657	return nil, false
81658}
81659
81660// AsConcurObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81661func (scfcrd SapCloudForCustomerResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
81662	return nil, false
81663}
81664
81665// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81666func (scfcrd SapCloudForCustomerResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
81667	return nil, false
81668}
81669
81670// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81671func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
81672	return nil, false
81673}
81674
81675// AsHTTPDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81676func (scfcrd SapCloudForCustomerResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
81677	return nil, false
81678}
81679
81680// AsAzureSearchIndexDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81681func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
81682	return nil, false
81683}
81684
81685// AsWebTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81686func (scfcrd SapCloudForCustomerResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
81687	return nil, false
81688}
81689
81690// AsSQLServerTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81691func (scfcrd SapCloudForCustomerResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
81692	return nil, false
81693}
81694
81695// AsSapEccResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81696func (scfcrd SapCloudForCustomerResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
81697	return nil, false
81698}
81699
81700// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81701func (scfcrd SapCloudForCustomerResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
81702	return &scfcrd, true
81703}
81704
81705// AsSalesforceObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81706func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
81707	return nil, false
81708}
81709
81710// AsRelationalTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81711func (scfcrd SapCloudForCustomerResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
81712	return nil, false
81713}
81714
81715// AsAzureMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81716func (scfcrd SapCloudForCustomerResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
81717	return nil, false
81718}
81719
81720// AsOracleTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81721func (scfcrd SapCloudForCustomerResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
81722	return nil, false
81723}
81724
81725// AsODataResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81726func (scfcrd SapCloudForCustomerResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
81727	return nil, false
81728}
81729
81730// AsMongoDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81731func (scfcrd SapCloudForCustomerResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
81732	return nil, false
81733}
81734
81735// AsFileShareDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81736func (scfcrd SapCloudForCustomerResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
81737	return nil, false
81738}
81739
81740// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81741func (scfcrd SapCloudForCustomerResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
81742	return nil, false
81743}
81744
81745// AsDynamicsEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81746func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
81747	return nil, false
81748}
81749
81750// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81751func (scfcrd SapCloudForCustomerResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
81752	return nil, false
81753}
81754
81755// AsCustomDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81756func (scfcrd SapCloudForCustomerResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
81757	return nil, false
81758}
81759
81760// AsCassandraTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81761func (scfcrd SapCloudForCustomerResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
81762	return nil, false
81763}
81764
81765// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81766func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
81767	return nil, false
81768}
81769
81770// AsAzureSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81771func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
81772	return nil, false
81773}
81774
81775// AsAzureTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81776func (scfcrd SapCloudForCustomerResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
81777	return nil, false
81778}
81779
81780// AsAzureBlobDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81781func (scfcrd SapCloudForCustomerResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
81782	return nil, false
81783}
81784
81785// AsAmazonS3Dataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81786func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
81787	return nil, false
81788}
81789
81790// AsDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81791func (scfcrd SapCloudForCustomerResourceDataset) AsDataset() (*Dataset, bool) {
81792	return nil, false
81793}
81794
81795// AsBasicDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81796func (scfcrd SapCloudForCustomerResourceDataset) AsBasicDataset() (BasicDataset, bool) {
81797	return &scfcrd, true
81798}
81799
81800// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerResourceDataset struct.
81801func (scfcrd *SapCloudForCustomerResourceDataset) UnmarshalJSON(body []byte) error {
81802	var m map[string]*json.RawMessage
81803	err := json.Unmarshal(body, &m)
81804	if err != nil {
81805		return err
81806	}
81807	for k, v := range m {
81808		switch k {
81809		case "typeProperties":
81810			if v != nil {
81811				var sapCloudForCustomerResourceDatasetTypeProperties SapCloudForCustomerResourceDatasetTypeProperties
81812				err = json.Unmarshal(*v, &sapCloudForCustomerResourceDatasetTypeProperties)
81813				if err != nil {
81814					return err
81815				}
81816				scfcrd.SapCloudForCustomerResourceDatasetTypeProperties = &sapCloudForCustomerResourceDatasetTypeProperties
81817			}
81818		default:
81819			if v != nil {
81820				var additionalProperties interface{}
81821				err = json.Unmarshal(*v, &additionalProperties)
81822				if err != nil {
81823					return err
81824				}
81825				if scfcrd.AdditionalProperties == nil {
81826					scfcrd.AdditionalProperties = make(map[string]interface{})
81827				}
81828				scfcrd.AdditionalProperties[k] = additionalProperties
81829			}
81830		case "description":
81831			if v != nil {
81832				var description string
81833				err = json.Unmarshal(*v, &description)
81834				if err != nil {
81835					return err
81836				}
81837				scfcrd.Description = &description
81838			}
81839		case "structure":
81840			if v != nil {
81841				var structure interface{}
81842				err = json.Unmarshal(*v, &structure)
81843				if err != nil {
81844					return err
81845				}
81846				scfcrd.Structure = structure
81847			}
81848		case "linkedServiceName":
81849			if v != nil {
81850				var linkedServiceName LinkedServiceReference
81851				err = json.Unmarshal(*v, &linkedServiceName)
81852				if err != nil {
81853					return err
81854				}
81855				scfcrd.LinkedServiceName = &linkedServiceName
81856			}
81857		case "parameters":
81858			if v != nil {
81859				var parameters map[string]*ParameterSpecification
81860				err = json.Unmarshal(*v, &parameters)
81861				if err != nil {
81862					return err
81863				}
81864				scfcrd.Parameters = parameters
81865			}
81866		case "annotations":
81867			if v != nil {
81868				var annotations []interface{}
81869				err = json.Unmarshal(*v, &annotations)
81870				if err != nil {
81871					return err
81872				}
81873				scfcrd.Annotations = &annotations
81874			}
81875		case "type":
81876			if v != nil {
81877				var typeVar TypeBasicDataset
81878				err = json.Unmarshal(*v, &typeVar)
81879				if err != nil {
81880					return err
81881				}
81882				scfcrd.Type = typeVar
81883			}
81884		}
81885	}
81886
81887	return nil
81888}
81889
81890// SapCloudForCustomerResourceDatasetTypeProperties sap Cloud For Customer OData resource dataset
81891// properties.
81892type SapCloudForCustomerResourceDatasetTypeProperties struct {
81893	// Path - The path of the SAP Cloud for Customer OData entity. Type: string (or Expression with resultType string).
81894	Path interface{} `json:"path,omitempty"`
81895}
81896
81897// SapCloudForCustomerSink a copy activity SAP Cloud for Customer sink.
81898type SapCloudForCustomerSink struct {
81899	// WriteBehavior - The write behavior for the operation. Default is 'Insert'.
81900	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
81901	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
81902	AdditionalProperties map[string]interface{} `json:""`
81903	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
81904	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
81905	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
81906	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
81907	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
81908	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
81909	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
81910	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
81911	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
81912	Type TypeBasicCopySink `json:"type,omitempty"`
81913}
81914
81915// MarshalJSON is the custom marshaler for SapCloudForCustomerSink.
81916func (scfcs SapCloudForCustomerSink) MarshalJSON() ([]byte, error) {
81917	scfcs.Type = TypeSapCloudForCustomerSink
81918	objectMap := make(map[string]interface{})
81919	if scfcs.WriteBehavior != nil {
81920		objectMap["writeBehavior"] = scfcs.WriteBehavior
81921	}
81922	if scfcs.WriteBatchSize != nil {
81923		objectMap["writeBatchSize"] = scfcs.WriteBatchSize
81924	}
81925	if scfcs.WriteBatchTimeout != nil {
81926		objectMap["writeBatchTimeout"] = scfcs.WriteBatchTimeout
81927	}
81928	if scfcs.SinkRetryCount != nil {
81929		objectMap["sinkRetryCount"] = scfcs.SinkRetryCount
81930	}
81931	if scfcs.SinkRetryWait != nil {
81932		objectMap["sinkRetryWait"] = scfcs.SinkRetryWait
81933	}
81934	if scfcs.Type != "" {
81935		objectMap["type"] = scfcs.Type
81936	}
81937	for k, v := range scfcs.AdditionalProperties {
81938		objectMap[k] = v
81939	}
81940	return json.Marshal(objectMap)
81941}
81942
81943// AsSalesforceSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81944func (scfcs SapCloudForCustomerSink) AsSalesforceSink() (*SalesforceSink, bool) {
81945	return nil, false
81946}
81947
81948// AsDynamicsSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81949func (scfcs SapCloudForCustomerSink) AsDynamicsSink() (*DynamicsSink, bool) {
81950	return nil, false
81951}
81952
81953// AsOdbcSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81954func (scfcs SapCloudForCustomerSink) AsOdbcSink() (*OdbcSink, bool) {
81955	return nil, false
81956}
81957
81958// AsAzureSearchIndexSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81959func (scfcs SapCloudForCustomerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
81960	return nil, false
81961}
81962
81963// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81964func (scfcs SapCloudForCustomerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
81965	return nil, false
81966}
81967
81968// AsOracleSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81969func (scfcs SapCloudForCustomerSink) AsOracleSink() (*OracleSink, bool) {
81970	return nil, false
81971}
81972
81973// AsSQLDWSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81974func (scfcs SapCloudForCustomerSink) AsSQLDWSink() (*SQLDWSink, bool) {
81975	return nil, false
81976}
81977
81978// AsSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81979func (scfcs SapCloudForCustomerSink) AsSQLSink() (*SQLSink, bool) {
81980	return nil, false
81981}
81982
81983// AsDocumentDbCollectionSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81984func (scfcs SapCloudForCustomerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
81985	return nil, false
81986}
81987
81988// AsFileSystemSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81989func (scfcs SapCloudForCustomerSink) AsFileSystemSink() (*FileSystemSink, bool) {
81990	return nil, false
81991}
81992
81993// AsBlobSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81994func (scfcs SapCloudForCustomerSink) AsBlobSink() (*BlobSink, bool) {
81995	return nil, false
81996}
81997
81998// AsAzureTableSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81999func (scfcs SapCloudForCustomerSink) AsAzureTableSink() (*AzureTableSink, bool) {
82000	return nil, false
82001}
82002
82003// AsAzureQueueSink is the BasicCopySink implementation for SapCloudForCustomerSink.
82004func (scfcs SapCloudForCustomerSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
82005	return nil, false
82006}
82007
82008// AsSapCloudForCustomerSink is the BasicCopySink implementation for SapCloudForCustomerSink.
82009func (scfcs SapCloudForCustomerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
82010	return &scfcs, true
82011}
82012
82013// AsCopySink is the BasicCopySink implementation for SapCloudForCustomerSink.
82014func (scfcs SapCloudForCustomerSink) AsCopySink() (*CopySink, bool) {
82015	return nil, false
82016}
82017
82018// AsBasicCopySink is the BasicCopySink implementation for SapCloudForCustomerSink.
82019func (scfcs SapCloudForCustomerSink) AsBasicCopySink() (BasicCopySink, bool) {
82020	return &scfcs, true
82021}
82022
82023// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSink struct.
82024func (scfcs *SapCloudForCustomerSink) UnmarshalJSON(body []byte) error {
82025	var m map[string]*json.RawMessage
82026	err := json.Unmarshal(body, &m)
82027	if err != nil {
82028		return err
82029	}
82030	for k, v := range m {
82031		switch k {
82032		case "writeBehavior":
82033			if v != nil {
82034				var writeBehavior interface{}
82035				err = json.Unmarshal(*v, &writeBehavior)
82036				if err != nil {
82037					return err
82038				}
82039				scfcs.WriteBehavior = writeBehavior
82040			}
82041		default:
82042			if v != nil {
82043				var additionalProperties interface{}
82044				err = json.Unmarshal(*v, &additionalProperties)
82045				if err != nil {
82046					return err
82047				}
82048				if scfcs.AdditionalProperties == nil {
82049					scfcs.AdditionalProperties = make(map[string]interface{})
82050				}
82051				scfcs.AdditionalProperties[k] = additionalProperties
82052			}
82053		case "writeBatchSize":
82054			if v != nil {
82055				var writeBatchSize interface{}
82056				err = json.Unmarshal(*v, &writeBatchSize)
82057				if err != nil {
82058					return err
82059				}
82060				scfcs.WriteBatchSize = writeBatchSize
82061			}
82062		case "writeBatchTimeout":
82063			if v != nil {
82064				var writeBatchTimeout interface{}
82065				err = json.Unmarshal(*v, &writeBatchTimeout)
82066				if err != nil {
82067					return err
82068				}
82069				scfcs.WriteBatchTimeout = writeBatchTimeout
82070			}
82071		case "sinkRetryCount":
82072			if v != nil {
82073				var sinkRetryCount interface{}
82074				err = json.Unmarshal(*v, &sinkRetryCount)
82075				if err != nil {
82076					return err
82077				}
82078				scfcs.SinkRetryCount = sinkRetryCount
82079			}
82080		case "sinkRetryWait":
82081			if v != nil {
82082				var sinkRetryWait interface{}
82083				err = json.Unmarshal(*v, &sinkRetryWait)
82084				if err != nil {
82085					return err
82086				}
82087				scfcs.SinkRetryWait = sinkRetryWait
82088			}
82089		case "type":
82090			if v != nil {
82091				var typeVar TypeBasicCopySink
82092				err = json.Unmarshal(*v, &typeVar)
82093				if err != nil {
82094					return err
82095				}
82096				scfcs.Type = typeVar
82097			}
82098		}
82099	}
82100
82101	return nil
82102}
82103
82104// SapCloudForCustomerSource a copy activity source for SAP Cloud for Customer source.
82105type SapCloudForCustomerSource struct {
82106	// Query - SAP Cloud for Customer OData query. For example, "$top=1". Type: string (or Expression with resultType string).
82107	Query interface{} `json:"query,omitempty"`
82108	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
82109	AdditionalProperties map[string]interface{} `json:""`
82110	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
82111	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
82112	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
82113	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
82114	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
82115	Type TypeBasicCopySource `json:"type,omitempty"`
82116}
82117
82118// MarshalJSON is the custom marshaler for SapCloudForCustomerSource.
82119func (scfcs SapCloudForCustomerSource) MarshalJSON() ([]byte, error) {
82120	scfcs.Type = TypeSapCloudForCustomerSource
82121	objectMap := make(map[string]interface{})
82122	if scfcs.Query != nil {
82123		objectMap["query"] = scfcs.Query
82124	}
82125	if scfcs.SourceRetryCount != nil {
82126		objectMap["sourceRetryCount"] = scfcs.SourceRetryCount
82127	}
82128	if scfcs.SourceRetryWait != nil {
82129		objectMap["sourceRetryWait"] = scfcs.SourceRetryWait
82130	}
82131	if scfcs.Type != "" {
82132		objectMap["type"] = scfcs.Type
82133	}
82134	for k, v := range scfcs.AdditionalProperties {
82135		objectMap[k] = v
82136	}
82137	return json.Marshal(objectMap)
82138}
82139
82140// AsAmazonRedshiftSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82141func (scfcs SapCloudForCustomerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
82142	return nil, false
82143}
82144
82145// AsResponsysSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82146func (scfcs SapCloudForCustomerSource) AsResponsysSource() (*ResponsysSource, bool) {
82147	return nil, false
82148}
82149
82150// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82151func (scfcs SapCloudForCustomerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
82152	return nil, false
82153}
82154
82155// AsVerticaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82156func (scfcs SapCloudForCustomerSource) AsVerticaSource() (*VerticaSource, bool) {
82157	return nil, false
82158}
82159
82160// AsNetezzaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82161func (scfcs SapCloudForCustomerSource) AsNetezzaSource() (*NetezzaSource, bool) {
82162	return nil, false
82163}
82164
82165// AsZohoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82166func (scfcs SapCloudForCustomerSource) AsZohoSource() (*ZohoSource, bool) {
82167	return nil, false
82168}
82169
82170// AsXeroSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82171func (scfcs SapCloudForCustomerSource) AsXeroSource() (*XeroSource, bool) {
82172	return nil, false
82173}
82174
82175// AsSquareSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82176func (scfcs SapCloudForCustomerSource) AsSquareSource() (*SquareSource, bool) {
82177	return nil, false
82178}
82179
82180// AsSparkSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82181func (scfcs SapCloudForCustomerSource) AsSparkSource() (*SparkSource, bool) {
82182	return nil, false
82183}
82184
82185// AsShopifySource is the BasicCopySource implementation for SapCloudForCustomerSource.
82186func (scfcs SapCloudForCustomerSource) AsShopifySource() (*ShopifySource, bool) {
82187	return nil, false
82188}
82189
82190// AsServiceNowSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82191func (scfcs SapCloudForCustomerSource) AsServiceNowSource() (*ServiceNowSource, bool) {
82192	return nil, false
82193}
82194
82195// AsQuickBooksSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82196func (scfcs SapCloudForCustomerSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
82197	return nil, false
82198}
82199
82200// AsPrestoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82201func (scfcs SapCloudForCustomerSource) AsPrestoSource() (*PrestoSource, bool) {
82202	return nil, false
82203}
82204
82205// AsPhoenixSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82206func (scfcs SapCloudForCustomerSource) AsPhoenixSource() (*PhoenixSource, bool) {
82207	return nil, false
82208}
82209
82210// AsPaypalSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82211func (scfcs SapCloudForCustomerSource) AsPaypalSource() (*PaypalSource, bool) {
82212	return nil, false
82213}
82214
82215// AsMarketoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82216func (scfcs SapCloudForCustomerSource) AsMarketoSource() (*MarketoSource, bool) {
82217	return nil, false
82218}
82219
82220// AsMariaDBSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82221func (scfcs SapCloudForCustomerSource) AsMariaDBSource() (*MariaDBSource, bool) {
82222	return nil, false
82223}
82224
82225// AsMagentoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82226func (scfcs SapCloudForCustomerSource) AsMagentoSource() (*MagentoSource, bool) {
82227	return nil, false
82228}
82229
82230// AsJiraSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82231func (scfcs SapCloudForCustomerSource) AsJiraSource() (*JiraSource, bool) {
82232	return nil, false
82233}
82234
82235// AsImpalaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82236func (scfcs SapCloudForCustomerSource) AsImpalaSource() (*ImpalaSource, bool) {
82237	return nil, false
82238}
82239
82240// AsHubspotSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82241func (scfcs SapCloudForCustomerSource) AsHubspotSource() (*HubspotSource, bool) {
82242	return nil, false
82243}
82244
82245// AsHiveSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82246func (scfcs SapCloudForCustomerSource) AsHiveSource() (*HiveSource, bool) {
82247	return nil, false
82248}
82249
82250// AsHBaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82251func (scfcs SapCloudForCustomerSource) AsHBaseSource() (*HBaseSource, bool) {
82252	return nil, false
82253}
82254
82255// AsGreenplumSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82256func (scfcs SapCloudForCustomerSource) AsGreenplumSource() (*GreenplumSource, bool) {
82257	return nil, false
82258}
82259
82260// AsGoogleBigQuerySource is the BasicCopySource implementation for SapCloudForCustomerSource.
82261func (scfcs SapCloudForCustomerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
82262	return nil, false
82263}
82264
82265// AsEloquaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82266func (scfcs SapCloudForCustomerSource) AsEloquaSource() (*EloquaSource, bool) {
82267	return nil, false
82268}
82269
82270// AsDrillSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82271func (scfcs SapCloudForCustomerSource) AsDrillSource() (*DrillSource, bool) {
82272	return nil, false
82273}
82274
82275// AsCouchbaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82276func (scfcs SapCloudForCustomerSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
82277	return nil, false
82278}
82279
82280// AsConcurSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82281func (scfcs SapCloudForCustomerSource) AsConcurSource() (*ConcurSource, bool) {
82282	return nil, false
82283}
82284
82285// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82286func (scfcs SapCloudForCustomerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
82287	return nil, false
82288}
82289
82290// AsAmazonMWSSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82291func (scfcs SapCloudForCustomerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
82292	return nil, false
82293}
82294
82295// AsHTTPSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82296func (scfcs SapCloudForCustomerSource) AsHTTPSource() (*HTTPSource, bool) {
82297	return nil, false
82298}
82299
82300// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82301func (scfcs SapCloudForCustomerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
82302	return nil, false
82303}
82304
82305// AsMongoDbSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82306func (scfcs SapCloudForCustomerSource) AsMongoDbSource() (*MongoDbSource, bool) {
82307	return nil, false
82308}
82309
82310// AsCassandraSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82311func (scfcs SapCloudForCustomerSource) AsCassandraSource() (*CassandraSource, bool) {
82312	return nil, false
82313}
82314
82315// AsWebSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82316func (scfcs SapCloudForCustomerSource) AsWebSource() (*WebSource, bool) {
82317	return nil, false
82318}
82319
82320// AsOracleSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82321func (scfcs SapCloudForCustomerSource) AsOracleSource() (*OracleSource, bool) {
82322	return nil, false
82323}
82324
82325// AsAzureMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82326func (scfcs SapCloudForCustomerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
82327	return nil, false
82328}
82329
82330// AsHdfsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82331func (scfcs SapCloudForCustomerSource) AsHdfsSource() (*HdfsSource, bool) {
82332	return nil, false
82333}
82334
82335// AsFileSystemSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82336func (scfcs SapCloudForCustomerSource) AsFileSystemSource() (*FileSystemSource, bool) {
82337	return nil, false
82338}
82339
82340// AsSQLDWSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82341func (scfcs SapCloudForCustomerSource) AsSQLDWSource() (*SQLDWSource, bool) {
82342	return nil, false
82343}
82344
82345// AsSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82346func (scfcs SapCloudForCustomerSource) AsSQLSource() (*SQLSource, bool) {
82347	return nil, false
82348}
82349
82350// AsSapEccSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82351func (scfcs SapCloudForCustomerSource) AsSapEccSource() (*SapEccSource, bool) {
82352	return nil, false
82353}
82354
82355// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82356func (scfcs SapCloudForCustomerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
82357	return &scfcs, true
82358}
82359
82360// AsSalesforceSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82361func (scfcs SapCloudForCustomerSource) AsSalesforceSource() (*SalesforceSource, bool) {
82362	return nil, false
82363}
82364
82365// AsRelationalSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82366func (scfcs SapCloudForCustomerSource) AsRelationalSource() (*RelationalSource, bool) {
82367	return nil, false
82368}
82369
82370// AsDynamicsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82371func (scfcs SapCloudForCustomerSource) AsDynamicsSource() (*DynamicsSource, bool) {
82372	return nil, false
82373}
82374
82375// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82376func (scfcs SapCloudForCustomerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
82377	return nil, false
82378}
82379
82380// AsBlobSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82381func (scfcs SapCloudForCustomerSource) AsBlobSource() (*BlobSource, bool) {
82382	return nil, false
82383}
82384
82385// AsAzureTableSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82386func (scfcs SapCloudForCustomerSource) AsAzureTableSource() (*AzureTableSource, bool) {
82387	return nil, false
82388}
82389
82390// AsCopySource is the BasicCopySource implementation for SapCloudForCustomerSource.
82391func (scfcs SapCloudForCustomerSource) AsCopySource() (*CopySource, bool) {
82392	return nil, false
82393}
82394
82395// AsBasicCopySource is the BasicCopySource implementation for SapCloudForCustomerSource.
82396func (scfcs SapCloudForCustomerSource) AsBasicCopySource() (BasicCopySource, bool) {
82397	return &scfcs, true
82398}
82399
82400// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSource struct.
82401func (scfcs *SapCloudForCustomerSource) UnmarshalJSON(body []byte) error {
82402	var m map[string]*json.RawMessage
82403	err := json.Unmarshal(body, &m)
82404	if err != nil {
82405		return err
82406	}
82407	for k, v := range m {
82408		switch k {
82409		case "query":
82410			if v != nil {
82411				var query interface{}
82412				err = json.Unmarshal(*v, &query)
82413				if err != nil {
82414					return err
82415				}
82416				scfcs.Query = query
82417			}
82418		default:
82419			if v != nil {
82420				var additionalProperties interface{}
82421				err = json.Unmarshal(*v, &additionalProperties)
82422				if err != nil {
82423					return err
82424				}
82425				if scfcs.AdditionalProperties == nil {
82426					scfcs.AdditionalProperties = make(map[string]interface{})
82427				}
82428				scfcs.AdditionalProperties[k] = additionalProperties
82429			}
82430		case "sourceRetryCount":
82431			if v != nil {
82432				var sourceRetryCount interface{}
82433				err = json.Unmarshal(*v, &sourceRetryCount)
82434				if err != nil {
82435					return err
82436				}
82437				scfcs.SourceRetryCount = sourceRetryCount
82438			}
82439		case "sourceRetryWait":
82440			if v != nil {
82441				var sourceRetryWait interface{}
82442				err = json.Unmarshal(*v, &sourceRetryWait)
82443				if err != nil {
82444					return err
82445				}
82446				scfcs.SourceRetryWait = sourceRetryWait
82447			}
82448		case "type":
82449			if v != nil {
82450				var typeVar TypeBasicCopySource
82451				err = json.Unmarshal(*v, &typeVar)
82452				if err != nil {
82453					return err
82454				}
82455				scfcs.Type = typeVar
82456			}
82457		}
82458	}
82459
82460	return nil
82461}
82462
82463// SapEccLinkedService linked service for SAP ERP Central Component(SAP ECC).
82464type SapEccLinkedService struct {
82465	// SapEccLinkedServiceTypeProperties - SAP ECC linked service properties.
82466	*SapEccLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
82467	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
82468	AdditionalProperties map[string]interface{} `json:""`
82469	// ConnectVia - The integration runtime reference.
82470	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
82471	// Description - Linked service description.
82472	Description *string `json:"description,omitempty"`
82473	// Parameters - Parameters for linked service.
82474	Parameters map[string]*ParameterSpecification `json:"parameters"`
82475	// Annotations - List of tags that can be used for describing the Dataset.
82476	Annotations *[]interface{} `json:"annotations,omitempty"`
82477	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
82478	Type TypeBasicLinkedService `json:"type,omitempty"`
82479}
82480
82481// MarshalJSON is the custom marshaler for SapEccLinkedService.
82482func (sels SapEccLinkedService) MarshalJSON() ([]byte, error) {
82483	sels.Type = TypeSapEcc
82484	objectMap := make(map[string]interface{})
82485	if sels.SapEccLinkedServiceTypeProperties != nil {
82486		objectMap["typeProperties"] = sels.SapEccLinkedServiceTypeProperties
82487	}
82488	if sels.ConnectVia != nil {
82489		objectMap["connectVia"] = sels.ConnectVia
82490	}
82491	if sels.Description != nil {
82492		objectMap["description"] = sels.Description
82493	}
82494	if sels.Parameters != nil {
82495		objectMap["parameters"] = sels.Parameters
82496	}
82497	if sels.Annotations != nil {
82498		objectMap["annotations"] = sels.Annotations
82499	}
82500	if sels.Type != "" {
82501		objectMap["type"] = sels.Type
82502	}
82503	for k, v := range sels.AdditionalProperties {
82504		objectMap[k] = v
82505	}
82506	return json.Marshal(objectMap)
82507}
82508
82509// AsResponsysLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82510func (sels SapEccLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
82511	return nil, false
82512}
82513
82514// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82515func (sels SapEccLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
82516	return nil, false
82517}
82518
82519// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82520func (sels SapEccLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
82521	return nil, false
82522}
82523
82524// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82525func (sels SapEccLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
82526	return nil, false
82527}
82528
82529// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82530func (sels SapEccLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
82531	return nil, false
82532}
82533
82534// AsNetezzaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82535func (sels SapEccLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
82536	return nil, false
82537}
82538
82539// AsVerticaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82540func (sels SapEccLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
82541	return nil, false
82542}
82543
82544// AsZohoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82545func (sels SapEccLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
82546	return nil, false
82547}
82548
82549// AsXeroLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82550func (sels SapEccLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
82551	return nil, false
82552}
82553
82554// AsSquareLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82555func (sels SapEccLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
82556	return nil, false
82557}
82558
82559// AsSparkLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82560func (sels SapEccLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
82561	return nil, false
82562}
82563
82564// AsShopifyLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82565func (sels SapEccLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
82566	return nil, false
82567}
82568
82569// AsServiceNowLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82570func (sels SapEccLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
82571	return nil, false
82572}
82573
82574// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82575func (sels SapEccLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
82576	return nil, false
82577}
82578
82579// AsPrestoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82580func (sels SapEccLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
82581	return nil, false
82582}
82583
82584// AsPhoenixLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82585func (sels SapEccLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
82586	return nil, false
82587}
82588
82589// AsPaypalLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82590func (sels SapEccLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
82591	return nil, false
82592}
82593
82594// AsMarketoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82595func (sels SapEccLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
82596	return nil, false
82597}
82598
82599// AsMariaDBLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82600func (sels SapEccLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
82601	return nil, false
82602}
82603
82604// AsMagentoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82605func (sels SapEccLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
82606	return nil, false
82607}
82608
82609// AsJiraLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82610func (sels SapEccLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
82611	return nil, false
82612}
82613
82614// AsImpalaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82615func (sels SapEccLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
82616	return nil, false
82617}
82618
82619// AsHubspotLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82620func (sels SapEccLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
82621	return nil, false
82622}
82623
82624// AsHiveLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82625func (sels SapEccLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
82626	return nil, false
82627}
82628
82629// AsHBaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82630func (sels SapEccLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
82631	return nil, false
82632}
82633
82634// AsGreenplumLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82635func (sels SapEccLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
82636	return nil, false
82637}
82638
82639// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82640func (sels SapEccLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
82641	return nil, false
82642}
82643
82644// AsEloquaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82645func (sels SapEccLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
82646	return nil, false
82647}
82648
82649// AsDrillLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82650func (sels SapEccLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
82651	return nil, false
82652}
82653
82654// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82655func (sels SapEccLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
82656	return nil, false
82657}
82658
82659// AsConcurLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82660func (sels SapEccLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
82661	return nil, false
82662}
82663
82664// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82665func (sels SapEccLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
82666	return nil, false
82667}
82668
82669// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82670func (sels SapEccLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
82671	return nil, false
82672}
82673
82674// AsSapHanaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82675func (sels SapEccLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
82676	return nil, false
82677}
82678
82679// AsSapBWLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82680func (sels SapEccLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
82681	return nil, false
82682}
82683
82684// AsSftpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82685func (sels SapEccLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
82686	return nil, false
82687}
82688
82689// AsFtpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82690func (sels SapEccLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
82691	return nil, false
82692}
82693
82694// AsHTTPLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82695func (sels SapEccLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
82696	return nil, false
82697}
82698
82699// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82700func (sels SapEccLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
82701	return nil, false
82702}
82703
82704// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82705func (sels SapEccLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
82706	return nil, false
82707}
82708
82709// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82710func (sels SapEccLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
82711	return nil, false
82712}
82713
82714// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82715func (sels SapEccLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
82716	return nil, false
82717}
82718
82719// AsSapEccLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82720func (sels SapEccLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
82721	return &sels, true
82722}
82723
82724// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82725func (sels SapEccLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
82726	return nil, false
82727}
82728
82729// AsSalesforceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82730func (sels SapEccLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
82731	return nil, false
82732}
82733
82734// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82735func (sels SapEccLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
82736	return nil, false
82737}
82738
82739// AsMongoDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82740func (sels SapEccLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
82741	return nil, false
82742}
82743
82744// AsCassandraLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82745func (sels SapEccLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
82746	return nil, false
82747}
82748
82749// AsWebLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82750func (sels SapEccLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
82751	return nil, false
82752}
82753
82754// AsODataLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82755func (sels SapEccLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
82756	return nil, false
82757}
82758
82759// AsHdfsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82760func (sels SapEccLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
82761	return nil, false
82762}
82763
82764// AsOdbcLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82765func (sels SapEccLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
82766	return nil, false
82767}
82768
82769// AsAzureMLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82770func (sels SapEccLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
82771	return nil, false
82772}
82773
82774// AsTeradataLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82775func (sels SapEccLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
82776	return nil, false
82777}
82778
82779// AsDb2LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82780func (sels SapEccLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
82781	return nil, false
82782}
82783
82784// AsSybaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82785func (sels SapEccLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
82786	return nil, false
82787}
82788
82789// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82790func (sels SapEccLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
82791	return nil, false
82792}
82793
82794// AsMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82795func (sels SapEccLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
82796	return nil, false
82797}
82798
82799// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82800func (sels SapEccLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
82801	return nil, false
82802}
82803
82804// AsOracleLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82805func (sels SapEccLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
82806	return nil, false
82807}
82808
82809// AsFileServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82810func (sels SapEccLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
82811	return nil, false
82812}
82813
82814// AsHDInsightLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82815func (sels SapEccLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
82816	return nil, false
82817}
82818
82819// AsDynamicsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82820func (sels SapEccLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
82821	return nil, false
82822}
82823
82824// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82825func (sels SapEccLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
82826	return nil, false
82827}
82828
82829// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82830func (sels SapEccLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
82831	return nil, false
82832}
82833
82834// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82835func (sels SapEccLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
82836	return nil, false
82837}
82838
82839// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82840func (sels SapEccLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
82841	return nil, false
82842}
82843
82844// AsSQLServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82845func (sels SapEccLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
82846	return nil, false
82847}
82848
82849// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82850func (sels SapEccLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
82851	return nil, false
82852}
82853
82854// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82855func (sels SapEccLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
82856	return nil, false
82857}
82858
82859// AsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82860func (sels SapEccLinkedService) AsLinkedService() (*LinkedService, bool) {
82861	return nil, false
82862}
82863
82864// AsBasicLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82865func (sels SapEccLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
82866	return &sels, true
82867}
82868
82869// UnmarshalJSON is the custom unmarshaler for SapEccLinkedService struct.
82870func (sels *SapEccLinkedService) UnmarshalJSON(body []byte) error {
82871	var m map[string]*json.RawMessage
82872	err := json.Unmarshal(body, &m)
82873	if err != nil {
82874		return err
82875	}
82876	for k, v := range m {
82877		switch k {
82878		case "typeProperties":
82879			if v != nil {
82880				var sapEccLinkedServiceTypeProperties SapEccLinkedServiceTypeProperties
82881				err = json.Unmarshal(*v, &sapEccLinkedServiceTypeProperties)
82882				if err != nil {
82883					return err
82884				}
82885				sels.SapEccLinkedServiceTypeProperties = &sapEccLinkedServiceTypeProperties
82886			}
82887		default:
82888			if v != nil {
82889				var additionalProperties interface{}
82890				err = json.Unmarshal(*v, &additionalProperties)
82891				if err != nil {
82892					return err
82893				}
82894				if sels.AdditionalProperties == nil {
82895					sels.AdditionalProperties = make(map[string]interface{})
82896				}
82897				sels.AdditionalProperties[k] = additionalProperties
82898			}
82899		case "connectVia":
82900			if v != nil {
82901				var connectVia IntegrationRuntimeReference
82902				err = json.Unmarshal(*v, &connectVia)
82903				if err != nil {
82904					return err
82905				}
82906				sels.ConnectVia = &connectVia
82907			}
82908		case "description":
82909			if v != nil {
82910				var description string
82911				err = json.Unmarshal(*v, &description)
82912				if err != nil {
82913					return err
82914				}
82915				sels.Description = &description
82916			}
82917		case "parameters":
82918			if v != nil {
82919				var parameters map[string]*ParameterSpecification
82920				err = json.Unmarshal(*v, &parameters)
82921				if err != nil {
82922					return err
82923				}
82924				sels.Parameters = parameters
82925			}
82926		case "annotations":
82927			if v != nil {
82928				var annotations []interface{}
82929				err = json.Unmarshal(*v, &annotations)
82930				if err != nil {
82931					return err
82932				}
82933				sels.Annotations = &annotations
82934			}
82935		case "type":
82936			if v != nil {
82937				var typeVar TypeBasicLinkedService
82938				err = json.Unmarshal(*v, &typeVar)
82939				if err != nil {
82940					return err
82941				}
82942				sels.Type = typeVar
82943			}
82944		}
82945	}
82946
82947	return nil
82948}
82949
82950// SapEccLinkedServiceTypeProperties SAP ECC linked service properties.
82951type SapEccLinkedServiceTypeProperties struct {
82952	// URL - The URL of SAP ECC OData API. For example, '[https://hostname:port/sap/opu/odata/sap/servicename/]'. Type: string (or Expression with resultType string).
82953	URL *string `json:"url,omitempty"`
82954	// Username - The username for Basic authentication. Type: string (or Expression with resultType string).
82955	Username *string `json:"username,omitempty"`
82956	// Password - The password for Basic authentication.
82957	Password BasicSecretBase `json:"password,omitempty"`
82958	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Either encryptedCredential or username/password must be provided. Type: string (or Expression with resultType string).
82959	EncryptedCredential *string `json:"encryptedCredential,omitempty"`
82960}
82961
82962// UnmarshalJSON is the custom unmarshaler for SapEccLinkedServiceTypeProperties struct.
82963func (selstp *SapEccLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
82964	var m map[string]*json.RawMessage
82965	err := json.Unmarshal(body, &m)
82966	if err != nil {
82967		return err
82968	}
82969	for k, v := range m {
82970		switch k {
82971		case "url":
82972			if v != nil {
82973				var URL string
82974				err = json.Unmarshal(*v, &URL)
82975				if err != nil {
82976					return err
82977				}
82978				selstp.URL = &URL
82979			}
82980		case "username":
82981			if v != nil {
82982				var username string
82983				err = json.Unmarshal(*v, &username)
82984				if err != nil {
82985					return err
82986				}
82987				selstp.Username = &username
82988			}
82989		case "password":
82990			if v != nil {
82991				password, err := unmarshalBasicSecretBase(*v)
82992				if err != nil {
82993					return err
82994				}
82995				selstp.Password = password
82996			}
82997		case "encryptedCredential":
82998			if v != nil {
82999				var encryptedCredential string
83000				err = json.Unmarshal(*v, &encryptedCredential)
83001				if err != nil {
83002					return err
83003				}
83004				selstp.EncryptedCredential = &encryptedCredential
83005			}
83006		}
83007	}
83008
83009	return nil
83010}
83011
83012// SapEccResourceDataset the path of the SAP ECC OData entity.
83013type SapEccResourceDataset struct {
83014	// SapEccResourceDatasetTypeProperties - SAP ECC OData resource dataset properties.
83015	*SapEccResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
83016	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83017	AdditionalProperties map[string]interface{} `json:""`
83018	// Description - Dataset description.
83019	Description *string `json:"description,omitempty"`
83020	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
83021	Structure interface{} `json:"structure,omitempty"`
83022	// LinkedServiceName - Linked service reference.
83023	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
83024	// Parameters - Parameters for dataset.
83025	Parameters map[string]*ParameterSpecification `json:"parameters"`
83026	// Annotations - List of tags that can be used for describing the Dataset.
83027	Annotations *[]interface{} `json:"annotations,omitempty"`
83028	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
83029	Type TypeBasicDataset `json:"type,omitempty"`
83030}
83031
83032// MarshalJSON is the custom marshaler for SapEccResourceDataset.
83033func (serd SapEccResourceDataset) MarshalJSON() ([]byte, error) {
83034	serd.Type = TypeSapEccResource
83035	objectMap := make(map[string]interface{})
83036	if serd.SapEccResourceDatasetTypeProperties != nil {
83037		objectMap["typeProperties"] = serd.SapEccResourceDatasetTypeProperties
83038	}
83039	if serd.Description != nil {
83040		objectMap["description"] = serd.Description
83041	}
83042	if serd.Structure != nil {
83043		objectMap["structure"] = serd.Structure
83044	}
83045	if serd.LinkedServiceName != nil {
83046		objectMap["linkedServiceName"] = serd.LinkedServiceName
83047	}
83048	if serd.Parameters != nil {
83049		objectMap["parameters"] = serd.Parameters
83050	}
83051	if serd.Annotations != nil {
83052		objectMap["annotations"] = serd.Annotations
83053	}
83054	if serd.Type != "" {
83055		objectMap["type"] = serd.Type
83056	}
83057	for k, v := range serd.AdditionalProperties {
83058		objectMap[k] = v
83059	}
83060	return json.Marshal(objectMap)
83061}
83062
83063// AsResponsysObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83064func (serd SapEccResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
83065	return nil, false
83066}
83067
83068// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83069func (serd SapEccResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
83070	return nil, false
83071}
83072
83073// AsVerticaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83074func (serd SapEccResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
83075	return nil, false
83076}
83077
83078// AsNetezzaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83079func (serd SapEccResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
83080	return nil, false
83081}
83082
83083// AsZohoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83084func (serd SapEccResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
83085	return nil, false
83086}
83087
83088// AsXeroObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83089func (serd SapEccResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
83090	return nil, false
83091}
83092
83093// AsSquareObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83094func (serd SapEccResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
83095	return nil, false
83096}
83097
83098// AsSparkObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83099func (serd SapEccResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
83100	return nil, false
83101}
83102
83103// AsShopifyObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83104func (serd SapEccResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
83105	return nil, false
83106}
83107
83108// AsServiceNowObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83109func (serd SapEccResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
83110	return nil, false
83111}
83112
83113// AsQuickBooksObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83114func (serd SapEccResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
83115	return nil, false
83116}
83117
83118// AsPrestoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83119func (serd SapEccResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
83120	return nil, false
83121}
83122
83123// AsPhoenixObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83124func (serd SapEccResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
83125	return nil, false
83126}
83127
83128// AsPaypalObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83129func (serd SapEccResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
83130	return nil, false
83131}
83132
83133// AsMarketoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83134func (serd SapEccResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
83135	return nil, false
83136}
83137
83138// AsMariaDBTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83139func (serd SapEccResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
83140	return nil, false
83141}
83142
83143// AsMagentoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83144func (serd SapEccResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
83145	return nil, false
83146}
83147
83148// AsJiraObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83149func (serd SapEccResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
83150	return nil, false
83151}
83152
83153// AsImpalaObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83154func (serd SapEccResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
83155	return nil, false
83156}
83157
83158// AsHubspotObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83159func (serd SapEccResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
83160	return nil, false
83161}
83162
83163// AsHiveObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83164func (serd SapEccResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
83165	return nil, false
83166}
83167
83168// AsHBaseObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83169func (serd SapEccResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
83170	return nil, false
83171}
83172
83173// AsGreenplumTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83174func (serd SapEccResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
83175	return nil, false
83176}
83177
83178// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83179func (serd SapEccResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
83180	return nil, false
83181}
83182
83183// AsEloquaObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83184func (serd SapEccResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
83185	return nil, false
83186}
83187
83188// AsDrillTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83189func (serd SapEccResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
83190	return nil, false
83191}
83192
83193// AsCouchbaseTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83194func (serd SapEccResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
83195	return nil, false
83196}
83197
83198// AsConcurObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83199func (serd SapEccResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
83200	return nil, false
83201}
83202
83203// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83204func (serd SapEccResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
83205	return nil, false
83206}
83207
83208// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83209func (serd SapEccResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
83210	return nil, false
83211}
83212
83213// AsHTTPDataset is the BasicDataset implementation for SapEccResourceDataset.
83214func (serd SapEccResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
83215	return nil, false
83216}
83217
83218// AsAzureSearchIndexDataset is the BasicDataset implementation for SapEccResourceDataset.
83219func (serd SapEccResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
83220	return nil, false
83221}
83222
83223// AsWebTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83224func (serd SapEccResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
83225	return nil, false
83226}
83227
83228// AsSQLServerTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83229func (serd SapEccResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
83230	return nil, false
83231}
83232
83233// AsSapEccResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
83234func (serd SapEccResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
83235	return &serd, true
83236}
83237
83238// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
83239func (serd SapEccResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
83240	return nil, false
83241}
83242
83243// AsSalesforceObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83244func (serd SapEccResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
83245	return nil, false
83246}
83247
83248// AsRelationalTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83249func (serd SapEccResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
83250	return nil, false
83251}
83252
83253// AsAzureMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83254func (serd SapEccResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
83255	return nil, false
83256}
83257
83258// AsOracleTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83259func (serd SapEccResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
83260	return nil, false
83261}
83262
83263// AsODataResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
83264func (serd SapEccResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
83265	return nil, false
83266}
83267
83268// AsMongoDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
83269func (serd SapEccResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
83270	return nil, false
83271}
83272
83273// AsFileShareDataset is the BasicDataset implementation for SapEccResourceDataset.
83274func (serd SapEccResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
83275	return nil, false
83276}
83277
83278// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapEccResourceDataset.
83279func (serd SapEccResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
83280	return nil, false
83281}
83282
83283// AsDynamicsEntityDataset is the BasicDataset implementation for SapEccResourceDataset.
83284func (serd SapEccResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
83285	return nil, false
83286}
83287
83288// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
83289func (serd SapEccResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
83290	return nil, false
83291}
83292
83293// AsCustomDataset is the BasicDataset implementation for SapEccResourceDataset.
83294func (serd SapEccResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
83295	return nil, false
83296}
83297
83298// AsCassandraTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83299func (serd SapEccResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
83300	return nil, false
83301}
83302
83303// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83304func (serd SapEccResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
83305	return nil, false
83306}
83307
83308// AsAzureSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83309func (serd SapEccResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
83310	return nil, false
83311}
83312
83313// AsAzureTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83314func (serd SapEccResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
83315	return nil, false
83316}
83317
83318// AsAzureBlobDataset is the BasicDataset implementation for SapEccResourceDataset.
83319func (serd SapEccResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
83320	return nil, false
83321}
83322
83323// AsAmazonS3Dataset is the BasicDataset implementation for SapEccResourceDataset.
83324func (serd SapEccResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
83325	return nil, false
83326}
83327
83328// AsDataset is the BasicDataset implementation for SapEccResourceDataset.
83329func (serd SapEccResourceDataset) AsDataset() (*Dataset, bool) {
83330	return nil, false
83331}
83332
83333// AsBasicDataset is the BasicDataset implementation for SapEccResourceDataset.
83334func (serd SapEccResourceDataset) AsBasicDataset() (BasicDataset, bool) {
83335	return &serd, true
83336}
83337
83338// UnmarshalJSON is the custom unmarshaler for SapEccResourceDataset struct.
83339func (serd *SapEccResourceDataset) UnmarshalJSON(body []byte) error {
83340	var m map[string]*json.RawMessage
83341	err := json.Unmarshal(body, &m)
83342	if err != nil {
83343		return err
83344	}
83345	for k, v := range m {
83346		switch k {
83347		case "typeProperties":
83348			if v != nil {
83349				var sapEccResourceDatasetTypeProperties SapEccResourceDatasetTypeProperties
83350				err = json.Unmarshal(*v, &sapEccResourceDatasetTypeProperties)
83351				if err != nil {
83352					return err
83353				}
83354				serd.SapEccResourceDatasetTypeProperties = &sapEccResourceDatasetTypeProperties
83355			}
83356		default:
83357			if v != nil {
83358				var additionalProperties interface{}
83359				err = json.Unmarshal(*v, &additionalProperties)
83360				if err != nil {
83361					return err
83362				}
83363				if serd.AdditionalProperties == nil {
83364					serd.AdditionalProperties = make(map[string]interface{})
83365				}
83366				serd.AdditionalProperties[k] = additionalProperties
83367			}
83368		case "description":
83369			if v != nil {
83370				var description string
83371				err = json.Unmarshal(*v, &description)
83372				if err != nil {
83373					return err
83374				}
83375				serd.Description = &description
83376			}
83377		case "structure":
83378			if v != nil {
83379				var structure interface{}
83380				err = json.Unmarshal(*v, &structure)
83381				if err != nil {
83382					return err
83383				}
83384				serd.Structure = structure
83385			}
83386		case "linkedServiceName":
83387			if v != nil {
83388				var linkedServiceName LinkedServiceReference
83389				err = json.Unmarshal(*v, &linkedServiceName)
83390				if err != nil {
83391					return err
83392				}
83393				serd.LinkedServiceName = &linkedServiceName
83394			}
83395		case "parameters":
83396			if v != nil {
83397				var parameters map[string]*ParameterSpecification
83398				err = json.Unmarshal(*v, &parameters)
83399				if err != nil {
83400					return err
83401				}
83402				serd.Parameters = parameters
83403			}
83404		case "annotations":
83405			if v != nil {
83406				var annotations []interface{}
83407				err = json.Unmarshal(*v, &annotations)
83408				if err != nil {
83409					return err
83410				}
83411				serd.Annotations = &annotations
83412			}
83413		case "type":
83414			if v != nil {
83415				var typeVar TypeBasicDataset
83416				err = json.Unmarshal(*v, &typeVar)
83417				if err != nil {
83418					return err
83419				}
83420				serd.Type = typeVar
83421			}
83422		}
83423	}
83424
83425	return nil
83426}
83427
83428// SapEccResourceDatasetTypeProperties sap ECC OData resource dataset properties.
83429type SapEccResourceDatasetTypeProperties struct {
83430	// Path - The path of the SAP ECC OData entity. Type: string (or Expression with resultType string).
83431	Path interface{} `json:"path,omitempty"`
83432}
83433
83434// SapEccSource a copy activity source for SAP ECC source.
83435type SapEccSource struct {
83436	// Query - SAP ECC OData query. For example, "$top=1". Type: string (or Expression with resultType string).
83437	Query interface{} `json:"query,omitempty"`
83438	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83439	AdditionalProperties map[string]interface{} `json:""`
83440	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
83441	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
83442	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
83443	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
83444	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
83445	Type TypeBasicCopySource `json:"type,omitempty"`
83446}
83447
83448// MarshalJSON is the custom marshaler for SapEccSource.
83449func (ses SapEccSource) MarshalJSON() ([]byte, error) {
83450	ses.Type = TypeSapEccSource
83451	objectMap := make(map[string]interface{})
83452	if ses.Query != nil {
83453		objectMap["query"] = ses.Query
83454	}
83455	if ses.SourceRetryCount != nil {
83456		objectMap["sourceRetryCount"] = ses.SourceRetryCount
83457	}
83458	if ses.SourceRetryWait != nil {
83459		objectMap["sourceRetryWait"] = ses.SourceRetryWait
83460	}
83461	if ses.Type != "" {
83462		objectMap["type"] = ses.Type
83463	}
83464	for k, v := range ses.AdditionalProperties {
83465		objectMap[k] = v
83466	}
83467	return json.Marshal(objectMap)
83468}
83469
83470// AsAmazonRedshiftSource is the BasicCopySource implementation for SapEccSource.
83471func (ses SapEccSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
83472	return nil, false
83473}
83474
83475// AsResponsysSource is the BasicCopySource implementation for SapEccSource.
83476func (ses SapEccSource) AsResponsysSource() (*ResponsysSource, bool) {
83477	return nil, false
83478}
83479
83480// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapEccSource.
83481func (ses SapEccSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
83482	return nil, false
83483}
83484
83485// AsVerticaSource is the BasicCopySource implementation for SapEccSource.
83486func (ses SapEccSource) AsVerticaSource() (*VerticaSource, bool) {
83487	return nil, false
83488}
83489
83490// AsNetezzaSource is the BasicCopySource implementation for SapEccSource.
83491func (ses SapEccSource) AsNetezzaSource() (*NetezzaSource, bool) {
83492	return nil, false
83493}
83494
83495// AsZohoSource is the BasicCopySource implementation for SapEccSource.
83496func (ses SapEccSource) AsZohoSource() (*ZohoSource, bool) {
83497	return nil, false
83498}
83499
83500// AsXeroSource is the BasicCopySource implementation for SapEccSource.
83501func (ses SapEccSource) AsXeroSource() (*XeroSource, bool) {
83502	return nil, false
83503}
83504
83505// AsSquareSource is the BasicCopySource implementation for SapEccSource.
83506func (ses SapEccSource) AsSquareSource() (*SquareSource, bool) {
83507	return nil, false
83508}
83509
83510// AsSparkSource is the BasicCopySource implementation for SapEccSource.
83511func (ses SapEccSource) AsSparkSource() (*SparkSource, bool) {
83512	return nil, false
83513}
83514
83515// AsShopifySource is the BasicCopySource implementation for SapEccSource.
83516func (ses SapEccSource) AsShopifySource() (*ShopifySource, bool) {
83517	return nil, false
83518}
83519
83520// AsServiceNowSource is the BasicCopySource implementation for SapEccSource.
83521func (ses SapEccSource) AsServiceNowSource() (*ServiceNowSource, bool) {
83522	return nil, false
83523}
83524
83525// AsQuickBooksSource is the BasicCopySource implementation for SapEccSource.
83526func (ses SapEccSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
83527	return nil, false
83528}
83529
83530// AsPrestoSource is the BasicCopySource implementation for SapEccSource.
83531func (ses SapEccSource) AsPrestoSource() (*PrestoSource, bool) {
83532	return nil, false
83533}
83534
83535// AsPhoenixSource is the BasicCopySource implementation for SapEccSource.
83536func (ses SapEccSource) AsPhoenixSource() (*PhoenixSource, bool) {
83537	return nil, false
83538}
83539
83540// AsPaypalSource is the BasicCopySource implementation for SapEccSource.
83541func (ses SapEccSource) AsPaypalSource() (*PaypalSource, bool) {
83542	return nil, false
83543}
83544
83545// AsMarketoSource is the BasicCopySource implementation for SapEccSource.
83546func (ses SapEccSource) AsMarketoSource() (*MarketoSource, bool) {
83547	return nil, false
83548}
83549
83550// AsMariaDBSource is the BasicCopySource implementation for SapEccSource.
83551func (ses SapEccSource) AsMariaDBSource() (*MariaDBSource, bool) {
83552	return nil, false
83553}
83554
83555// AsMagentoSource is the BasicCopySource implementation for SapEccSource.
83556func (ses SapEccSource) AsMagentoSource() (*MagentoSource, bool) {
83557	return nil, false
83558}
83559
83560// AsJiraSource is the BasicCopySource implementation for SapEccSource.
83561func (ses SapEccSource) AsJiraSource() (*JiraSource, bool) {
83562	return nil, false
83563}
83564
83565// AsImpalaSource is the BasicCopySource implementation for SapEccSource.
83566func (ses SapEccSource) AsImpalaSource() (*ImpalaSource, bool) {
83567	return nil, false
83568}
83569
83570// AsHubspotSource is the BasicCopySource implementation for SapEccSource.
83571func (ses SapEccSource) AsHubspotSource() (*HubspotSource, bool) {
83572	return nil, false
83573}
83574
83575// AsHiveSource is the BasicCopySource implementation for SapEccSource.
83576func (ses SapEccSource) AsHiveSource() (*HiveSource, bool) {
83577	return nil, false
83578}
83579
83580// AsHBaseSource is the BasicCopySource implementation for SapEccSource.
83581func (ses SapEccSource) AsHBaseSource() (*HBaseSource, bool) {
83582	return nil, false
83583}
83584
83585// AsGreenplumSource is the BasicCopySource implementation for SapEccSource.
83586func (ses SapEccSource) AsGreenplumSource() (*GreenplumSource, bool) {
83587	return nil, false
83588}
83589
83590// AsGoogleBigQuerySource is the BasicCopySource implementation for SapEccSource.
83591func (ses SapEccSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
83592	return nil, false
83593}
83594
83595// AsEloquaSource is the BasicCopySource implementation for SapEccSource.
83596func (ses SapEccSource) AsEloquaSource() (*EloquaSource, bool) {
83597	return nil, false
83598}
83599
83600// AsDrillSource is the BasicCopySource implementation for SapEccSource.
83601func (ses SapEccSource) AsDrillSource() (*DrillSource, bool) {
83602	return nil, false
83603}
83604
83605// AsCouchbaseSource is the BasicCopySource implementation for SapEccSource.
83606func (ses SapEccSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
83607	return nil, false
83608}
83609
83610// AsConcurSource is the BasicCopySource implementation for SapEccSource.
83611func (ses SapEccSource) AsConcurSource() (*ConcurSource, bool) {
83612	return nil, false
83613}
83614
83615// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapEccSource.
83616func (ses SapEccSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
83617	return nil, false
83618}
83619
83620// AsAmazonMWSSource is the BasicCopySource implementation for SapEccSource.
83621func (ses SapEccSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
83622	return nil, false
83623}
83624
83625// AsHTTPSource is the BasicCopySource implementation for SapEccSource.
83626func (ses SapEccSource) AsHTTPSource() (*HTTPSource, bool) {
83627	return nil, false
83628}
83629
83630// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapEccSource.
83631func (ses SapEccSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
83632	return nil, false
83633}
83634
83635// AsMongoDbSource is the BasicCopySource implementation for SapEccSource.
83636func (ses SapEccSource) AsMongoDbSource() (*MongoDbSource, bool) {
83637	return nil, false
83638}
83639
83640// AsCassandraSource is the BasicCopySource implementation for SapEccSource.
83641func (ses SapEccSource) AsCassandraSource() (*CassandraSource, bool) {
83642	return nil, false
83643}
83644
83645// AsWebSource is the BasicCopySource implementation for SapEccSource.
83646func (ses SapEccSource) AsWebSource() (*WebSource, bool) {
83647	return nil, false
83648}
83649
83650// AsOracleSource is the BasicCopySource implementation for SapEccSource.
83651func (ses SapEccSource) AsOracleSource() (*OracleSource, bool) {
83652	return nil, false
83653}
83654
83655// AsAzureMySQLSource is the BasicCopySource implementation for SapEccSource.
83656func (ses SapEccSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
83657	return nil, false
83658}
83659
83660// AsHdfsSource is the BasicCopySource implementation for SapEccSource.
83661func (ses SapEccSource) AsHdfsSource() (*HdfsSource, bool) {
83662	return nil, false
83663}
83664
83665// AsFileSystemSource is the BasicCopySource implementation for SapEccSource.
83666func (ses SapEccSource) AsFileSystemSource() (*FileSystemSource, bool) {
83667	return nil, false
83668}
83669
83670// AsSQLDWSource is the BasicCopySource implementation for SapEccSource.
83671func (ses SapEccSource) AsSQLDWSource() (*SQLDWSource, bool) {
83672	return nil, false
83673}
83674
83675// AsSQLSource is the BasicCopySource implementation for SapEccSource.
83676func (ses SapEccSource) AsSQLSource() (*SQLSource, bool) {
83677	return nil, false
83678}
83679
83680// AsSapEccSource is the BasicCopySource implementation for SapEccSource.
83681func (ses SapEccSource) AsSapEccSource() (*SapEccSource, bool) {
83682	return &ses, true
83683}
83684
83685// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapEccSource.
83686func (ses SapEccSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
83687	return nil, false
83688}
83689
83690// AsSalesforceSource is the BasicCopySource implementation for SapEccSource.
83691func (ses SapEccSource) AsSalesforceSource() (*SalesforceSource, bool) {
83692	return nil, false
83693}
83694
83695// AsRelationalSource is the BasicCopySource implementation for SapEccSource.
83696func (ses SapEccSource) AsRelationalSource() (*RelationalSource, bool) {
83697	return nil, false
83698}
83699
83700// AsDynamicsSource is the BasicCopySource implementation for SapEccSource.
83701func (ses SapEccSource) AsDynamicsSource() (*DynamicsSource, bool) {
83702	return nil, false
83703}
83704
83705// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapEccSource.
83706func (ses SapEccSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
83707	return nil, false
83708}
83709
83710// AsBlobSource is the BasicCopySource implementation for SapEccSource.
83711func (ses SapEccSource) AsBlobSource() (*BlobSource, bool) {
83712	return nil, false
83713}
83714
83715// AsAzureTableSource is the BasicCopySource implementation for SapEccSource.
83716func (ses SapEccSource) AsAzureTableSource() (*AzureTableSource, bool) {
83717	return nil, false
83718}
83719
83720// AsCopySource is the BasicCopySource implementation for SapEccSource.
83721func (ses SapEccSource) AsCopySource() (*CopySource, bool) {
83722	return nil, false
83723}
83724
83725// AsBasicCopySource is the BasicCopySource implementation for SapEccSource.
83726func (ses SapEccSource) AsBasicCopySource() (BasicCopySource, bool) {
83727	return &ses, true
83728}
83729
83730// UnmarshalJSON is the custom unmarshaler for SapEccSource struct.
83731func (ses *SapEccSource) UnmarshalJSON(body []byte) error {
83732	var m map[string]*json.RawMessage
83733	err := json.Unmarshal(body, &m)
83734	if err != nil {
83735		return err
83736	}
83737	for k, v := range m {
83738		switch k {
83739		case "query":
83740			if v != nil {
83741				var query interface{}
83742				err = json.Unmarshal(*v, &query)
83743				if err != nil {
83744					return err
83745				}
83746				ses.Query = query
83747			}
83748		default:
83749			if v != nil {
83750				var additionalProperties interface{}
83751				err = json.Unmarshal(*v, &additionalProperties)
83752				if err != nil {
83753					return err
83754				}
83755				if ses.AdditionalProperties == nil {
83756					ses.AdditionalProperties = make(map[string]interface{})
83757				}
83758				ses.AdditionalProperties[k] = additionalProperties
83759			}
83760		case "sourceRetryCount":
83761			if v != nil {
83762				var sourceRetryCount interface{}
83763				err = json.Unmarshal(*v, &sourceRetryCount)
83764				if err != nil {
83765					return err
83766				}
83767				ses.SourceRetryCount = sourceRetryCount
83768			}
83769		case "sourceRetryWait":
83770			if v != nil {
83771				var sourceRetryWait interface{}
83772				err = json.Unmarshal(*v, &sourceRetryWait)
83773				if err != nil {
83774					return err
83775				}
83776				ses.SourceRetryWait = sourceRetryWait
83777			}
83778		case "type":
83779			if v != nil {
83780				var typeVar TypeBasicCopySource
83781				err = json.Unmarshal(*v, &typeVar)
83782				if err != nil {
83783					return err
83784				}
83785				ses.Type = typeVar
83786			}
83787		}
83788	}
83789
83790	return nil
83791}
83792
83793// SapHanaLinkedService SAP HANA Linked Service.
83794type SapHanaLinkedService struct {
83795	// SapHanaLinkedServiceProperties - Properties specific to this linked service type.
83796	*SapHanaLinkedServiceProperties `json:"typeProperties,omitempty"`
83797	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83798	AdditionalProperties map[string]interface{} `json:""`
83799	// ConnectVia - The integration runtime reference.
83800	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
83801	// Description - Linked service description.
83802	Description *string `json:"description,omitempty"`
83803	// Parameters - Parameters for linked service.
83804	Parameters map[string]*ParameterSpecification `json:"parameters"`
83805	// Annotations - List of tags that can be used for describing the Dataset.
83806	Annotations *[]interface{} `json:"annotations,omitempty"`
83807	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
83808	Type TypeBasicLinkedService `json:"type,omitempty"`
83809}
83810
83811// MarshalJSON is the custom marshaler for SapHanaLinkedService.
83812func (shls SapHanaLinkedService) MarshalJSON() ([]byte, error) {
83813	shls.Type = TypeSapHana
83814	objectMap := make(map[string]interface{})
83815	if shls.SapHanaLinkedServiceProperties != nil {
83816		objectMap["typeProperties"] = shls.SapHanaLinkedServiceProperties
83817	}
83818	if shls.ConnectVia != nil {
83819		objectMap["connectVia"] = shls.ConnectVia
83820	}
83821	if shls.Description != nil {
83822		objectMap["description"] = shls.Description
83823	}
83824	if shls.Parameters != nil {
83825		objectMap["parameters"] = shls.Parameters
83826	}
83827	if shls.Annotations != nil {
83828		objectMap["annotations"] = shls.Annotations
83829	}
83830	if shls.Type != "" {
83831		objectMap["type"] = shls.Type
83832	}
83833	for k, v := range shls.AdditionalProperties {
83834		objectMap[k] = v
83835	}
83836	return json.Marshal(objectMap)
83837}
83838
83839// AsResponsysLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83840func (shls SapHanaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
83841	return nil, false
83842}
83843
83844// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83845func (shls SapHanaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
83846	return nil, false
83847}
83848
83849// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83850func (shls SapHanaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
83851	return nil, false
83852}
83853
83854// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83855func (shls SapHanaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
83856	return nil, false
83857}
83858
83859// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83860func (shls SapHanaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
83861	return nil, false
83862}
83863
83864// AsNetezzaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83865func (shls SapHanaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
83866	return nil, false
83867}
83868
83869// AsVerticaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83870func (shls SapHanaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
83871	return nil, false
83872}
83873
83874// AsZohoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83875func (shls SapHanaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
83876	return nil, false
83877}
83878
83879// AsXeroLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83880func (shls SapHanaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
83881	return nil, false
83882}
83883
83884// AsSquareLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83885func (shls SapHanaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
83886	return nil, false
83887}
83888
83889// AsSparkLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83890func (shls SapHanaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
83891	return nil, false
83892}
83893
83894// AsShopifyLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83895func (shls SapHanaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
83896	return nil, false
83897}
83898
83899// AsServiceNowLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83900func (shls SapHanaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
83901	return nil, false
83902}
83903
83904// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83905func (shls SapHanaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
83906	return nil, false
83907}
83908
83909// AsPrestoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83910func (shls SapHanaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
83911	return nil, false
83912}
83913
83914// AsPhoenixLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83915func (shls SapHanaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
83916	return nil, false
83917}
83918
83919// AsPaypalLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83920func (shls SapHanaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
83921	return nil, false
83922}
83923
83924// AsMarketoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83925func (shls SapHanaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
83926	return nil, false
83927}
83928
83929// AsMariaDBLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83930func (shls SapHanaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
83931	return nil, false
83932}
83933
83934// AsMagentoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83935func (shls SapHanaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
83936	return nil, false
83937}
83938
83939// AsJiraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83940func (shls SapHanaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
83941	return nil, false
83942}
83943
83944// AsImpalaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83945func (shls SapHanaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
83946	return nil, false
83947}
83948
83949// AsHubspotLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83950func (shls SapHanaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
83951	return nil, false
83952}
83953
83954// AsHiveLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83955func (shls SapHanaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
83956	return nil, false
83957}
83958
83959// AsHBaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83960func (shls SapHanaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
83961	return nil, false
83962}
83963
83964// AsGreenplumLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83965func (shls SapHanaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
83966	return nil, false
83967}
83968
83969// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83970func (shls SapHanaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
83971	return nil, false
83972}
83973
83974// AsEloquaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83975func (shls SapHanaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
83976	return nil, false
83977}
83978
83979// AsDrillLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83980func (shls SapHanaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
83981	return nil, false
83982}
83983
83984// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83985func (shls SapHanaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
83986	return nil, false
83987}
83988
83989// AsConcurLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83990func (shls SapHanaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
83991	return nil, false
83992}
83993
83994// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83995func (shls SapHanaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
83996	return nil, false
83997}
83998
83999// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84000func (shls SapHanaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
84001	return nil, false
84002}
84003
84004// AsSapHanaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84005func (shls SapHanaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
84006	return &shls, true
84007}
84008
84009// AsSapBWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84010func (shls SapHanaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
84011	return nil, false
84012}
84013
84014// AsSftpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84015func (shls SapHanaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
84016	return nil, false
84017}
84018
84019// AsFtpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84020func (shls SapHanaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
84021	return nil, false
84022}
84023
84024// AsHTTPLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84025func (shls SapHanaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
84026	return nil, false
84027}
84028
84029// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84030func (shls SapHanaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
84031	return nil, false
84032}
84033
84034// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84035func (shls SapHanaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
84036	return nil, false
84037}
84038
84039// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84040func (shls SapHanaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
84041	return nil, false
84042}
84043
84044// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84045func (shls SapHanaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
84046	return nil, false
84047}
84048
84049// AsSapEccLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84050func (shls SapHanaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
84051	return nil, false
84052}
84053
84054// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84055func (shls SapHanaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
84056	return nil, false
84057}
84058
84059// AsSalesforceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84060func (shls SapHanaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
84061	return nil, false
84062}
84063
84064// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84065func (shls SapHanaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
84066	return nil, false
84067}
84068
84069// AsMongoDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84070func (shls SapHanaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
84071	return nil, false
84072}
84073
84074// AsCassandraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84075func (shls SapHanaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
84076	return nil, false
84077}
84078
84079// AsWebLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84080func (shls SapHanaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
84081	return nil, false
84082}
84083
84084// AsODataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84085func (shls SapHanaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
84086	return nil, false
84087}
84088
84089// AsHdfsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84090func (shls SapHanaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
84091	return nil, false
84092}
84093
84094// AsOdbcLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84095func (shls SapHanaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
84096	return nil, false
84097}
84098
84099// AsAzureMLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84100func (shls SapHanaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
84101	return nil, false
84102}
84103
84104// AsTeradataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84105func (shls SapHanaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
84106	return nil, false
84107}
84108
84109// AsDb2LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84110func (shls SapHanaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
84111	return nil, false
84112}
84113
84114// AsSybaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84115func (shls SapHanaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
84116	return nil, false
84117}
84118
84119// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84120func (shls SapHanaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
84121	return nil, false
84122}
84123
84124// AsMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84125func (shls SapHanaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
84126	return nil, false
84127}
84128
84129// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84130func (shls SapHanaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
84131	return nil, false
84132}
84133
84134// AsOracleLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84135func (shls SapHanaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
84136	return nil, false
84137}
84138
84139// AsFileServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84140func (shls SapHanaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
84141	return nil, false
84142}
84143
84144// AsHDInsightLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84145func (shls SapHanaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
84146	return nil, false
84147}
84148
84149// AsDynamicsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84150func (shls SapHanaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
84151	return nil, false
84152}
84153
84154// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84155func (shls SapHanaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
84156	return nil, false
84157}
84158
84159// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84160func (shls SapHanaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
84161	return nil, false
84162}
84163
84164// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84165func (shls SapHanaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
84166	return nil, false
84167}
84168
84169// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84170func (shls SapHanaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
84171	return nil, false
84172}
84173
84174// AsSQLServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84175func (shls SapHanaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
84176	return nil, false
84177}
84178
84179// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84180func (shls SapHanaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
84181	return nil, false
84182}
84183
84184// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84185func (shls SapHanaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
84186	return nil, false
84187}
84188
84189// AsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84190func (shls SapHanaLinkedService) AsLinkedService() (*LinkedService, bool) {
84191	return nil, false
84192}
84193
84194// AsBasicLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84195func (shls SapHanaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
84196	return &shls, true
84197}
84198
84199// UnmarshalJSON is the custom unmarshaler for SapHanaLinkedService struct.
84200func (shls *SapHanaLinkedService) UnmarshalJSON(body []byte) error {
84201	var m map[string]*json.RawMessage
84202	err := json.Unmarshal(body, &m)
84203	if err != nil {
84204		return err
84205	}
84206	for k, v := range m {
84207		switch k {
84208		case "typeProperties":
84209			if v != nil {
84210				var sapHanaLinkedServiceProperties SapHanaLinkedServiceProperties
84211				err = json.Unmarshal(*v, &sapHanaLinkedServiceProperties)
84212				if err != nil {
84213					return err
84214				}
84215				shls.SapHanaLinkedServiceProperties = &sapHanaLinkedServiceProperties
84216			}
84217		default:
84218			if v != nil {
84219				var additionalProperties interface{}
84220				err = json.Unmarshal(*v, &additionalProperties)
84221				if err != nil {
84222					return err
84223				}
84224				if shls.AdditionalProperties == nil {
84225					shls.AdditionalProperties = make(map[string]interface{})
84226				}
84227				shls.AdditionalProperties[k] = additionalProperties
84228			}
84229		case "connectVia":
84230			if v != nil {
84231				var connectVia IntegrationRuntimeReference
84232				err = json.Unmarshal(*v, &connectVia)
84233				if err != nil {
84234					return err
84235				}
84236				shls.ConnectVia = &connectVia
84237			}
84238		case "description":
84239			if v != nil {
84240				var description string
84241				err = json.Unmarshal(*v, &description)
84242				if err != nil {
84243					return err
84244				}
84245				shls.Description = &description
84246			}
84247		case "parameters":
84248			if v != nil {
84249				var parameters map[string]*ParameterSpecification
84250				err = json.Unmarshal(*v, &parameters)
84251				if err != nil {
84252					return err
84253				}
84254				shls.Parameters = parameters
84255			}
84256		case "annotations":
84257			if v != nil {
84258				var annotations []interface{}
84259				err = json.Unmarshal(*v, &annotations)
84260				if err != nil {
84261					return err
84262				}
84263				shls.Annotations = &annotations
84264			}
84265		case "type":
84266			if v != nil {
84267				var typeVar TypeBasicLinkedService
84268				err = json.Unmarshal(*v, &typeVar)
84269				if err != nil {
84270					return err
84271				}
84272				shls.Type = typeVar
84273			}
84274		}
84275	}
84276
84277	return nil
84278}
84279
84280// SapHanaLinkedServiceProperties properties specific to this linked service type.
84281type SapHanaLinkedServiceProperties struct {
84282	// Server - Host name of the SAP HANA server. Type: string (or Expression with resultType string).
84283	Server interface{} `json:"server,omitempty"`
84284	// AuthenticationType - The authentication type to be used to connect to the SAP HANA server. Possible values include: 'SapHanaAuthenticationTypeBasic', 'SapHanaAuthenticationTypeWindows'
84285	AuthenticationType SapHanaAuthenticationType `json:"authenticationType,omitempty"`
84286	// UserName - Username to access the SAP HANA server. Type: string (or Expression with resultType string).
84287	UserName interface{} `json:"userName,omitempty"`
84288	// Password - Password to access the SAP HANA server.
84289	Password BasicSecretBase `json:"password,omitempty"`
84290	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
84291	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
84292}
84293
84294// UnmarshalJSON is the custom unmarshaler for SapHanaLinkedServiceProperties struct.
84295func (shlsp *SapHanaLinkedServiceProperties) UnmarshalJSON(body []byte) error {
84296	var m map[string]*json.RawMessage
84297	err := json.Unmarshal(body, &m)
84298	if err != nil {
84299		return err
84300	}
84301	for k, v := range m {
84302		switch k {
84303		case "server":
84304			if v != nil {
84305				var server interface{}
84306				err = json.Unmarshal(*v, &server)
84307				if err != nil {
84308					return err
84309				}
84310				shlsp.Server = server
84311			}
84312		case "authenticationType":
84313			if v != nil {
84314				var authenticationType SapHanaAuthenticationType
84315				err = json.Unmarshal(*v, &authenticationType)
84316				if err != nil {
84317					return err
84318				}
84319				shlsp.AuthenticationType = authenticationType
84320			}
84321		case "userName":
84322			if v != nil {
84323				var userName interface{}
84324				err = json.Unmarshal(*v, &userName)
84325				if err != nil {
84326					return err
84327				}
84328				shlsp.UserName = userName
84329			}
84330		case "password":
84331			if v != nil {
84332				password, err := unmarshalBasicSecretBase(*v)
84333				if err != nil {
84334					return err
84335				}
84336				shlsp.Password = password
84337			}
84338		case "encryptedCredential":
84339			if v != nil {
84340				var encryptedCredential interface{}
84341				err = json.Unmarshal(*v, &encryptedCredential)
84342				if err != nil {
84343					return err
84344				}
84345				shlsp.EncryptedCredential = encryptedCredential
84346			}
84347		}
84348	}
84349
84350	return nil
84351}
84352
84353// ScheduleTrigger trigger that creates pipeline runs periodically, on schedule.
84354type ScheduleTrigger struct {
84355	// ScheduleTriggerTypeProperties - Schedule Trigger properties.
84356	*ScheduleTriggerTypeProperties `json:"typeProperties,omitempty"`
84357	// Pipelines - Pipelines that need to be started.
84358	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
84359	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84360	AdditionalProperties map[string]interface{} `json:""`
84361	// Description - Trigger description.
84362	Description *string `json:"description,omitempty"`
84363	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
84364	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
84365	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
84366	Type TypeBasicTrigger `json:"type,omitempty"`
84367}
84368
84369// MarshalJSON is the custom marshaler for ScheduleTrigger.
84370func (st ScheduleTrigger) MarshalJSON() ([]byte, error) {
84371	st.Type = TypeScheduleTrigger
84372	objectMap := make(map[string]interface{})
84373	if st.ScheduleTriggerTypeProperties != nil {
84374		objectMap["typeProperties"] = st.ScheduleTriggerTypeProperties
84375	}
84376	if st.Pipelines != nil {
84377		objectMap["pipelines"] = st.Pipelines
84378	}
84379	if st.Description != nil {
84380		objectMap["description"] = st.Description
84381	}
84382	if st.Type != "" {
84383		objectMap["type"] = st.Type
84384	}
84385	for k, v := range st.AdditionalProperties {
84386		objectMap[k] = v
84387	}
84388	return json.Marshal(objectMap)
84389}
84390
84391// AsTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger.
84392func (st ScheduleTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
84393	return nil, false
84394}
84395
84396// AsBlobEventsTrigger is the BasicTrigger implementation for ScheduleTrigger.
84397func (st ScheduleTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
84398	return nil, false
84399}
84400
84401// AsBlobTrigger is the BasicTrigger implementation for ScheduleTrigger.
84402func (st ScheduleTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
84403	return nil, false
84404}
84405
84406// AsScheduleTrigger is the BasicTrigger implementation for ScheduleTrigger.
84407func (st ScheduleTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
84408	return &st, true
84409}
84410
84411// AsMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger.
84412func (st ScheduleTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
84413	return nil, false
84414}
84415
84416// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger.
84417func (st ScheduleTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
84418	return &st, true
84419}
84420
84421// AsTrigger is the BasicTrigger implementation for ScheduleTrigger.
84422func (st ScheduleTrigger) AsTrigger() (*Trigger, bool) {
84423	return nil, false
84424}
84425
84426// AsBasicTrigger is the BasicTrigger implementation for ScheduleTrigger.
84427func (st ScheduleTrigger) AsBasicTrigger() (BasicTrigger, bool) {
84428	return &st, true
84429}
84430
84431// UnmarshalJSON is the custom unmarshaler for ScheduleTrigger struct.
84432func (st *ScheduleTrigger) UnmarshalJSON(body []byte) error {
84433	var m map[string]*json.RawMessage
84434	err := json.Unmarshal(body, &m)
84435	if err != nil {
84436		return err
84437	}
84438	for k, v := range m {
84439		switch k {
84440		case "typeProperties":
84441			if v != nil {
84442				var scheduleTriggerTypeProperties ScheduleTriggerTypeProperties
84443				err = json.Unmarshal(*v, &scheduleTriggerTypeProperties)
84444				if err != nil {
84445					return err
84446				}
84447				st.ScheduleTriggerTypeProperties = &scheduleTriggerTypeProperties
84448			}
84449		case "pipelines":
84450			if v != nil {
84451				var pipelines []TriggerPipelineReference
84452				err = json.Unmarshal(*v, &pipelines)
84453				if err != nil {
84454					return err
84455				}
84456				st.Pipelines = &pipelines
84457			}
84458		default:
84459			if v != nil {
84460				var additionalProperties interface{}
84461				err = json.Unmarshal(*v, &additionalProperties)
84462				if err != nil {
84463					return err
84464				}
84465				if st.AdditionalProperties == nil {
84466					st.AdditionalProperties = make(map[string]interface{})
84467				}
84468				st.AdditionalProperties[k] = additionalProperties
84469			}
84470		case "description":
84471			if v != nil {
84472				var description string
84473				err = json.Unmarshal(*v, &description)
84474				if err != nil {
84475					return err
84476				}
84477				st.Description = &description
84478			}
84479		case "runtimeState":
84480			if v != nil {
84481				var runtimeState TriggerRuntimeState
84482				err = json.Unmarshal(*v, &runtimeState)
84483				if err != nil {
84484					return err
84485				}
84486				st.RuntimeState = runtimeState
84487			}
84488		case "type":
84489			if v != nil {
84490				var typeVar TypeBasicTrigger
84491				err = json.Unmarshal(*v, &typeVar)
84492				if err != nil {
84493					return err
84494				}
84495				st.Type = typeVar
84496			}
84497		}
84498	}
84499
84500	return nil
84501}
84502
84503// ScheduleTriggerRecurrence the workflow trigger recurrence.
84504type ScheduleTriggerRecurrence struct {
84505	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84506	AdditionalProperties map[string]interface{} `json:""`
84507	// Frequency - The frequency. Possible values include: 'NotSpecified', 'Minute', 'Hour', 'Day', 'Week', 'Month', 'Year'
84508	Frequency RecurrenceFrequency `json:"frequency,omitempty"`
84509	// Interval - The interval.
84510	Interval *int32 `json:"interval,omitempty"`
84511	// StartTime - The start time.
84512	StartTime *date.Time `json:"startTime,omitempty"`
84513	// EndTime - The end time.
84514	EndTime *date.Time `json:"endTime,omitempty"`
84515	// TimeZone - The time zone.
84516	TimeZone *string `json:"timeZone,omitempty"`
84517	// Schedule - The recurrence schedule.
84518	Schedule *RecurrenceSchedule `json:"schedule,omitempty"`
84519}
84520
84521// MarshalJSON is the custom marshaler for ScheduleTriggerRecurrence.
84522func (str ScheduleTriggerRecurrence) MarshalJSON() ([]byte, error) {
84523	objectMap := make(map[string]interface{})
84524	if str.Frequency != "" {
84525		objectMap["frequency"] = str.Frequency
84526	}
84527	if str.Interval != nil {
84528		objectMap["interval"] = str.Interval
84529	}
84530	if str.StartTime != nil {
84531		objectMap["startTime"] = str.StartTime
84532	}
84533	if str.EndTime != nil {
84534		objectMap["endTime"] = str.EndTime
84535	}
84536	if str.TimeZone != nil {
84537		objectMap["timeZone"] = str.TimeZone
84538	}
84539	if str.Schedule != nil {
84540		objectMap["schedule"] = str.Schedule
84541	}
84542	for k, v := range str.AdditionalProperties {
84543		objectMap[k] = v
84544	}
84545	return json.Marshal(objectMap)
84546}
84547
84548// UnmarshalJSON is the custom unmarshaler for ScheduleTriggerRecurrence struct.
84549func (str *ScheduleTriggerRecurrence) UnmarshalJSON(body []byte) error {
84550	var m map[string]*json.RawMessage
84551	err := json.Unmarshal(body, &m)
84552	if err != nil {
84553		return err
84554	}
84555	for k, v := range m {
84556		switch k {
84557		default:
84558			if v != nil {
84559				var additionalProperties interface{}
84560				err = json.Unmarshal(*v, &additionalProperties)
84561				if err != nil {
84562					return err
84563				}
84564				if str.AdditionalProperties == nil {
84565					str.AdditionalProperties = make(map[string]interface{})
84566				}
84567				str.AdditionalProperties[k] = additionalProperties
84568			}
84569		case "frequency":
84570			if v != nil {
84571				var frequency RecurrenceFrequency
84572				err = json.Unmarshal(*v, &frequency)
84573				if err != nil {
84574					return err
84575				}
84576				str.Frequency = frequency
84577			}
84578		case "interval":
84579			if v != nil {
84580				var interval int32
84581				err = json.Unmarshal(*v, &interval)
84582				if err != nil {
84583					return err
84584				}
84585				str.Interval = &interval
84586			}
84587		case "startTime":
84588			if v != nil {
84589				var startTime date.Time
84590				err = json.Unmarshal(*v, &startTime)
84591				if err != nil {
84592					return err
84593				}
84594				str.StartTime = &startTime
84595			}
84596		case "endTime":
84597			if v != nil {
84598				var endTime date.Time
84599				err = json.Unmarshal(*v, &endTime)
84600				if err != nil {
84601					return err
84602				}
84603				str.EndTime = &endTime
84604			}
84605		case "timeZone":
84606			if v != nil {
84607				var timeZone string
84608				err = json.Unmarshal(*v, &timeZone)
84609				if err != nil {
84610					return err
84611				}
84612				str.TimeZone = &timeZone
84613			}
84614		case "schedule":
84615			if v != nil {
84616				var schedule RecurrenceSchedule
84617				err = json.Unmarshal(*v, &schedule)
84618				if err != nil {
84619					return err
84620				}
84621				str.Schedule = &schedule
84622			}
84623		}
84624	}
84625
84626	return nil
84627}
84628
84629// ScheduleTriggerTypeProperties schedule Trigger properties.
84630type ScheduleTriggerTypeProperties struct {
84631	// Recurrence - Recurrence schedule configuration.
84632	Recurrence *ScheduleTriggerRecurrence `json:"recurrence,omitempty"`
84633}
84634
84635// BasicSecretBase the base definition of a secret type.
84636type BasicSecretBase interface {
84637	AsSecureString() (*SecureString, bool)
84638	AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool)
84639	AsSecretBase() (*SecretBase, bool)
84640}
84641
84642// SecretBase the base definition of a secret type.
84643type SecretBase struct {
84644	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
84645	Type Type `json:"type,omitempty"`
84646}
84647
84648func unmarshalBasicSecretBase(body []byte) (BasicSecretBase, error) {
84649	var m map[string]interface{}
84650	err := json.Unmarshal(body, &m)
84651	if err != nil {
84652		return nil, err
84653	}
84654
84655	switch m["type"] {
84656	case string(TypeSecureString):
84657		var ss SecureString
84658		err := json.Unmarshal(body, &ss)
84659		return ss, err
84660	case string(TypeAzureKeyVaultSecret):
84661		var akvsr AzureKeyVaultSecretReference
84662		err := json.Unmarshal(body, &akvsr)
84663		return akvsr, err
84664	default:
84665		var sb SecretBase
84666		err := json.Unmarshal(body, &sb)
84667		return sb, err
84668	}
84669}
84670func unmarshalBasicSecretBaseArray(body []byte) ([]BasicSecretBase, error) {
84671	var rawMessages []*json.RawMessage
84672	err := json.Unmarshal(body, &rawMessages)
84673	if err != nil {
84674		return nil, err
84675	}
84676
84677	sbArray := make([]BasicSecretBase, len(rawMessages))
84678
84679	for index, rawMessage := range rawMessages {
84680		sb, err := unmarshalBasicSecretBase(*rawMessage)
84681		if err != nil {
84682			return nil, err
84683		}
84684		sbArray[index] = sb
84685	}
84686	return sbArray, nil
84687}
84688
84689// MarshalJSON is the custom marshaler for SecretBase.
84690func (sb SecretBase) MarshalJSON() ([]byte, error) {
84691	sb.Type = TypeSecretBase
84692	objectMap := make(map[string]interface{})
84693	if sb.Type != "" {
84694		objectMap["type"] = sb.Type
84695	}
84696	return json.Marshal(objectMap)
84697}
84698
84699// AsSecureString is the BasicSecretBase implementation for SecretBase.
84700func (sb SecretBase) AsSecureString() (*SecureString, bool) {
84701	return nil, false
84702}
84703
84704// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecretBase.
84705func (sb SecretBase) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
84706	return nil, false
84707}
84708
84709// AsSecretBase is the BasicSecretBase implementation for SecretBase.
84710func (sb SecretBase) AsSecretBase() (*SecretBase, bool) {
84711	return &sb, true
84712}
84713
84714// AsBasicSecretBase is the BasicSecretBase implementation for SecretBase.
84715func (sb SecretBase) AsBasicSecretBase() (BasicSecretBase, bool) {
84716	return &sb, true
84717}
84718
84719// SecureString azure Data Factory secure string definition. The string value will be masked with asterisks
84720// '*' during Get or List API calls.
84721type SecureString struct {
84722	// Value - Value of secure string.
84723	Value *string `json:"value,omitempty"`
84724	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
84725	Type Type `json:"type,omitempty"`
84726}
84727
84728// MarshalJSON is the custom marshaler for SecureString.
84729func (ss SecureString) MarshalJSON() ([]byte, error) {
84730	ss.Type = TypeSecureString
84731	objectMap := make(map[string]interface{})
84732	if ss.Value != nil {
84733		objectMap["value"] = ss.Value
84734	}
84735	if ss.Type != "" {
84736		objectMap["type"] = ss.Type
84737	}
84738	return json.Marshal(objectMap)
84739}
84740
84741// AsSecureString is the BasicSecretBase implementation for SecureString.
84742func (ss SecureString) AsSecureString() (*SecureString, bool) {
84743	return &ss, true
84744}
84745
84746// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecureString.
84747func (ss SecureString) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
84748	return nil, false
84749}
84750
84751// AsSecretBase is the BasicSecretBase implementation for SecureString.
84752func (ss SecureString) AsSecretBase() (*SecretBase, bool) {
84753	return nil, false
84754}
84755
84756// AsBasicSecretBase is the BasicSecretBase implementation for SecureString.
84757func (ss SecureString) AsBasicSecretBase() (BasicSecretBase, bool) {
84758	return &ss, true
84759}
84760
84761// SelfHostedIntegrationRuntime self-hosted integration runtime.
84762type SelfHostedIntegrationRuntime struct {
84763	// LinkedIntegrationRuntimeTypeProperties - When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime.
84764	*LinkedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"`
84765	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84766	AdditionalProperties map[string]interface{} `json:""`
84767	// Description - Integration runtime description.
84768	Description *string `json:"description,omitempty"`
84769	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
84770	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
84771}
84772
84773// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntime.
84774func (shir SelfHostedIntegrationRuntime) MarshalJSON() ([]byte, error) {
84775	shir.Type = TypeSelfHosted
84776	objectMap := make(map[string]interface{})
84777	if shir.LinkedIntegrationRuntimeTypeProperties != nil {
84778		objectMap["typeProperties"] = shir.LinkedIntegrationRuntimeTypeProperties
84779	}
84780	if shir.Description != nil {
84781		objectMap["description"] = shir.Description
84782	}
84783	if shir.Type != "" {
84784		objectMap["type"] = shir.Type
84785	}
84786	for k, v := range shir.AdditionalProperties {
84787		objectMap[k] = v
84788	}
84789	return json.Marshal(objectMap)
84790}
84791
84792// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
84793func (shir SelfHostedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
84794	return &shir, true
84795}
84796
84797// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
84798func (shir SelfHostedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
84799	return nil, false
84800}
84801
84802// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
84803func (shir SelfHostedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
84804	return nil, false
84805}
84806
84807// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
84808func (shir SelfHostedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
84809	return &shir, true
84810}
84811
84812// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntime struct.
84813func (shir *SelfHostedIntegrationRuntime) UnmarshalJSON(body []byte) error {
84814	var m map[string]*json.RawMessage
84815	err := json.Unmarshal(body, &m)
84816	if err != nil {
84817		return err
84818	}
84819	for k, v := range m {
84820		switch k {
84821		case "typeProperties":
84822			if v != nil {
84823				var linkedIntegrationRuntimeTypeProperties LinkedIntegrationRuntimeTypeProperties
84824				err = json.Unmarshal(*v, &linkedIntegrationRuntimeTypeProperties)
84825				if err != nil {
84826					return err
84827				}
84828				shir.LinkedIntegrationRuntimeTypeProperties = &linkedIntegrationRuntimeTypeProperties
84829			}
84830		default:
84831			if v != nil {
84832				var additionalProperties interface{}
84833				err = json.Unmarshal(*v, &additionalProperties)
84834				if err != nil {
84835					return err
84836				}
84837				if shir.AdditionalProperties == nil {
84838					shir.AdditionalProperties = make(map[string]interface{})
84839				}
84840				shir.AdditionalProperties[k] = additionalProperties
84841			}
84842		case "description":
84843			if v != nil {
84844				var description string
84845				err = json.Unmarshal(*v, &description)
84846				if err != nil {
84847					return err
84848				}
84849				shir.Description = &description
84850			}
84851		case "type":
84852			if v != nil {
84853				var typeVar TypeBasicIntegrationRuntime
84854				err = json.Unmarshal(*v, &typeVar)
84855				if err != nil {
84856					return err
84857				}
84858				shir.Type = typeVar
84859			}
84860		}
84861	}
84862
84863	return nil
84864}
84865
84866// SelfHostedIntegrationRuntimeNode properties of Self-hosted integration runtime node.
84867type SelfHostedIntegrationRuntimeNode struct {
84868	autorest.Response `json:"-"`
84869	// NodeName - READ-ONLY; Name of the integration runtime node.
84870	NodeName *string `json:"nodeName,omitempty"`
84871	// MachineName - READ-ONLY; Machine name of the integration runtime node.
84872	MachineName *string `json:"machineName,omitempty"`
84873	// HostServiceURI - READ-ONLY; URI for the host machine of the integration runtime.
84874	HostServiceURI *string `json:"hostServiceUri,omitempty"`
84875	// Status - READ-ONLY; Status of the integration runtime node. Possible values include: 'SelfHostedIntegrationRuntimeNodeStatusNeedRegistration', 'SelfHostedIntegrationRuntimeNodeStatusOnline', 'SelfHostedIntegrationRuntimeNodeStatusLimited', 'SelfHostedIntegrationRuntimeNodeStatusOffline', 'SelfHostedIntegrationRuntimeNodeStatusUpgrading', 'SelfHostedIntegrationRuntimeNodeStatusInitializing', 'SelfHostedIntegrationRuntimeNodeStatusInitializeFailed'
84876	Status SelfHostedIntegrationRuntimeNodeStatus `json:"status,omitempty"`
84877	// Capabilities - READ-ONLY; The integration runtime capabilities dictionary
84878	Capabilities map[string]*string `json:"capabilities"`
84879	// VersionStatus - READ-ONLY; Status of the integration runtime node version.
84880	VersionStatus *string `json:"versionStatus,omitempty"`
84881	// Version - READ-ONLY; Version of the integration runtime node.
84882	Version *string `json:"version,omitempty"`
84883	// RegisterTime - READ-ONLY; The time at which the integration runtime node was registered in ISO8601 format.
84884	RegisterTime *date.Time `json:"registerTime,omitempty"`
84885	// LastConnectTime - READ-ONLY; The most recent time at which the integration runtime was connected in ISO8601 format.
84886	LastConnectTime *date.Time `json:"lastConnectTime,omitempty"`
84887	// ExpiryTime - READ-ONLY; The time at which the integration runtime will expire in ISO8601 format.
84888	ExpiryTime *date.Time `json:"expiryTime,omitempty"`
84889	// LastStartTime - READ-ONLY; The time the node last started up.
84890	LastStartTime *date.Time `json:"lastStartTime,omitempty"`
84891	// LastStopTime - READ-ONLY; The integration runtime node last stop time.
84892	LastStopTime *date.Time `json:"lastStopTime,omitempty"`
84893	// LastUpdateResult - READ-ONLY; The result of the last integration runtime node update. Possible values include: 'Succeed', 'Fail'
84894	LastUpdateResult IntegrationRuntimeUpdateResult `json:"lastUpdateResult,omitempty"`
84895	// LastStartUpdateTime - READ-ONLY; The last time for the integration runtime node update start.
84896	LastStartUpdateTime *date.Time `json:"lastStartUpdateTime,omitempty"`
84897	// LastEndUpdateTime - READ-ONLY; The last time for the integration runtime node update end.
84898	LastEndUpdateTime *date.Time `json:"lastEndUpdateTime,omitempty"`
84899	// IsActiveDispatcher - READ-ONLY; Indicates whether this node is the active dispatcher for integration runtime requests.
84900	IsActiveDispatcher *bool `json:"isActiveDispatcher,omitempty"`
84901	// ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node.
84902	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
84903	// MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime.
84904	MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"`
84905}
84906
84907// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeNode.
84908func (shirn SelfHostedIntegrationRuntimeNode) MarshalJSON() ([]byte, error) {
84909	objectMap := make(map[string]interface{})
84910	return json.Marshal(objectMap)
84911}
84912
84913// SelfHostedIntegrationRuntimeStatus self-hosted integration runtime status.
84914type SelfHostedIntegrationRuntimeStatus struct {
84915	// SelfHostedIntegrationRuntimeStatusTypeProperties - Self-hosted integration runtime status type properties.
84916	*SelfHostedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"`
84917	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84918	AdditionalProperties map[string]interface{} `json:""`
84919	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
84920	DataFactoryName *string `json:"dataFactoryName,omitempty"`
84921	// State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline'
84922	State IntegrationRuntimeState `json:"state,omitempty"`
84923	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
84924	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
84925}
84926
84927// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeStatus.
84928func (shirs SelfHostedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
84929	shirs.Type = TypeBasicIntegrationRuntimeStatusTypeSelfHosted
84930	objectMap := make(map[string]interface{})
84931	if shirs.SelfHostedIntegrationRuntimeStatusTypeProperties != nil {
84932		objectMap["typeProperties"] = shirs.SelfHostedIntegrationRuntimeStatusTypeProperties
84933	}
84934	if shirs.Type != "" {
84935		objectMap["type"] = shirs.Type
84936	}
84937	for k, v := range shirs.AdditionalProperties {
84938		objectMap[k] = v
84939	}
84940	return json.Marshal(objectMap)
84941}
84942
84943// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
84944func (shirs SelfHostedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
84945	return &shirs, true
84946}
84947
84948// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
84949func (shirs SelfHostedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
84950	return nil, false
84951}
84952
84953// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
84954func (shirs SelfHostedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
84955	return nil, false
84956}
84957
84958// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
84959func (shirs SelfHostedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
84960	return &shirs, true
84961}
84962
84963// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntimeStatus struct.
84964func (shirs *SelfHostedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
84965	var m map[string]*json.RawMessage
84966	err := json.Unmarshal(body, &m)
84967	if err != nil {
84968		return err
84969	}
84970	for k, v := range m {
84971		switch k {
84972		case "typeProperties":
84973			if v != nil {
84974				var selfHostedIntegrationRuntimeStatusTypeProperties SelfHostedIntegrationRuntimeStatusTypeProperties
84975				err = json.Unmarshal(*v, &selfHostedIntegrationRuntimeStatusTypeProperties)
84976				if err != nil {
84977					return err
84978				}
84979				shirs.SelfHostedIntegrationRuntimeStatusTypeProperties = &selfHostedIntegrationRuntimeStatusTypeProperties
84980			}
84981		default:
84982			if v != nil {
84983				var additionalProperties interface{}
84984				err = json.Unmarshal(*v, &additionalProperties)
84985				if err != nil {
84986					return err
84987				}
84988				if shirs.AdditionalProperties == nil {
84989					shirs.AdditionalProperties = make(map[string]interface{})
84990				}
84991				shirs.AdditionalProperties[k] = additionalProperties
84992			}
84993		case "dataFactoryName":
84994			if v != nil {
84995				var dataFactoryName string
84996				err = json.Unmarshal(*v, &dataFactoryName)
84997				if err != nil {
84998					return err
84999				}
85000				shirs.DataFactoryName = &dataFactoryName
85001			}
85002		case "state":
85003			if v != nil {
85004				var state IntegrationRuntimeState
85005				err = json.Unmarshal(*v, &state)
85006				if err != nil {
85007					return err
85008				}
85009				shirs.State = state
85010			}
85011		case "type":
85012			if v != nil {
85013				var typeVar TypeBasicIntegrationRuntimeStatus
85014				err = json.Unmarshal(*v, &typeVar)
85015				if err != nil {
85016					return err
85017				}
85018				shirs.Type = typeVar
85019			}
85020		}
85021	}
85022
85023	return nil
85024}
85025
85026// SelfHostedIntegrationRuntimeStatusTypeProperties self-hosted integration runtime status type properties.
85027type SelfHostedIntegrationRuntimeStatusTypeProperties struct {
85028	// CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format.
85029	CreateTime *date.Time `json:"createTime,omitempty"`
85030	// TaskQueueID - READ-ONLY; The task queue id of the integration runtime.
85031	TaskQueueID *string `json:"taskQueueId,omitempty"`
85032	// InternalChannelEncryption - READ-ONLY; It is used to set the encryption mode for node-node communication channel (when more than 2 self-hosted integration runtime nodes exist). Possible values include: 'NotSet', 'SslEncrypted', 'NotEncrypted'
85033	InternalChannelEncryption IntegrationRuntimeInternalChannelEncryptionMode `json:"internalChannelEncryption,omitempty"`
85034	// Version - READ-ONLY; Version of the integration runtime.
85035	Version *string `json:"version,omitempty"`
85036	// Nodes - The list of nodes for this integration runtime.
85037	Nodes *[]SelfHostedIntegrationRuntimeNode `json:"nodes,omitempty"`
85038	// ScheduledUpdateDate - READ-ONLY; The date at which the integration runtime will be scheduled to update, in ISO8601 format.
85039	ScheduledUpdateDate *date.Time `json:"scheduledUpdateDate,omitempty"`
85040	// UpdateDelayOffset - READ-ONLY; The time in the date scheduled by service to update the integration runtime, e.g., PT03H is 3 hours
85041	UpdateDelayOffset *string `json:"updateDelayOffset,omitempty"`
85042	// LocalTimeZoneOffset - READ-ONLY; The local time zone offset in hours.
85043	LocalTimeZoneOffset *string `json:"localTimeZoneOffset,omitempty"`
85044	// Capabilities - READ-ONLY; Object with additional information about integration runtime capabilities.
85045	Capabilities map[string]*string `json:"capabilities"`
85046	// ServiceUrls - READ-ONLY; The URLs for the services used in integration runtime backend service.
85047	ServiceUrls *[]string `json:"serviceUrls,omitempty"`
85048	// AutoUpdate - READ-ONLY; Whether Self-hosted integration runtime auto update has been turned on. Possible values include: 'On', 'Off'
85049	AutoUpdate IntegrationRuntimeAutoUpdate `json:"autoUpdate,omitempty"`
85050	// VersionStatus - READ-ONLY; Status of the integration runtime version.
85051	VersionStatus *string `json:"versionStatus,omitempty"`
85052	// Links - The list of linked integration runtimes that are created to share with this integration runtime.
85053	Links *[]LinkedIntegrationRuntime `json:"links,omitempty"`
85054}
85055
85056// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeStatusTypeProperties.
85057func (shirstp SelfHostedIntegrationRuntimeStatusTypeProperties) MarshalJSON() ([]byte, error) {
85058	objectMap := make(map[string]interface{})
85059	if shirstp.Nodes != nil {
85060		objectMap["nodes"] = shirstp.Nodes
85061	}
85062	if shirstp.Links != nil {
85063		objectMap["links"] = shirstp.Links
85064	}
85065	return json.Marshal(objectMap)
85066}
85067
85068// ServiceNowLinkedService serviceNow server linked service.
85069type ServiceNowLinkedService struct {
85070	// ServiceNowLinkedServiceTypeProperties - ServiceNow server linked service properties.
85071	*ServiceNowLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
85072	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
85073	AdditionalProperties map[string]interface{} `json:""`
85074	// ConnectVia - The integration runtime reference.
85075	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
85076	// Description - Linked service description.
85077	Description *string `json:"description,omitempty"`
85078	// Parameters - Parameters for linked service.
85079	Parameters map[string]*ParameterSpecification `json:"parameters"`
85080	// Annotations - List of tags that can be used for describing the Dataset.
85081	Annotations *[]interface{} `json:"annotations,omitempty"`
85082	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
85083	Type TypeBasicLinkedService `json:"type,omitempty"`
85084}
85085
85086// MarshalJSON is the custom marshaler for ServiceNowLinkedService.
85087func (snls ServiceNowLinkedService) MarshalJSON() ([]byte, error) {
85088	snls.Type = TypeServiceNow
85089	objectMap := make(map[string]interface{})
85090	if snls.ServiceNowLinkedServiceTypeProperties != nil {
85091		objectMap["typeProperties"] = snls.ServiceNowLinkedServiceTypeProperties
85092	}
85093	if snls.ConnectVia != nil {
85094		objectMap["connectVia"] = snls.ConnectVia
85095	}
85096	if snls.Description != nil {
85097		objectMap["description"] = snls.Description
85098	}
85099	if snls.Parameters != nil {
85100		objectMap["parameters"] = snls.Parameters
85101	}
85102	if snls.Annotations != nil {
85103		objectMap["annotations"] = snls.Annotations
85104	}
85105	if snls.Type != "" {
85106		objectMap["type"] = snls.Type
85107	}
85108	for k, v := range snls.AdditionalProperties {
85109		objectMap[k] = v
85110	}
85111	return json.Marshal(objectMap)
85112}
85113
85114// AsResponsysLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85115func (snls ServiceNowLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
85116	return nil, false
85117}
85118
85119// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85120func (snls ServiceNowLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
85121	return nil, false
85122}
85123
85124// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85125func (snls ServiceNowLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
85126	return nil, false
85127}
85128
85129// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85130func (snls ServiceNowLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
85131	return nil, false
85132}
85133
85134// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85135func (snls ServiceNowLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
85136	return nil, false
85137}
85138
85139// AsNetezzaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85140func (snls ServiceNowLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
85141	return nil, false
85142}
85143
85144// AsVerticaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85145func (snls ServiceNowLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
85146	return nil, false
85147}
85148
85149// AsZohoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85150func (snls ServiceNowLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
85151	return nil, false
85152}
85153
85154// AsXeroLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85155func (snls ServiceNowLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
85156	return nil, false
85157}
85158
85159// AsSquareLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85160func (snls ServiceNowLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
85161	return nil, false
85162}
85163
85164// AsSparkLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85165func (snls ServiceNowLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
85166	return nil, false
85167}
85168
85169// AsShopifyLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85170func (snls ServiceNowLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
85171	return nil, false
85172}
85173
85174// AsServiceNowLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85175func (snls ServiceNowLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
85176	return &snls, true
85177}
85178
85179// AsQuickBooksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85180func (snls ServiceNowLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
85181	return nil, false
85182}
85183
85184// AsPrestoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85185func (snls ServiceNowLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
85186	return nil, false
85187}
85188
85189// AsPhoenixLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85190func (snls ServiceNowLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
85191	return nil, false
85192}
85193
85194// AsPaypalLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85195func (snls ServiceNowLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
85196	return nil, false
85197}
85198
85199// AsMarketoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85200func (snls ServiceNowLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
85201	return nil, false
85202}
85203
85204// AsMariaDBLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85205func (snls ServiceNowLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
85206	return nil, false
85207}
85208
85209// AsMagentoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85210func (snls ServiceNowLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
85211	return nil, false
85212}
85213
85214// AsJiraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85215func (snls ServiceNowLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
85216	return nil, false
85217}
85218
85219// AsImpalaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85220func (snls ServiceNowLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
85221	return nil, false
85222}
85223
85224// AsHubspotLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85225func (snls ServiceNowLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
85226	return nil, false
85227}
85228
85229// AsHiveLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85230func (snls ServiceNowLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
85231	return nil, false
85232}
85233
85234// AsHBaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85235func (snls ServiceNowLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
85236	return nil, false
85237}
85238
85239// AsGreenplumLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85240func (snls ServiceNowLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
85241	return nil, false
85242}
85243
85244// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85245func (snls ServiceNowLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
85246	return nil, false
85247}
85248
85249// AsEloquaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85250func (snls ServiceNowLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
85251	return nil, false
85252}
85253
85254// AsDrillLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85255func (snls ServiceNowLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
85256	return nil, false
85257}
85258
85259// AsCouchbaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85260func (snls ServiceNowLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
85261	return nil, false
85262}
85263
85264// AsConcurLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85265func (snls ServiceNowLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
85266	return nil, false
85267}
85268
85269// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85270func (snls ServiceNowLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
85271	return nil, false
85272}
85273
85274// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85275func (snls ServiceNowLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
85276	return nil, false
85277}
85278
85279// AsSapHanaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85280func (snls ServiceNowLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
85281	return nil, false
85282}
85283
85284// AsSapBWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85285func (snls ServiceNowLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
85286	return nil, false
85287}
85288
85289// AsSftpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85290func (snls ServiceNowLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
85291	return nil, false
85292}
85293
85294// AsFtpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85295func (snls ServiceNowLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
85296	return nil, false
85297}
85298
85299// AsHTTPLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85300func (snls ServiceNowLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
85301	return nil, false
85302}
85303
85304// AsAzureSearchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85305func (snls ServiceNowLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
85306	return nil, false
85307}
85308
85309// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85310func (snls ServiceNowLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
85311	return nil, false
85312}
85313
85314// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85315func (snls ServiceNowLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
85316	return nil, false
85317}
85318
85319// AsAmazonS3LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85320func (snls ServiceNowLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
85321	return nil, false
85322}
85323
85324// AsSapEccLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85325func (snls ServiceNowLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
85326	return nil, false
85327}
85328
85329// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85330func (snls ServiceNowLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
85331	return nil, false
85332}
85333
85334// AsSalesforceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85335func (snls ServiceNowLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
85336	return nil, false
85337}
85338
85339// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85340func (snls ServiceNowLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
85341	return nil, false
85342}
85343
85344// AsMongoDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85345func (snls ServiceNowLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
85346	return nil, false
85347}
85348
85349// AsCassandraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85350func (snls ServiceNowLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
85351	return nil, false
85352}
85353
85354// AsWebLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85355func (snls ServiceNowLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
85356	return nil, false
85357}
85358
85359// AsODataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85360func (snls ServiceNowLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
85361	return nil, false
85362}
85363
85364// AsHdfsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85365func (snls ServiceNowLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
85366	return nil, false
85367}
85368
85369// AsOdbcLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85370func (snls ServiceNowLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
85371	return nil, false
85372}
85373
85374// AsAzureMLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85375func (snls ServiceNowLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
85376	return nil, false
85377}
85378
85379// AsTeradataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85380func (snls ServiceNowLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
85381	return nil, false
85382}
85383
85384// AsDb2LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85385func (snls ServiceNowLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
85386	return nil, false
85387}
85388
85389// AsSybaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85390func (snls ServiceNowLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
85391	return nil, false
85392}
85393
85394// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85395func (snls ServiceNowLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
85396	return nil, false
85397}
85398
85399// AsMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85400func (snls ServiceNowLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
85401	return nil, false
85402}
85403
85404// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85405func (snls ServiceNowLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
85406	return nil, false
85407}
85408
85409// AsOracleLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85410func (snls ServiceNowLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
85411	return nil, false
85412}
85413
85414// AsFileServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85415func (snls ServiceNowLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
85416	return nil, false
85417}
85418
85419// AsHDInsightLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85420func (snls ServiceNowLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
85421	return nil, false
85422}
85423
85424// AsDynamicsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85425func (snls ServiceNowLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
85426	return nil, false
85427}
85428
85429// AsCosmosDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85430func (snls ServiceNowLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
85431	return nil, false
85432}
85433
85434// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85435func (snls ServiceNowLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
85436	return nil, false
85437}
85438
85439// AsAzureBatchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85440func (snls ServiceNowLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
85441	return nil, false
85442}
85443
85444// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85445func (snls ServiceNowLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
85446	return nil, false
85447}
85448
85449// AsSQLServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85450func (snls ServiceNowLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
85451	return nil, false
85452}
85453
85454// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85455func (snls ServiceNowLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
85456	return nil, false
85457}
85458
85459// AsAzureStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85460func (snls ServiceNowLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
85461	return nil, false
85462}
85463
85464// AsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85465func (snls ServiceNowLinkedService) AsLinkedService() (*LinkedService, bool) {
85466	return nil, false
85467}
85468
85469// AsBasicLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85470func (snls ServiceNowLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
85471	return &snls, true
85472}
85473
85474// UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedService struct.
85475func (snls *ServiceNowLinkedService) UnmarshalJSON(body []byte) error {
85476	var m map[string]*json.RawMessage
85477	err := json.Unmarshal(body, &m)
85478	if err != nil {
85479		return err
85480	}
85481	for k, v := range m {
85482		switch k {
85483		case "typeProperties":
85484			if v != nil {
85485				var serviceNowLinkedServiceTypeProperties ServiceNowLinkedServiceTypeProperties
85486				err = json.Unmarshal(*v, &serviceNowLinkedServiceTypeProperties)
85487				if err != nil {
85488					return err
85489				}
85490				snls.ServiceNowLinkedServiceTypeProperties = &serviceNowLinkedServiceTypeProperties
85491			}
85492		default:
85493			if v != nil {
85494				var additionalProperties interface{}
85495				err = json.Unmarshal(*v, &additionalProperties)
85496				if err != nil {
85497					return err
85498				}
85499				if snls.AdditionalProperties == nil {
85500					snls.AdditionalProperties = make(map[string]interface{})
85501				}
85502				snls.AdditionalProperties[k] = additionalProperties
85503			}
85504		case "connectVia":
85505			if v != nil {
85506				var connectVia IntegrationRuntimeReference
85507				err = json.Unmarshal(*v, &connectVia)
85508				if err != nil {
85509					return err
85510				}
85511				snls.ConnectVia = &connectVia
85512			}
85513		case "description":
85514			if v != nil {
85515				var description string
85516				err = json.Unmarshal(*v, &description)
85517				if err != nil {
85518					return err
85519				}
85520				snls.Description = &description
85521			}
85522		case "parameters":
85523			if v != nil {
85524				var parameters map[string]*ParameterSpecification
85525				err = json.Unmarshal(*v, &parameters)
85526				if err != nil {
85527					return err
85528				}
85529				snls.Parameters = parameters
85530			}
85531		case "annotations":
85532			if v != nil {
85533				var annotations []interface{}
85534				err = json.Unmarshal(*v, &annotations)
85535				if err != nil {
85536					return err
85537				}
85538				snls.Annotations = &annotations
85539			}
85540		case "type":
85541			if v != nil {
85542				var typeVar TypeBasicLinkedService
85543				err = json.Unmarshal(*v, &typeVar)
85544				if err != nil {
85545					return err
85546				}
85547				snls.Type = typeVar
85548			}
85549		}
85550	}
85551
85552	return nil
85553}
85554
85555// ServiceNowLinkedServiceTypeProperties serviceNow server linked service properties.
85556type ServiceNowLinkedServiceTypeProperties struct {
85557	// Endpoint - The endpoint of the ServiceNow server. (i.e. <instance>.service-now.com)
85558	Endpoint interface{} `json:"endpoint,omitempty"`
85559	// AuthenticationType - The authentication type to use. Possible values include: 'ServiceNowAuthenticationTypeBasic', 'ServiceNowAuthenticationTypeOAuth2'
85560	AuthenticationType ServiceNowAuthenticationType `json:"authenticationType,omitempty"`
85561	// Username - The user name used to connect to the ServiceNow server for Basic and OAuth2 authentication.
85562	Username interface{} `json:"username,omitempty"`
85563	// Password - The password corresponding to the user name for Basic and OAuth2 authentication.
85564	Password BasicSecretBase `json:"password,omitempty"`
85565	// ClientID - The client id for OAuth2 authentication.
85566	ClientID interface{} `json:"clientId,omitempty"`
85567	// ClientSecret - The client secret for OAuth2 authentication.
85568	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
85569	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
85570	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
85571	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
85572	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
85573	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
85574	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
85575	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
85576	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
85577}
85578
85579// UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedServiceTypeProperties struct.
85580func (snlstp *ServiceNowLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
85581	var m map[string]*json.RawMessage
85582	err := json.Unmarshal(body, &m)
85583	if err != nil {
85584		return err
85585	}
85586	for k, v := range m {
85587		switch k {
85588		case "endpoint":
85589			if v != nil {
85590				var endpoint interface{}
85591				err = json.Unmarshal(*v, &endpoint)
85592				if err != nil {
85593					return err
85594				}
85595				snlstp.Endpoint = endpoint
85596			}
85597		case "authenticationType":
85598			if v != nil {
85599				var authenticationType ServiceNowAuthenticationType
85600				err = json.Unmarshal(*v, &authenticationType)
85601				if err != nil {
85602					return err
85603				}
85604				snlstp.AuthenticationType = authenticationType
85605			}
85606		case "username":
85607			if v != nil {
85608				var username interface{}
85609				err = json.Unmarshal(*v, &username)
85610				if err != nil {
85611					return err
85612				}
85613				snlstp.Username = username
85614			}
85615		case "password":
85616			if v != nil {
85617				password, err := unmarshalBasicSecretBase(*v)
85618				if err != nil {
85619					return err
85620				}
85621				snlstp.Password = password
85622			}
85623		case "clientId":
85624			if v != nil {
85625				var clientID interface{}
85626				err = json.Unmarshal(*v, &clientID)
85627				if err != nil {
85628					return err
85629				}
85630				snlstp.ClientID = clientID
85631			}
85632		case "clientSecret":
85633			if v != nil {
85634				clientSecret, err := unmarshalBasicSecretBase(*v)
85635				if err != nil {
85636					return err
85637				}
85638				snlstp.ClientSecret = clientSecret
85639			}
85640		case "useEncryptedEndpoints":
85641			if v != nil {
85642				var useEncryptedEndpoints interface{}
85643				err = json.Unmarshal(*v, &useEncryptedEndpoints)
85644				if err != nil {
85645					return err
85646				}
85647				snlstp.UseEncryptedEndpoints = useEncryptedEndpoints
85648			}
85649		case "useHostVerification":
85650			if v != nil {
85651				var useHostVerification interface{}
85652				err = json.Unmarshal(*v, &useHostVerification)
85653				if err != nil {
85654					return err
85655				}
85656				snlstp.UseHostVerification = useHostVerification
85657			}
85658		case "usePeerVerification":
85659			if v != nil {
85660				var usePeerVerification interface{}
85661				err = json.Unmarshal(*v, &usePeerVerification)
85662				if err != nil {
85663					return err
85664				}
85665				snlstp.UsePeerVerification = usePeerVerification
85666			}
85667		case "encryptedCredential":
85668			if v != nil {
85669				var encryptedCredential interface{}
85670				err = json.Unmarshal(*v, &encryptedCredential)
85671				if err != nil {
85672					return err
85673				}
85674				snlstp.EncryptedCredential = encryptedCredential
85675			}
85676		}
85677	}
85678
85679	return nil
85680}
85681
85682// ServiceNowObjectDataset serviceNow server dataset.
85683type ServiceNowObjectDataset struct {
85684	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
85685	AdditionalProperties map[string]interface{} `json:""`
85686	// Description - Dataset description.
85687	Description *string `json:"description,omitempty"`
85688	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
85689	Structure interface{} `json:"structure,omitempty"`
85690	// LinkedServiceName - Linked service reference.
85691	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
85692	// Parameters - Parameters for dataset.
85693	Parameters map[string]*ParameterSpecification `json:"parameters"`
85694	// Annotations - List of tags that can be used for describing the Dataset.
85695	Annotations *[]interface{} `json:"annotations,omitempty"`
85696	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
85697	Type TypeBasicDataset `json:"type,omitempty"`
85698}
85699
85700// MarshalJSON is the custom marshaler for ServiceNowObjectDataset.
85701func (snod ServiceNowObjectDataset) MarshalJSON() ([]byte, error) {
85702	snod.Type = TypeServiceNowObject
85703	objectMap := make(map[string]interface{})
85704	if snod.Description != nil {
85705		objectMap["description"] = snod.Description
85706	}
85707	if snod.Structure != nil {
85708		objectMap["structure"] = snod.Structure
85709	}
85710	if snod.LinkedServiceName != nil {
85711		objectMap["linkedServiceName"] = snod.LinkedServiceName
85712	}
85713	if snod.Parameters != nil {
85714		objectMap["parameters"] = snod.Parameters
85715	}
85716	if snod.Annotations != nil {
85717		objectMap["annotations"] = snod.Annotations
85718	}
85719	if snod.Type != "" {
85720		objectMap["type"] = snod.Type
85721	}
85722	for k, v := range snod.AdditionalProperties {
85723		objectMap[k] = v
85724	}
85725	return json.Marshal(objectMap)
85726}
85727
85728// AsResponsysObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85729func (snod ServiceNowObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
85730	return nil, false
85731}
85732
85733// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85734func (snod ServiceNowObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
85735	return nil, false
85736}
85737
85738// AsVerticaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85739func (snod ServiceNowObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
85740	return nil, false
85741}
85742
85743// AsNetezzaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85744func (snod ServiceNowObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
85745	return nil, false
85746}
85747
85748// AsZohoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85749func (snod ServiceNowObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
85750	return nil, false
85751}
85752
85753// AsXeroObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85754func (snod ServiceNowObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
85755	return nil, false
85756}
85757
85758// AsSquareObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85759func (snod ServiceNowObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
85760	return nil, false
85761}
85762
85763// AsSparkObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85764func (snod ServiceNowObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
85765	return nil, false
85766}
85767
85768// AsShopifyObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85769func (snod ServiceNowObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
85770	return nil, false
85771}
85772
85773// AsServiceNowObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85774func (snod ServiceNowObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
85775	return &snod, true
85776}
85777
85778// AsQuickBooksObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85779func (snod ServiceNowObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
85780	return nil, false
85781}
85782
85783// AsPrestoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85784func (snod ServiceNowObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
85785	return nil, false
85786}
85787
85788// AsPhoenixObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85789func (snod ServiceNowObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
85790	return nil, false
85791}
85792
85793// AsPaypalObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85794func (snod ServiceNowObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
85795	return nil, false
85796}
85797
85798// AsMarketoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85799func (snod ServiceNowObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
85800	return nil, false
85801}
85802
85803// AsMariaDBTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85804func (snod ServiceNowObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
85805	return nil, false
85806}
85807
85808// AsMagentoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85809func (snod ServiceNowObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
85810	return nil, false
85811}
85812
85813// AsJiraObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85814func (snod ServiceNowObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
85815	return nil, false
85816}
85817
85818// AsImpalaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85819func (snod ServiceNowObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
85820	return nil, false
85821}
85822
85823// AsHubspotObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85824func (snod ServiceNowObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
85825	return nil, false
85826}
85827
85828// AsHiveObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85829func (snod ServiceNowObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
85830	return nil, false
85831}
85832
85833// AsHBaseObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85834func (snod ServiceNowObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
85835	return nil, false
85836}
85837
85838// AsGreenplumTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85839func (snod ServiceNowObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
85840	return nil, false
85841}
85842
85843// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85844func (snod ServiceNowObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
85845	return nil, false
85846}
85847
85848// AsEloquaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85849func (snod ServiceNowObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
85850	return nil, false
85851}
85852
85853// AsDrillTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85854func (snod ServiceNowObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
85855	return nil, false
85856}
85857
85858// AsCouchbaseTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85859func (snod ServiceNowObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
85860	return nil, false
85861}
85862
85863// AsConcurObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85864func (snod ServiceNowObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
85865	return nil, false
85866}
85867
85868// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85869func (snod ServiceNowObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
85870	return nil, false
85871}
85872
85873// AsAmazonMWSObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85874func (snod ServiceNowObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
85875	return nil, false
85876}
85877
85878// AsHTTPDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85879func (snod ServiceNowObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
85880	return nil, false
85881}
85882
85883// AsAzureSearchIndexDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85884func (snod ServiceNowObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
85885	return nil, false
85886}
85887
85888// AsWebTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85889func (snod ServiceNowObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
85890	return nil, false
85891}
85892
85893// AsSQLServerTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85894func (snod ServiceNowObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
85895	return nil, false
85896}
85897
85898// AsSapEccResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85899func (snod ServiceNowObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
85900	return nil, false
85901}
85902
85903// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85904func (snod ServiceNowObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
85905	return nil, false
85906}
85907
85908// AsSalesforceObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85909func (snod ServiceNowObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
85910	return nil, false
85911}
85912
85913// AsRelationalTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85914func (snod ServiceNowObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
85915	return nil, false
85916}
85917
85918// AsAzureMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85919func (snod ServiceNowObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
85920	return nil, false
85921}
85922
85923// AsOracleTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85924func (snod ServiceNowObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
85925	return nil, false
85926}
85927
85928// AsODataResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85929func (snod ServiceNowObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
85930	return nil, false
85931}
85932
85933// AsMongoDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85934func (snod ServiceNowObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
85935	return nil, false
85936}
85937
85938// AsFileShareDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85939func (snod ServiceNowObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
85940	return nil, false
85941}
85942
85943// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85944func (snod ServiceNowObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
85945	return nil, false
85946}
85947
85948// AsDynamicsEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85949func (snod ServiceNowObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
85950	return nil, false
85951}
85952
85953// AsDocumentDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85954func (snod ServiceNowObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
85955	return nil, false
85956}
85957
85958// AsCustomDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85959func (snod ServiceNowObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
85960	return nil, false
85961}
85962
85963// AsCassandraTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85964func (snod ServiceNowObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
85965	return nil, false
85966}
85967
85968// AsAzureSQLDWTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85969func (snod ServiceNowObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
85970	return nil, false
85971}
85972
85973// AsAzureSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85974func (snod ServiceNowObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
85975	return nil, false
85976}
85977
85978// AsAzureTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85979func (snod ServiceNowObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
85980	return nil, false
85981}
85982
85983// AsAzureBlobDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85984func (snod ServiceNowObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
85985	return nil, false
85986}
85987
85988// AsAmazonS3Dataset is the BasicDataset implementation for ServiceNowObjectDataset.
85989func (snod ServiceNowObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
85990	return nil, false
85991}
85992
85993// AsDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85994func (snod ServiceNowObjectDataset) AsDataset() (*Dataset, bool) {
85995	return nil, false
85996}
85997
85998// AsBasicDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85999func (snod ServiceNowObjectDataset) AsBasicDataset() (BasicDataset, bool) {
86000	return &snod, true
86001}
86002
86003// UnmarshalJSON is the custom unmarshaler for ServiceNowObjectDataset struct.
86004func (snod *ServiceNowObjectDataset) UnmarshalJSON(body []byte) error {
86005	var m map[string]*json.RawMessage
86006	err := json.Unmarshal(body, &m)
86007	if err != nil {
86008		return err
86009	}
86010	for k, v := range m {
86011		switch k {
86012		default:
86013			if v != nil {
86014				var additionalProperties interface{}
86015				err = json.Unmarshal(*v, &additionalProperties)
86016				if err != nil {
86017					return err
86018				}
86019				if snod.AdditionalProperties == nil {
86020					snod.AdditionalProperties = make(map[string]interface{})
86021				}
86022				snod.AdditionalProperties[k] = additionalProperties
86023			}
86024		case "description":
86025			if v != nil {
86026				var description string
86027				err = json.Unmarshal(*v, &description)
86028				if err != nil {
86029					return err
86030				}
86031				snod.Description = &description
86032			}
86033		case "structure":
86034			if v != nil {
86035				var structure interface{}
86036				err = json.Unmarshal(*v, &structure)
86037				if err != nil {
86038					return err
86039				}
86040				snod.Structure = structure
86041			}
86042		case "linkedServiceName":
86043			if v != nil {
86044				var linkedServiceName LinkedServiceReference
86045				err = json.Unmarshal(*v, &linkedServiceName)
86046				if err != nil {
86047					return err
86048				}
86049				snod.LinkedServiceName = &linkedServiceName
86050			}
86051		case "parameters":
86052			if v != nil {
86053				var parameters map[string]*ParameterSpecification
86054				err = json.Unmarshal(*v, &parameters)
86055				if err != nil {
86056					return err
86057				}
86058				snod.Parameters = parameters
86059			}
86060		case "annotations":
86061			if v != nil {
86062				var annotations []interface{}
86063				err = json.Unmarshal(*v, &annotations)
86064				if err != nil {
86065					return err
86066				}
86067				snod.Annotations = &annotations
86068			}
86069		case "type":
86070			if v != nil {
86071				var typeVar TypeBasicDataset
86072				err = json.Unmarshal(*v, &typeVar)
86073				if err != nil {
86074					return err
86075				}
86076				snod.Type = typeVar
86077			}
86078		}
86079	}
86080
86081	return nil
86082}
86083
86084// ServiceNowSource a copy activity ServiceNow server source.
86085type ServiceNowSource struct {
86086	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
86087	Query interface{} `json:"query,omitempty"`
86088	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
86089	AdditionalProperties map[string]interface{} `json:""`
86090	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
86091	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
86092	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
86093	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
86094	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
86095	Type TypeBasicCopySource `json:"type,omitempty"`
86096}
86097
86098// MarshalJSON is the custom marshaler for ServiceNowSource.
86099func (sns ServiceNowSource) MarshalJSON() ([]byte, error) {
86100	sns.Type = TypeServiceNowSource
86101	objectMap := make(map[string]interface{})
86102	if sns.Query != nil {
86103		objectMap["query"] = sns.Query
86104	}
86105	if sns.SourceRetryCount != nil {
86106		objectMap["sourceRetryCount"] = sns.SourceRetryCount
86107	}
86108	if sns.SourceRetryWait != nil {
86109		objectMap["sourceRetryWait"] = sns.SourceRetryWait
86110	}
86111	if sns.Type != "" {
86112		objectMap["type"] = sns.Type
86113	}
86114	for k, v := range sns.AdditionalProperties {
86115		objectMap[k] = v
86116	}
86117	return json.Marshal(objectMap)
86118}
86119
86120// AsAmazonRedshiftSource is the BasicCopySource implementation for ServiceNowSource.
86121func (sns ServiceNowSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
86122	return nil, false
86123}
86124
86125// AsResponsysSource is the BasicCopySource implementation for ServiceNowSource.
86126func (sns ServiceNowSource) AsResponsysSource() (*ResponsysSource, bool) {
86127	return nil, false
86128}
86129
86130// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ServiceNowSource.
86131func (sns ServiceNowSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
86132	return nil, false
86133}
86134
86135// AsVerticaSource is the BasicCopySource implementation for ServiceNowSource.
86136func (sns ServiceNowSource) AsVerticaSource() (*VerticaSource, bool) {
86137	return nil, false
86138}
86139
86140// AsNetezzaSource is the BasicCopySource implementation for ServiceNowSource.
86141func (sns ServiceNowSource) AsNetezzaSource() (*NetezzaSource, bool) {
86142	return nil, false
86143}
86144
86145// AsZohoSource is the BasicCopySource implementation for ServiceNowSource.
86146func (sns ServiceNowSource) AsZohoSource() (*ZohoSource, bool) {
86147	return nil, false
86148}
86149
86150// AsXeroSource is the BasicCopySource implementation for ServiceNowSource.
86151func (sns ServiceNowSource) AsXeroSource() (*XeroSource, bool) {
86152	return nil, false
86153}
86154
86155// AsSquareSource is the BasicCopySource implementation for ServiceNowSource.
86156func (sns ServiceNowSource) AsSquareSource() (*SquareSource, bool) {
86157	return nil, false
86158}
86159
86160// AsSparkSource is the BasicCopySource implementation for ServiceNowSource.
86161func (sns ServiceNowSource) AsSparkSource() (*SparkSource, bool) {
86162	return nil, false
86163}
86164
86165// AsShopifySource is the BasicCopySource implementation for ServiceNowSource.
86166func (sns ServiceNowSource) AsShopifySource() (*ShopifySource, bool) {
86167	return nil, false
86168}
86169
86170// AsServiceNowSource is the BasicCopySource implementation for ServiceNowSource.
86171func (sns ServiceNowSource) AsServiceNowSource() (*ServiceNowSource, bool) {
86172	return &sns, true
86173}
86174
86175// AsQuickBooksSource is the BasicCopySource implementation for ServiceNowSource.
86176func (sns ServiceNowSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
86177	return nil, false
86178}
86179
86180// AsPrestoSource is the BasicCopySource implementation for ServiceNowSource.
86181func (sns ServiceNowSource) AsPrestoSource() (*PrestoSource, bool) {
86182	return nil, false
86183}
86184
86185// AsPhoenixSource is the BasicCopySource implementation for ServiceNowSource.
86186func (sns ServiceNowSource) AsPhoenixSource() (*PhoenixSource, bool) {
86187	return nil, false
86188}
86189
86190// AsPaypalSource is the BasicCopySource implementation for ServiceNowSource.
86191func (sns ServiceNowSource) AsPaypalSource() (*PaypalSource, bool) {
86192	return nil, false
86193}
86194
86195// AsMarketoSource is the BasicCopySource implementation for ServiceNowSource.
86196func (sns ServiceNowSource) AsMarketoSource() (*MarketoSource, bool) {
86197	return nil, false
86198}
86199
86200// AsMariaDBSource is the BasicCopySource implementation for ServiceNowSource.
86201func (sns ServiceNowSource) AsMariaDBSource() (*MariaDBSource, bool) {
86202	return nil, false
86203}
86204
86205// AsMagentoSource is the BasicCopySource implementation for ServiceNowSource.
86206func (sns ServiceNowSource) AsMagentoSource() (*MagentoSource, bool) {
86207	return nil, false
86208}
86209
86210// AsJiraSource is the BasicCopySource implementation for ServiceNowSource.
86211func (sns ServiceNowSource) AsJiraSource() (*JiraSource, bool) {
86212	return nil, false
86213}
86214
86215// AsImpalaSource is the BasicCopySource implementation for ServiceNowSource.
86216func (sns ServiceNowSource) AsImpalaSource() (*ImpalaSource, bool) {
86217	return nil, false
86218}
86219
86220// AsHubspotSource is the BasicCopySource implementation for ServiceNowSource.
86221func (sns ServiceNowSource) AsHubspotSource() (*HubspotSource, bool) {
86222	return nil, false
86223}
86224
86225// AsHiveSource is the BasicCopySource implementation for ServiceNowSource.
86226func (sns ServiceNowSource) AsHiveSource() (*HiveSource, bool) {
86227	return nil, false
86228}
86229
86230// AsHBaseSource is the BasicCopySource implementation for ServiceNowSource.
86231func (sns ServiceNowSource) AsHBaseSource() (*HBaseSource, bool) {
86232	return nil, false
86233}
86234
86235// AsGreenplumSource is the BasicCopySource implementation for ServiceNowSource.
86236func (sns ServiceNowSource) AsGreenplumSource() (*GreenplumSource, bool) {
86237	return nil, false
86238}
86239
86240// AsGoogleBigQuerySource is the BasicCopySource implementation for ServiceNowSource.
86241func (sns ServiceNowSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
86242	return nil, false
86243}
86244
86245// AsEloquaSource is the BasicCopySource implementation for ServiceNowSource.
86246func (sns ServiceNowSource) AsEloquaSource() (*EloquaSource, bool) {
86247	return nil, false
86248}
86249
86250// AsDrillSource is the BasicCopySource implementation for ServiceNowSource.
86251func (sns ServiceNowSource) AsDrillSource() (*DrillSource, bool) {
86252	return nil, false
86253}
86254
86255// AsCouchbaseSource is the BasicCopySource implementation for ServiceNowSource.
86256func (sns ServiceNowSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
86257	return nil, false
86258}
86259
86260// AsConcurSource is the BasicCopySource implementation for ServiceNowSource.
86261func (sns ServiceNowSource) AsConcurSource() (*ConcurSource, bool) {
86262	return nil, false
86263}
86264
86265// AsAzurePostgreSQLSource is the BasicCopySource implementation for ServiceNowSource.
86266func (sns ServiceNowSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
86267	return nil, false
86268}
86269
86270// AsAmazonMWSSource is the BasicCopySource implementation for ServiceNowSource.
86271func (sns ServiceNowSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
86272	return nil, false
86273}
86274
86275// AsHTTPSource is the BasicCopySource implementation for ServiceNowSource.
86276func (sns ServiceNowSource) AsHTTPSource() (*HTTPSource, bool) {
86277	return nil, false
86278}
86279
86280// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ServiceNowSource.
86281func (sns ServiceNowSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
86282	return nil, false
86283}
86284
86285// AsMongoDbSource is the BasicCopySource implementation for ServiceNowSource.
86286func (sns ServiceNowSource) AsMongoDbSource() (*MongoDbSource, bool) {
86287	return nil, false
86288}
86289
86290// AsCassandraSource is the BasicCopySource implementation for ServiceNowSource.
86291func (sns ServiceNowSource) AsCassandraSource() (*CassandraSource, bool) {
86292	return nil, false
86293}
86294
86295// AsWebSource is the BasicCopySource implementation for ServiceNowSource.
86296func (sns ServiceNowSource) AsWebSource() (*WebSource, bool) {
86297	return nil, false
86298}
86299
86300// AsOracleSource is the BasicCopySource implementation for ServiceNowSource.
86301func (sns ServiceNowSource) AsOracleSource() (*OracleSource, bool) {
86302	return nil, false
86303}
86304
86305// AsAzureMySQLSource is the BasicCopySource implementation for ServiceNowSource.
86306func (sns ServiceNowSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
86307	return nil, false
86308}
86309
86310// AsHdfsSource is the BasicCopySource implementation for ServiceNowSource.
86311func (sns ServiceNowSource) AsHdfsSource() (*HdfsSource, bool) {
86312	return nil, false
86313}
86314
86315// AsFileSystemSource is the BasicCopySource implementation for ServiceNowSource.
86316func (sns ServiceNowSource) AsFileSystemSource() (*FileSystemSource, bool) {
86317	return nil, false
86318}
86319
86320// AsSQLDWSource is the BasicCopySource implementation for ServiceNowSource.
86321func (sns ServiceNowSource) AsSQLDWSource() (*SQLDWSource, bool) {
86322	return nil, false
86323}
86324
86325// AsSQLSource is the BasicCopySource implementation for ServiceNowSource.
86326func (sns ServiceNowSource) AsSQLSource() (*SQLSource, bool) {
86327	return nil, false
86328}
86329
86330// AsSapEccSource is the BasicCopySource implementation for ServiceNowSource.
86331func (sns ServiceNowSource) AsSapEccSource() (*SapEccSource, bool) {
86332	return nil, false
86333}
86334
86335// AsSapCloudForCustomerSource is the BasicCopySource implementation for ServiceNowSource.
86336func (sns ServiceNowSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
86337	return nil, false
86338}
86339
86340// AsSalesforceSource is the BasicCopySource implementation for ServiceNowSource.
86341func (sns ServiceNowSource) AsSalesforceSource() (*SalesforceSource, bool) {
86342	return nil, false
86343}
86344
86345// AsRelationalSource is the BasicCopySource implementation for ServiceNowSource.
86346func (sns ServiceNowSource) AsRelationalSource() (*RelationalSource, bool) {
86347	return nil, false
86348}
86349
86350// AsDynamicsSource is the BasicCopySource implementation for ServiceNowSource.
86351func (sns ServiceNowSource) AsDynamicsSource() (*DynamicsSource, bool) {
86352	return nil, false
86353}
86354
86355// AsDocumentDbCollectionSource is the BasicCopySource implementation for ServiceNowSource.
86356func (sns ServiceNowSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
86357	return nil, false
86358}
86359
86360// AsBlobSource is the BasicCopySource implementation for ServiceNowSource.
86361func (sns ServiceNowSource) AsBlobSource() (*BlobSource, bool) {
86362	return nil, false
86363}
86364
86365// AsAzureTableSource is the BasicCopySource implementation for ServiceNowSource.
86366func (sns ServiceNowSource) AsAzureTableSource() (*AzureTableSource, bool) {
86367	return nil, false
86368}
86369
86370// AsCopySource is the BasicCopySource implementation for ServiceNowSource.
86371func (sns ServiceNowSource) AsCopySource() (*CopySource, bool) {
86372	return nil, false
86373}
86374
86375// AsBasicCopySource is the BasicCopySource implementation for ServiceNowSource.
86376func (sns ServiceNowSource) AsBasicCopySource() (BasicCopySource, bool) {
86377	return &sns, true
86378}
86379
86380// UnmarshalJSON is the custom unmarshaler for ServiceNowSource struct.
86381func (sns *ServiceNowSource) UnmarshalJSON(body []byte) error {
86382	var m map[string]*json.RawMessage
86383	err := json.Unmarshal(body, &m)
86384	if err != nil {
86385		return err
86386	}
86387	for k, v := range m {
86388		switch k {
86389		case "query":
86390			if v != nil {
86391				var query interface{}
86392				err = json.Unmarshal(*v, &query)
86393				if err != nil {
86394					return err
86395				}
86396				sns.Query = query
86397			}
86398		default:
86399			if v != nil {
86400				var additionalProperties interface{}
86401				err = json.Unmarshal(*v, &additionalProperties)
86402				if err != nil {
86403					return err
86404				}
86405				if sns.AdditionalProperties == nil {
86406					sns.AdditionalProperties = make(map[string]interface{})
86407				}
86408				sns.AdditionalProperties[k] = additionalProperties
86409			}
86410		case "sourceRetryCount":
86411			if v != nil {
86412				var sourceRetryCount interface{}
86413				err = json.Unmarshal(*v, &sourceRetryCount)
86414				if err != nil {
86415					return err
86416				}
86417				sns.SourceRetryCount = sourceRetryCount
86418			}
86419		case "sourceRetryWait":
86420			if v != nil {
86421				var sourceRetryWait interface{}
86422				err = json.Unmarshal(*v, &sourceRetryWait)
86423				if err != nil {
86424					return err
86425				}
86426				sns.SourceRetryWait = sourceRetryWait
86427			}
86428		case "type":
86429			if v != nil {
86430				var typeVar TypeBasicCopySource
86431				err = json.Unmarshal(*v, &typeVar)
86432				if err != nil {
86433					return err
86434				}
86435				sns.Type = typeVar
86436			}
86437		}
86438	}
86439
86440	return nil
86441}
86442
86443// SftpServerLinkedService a linked service for an SSH File Transfer Protocol (SFTP) server.
86444type SftpServerLinkedService struct {
86445	// SftpServerLinkedServiceTypeProperties - Properties specific to this linked service type.
86446	*SftpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
86447	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
86448	AdditionalProperties map[string]interface{} `json:""`
86449	// ConnectVia - The integration runtime reference.
86450	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
86451	// Description - Linked service description.
86452	Description *string `json:"description,omitempty"`
86453	// Parameters - Parameters for linked service.
86454	Parameters map[string]*ParameterSpecification `json:"parameters"`
86455	// Annotations - List of tags that can be used for describing the Dataset.
86456	Annotations *[]interface{} `json:"annotations,omitempty"`
86457	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
86458	Type TypeBasicLinkedService `json:"type,omitempty"`
86459}
86460
86461// MarshalJSON is the custom marshaler for SftpServerLinkedService.
86462func (ssls SftpServerLinkedService) MarshalJSON() ([]byte, error) {
86463	ssls.Type = TypeSftp
86464	objectMap := make(map[string]interface{})
86465	if ssls.SftpServerLinkedServiceTypeProperties != nil {
86466		objectMap["typeProperties"] = ssls.SftpServerLinkedServiceTypeProperties
86467	}
86468	if ssls.ConnectVia != nil {
86469		objectMap["connectVia"] = ssls.ConnectVia
86470	}
86471	if ssls.Description != nil {
86472		objectMap["description"] = ssls.Description
86473	}
86474	if ssls.Parameters != nil {
86475		objectMap["parameters"] = ssls.Parameters
86476	}
86477	if ssls.Annotations != nil {
86478		objectMap["annotations"] = ssls.Annotations
86479	}
86480	if ssls.Type != "" {
86481		objectMap["type"] = ssls.Type
86482	}
86483	for k, v := range ssls.AdditionalProperties {
86484		objectMap[k] = v
86485	}
86486	return json.Marshal(objectMap)
86487}
86488
86489// AsResponsysLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86490func (ssls SftpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
86491	return nil, false
86492}
86493
86494// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86495func (ssls SftpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
86496	return nil, false
86497}
86498
86499// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86500func (ssls SftpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
86501	return nil, false
86502}
86503
86504// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86505func (ssls SftpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
86506	return nil, false
86507}
86508
86509// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86510func (ssls SftpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
86511	return nil, false
86512}
86513
86514// AsNetezzaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86515func (ssls SftpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
86516	return nil, false
86517}
86518
86519// AsVerticaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86520func (ssls SftpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
86521	return nil, false
86522}
86523
86524// AsZohoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86525func (ssls SftpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
86526	return nil, false
86527}
86528
86529// AsXeroLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86530func (ssls SftpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
86531	return nil, false
86532}
86533
86534// AsSquareLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86535func (ssls SftpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
86536	return nil, false
86537}
86538
86539// AsSparkLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86540func (ssls SftpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
86541	return nil, false
86542}
86543
86544// AsShopifyLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86545func (ssls SftpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
86546	return nil, false
86547}
86548
86549// AsServiceNowLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86550func (ssls SftpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
86551	return nil, false
86552}
86553
86554// AsQuickBooksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86555func (ssls SftpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
86556	return nil, false
86557}
86558
86559// AsPrestoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86560func (ssls SftpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
86561	return nil, false
86562}
86563
86564// AsPhoenixLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86565func (ssls SftpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
86566	return nil, false
86567}
86568
86569// AsPaypalLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86570func (ssls SftpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
86571	return nil, false
86572}
86573
86574// AsMarketoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86575func (ssls SftpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
86576	return nil, false
86577}
86578
86579// AsMariaDBLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86580func (ssls SftpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
86581	return nil, false
86582}
86583
86584// AsMagentoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86585func (ssls SftpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
86586	return nil, false
86587}
86588
86589// AsJiraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86590func (ssls SftpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
86591	return nil, false
86592}
86593
86594// AsImpalaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86595func (ssls SftpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
86596	return nil, false
86597}
86598
86599// AsHubspotLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86600func (ssls SftpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
86601	return nil, false
86602}
86603
86604// AsHiveLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86605func (ssls SftpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
86606	return nil, false
86607}
86608
86609// AsHBaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86610func (ssls SftpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
86611	return nil, false
86612}
86613
86614// AsGreenplumLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86615func (ssls SftpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
86616	return nil, false
86617}
86618
86619// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86620func (ssls SftpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
86621	return nil, false
86622}
86623
86624// AsEloquaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86625func (ssls SftpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
86626	return nil, false
86627}
86628
86629// AsDrillLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86630func (ssls SftpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
86631	return nil, false
86632}
86633
86634// AsCouchbaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86635func (ssls SftpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
86636	return nil, false
86637}
86638
86639// AsConcurLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86640func (ssls SftpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
86641	return nil, false
86642}
86643
86644// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86645func (ssls SftpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
86646	return nil, false
86647}
86648
86649// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86650func (ssls SftpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
86651	return nil, false
86652}
86653
86654// AsSapHanaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86655func (ssls SftpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
86656	return nil, false
86657}
86658
86659// AsSapBWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86660func (ssls SftpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
86661	return nil, false
86662}
86663
86664// AsSftpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86665func (ssls SftpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
86666	return &ssls, true
86667}
86668
86669// AsFtpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86670func (ssls SftpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
86671	return nil, false
86672}
86673
86674// AsHTTPLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86675func (ssls SftpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
86676	return nil, false
86677}
86678
86679// AsAzureSearchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86680func (ssls SftpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
86681	return nil, false
86682}
86683
86684// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86685func (ssls SftpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
86686	return nil, false
86687}
86688
86689// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86690func (ssls SftpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
86691	return nil, false
86692}
86693
86694// AsAmazonS3LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86695func (ssls SftpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
86696	return nil, false
86697}
86698
86699// AsSapEccLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86700func (ssls SftpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
86701	return nil, false
86702}
86703
86704// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86705func (ssls SftpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
86706	return nil, false
86707}
86708
86709// AsSalesforceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86710func (ssls SftpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
86711	return nil, false
86712}
86713
86714// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86715func (ssls SftpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
86716	return nil, false
86717}
86718
86719// AsMongoDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86720func (ssls SftpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
86721	return nil, false
86722}
86723
86724// AsCassandraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86725func (ssls SftpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
86726	return nil, false
86727}
86728
86729// AsWebLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86730func (ssls SftpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
86731	return nil, false
86732}
86733
86734// AsODataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86735func (ssls SftpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
86736	return nil, false
86737}
86738
86739// AsHdfsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86740func (ssls SftpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
86741	return nil, false
86742}
86743
86744// AsOdbcLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86745func (ssls SftpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
86746	return nil, false
86747}
86748
86749// AsAzureMLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86750func (ssls SftpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
86751	return nil, false
86752}
86753
86754// AsTeradataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86755func (ssls SftpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
86756	return nil, false
86757}
86758
86759// AsDb2LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86760func (ssls SftpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
86761	return nil, false
86762}
86763
86764// AsSybaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86765func (ssls SftpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
86766	return nil, false
86767}
86768
86769// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86770func (ssls SftpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
86771	return nil, false
86772}
86773
86774// AsMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86775func (ssls SftpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
86776	return nil, false
86777}
86778
86779// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86780func (ssls SftpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
86781	return nil, false
86782}
86783
86784// AsOracleLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86785func (ssls SftpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
86786	return nil, false
86787}
86788
86789// AsFileServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86790func (ssls SftpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
86791	return nil, false
86792}
86793
86794// AsHDInsightLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86795func (ssls SftpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
86796	return nil, false
86797}
86798
86799// AsDynamicsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86800func (ssls SftpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
86801	return nil, false
86802}
86803
86804// AsCosmosDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86805func (ssls SftpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
86806	return nil, false
86807}
86808
86809// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86810func (ssls SftpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
86811	return nil, false
86812}
86813
86814// AsAzureBatchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86815func (ssls SftpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
86816	return nil, false
86817}
86818
86819// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86820func (ssls SftpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
86821	return nil, false
86822}
86823
86824// AsSQLServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86825func (ssls SftpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
86826	return nil, false
86827}
86828
86829// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86830func (ssls SftpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
86831	return nil, false
86832}
86833
86834// AsAzureStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86835func (ssls SftpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
86836	return nil, false
86837}
86838
86839// AsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86840func (ssls SftpServerLinkedService) AsLinkedService() (*LinkedService, bool) {
86841	return nil, false
86842}
86843
86844// AsBasicLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86845func (ssls SftpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
86846	return &ssls, true
86847}
86848
86849// UnmarshalJSON is the custom unmarshaler for SftpServerLinkedService struct.
86850func (ssls *SftpServerLinkedService) UnmarshalJSON(body []byte) error {
86851	var m map[string]*json.RawMessage
86852	err := json.Unmarshal(body, &m)
86853	if err != nil {
86854		return err
86855	}
86856	for k, v := range m {
86857		switch k {
86858		case "typeProperties":
86859			if v != nil {
86860				var sftpServerLinkedServiceTypeProperties SftpServerLinkedServiceTypeProperties
86861				err = json.Unmarshal(*v, &sftpServerLinkedServiceTypeProperties)
86862				if err != nil {
86863					return err
86864				}
86865				ssls.SftpServerLinkedServiceTypeProperties = &sftpServerLinkedServiceTypeProperties
86866			}
86867		default:
86868			if v != nil {
86869				var additionalProperties interface{}
86870				err = json.Unmarshal(*v, &additionalProperties)
86871				if err != nil {
86872					return err
86873				}
86874				if ssls.AdditionalProperties == nil {
86875					ssls.AdditionalProperties = make(map[string]interface{})
86876				}
86877				ssls.AdditionalProperties[k] = additionalProperties
86878			}
86879		case "connectVia":
86880			if v != nil {
86881				var connectVia IntegrationRuntimeReference
86882				err = json.Unmarshal(*v, &connectVia)
86883				if err != nil {
86884					return err
86885				}
86886				ssls.ConnectVia = &connectVia
86887			}
86888		case "description":
86889			if v != nil {
86890				var description string
86891				err = json.Unmarshal(*v, &description)
86892				if err != nil {
86893					return err
86894				}
86895				ssls.Description = &description
86896			}
86897		case "parameters":
86898			if v != nil {
86899				var parameters map[string]*ParameterSpecification
86900				err = json.Unmarshal(*v, &parameters)
86901				if err != nil {
86902					return err
86903				}
86904				ssls.Parameters = parameters
86905			}
86906		case "annotations":
86907			if v != nil {
86908				var annotations []interface{}
86909				err = json.Unmarshal(*v, &annotations)
86910				if err != nil {
86911					return err
86912				}
86913				ssls.Annotations = &annotations
86914			}
86915		case "type":
86916			if v != nil {
86917				var typeVar TypeBasicLinkedService
86918				err = json.Unmarshal(*v, &typeVar)
86919				if err != nil {
86920					return err
86921				}
86922				ssls.Type = typeVar
86923			}
86924		}
86925	}
86926
86927	return nil
86928}
86929
86930// SftpServerLinkedServiceTypeProperties properties specific to this linked service type.
86931type SftpServerLinkedServiceTypeProperties struct {
86932	// Host - The SFTP server host name. Type: string (or Expression with resultType string).
86933	Host interface{} `json:"host,omitempty"`
86934	// Port - The TCP port number that the SFTP server uses to listen for client connections. Default value is 22. Type: integer (or Expression with resultType integer), minimum: 0.
86935	Port interface{} `json:"port,omitempty"`
86936	// AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'SftpAuthenticationTypeBasic', 'SftpAuthenticationTypeSSHPublicKey'
86937	AuthenticationType SftpAuthenticationType `json:"authenticationType,omitempty"`
86938	// UserName - The username used to log on to the SFTP server. Type: string (or Expression with resultType string).
86939	UserName interface{} `json:"userName,omitempty"`
86940	// Password - Password to logon the SFTP server for Basic authentication.
86941	Password BasicSecretBase `json:"password,omitempty"`
86942	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
86943	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
86944	// PrivateKeyPath - The SSH private key file path for SshPublicKey authentication. Only valid for on-premises copy. For on-premises copy with SshPublicKey authentication, either PrivateKeyPath or PrivateKeyContent should be specified. SSH private key should be OpenSSH format. Type: string (or Expression with resultType string).
86945	PrivateKeyPath interface{} `json:"privateKeyPath,omitempty"`
86946	// PrivateKeyContent - Base64 encoded SSH private key content for SshPublicKey authentication. For on-premises copy with SshPublicKey authentication, either PrivateKeyPath or PrivateKeyContent should be specified. SSH private key should be OpenSSH format.
86947	PrivateKeyContent BasicSecretBase `json:"privateKeyContent,omitempty"`
86948	// PassPhrase - The password to decrypt the SSH private key if the SSH private key is encrypted.
86949	PassPhrase BasicSecretBase `json:"passPhrase,omitempty"`
86950	// SkipHostKeyValidation - If true, skip the SSH host key validation. Default value is false. Type: boolean (or Expression with resultType boolean).
86951	SkipHostKeyValidation interface{} `json:"skipHostKeyValidation,omitempty"`
86952	// HostKeyFingerprint - The host key finger-print of the SFTP server. When SkipHostKeyValidation is false, HostKeyFingerprint should be specified. Type: string (or Expression with resultType string).
86953	HostKeyFingerprint interface{} `json:"hostKeyFingerprint,omitempty"`
86954}
86955
86956// UnmarshalJSON is the custom unmarshaler for SftpServerLinkedServiceTypeProperties struct.
86957func (sslstp *SftpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
86958	var m map[string]*json.RawMessage
86959	err := json.Unmarshal(body, &m)
86960	if err != nil {
86961		return err
86962	}
86963	for k, v := range m {
86964		switch k {
86965		case "host":
86966			if v != nil {
86967				var host interface{}
86968				err = json.Unmarshal(*v, &host)
86969				if err != nil {
86970					return err
86971				}
86972				sslstp.Host = host
86973			}
86974		case "port":
86975			if v != nil {
86976				var port interface{}
86977				err = json.Unmarshal(*v, &port)
86978				if err != nil {
86979					return err
86980				}
86981				sslstp.Port = port
86982			}
86983		case "authenticationType":
86984			if v != nil {
86985				var authenticationType SftpAuthenticationType
86986				err = json.Unmarshal(*v, &authenticationType)
86987				if err != nil {
86988					return err
86989				}
86990				sslstp.AuthenticationType = authenticationType
86991			}
86992		case "userName":
86993			if v != nil {
86994				var userName interface{}
86995				err = json.Unmarshal(*v, &userName)
86996				if err != nil {
86997					return err
86998				}
86999				sslstp.UserName = userName
87000			}
87001		case "password":
87002			if v != nil {
87003				password, err := unmarshalBasicSecretBase(*v)
87004				if err != nil {
87005					return err
87006				}
87007				sslstp.Password = password
87008			}
87009		case "encryptedCredential":
87010			if v != nil {
87011				var encryptedCredential interface{}
87012				err = json.Unmarshal(*v, &encryptedCredential)
87013				if err != nil {
87014					return err
87015				}
87016				sslstp.EncryptedCredential = encryptedCredential
87017			}
87018		case "privateKeyPath":
87019			if v != nil {
87020				var privateKeyPath interface{}
87021				err = json.Unmarshal(*v, &privateKeyPath)
87022				if err != nil {
87023					return err
87024				}
87025				sslstp.PrivateKeyPath = privateKeyPath
87026			}
87027		case "privateKeyContent":
87028			if v != nil {
87029				privateKeyContent, err := unmarshalBasicSecretBase(*v)
87030				if err != nil {
87031					return err
87032				}
87033				sslstp.PrivateKeyContent = privateKeyContent
87034			}
87035		case "passPhrase":
87036			if v != nil {
87037				passPhrase, err := unmarshalBasicSecretBase(*v)
87038				if err != nil {
87039					return err
87040				}
87041				sslstp.PassPhrase = passPhrase
87042			}
87043		case "skipHostKeyValidation":
87044			if v != nil {
87045				var skipHostKeyValidation interface{}
87046				err = json.Unmarshal(*v, &skipHostKeyValidation)
87047				if err != nil {
87048					return err
87049				}
87050				sslstp.SkipHostKeyValidation = skipHostKeyValidation
87051			}
87052		case "hostKeyFingerprint":
87053			if v != nil {
87054				var hostKeyFingerprint interface{}
87055				err = json.Unmarshal(*v, &hostKeyFingerprint)
87056				if err != nil {
87057					return err
87058				}
87059				sslstp.HostKeyFingerprint = hostKeyFingerprint
87060			}
87061		}
87062	}
87063
87064	return nil
87065}
87066
87067// ShopifyLinkedService shopify Service linked service.
87068type ShopifyLinkedService struct {
87069	// ShopifyLinkedServiceTypeProperties - Shopify Service linked service properties.
87070	*ShopifyLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
87071	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
87072	AdditionalProperties map[string]interface{} `json:""`
87073	// ConnectVia - The integration runtime reference.
87074	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
87075	// Description - Linked service description.
87076	Description *string `json:"description,omitempty"`
87077	// Parameters - Parameters for linked service.
87078	Parameters map[string]*ParameterSpecification `json:"parameters"`
87079	// Annotations - List of tags that can be used for describing the Dataset.
87080	Annotations *[]interface{} `json:"annotations,omitempty"`
87081	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
87082	Type TypeBasicLinkedService `json:"type,omitempty"`
87083}
87084
87085// MarshalJSON is the custom marshaler for ShopifyLinkedService.
87086func (sls ShopifyLinkedService) MarshalJSON() ([]byte, error) {
87087	sls.Type = TypeShopify
87088	objectMap := make(map[string]interface{})
87089	if sls.ShopifyLinkedServiceTypeProperties != nil {
87090		objectMap["typeProperties"] = sls.ShopifyLinkedServiceTypeProperties
87091	}
87092	if sls.ConnectVia != nil {
87093		objectMap["connectVia"] = sls.ConnectVia
87094	}
87095	if sls.Description != nil {
87096		objectMap["description"] = sls.Description
87097	}
87098	if sls.Parameters != nil {
87099		objectMap["parameters"] = sls.Parameters
87100	}
87101	if sls.Annotations != nil {
87102		objectMap["annotations"] = sls.Annotations
87103	}
87104	if sls.Type != "" {
87105		objectMap["type"] = sls.Type
87106	}
87107	for k, v := range sls.AdditionalProperties {
87108		objectMap[k] = v
87109	}
87110	return json.Marshal(objectMap)
87111}
87112
87113// AsResponsysLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87114func (sls ShopifyLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
87115	return nil, false
87116}
87117
87118// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87119func (sls ShopifyLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
87120	return nil, false
87121}
87122
87123// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87124func (sls ShopifyLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
87125	return nil, false
87126}
87127
87128// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87129func (sls ShopifyLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
87130	return nil, false
87131}
87132
87133// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87134func (sls ShopifyLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
87135	return nil, false
87136}
87137
87138// AsNetezzaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87139func (sls ShopifyLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
87140	return nil, false
87141}
87142
87143// AsVerticaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87144func (sls ShopifyLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
87145	return nil, false
87146}
87147
87148// AsZohoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87149func (sls ShopifyLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
87150	return nil, false
87151}
87152
87153// AsXeroLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87154func (sls ShopifyLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
87155	return nil, false
87156}
87157
87158// AsSquareLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87159func (sls ShopifyLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
87160	return nil, false
87161}
87162
87163// AsSparkLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87164func (sls ShopifyLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
87165	return nil, false
87166}
87167
87168// AsShopifyLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87169func (sls ShopifyLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
87170	return &sls, true
87171}
87172
87173// AsServiceNowLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87174func (sls ShopifyLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
87175	return nil, false
87176}
87177
87178// AsQuickBooksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87179func (sls ShopifyLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
87180	return nil, false
87181}
87182
87183// AsPrestoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87184func (sls ShopifyLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
87185	return nil, false
87186}
87187
87188// AsPhoenixLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87189func (sls ShopifyLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
87190	return nil, false
87191}
87192
87193// AsPaypalLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87194func (sls ShopifyLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
87195	return nil, false
87196}
87197
87198// AsMarketoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87199func (sls ShopifyLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
87200	return nil, false
87201}
87202
87203// AsMariaDBLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87204func (sls ShopifyLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
87205	return nil, false
87206}
87207
87208// AsMagentoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87209func (sls ShopifyLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
87210	return nil, false
87211}
87212
87213// AsJiraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87214func (sls ShopifyLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
87215	return nil, false
87216}
87217
87218// AsImpalaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87219func (sls ShopifyLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
87220	return nil, false
87221}
87222
87223// AsHubspotLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87224func (sls ShopifyLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
87225	return nil, false
87226}
87227
87228// AsHiveLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87229func (sls ShopifyLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
87230	return nil, false
87231}
87232
87233// AsHBaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87234func (sls ShopifyLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
87235	return nil, false
87236}
87237
87238// AsGreenplumLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87239func (sls ShopifyLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
87240	return nil, false
87241}
87242
87243// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87244func (sls ShopifyLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
87245	return nil, false
87246}
87247
87248// AsEloquaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87249func (sls ShopifyLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
87250	return nil, false
87251}
87252
87253// AsDrillLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87254func (sls ShopifyLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
87255	return nil, false
87256}
87257
87258// AsCouchbaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87259func (sls ShopifyLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
87260	return nil, false
87261}
87262
87263// AsConcurLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87264func (sls ShopifyLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
87265	return nil, false
87266}
87267
87268// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87269func (sls ShopifyLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
87270	return nil, false
87271}
87272
87273// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87274func (sls ShopifyLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
87275	return nil, false
87276}
87277
87278// AsSapHanaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87279func (sls ShopifyLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
87280	return nil, false
87281}
87282
87283// AsSapBWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87284func (sls ShopifyLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
87285	return nil, false
87286}
87287
87288// AsSftpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87289func (sls ShopifyLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
87290	return nil, false
87291}
87292
87293// AsFtpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87294func (sls ShopifyLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
87295	return nil, false
87296}
87297
87298// AsHTTPLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87299func (sls ShopifyLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
87300	return nil, false
87301}
87302
87303// AsAzureSearchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87304func (sls ShopifyLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
87305	return nil, false
87306}
87307
87308// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87309func (sls ShopifyLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
87310	return nil, false
87311}
87312
87313// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87314func (sls ShopifyLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
87315	return nil, false
87316}
87317
87318// AsAmazonS3LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87319func (sls ShopifyLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
87320	return nil, false
87321}
87322
87323// AsSapEccLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87324func (sls ShopifyLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
87325	return nil, false
87326}
87327
87328// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87329func (sls ShopifyLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
87330	return nil, false
87331}
87332
87333// AsSalesforceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87334func (sls ShopifyLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
87335	return nil, false
87336}
87337
87338// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87339func (sls ShopifyLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
87340	return nil, false
87341}
87342
87343// AsMongoDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87344func (sls ShopifyLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
87345	return nil, false
87346}
87347
87348// AsCassandraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87349func (sls ShopifyLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
87350	return nil, false
87351}
87352
87353// AsWebLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87354func (sls ShopifyLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
87355	return nil, false
87356}
87357
87358// AsODataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87359func (sls ShopifyLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
87360	return nil, false
87361}
87362
87363// AsHdfsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87364func (sls ShopifyLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
87365	return nil, false
87366}
87367
87368// AsOdbcLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87369func (sls ShopifyLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
87370	return nil, false
87371}
87372
87373// AsAzureMLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87374func (sls ShopifyLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
87375	return nil, false
87376}
87377
87378// AsTeradataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87379func (sls ShopifyLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
87380	return nil, false
87381}
87382
87383// AsDb2LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87384func (sls ShopifyLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
87385	return nil, false
87386}
87387
87388// AsSybaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87389func (sls ShopifyLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
87390	return nil, false
87391}
87392
87393// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87394func (sls ShopifyLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
87395	return nil, false
87396}
87397
87398// AsMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87399func (sls ShopifyLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
87400	return nil, false
87401}
87402
87403// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87404func (sls ShopifyLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
87405	return nil, false
87406}
87407
87408// AsOracleLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87409func (sls ShopifyLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
87410	return nil, false
87411}
87412
87413// AsFileServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87414func (sls ShopifyLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
87415	return nil, false
87416}
87417
87418// AsHDInsightLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87419func (sls ShopifyLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
87420	return nil, false
87421}
87422
87423// AsDynamicsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87424func (sls ShopifyLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
87425	return nil, false
87426}
87427
87428// AsCosmosDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87429func (sls ShopifyLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
87430	return nil, false
87431}
87432
87433// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87434func (sls ShopifyLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
87435	return nil, false
87436}
87437
87438// AsAzureBatchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87439func (sls ShopifyLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
87440	return nil, false
87441}
87442
87443// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87444func (sls ShopifyLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
87445	return nil, false
87446}
87447
87448// AsSQLServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87449func (sls ShopifyLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
87450	return nil, false
87451}
87452
87453// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87454func (sls ShopifyLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
87455	return nil, false
87456}
87457
87458// AsAzureStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87459func (sls ShopifyLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
87460	return nil, false
87461}
87462
87463// AsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87464func (sls ShopifyLinkedService) AsLinkedService() (*LinkedService, bool) {
87465	return nil, false
87466}
87467
87468// AsBasicLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87469func (sls ShopifyLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
87470	return &sls, true
87471}
87472
87473// UnmarshalJSON is the custom unmarshaler for ShopifyLinkedService struct.
87474func (sls *ShopifyLinkedService) UnmarshalJSON(body []byte) error {
87475	var m map[string]*json.RawMessage
87476	err := json.Unmarshal(body, &m)
87477	if err != nil {
87478		return err
87479	}
87480	for k, v := range m {
87481		switch k {
87482		case "typeProperties":
87483			if v != nil {
87484				var shopifyLinkedServiceTypeProperties ShopifyLinkedServiceTypeProperties
87485				err = json.Unmarshal(*v, &shopifyLinkedServiceTypeProperties)
87486				if err != nil {
87487					return err
87488				}
87489				sls.ShopifyLinkedServiceTypeProperties = &shopifyLinkedServiceTypeProperties
87490			}
87491		default:
87492			if v != nil {
87493				var additionalProperties interface{}
87494				err = json.Unmarshal(*v, &additionalProperties)
87495				if err != nil {
87496					return err
87497				}
87498				if sls.AdditionalProperties == nil {
87499					sls.AdditionalProperties = make(map[string]interface{})
87500				}
87501				sls.AdditionalProperties[k] = additionalProperties
87502			}
87503		case "connectVia":
87504			if v != nil {
87505				var connectVia IntegrationRuntimeReference
87506				err = json.Unmarshal(*v, &connectVia)
87507				if err != nil {
87508					return err
87509				}
87510				sls.ConnectVia = &connectVia
87511			}
87512		case "description":
87513			if v != nil {
87514				var description string
87515				err = json.Unmarshal(*v, &description)
87516				if err != nil {
87517					return err
87518				}
87519				sls.Description = &description
87520			}
87521		case "parameters":
87522			if v != nil {
87523				var parameters map[string]*ParameterSpecification
87524				err = json.Unmarshal(*v, &parameters)
87525				if err != nil {
87526					return err
87527				}
87528				sls.Parameters = parameters
87529			}
87530		case "annotations":
87531			if v != nil {
87532				var annotations []interface{}
87533				err = json.Unmarshal(*v, &annotations)
87534				if err != nil {
87535					return err
87536				}
87537				sls.Annotations = &annotations
87538			}
87539		case "type":
87540			if v != nil {
87541				var typeVar TypeBasicLinkedService
87542				err = json.Unmarshal(*v, &typeVar)
87543				if err != nil {
87544					return err
87545				}
87546				sls.Type = typeVar
87547			}
87548		}
87549	}
87550
87551	return nil
87552}
87553
87554// ShopifyLinkedServiceTypeProperties shopify Service linked service properties.
87555type ShopifyLinkedServiceTypeProperties struct {
87556	// Host - The endpoint of the Shopify server. (i.e. mystore.myshopify.com)
87557	Host interface{} `json:"host,omitempty"`
87558	// AccessToken - The API access token that can be used to access Shopify’s data. The token won't expire if it is offline mode.
87559	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
87560	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
87561	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
87562	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
87563	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
87564	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
87565	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
87566	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
87567	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
87568}
87569
87570// UnmarshalJSON is the custom unmarshaler for ShopifyLinkedServiceTypeProperties struct.
87571func (slstp *ShopifyLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
87572	var m map[string]*json.RawMessage
87573	err := json.Unmarshal(body, &m)
87574	if err != nil {
87575		return err
87576	}
87577	for k, v := range m {
87578		switch k {
87579		case "host":
87580			if v != nil {
87581				var host interface{}
87582				err = json.Unmarshal(*v, &host)
87583				if err != nil {
87584					return err
87585				}
87586				slstp.Host = host
87587			}
87588		case "accessToken":
87589			if v != nil {
87590				accessToken, err := unmarshalBasicSecretBase(*v)
87591				if err != nil {
87592					return err
87593				}
87594				slstp.AccessToken = accessToken
87595			}
87596		case "useEncryptedEndpoints":
87597			if v != nil {
87598				var useEncryptedEndpoints interface{}
87599				err = json.Unmarshal(*v, &useEncryptedEndpoints)
87600				if err != nil {
87601					return err
87602				}
87603				slstp.UseEncryptedEndpoints = useEncryptedEndpoints
87604			}
87605		case "useHostVerification":
87606			if v != nil {
87607				var useHostVerification interface{}
87608				err = json.Unmarshal(*v, &useHostVerification)
87609				if err != nil {
87610					return err
87611				}
87612				slstp.UseHostVerification = useHostVerification
87613			}
87614		case "usePeerVerification":
87615			if v != nil {
87616				var usePeerVerification interface{}
87617				err = json.Unmarshal(*v, &usePeerVerification)
87618				if err != nil {
87619					return err
87620				}
87621				slstp.UsePeerVerification = usePeerVerification
87622			}
87623		case "encryptedCredential":
87624			if v != nil {
87625				var encryptedCredential interface{}
87626				err = json.Unmarshal(*v, &encryptedCredential)
87627				if err != nil {
87628					return err
87629				}
87630				slstp.EncryptedCredential = encryptedCredential
87631			}
87632		}
87633	}
87634
87635	return nil
87636}
87637
87638// ShopifyObjectDataset shopify Service dataset.
87639type ShopifyObjectDataset struct {
87640	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
87641	AdditionalProperties map[string]interface{} `json:""`
87642	// Description - Dataset description.
87643	Description *string `json:"description,omitempty"`
87644	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
87645	Structure interface{} `json:"structure,omitempty"`
87646	// LinkedServiceName - Linked service reference.
87647	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
87648	// Parameters - Parameters for dataset.
87649	Parameters map[string]*ParameterSpecification `json:"parameters"`
87650	// Annotations - List of tags that can be used for describing the Dataset.
87651	Annotations *[]interface{} `json:"annotations,omitempty"`
87652	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
87653	Type TypeBasicDataset `json:"type,omitempty"`
87654}
87655
87656// MarshalJSON is the custom marshaler for ShopifyObjectDataset.
87657func (sod ShopifyObjectDataset) MarshalJSON() ([]byte, error) {
87658	sod.Type = TypeShopifyObject
87659	objectMap := make(map[string]interface{})
87660	if sod.Description != nil {
87661		objectMap["description"] = sod.Description
87662	}
87663	if sod.Structure != nil {
87664		objectMap["structure"] = sod.Structure
87665	}
87666	if sod.LinkedServiceName != nil {
87667		objectMap["linkedServiceName"] = sod.LinkedServiceName
87668	}
87669	if sod.Parameters != nil {
87670		objectMap["parameters"] = sod.Parameters
87671	}
87672	if sod.Annotations != nil {
87673		objectMap["annotations"] = sod.Annotations
87674	}
87675	if sod.Type != "" {
87676		objectMap["type"] = sod.Type
87677	}
87678	for k, v := range sod.AdditionalProperties {
87679		objectMap[k] = v
87680	}
87681	return json.Marshal(objectMap)
87682}
87683
87684// AsResponsysObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87685func (sod ShopifyObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
87686	return nil, false
87687}
87688
87689// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87690func (sod ShopifyObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
87691	return nil, false
87692}
87693
87694// AsVerticaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87695func (sod ShopifyObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
87696	return nil, false
87697}
87698
87699// AsNetezzaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87700func (sod ShopifyObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
87701	return nil, false
87702}
87703
87704// AsZohoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87705func (sod ShopifyObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
87706	return nil, false
87707}
87708
87709// AsXeroObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87710func (sod ShopifyObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
87711	return nil, false
87712}
87713
87714// AsSquareObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87715func (sod ShopifyObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
87716	return nil, false
87717}
87718
87719// AsSparkObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87720func (sod ShopifyObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
87721	return nil, false
87722}
87723
87724// AsShopifyObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87725func (sod ShopifyObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
87726	return &sod, true
87727}
87728
87729// AsServiceNowObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87730func (sod ShopifyObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
87731	return nil, false
87732}
87733
87734// AsQuickBooksObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87735func (sod ShopifyObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
87736	return nil, false
87737}
87738
87739// AsPrestoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87740func (sod ShopifyObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
87741	return nil, false
87742}
87743
87744// AsPhoenixObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87745func (sod ShopifyObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
87746	return nil, false
87747}
87748
87749// AsPaypalObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87750func (sod ShopifyObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
87751	return nil, false
87752}
87753
87754// AsMarketoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87755func (sod ShopifyObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
87756	return nil, false
87757}
87758
87759// AsMariaDBTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87760func (sod ShopifyObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
87761	return nil, false
87762}
87763
87764// AsMagentoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87765func (sod ShopifyObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
87766	return nil, false
87767}
87768
87769// AsJiraObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87770func (sod ShopifyObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
87771	return nil, false
87772}
87773
87774// AsImpalaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87775func (sod ShopifyObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
87776	return nil, false
87777}
87778
87779// AsHubspotObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87780func (sod ShopifyObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
87781	return nil, false
87782}
87783
87784// AsHiveObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87785func (sod ShopifyObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
87786	return nil, false
87787}
87788
87789// AsHBaseObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87790func (sod ShopifyObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
87791	return nil, false
87792}
87793
87794// AsGreenplumTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87795func (sod ShopifyObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
87796	return nil, false
87797}
87798
87799// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87800func (sod ShopifyObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
87801	return nil, false
87802}
87803
87804// AsEloquaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87805func (sod ShopifyObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
87806	return nil, false
87807}
87808
87809// AsDrillTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87810func (sod ShopifyObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
87811	return nil, false
87812}
87813
87814// AsCouchbaseTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87815func (sod ShopifyObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
87816	return nil, false
87817}
87818
87819// AsConcurObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87820func (sod ShopifyObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
87821	return nil, false
87822}
87823
87824// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87825func (sod ShopifyObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
87826	return nil, false
87827}
87828
87829// AsAmazonMWSObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87830func (sod ShopifyObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
87831	return nil, false
87832}
87833
87834// AsHTTPDataset is the BasicDataset implementation for ShopifyObjectDataset.
87835func (sod ShopifyObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
87836	return nil, false
87837}
87838
87839// AsAzureSearchIndexDataset is the BasicDataset implementation for ShopifyObjectDataset.
87840func (sod ShopifyObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
87841	return nil, false
87842}
87843
87844// AsWebTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87845func (sod ShopifyObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
87846	return nil, false
87847}
87848
87849// AsSQLServerTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87850func (sod ShopifyObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
87851	return nil, false
87852}
87853
87854// AsSapEccResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
87855func (sod ShopifyObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
87856	return nil, false
87857}
87858
87859// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
87860func (sod ShopifyObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
87861	return nil, false
87862}
87863
87864// AsSalesforceObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87865func (sod ShopifyObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
87866	return nil, false
87867}
87868
87869// AsRelationalTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87870func (sod ShopifyObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
87871	return nil, false
87872}
87873
87874// AsAzureMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87875func (sod ShopifyObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
87876	return nil, false
87877}
87878
87879// AsOracleTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87880func (sod ShopifyObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
87881	return nil, false
87882}
87883
87884// AsODataResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
87885func (sod ShopifyObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
87886	return nil, false
87887}
87888
87889// AsMongoDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
87890func (sod ShopifyObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
87891	return nil, false
87892}
87893
87894// AsFileShareDataset is the BasicDataset implementation for ShopifyObjectDataset.
87895func (sod ShopifyObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
87896	return nil, false
87897}
87898
87899// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ShopifyObjectDataset.
87900func (sod ShopifyObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
87901	return nil, false
87902}
87903
87904// AsDynamicsEntityDataset is the BasicDataset implementation for ShopifyObjectDataset.
87905func (sod ShopifyObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
87906	return nil, false
87907}
87908
87909// AsDocumentDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
87910func (sod ShopifyObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
87911	return nil, false
87912}
87913
87914// AsCustomDataset is the BasicDataset implementation for ShopifyObjectDataset.
87915func (sod ShopifyObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
87916	return nil, false
87917}
87918
87919// AsCassandraTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87920func (sod ShopifyObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
87921	return nil, false
87922}
87923
87924// AsAzureSQLDWTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87925func (sod ShopifyObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
87926	return nil, false
87927}
87928
87929// AsAzureSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87930func (sod ShopifyObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
87931	return nil, false
87932}
87933
87934// AsAzureTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87935func (sod ShopifyObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
87936	return nil, false
87937}
87938
87939// AsAzureBlobDataset is the BasicDataset implementation for ShopifyObjectDataset.
87940func (sod ShopifyObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
87941	return nil, false
87942}
87943
87944// AsAmazonS3Dataset is the BasicDataset implementation for ShopifyObjectDataset.
87945func (sod ShopifyObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
87946	return nil, false
87947}
87948
87949// AsDataset is the BasicDataset implementation for ShopifyObjectDataset.
87950func (sod ShopifyObjectDataset) AsDataset() (*Dataset, bool) {
87951	return nil, false
87952}
87953
87954// AsBasicDataset is the BasicDataset implementation for ShopifyObjectDataset.
87955func (sod ShopifyObjectDataset) AsBasicDataset() (BasicDataset, bool) {
87956	return &sod, true
87957}
87958
87959// UnmarshalJSON is the custom unmarshaler for ShopifyObjectDataset struct.
87960func (sod *ShopifyObjectDataset) UnmarshalJSON(body []byte) error {
87961	var m map[string]*json.RawMessage
87962	err := json.Unmarshal(body, &m)
87963	if err != nil {
87964		return err
87965	}
87966	for k, v := range m {
87967		switch k {
87968		default:
87969			if v != nil {
87970				var additionalProperties interface{}
87971				err = json.Unmarshal(*v, &additionalProperties)
87972				if err != nil {
87973					return err
87974				}
87975				if sod.AdditionalProperties == nil {
87976					sod.AdditionalProperties = make(map[string]interface{})
87977				}
87978				sod.AdditionalProperties[k] = additionalProperties
87979			}
87980		case "description":
87981			if v != nil {
87982				var description string
87983				err = json.Unmarshal(*v, &description)
87984				if err != nil {
87985					return err
87986				}
87987				sod.Description = &description
87988			}
87989		case "structure":
87990			if v != nil {
87991				var structure interface{}
87992				err = json.Unmarshal(*v, &structure)
87993				if err != nil {
87994					return err
87995				}
87996				sod.Structure = structure
87997			}
87998		case "linkedServiceName":
87999			if v != nil {
88000				var linkedServiceName LinkedServiceReference
88001				err = json.Unmarshal(*v, &linkedServiceName)
88002				if err != nil {
88003					return err
88004				}
88005				sod.LinkedServiceName = &linkedServiceName
88006			}
88007		case "parameters":
88008			if v != nil {
88009				var parameters map[string]*ParameterSpecification
88010				err = json.Unmarshal(*v, &parameters)
88011				if err != nil {
88012					return err
88013				}
88014				sod.Parameters = parameters
88015			}
88016		case "annotations":
88017			if v != nil {
88018				var annotations []interface{}
88019				err = json.Unmarshal(*v, &annotations)
88020				if err != nil {
88021					return err
88022				}
88023				sod.Annotations = &annotations
88024			}
88025		case "type":
88026			if v != nil {
88027				var typeVar TypeBasicDataset
88028				err = json.Unmarshal(*v, &typeVar)
88029				if err != nil {
88030					return err
88031				}
88032				sod.Type = typeVar
88033			}
88034		}
88035	}
88036
88037	return nil
88038}
88039
88040// ShopifySource a copy activity Shopify Service source.
88041type ShopifySource struct {
88042	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
88043	Query interface{} `json:"query,omitempty"`
88044	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
88045	AdditionalProperties map[string]interface{} `json:""`
88046	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
88047	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
88048	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
88049	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
88050	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
88051	Type TypeBasicCopySource `json:"type,omitempty"`
88052}
88053
88054// MarshalJSON is the custom marshaler for ShopifySource.
88055func (ss ShopifySource) MarshalJSON() ([]byte, error) {
88056	ss.Type = TypeShopifySource
88057	objectMap := make(map[string]interface{})
88058	if ss.Query != nil {
88059		objectMap["query"] = ss.Query
88060	}
88061	if ss.SourceRetryCount != nil {
88062		objectMap["sourceRetryCount"] = ss.SourceRetryCount
88063	}
88064	if ss.SourceRetryWait != nil {
88065		objectMap["sourceRetryWait"] = ss.SourceRetryWait
88066	}
88067	if ss.Type != "" {
88068		objectMap["type"] = ss.Type
88069	}
88070	for k, v := range ss.AdditionalProperties {
88071		objectMap[k] = v
88072	}
88073	return json.Marshal(objectMap)
88074}
88075
88076// AsAmazonRedshiftSource is the BasicCopySource implementation for ShopifySource.
88077func (ss ShopifySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
88078	return nil, false
88079}
88080
88081// AsResponsysSource is the BasicCopySource implementation for ShopifySource.
88082func (ss ShopifySource) AsResponsysSource() (*ResponsysSource, bool) {
88083	return nil, false
88084}
88085
88086// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ShopifySource.
88087func (ss ShopifySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
88088	return nil, false
88089}
88090
88091// AsVerticaSource is the BasicCopySource implementation for ShopifySource.
88092func (ss ShopifySource) AsVerticaSource() (*VerticaSource, bool) {
88093	return nil, false
88094}
88095
88096// AsNetezzaSource is the BasicCopySource implementation for ShopifySource.
88097func (ss ShopifySource) AsNetezzaSource() (*NetezzaSource, bool) {
88098	return nil, false
88099}
88100
88101// AsZohoSource is the BasicCopySource implementation for ShopifySource.
88102func (ss ShopifySource) AsZohoSource() (*ZohoSource, bool) {
88103	return nil, false
88104}
88105
88106// AsXeroSource is the BasicCopySource implementation for ShopifySource.
88107func (ss ShopifySource) AsXeroSource() (*XeroSource, bool) {
88108	return nil, false
88109}
88110
88111// AsSquareSource is the BasicCopySource implementation for ShopifySource.
88112func (ss ShopifySource) AsSquareSource() (*SquareSource, bool) {
88113	return nil, false
88114}
88115
88116// AsSparkSource is the BasicCopySource implementation for ShopifySource.
88117func (ss ShopifySource) AsSparkSource() (*SparkSource, bool) {
88118	return nil, false
88119}
88120
88121// AsShopifySource is the BasicCopySource implementation for ShopifySource.
88122func (ss ShopifySource) AsShopifySource() (*ShopifySource, bool) {
88123	return &ss, true
88124}
88125
88126// AsServiceNowSource is the BasicCopySource implementation for ShopifySource.
88127func (ss ShopifySource) AsServiceNowSource() (*ServiceNowSource, bool) {
88128	return nil, false
88129}
88130
88131// AsQuickBooksSource is the BasicCopySource implementation for ShopifySource.
88132func (ss ShopifySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
88133	return nil, false
88134}
88135
88136// AsPrestoSource is the BasicCopySource implementation for ShopifySource.
88137func (ss ShopifySource) AsPrestoSource() (*PrestoSource, bool) {
88138	return nil, false
88139}
88140
88141// AsPhoenixSource is the BasicCopySource implementation for ShopifySource.
88142func (ss ShopifySource) AsPhoenixSource() (*PhoenixSource, bool) {
88143	return nil, false
88144}
88145
88146// AsPaypalSource is the BasicCopySource implementation for ShopifySource.
88147func (ss ShopifySource) AsPaypalSource() (*PaypalSource, bool) {
88148	return nil, false
88149}
88150
88151// AsMarketoSource is the BasicCopySource implementation for ShopifySource.
88152func (ss ShopifySource) AsMarketoSource() (*MarketoSource, bool) {
88153	return nil, false
88154}
88155
88156// AsMariaDBSource is the BasicCopySource implementation for ShopifySource.
88157func (ss ShopifySource) AsMariaDBSource() (*MariaDBSource, bool) {
88158	return nil, false
88159}
88160
88161// AsMagentoSource is the BasicCopySource implementation for ShopifySource.
88162func (ss ShopifySource) AsMagentoSource() (*MagentoSource, bool) {
88163	return nil, false
88164}
88165
88166// AsJiraSource is the BasicCopySource implementation for ShopifySource.
88167func (ss ShopifySource) AsJiraSource() (*JiraSource, bool) {
88168	return nil, false
88169}
88170
88171// AsImpalaSource is the BasicCopySource implementation for ShopifySource.
88172func (ss ShopifySource) AsImpalaSource() (*ImpalaSource, bool) {
88173	return nil, false
88174}
88175
88176// AsHubspotSource is the BasicCopySource implementation for ShopifySource.
88177func (ss ShopifySource) AsHubspotSource() (*HubspotSource, bool) {
88178	return nil, false
88179}
88180
88181// AsHiveSource is the BasicCopySource implementation for ShopifySource.
88182func (ss ShopifySource) AsHiveSource() (*HiveSource, bool) {
88183	return nil, false
88184}
88185
88186// AsHBaseSource is the BasicCopySource implementation for ShopifySource.
88187func (ss ShopifySource) AsHBaseSource() (*HBaseSource, bool) {
88188	return nil, false
88189}
88190
88191// AsGreenplumSource is the BasicCopySource implementation for ShopifySource.
88192func (ss ShopifySource) AsGreenplumSource() (*GreenplumSource, bool) {
88193	return nil, false
88194}
88195
88196// AsGoogleBigQuerySource is the BasicCopySource implementation for ShopifySource.
88197func (ss ShopifySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
88198	return nil, false
88199}
88200
88201// AsEloquaSource is the BasicCopySource implementation for ShopifySource.
88202func (ss ShopifySource) AsEloquaSource() (*EloquaSource, bool) {
88203	return nil, false
88204}
88205
88206// AsDrillSource is the BasicCopySource implementation for ShopifySource.
88207func (ss ShopifySource) AsDrillSource() (*DrillSource, bool) {
88208	return nil, false
88209}
88210
88211// AsCouchbaseSource is the BasicCopySource implementation for ShopifySource.
88212func (ss ShopifySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
88213	return nil, false
88214}
88215
88216// AsConcurSource is the BasicCopySource implementation for ShopifySource.
88217func (ss ShopifySource) AsConcurSource() (*ConcurSource, bool) {
88218	return nil, false
88219}
88220
88221// AsAzurePostgreSQLSource is the BasicCopySource implementation for ShopifySource.
88222func (ss ShopifySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
88223	return nil, false
88224}
88225
88226// AsAmazonMWSSource is the BasicCopySource implementation for ShopifySource.
88227func (ss ShopifySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
88228	return nil, false
88229}
88230
88231// AsHTTPSource is the BasicCopySource implementation for ShopifySource.
88232func (ss ShopifySource) AsHTTPSource() (*HTTPSource, bool) {
88233	return nil, false
88234}
88235
88236// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ShopifySource.
88237func (ss ShopifySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
88238	return nil, false
88239}
88240
88241// AsMongoDbSource is the BasicCopySource implementation for ShopifySource.
88242func (ss ShopifySource) AsMongoDbSource() (*MongoDbSource, bool) {
88243	return nil, false
88244}
88245
88246// AsCassandraSource is the BasicCopySource implementation for ShopifySource.
88247func (ss ShopifySource) AsCassandraSource() (*CassandraSource, bool) {
88248	return nil, false
88249}
88250
88251// AsWebSource is the BasicCopySource implementation for ShopifySource.
88252func (ss ShopifySource) AsWebSource() (*WebSource, bool) {
88253	return nil, false
88254}
88255
88256// AsOracleSource is the BasicCopySource implementation for ShopifySource.
88257func (ss ShopifySource) AsOracleSource() (*OracleSource, bool) {
88258	return nil, false
88259}
88260
88261// AsAzureMySQLSource is the BasicCopySource implementation for ShopifySource.
88262func (ss ShopifySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
88263	return nil, false
88264}
88265
88266// AsHdfsSource is the BasicCopySource implementation for ShopifySource.
88267func (ss ShopifySource) AsHdfsSource() (*HdfsSource, bool) {
88268	return nil, false
88269}
88270
88271// AsFileSystemSource is the BasicCopySource implementation for ShopifySource.
88272func (ss ShopifySource) AsFileSystemSource() (*FileSystemSource, bool) {
88273	return nil, false
88274}
88275
88276// AsSQLDWSource is the BasicCopySource implementation for ShopifySource.
88277func (ss ShopifySource) AsSQLDWSource() (*SQLDWSource, bool) {
88278	return nil, false
88279}
88280
88281// AsSQLSource is the BasicCopySource implementation for ShopifySource.
88282func (ss ShopifySource) AsSQLSource() (*SQLSource, bool) {
88283	return nil, false
88284}
88285
88286// AsSapEccSource is the BasicCopySource implementation for ShopifySource.
88287func (ss ShopifySource) AsSapEccSource() (*SapEccSource, bool) {
88288	return nil, false
88289}
88290
88291// AsSapCloudForCustomerSource is the BasicCopySource implementation for ShopifySource.
88292func (ss ShopifySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
88293	return nil, false
88294}
88295
88296// AsSalesforceSource is the BasicCopySource implementation for ShopifySource.
88297func (ss ShopifySource) AsSalesforceSource() (*SalesforceSource, bool) {
88298	return nil, false
88299}
88300
88301// AsRelationalSource is the BasicCopySource implementation for ShopifySource.
88302func (ss ShopifySource) AsRelationalSource() (*RelationalSource, bool) {
88303	return nil, false
88304}
88305
88306// AsDynamicsSource is the BasicCopySource implementation for ShopifySource.
88307func (ss ShopifySource) AsDynamicsSource() (*DynamicsSource, bool) {
88308	return nil, false
88309}
88310
88311// AsDocumentDbCollectionSource is the BasicCopySource implementation for ShopifySource.
88312func (ss ShopifySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
88313	return nil, false
88314}
88315
88316// AsBlobSource is the BasicCopySource implementation for ShopifySource.
88317func (ss ShopifySource) AsBlobSource() (*BlobSource, bool) {
88318	return nil, false
88319}
88320
88321// AsAzureTableSource is the BasicCopySource implementation for ShopifySource.
88322func (ss ShopifySource) AsAzureTableSource() (*AzureTableSource, bool) {
88323	return nil, false
88324}
88325
88326// AsCopySource is the BasicCopySource implementation for ShopifySource.
88327func (ss ShopifySource) AsCopySource() (*CopySource, bool) {
88328	return nil, false
88329}
88330
88331// AsBasicCopySource is the BasicCopySource implementation for ShopifySource.
88332func (ss ShopifySource) AsBasicCopySource() (BasicCopySource, bool) {
88333	return &ss, true
88334}
88335
88336// UnmarshalJSON is the custom unmarshaler for ShopifySource struct.
88337func (ss *ShopifySource) UnmarshalJSON(body []byte) error {
88338	var m map[string]*json.RawMessage
88339	err := json.Unmarshal(body, &m)
88340	if err != nil {
88341		return err
88342	}
88343	for k, v := range m {
88344		switch k {
88345		case "query":
88346			if v != nil {
88347				var query interface{}
88348				err = json.Unmarshal(*v, &query)
88349				if err != nil {
88350					return err
88351				}
88352				ss.Query = query
88353			}
88354		default:
88355			if v != nil {
88356				var additionalProperties interface{}
88357				err = json.Unmarshal(*v, &additionalProperties)
88358				if err != nil {
88359					return err
88360				}
88361				if ss.AdditionalProperties == nil {
88362					ss.AdditionalProperties = make(map[string]interface{})
88363				}
88364				ss.AdditionalProperties[k] = additionalProperties
88365			}
88366		case "sourceRetryCount":
88367			if v != nil {
88368				var sourceRetryCount interface{}
88369				err = json.Unmarshal(*v, &sourceRetryCount)
88370				if err != nil {
88371					return err
88372				}
88373				ss.SourceRetryCount = sourceRetryCount
88374			}
88375		case "sourceRetryWait":
88376			if v != nil {
88377				var sourceRetryWait interface{}
88378				err = json.Unmarshal(*v, &sourceRetryWait)
88379				if err != nil {
88380					return err
88381				}
88382				ss.SourceRetryWait = sourceRetryWait
88383			}
88384		case "type":
88385			if v != nil {
88386				var typeVar TypeBasicCopySource
88387				err = json.Unmarshal(*v, &typeVar)
88388				if err != nil {
88389					return err
88390				}
88391				ss.Type = typeVar
88392			}
88393		}
88394	}
88395
88396	return nil
88397}
88398
88399// SparkLinkedService spark Server linked service.
88400type SparkLinkedService struct {
88401	// SparkLinkedServiceTypeProperties - Spark Server linked service properties.
88402	*SparkLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
88403	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
88404	AdditionalProperties map[string]interface{} `json:""`
88405	// ConnectVia - The integration runtime reference.
88406	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
88407	// Description - Linked service description.
88408	Description *string `json:"description,omitempty"`
88409	// Parameters - Parameters for linked service.
88410	Parameters map[string]*ParameterSpecification `json:"parameters"`
88411	// Annotations - List of tags that can be used for describing the Dataset.
88412	Annotations *[]interface{} `json:"annotations,omitempty"`
88413	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
88414	Type TypeBasicLinkedService `json:"type,omitempty"`
88415}
88416
88417// MarshalJSON is the custom marshaler for SparkLinkedService.
88418func (sls SparkLinkedService) MarshalJSON() ([]byte, error) {
88419	sls.Type = TypeSpark
88420	objectMap := make(map[string]interface{})
88421	if sls.SparkLinkedServiceTypeProperties != nil {
88422		objectMap["typeProperties"] = sls.SparkLinkedServiceTypeProperties
88423	}
88424	if sls.ConnectVia != nil {
88425		objectMap["connectVia"] = sls.ConnectVia
88426	}
88427	if sls.Description != nil {
88428		objectMap["description"] = sls.Description
88429	}
88430	if sls.Parameters != nil {
88431		objectMap["parameters"] = sls.Parameters
88432	}
88433	if sls.Annotations != nil {
88434		objectMap["annotations"] = sls.Annotations
88435	}
88436	if sls.Type != "" {
88437		objectMap["type"] = sls.Type
88438	}
88439	for k, v := range sls.AdditionalProperties {
88440		objectMap[k] = v
88441	}
88442	return json.Marshal(objectMap)
88443}
88444
88445// AsResponsysLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88446func (sls SparkLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
88447	return nil, false
88448}
88449
88450// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88451func (sls SparkLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
88452	return nil, false
88453}
88454
88455// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88456func (sls SparkLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
88457	return nil, false
88458}
88459
88460// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88461func (sls SparkLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
88462	return nil, false
88463}
88464
88465// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88466func (sls SparkLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
88467	return nil, false
88468}
88469
88470// AsNetezzaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88471func (sls SparkLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
88472	return nil, false
88473}
88474
88475// AsVerticaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88476func (sls SparkLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
88477	return nil, false
88478}
88479
88480// AsZohoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88481func (sls SparkLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
88482	return nil, false
88483}
88484
88485// AsXeroLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88486func (sls SparkLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
88487	return nil, false
88488}
88489
88490// AsSquareLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88491func (sls SparkLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
88492	return nil, false
88493}
88494
88495// AsSparkLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88496func (sls SparkLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
88497	return &sls, true
88498}
88499
88500// AsShopifyLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88501func (sls SparkLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
88502	return nil, false
88503}
88504
88505// AsServiceNowLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88506func (sls SparkLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
88507	return nil, false
88508}
88509
88510// AsQuickBooksLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88511func (sls SparkLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
88512	return nil, false
88513}
88514
88515// AsPrestoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88516func (sls SparkLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
88517	return nil, false
88518}
88519
88520// AsPhoenixLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88521func (sls SparkLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
88522	return nil, false
88523}
88524
88525// AsPaypalLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88526func (sls SparkLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
88527	return nil, false
88528}
88529
88530// AsMarketoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88531func (sls SparkLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
88532	return nil, false
88533}
88534
88535// AsMariaDBLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88536func (sls SparkLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
88537	return nil, false
88538}
88539
88540// AsMagentoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88541func (sls SparkLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
88542	return nil, false
88543}
88544
88545// AsJiraLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88546func (sls SparkLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
88547	return nil, false
88548}
88549
88550// AsImpalaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88551func (sls SparkLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
88552	return nil, false
88553}
88554
88555// AsHubspotLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88556func (sls SparkLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
88557	return nil, false
88558}
88559
88560// AsHiveLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88561func (sls SparkLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
88562	return nil, false
88563}
88564
88565// AsHBaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88566func (sls SparkLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
88567	return nil, false
88568}
88569
88570// AsGreenplumLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88571func (sls SparkLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
88572	return nil, false
88573}
88574
88575// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88576func (sls SparkLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
88577	return nil, false
88578}
88579
88580// AsEloquaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88581func (sls SparkLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
88582	return nil, false
88583}
88584
88585// AsDrillLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88586func (sls SparkLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
88587	return nil, false
88588}
88589
88590// AsCouchbaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88591func (sls SparkLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
88592	return nil, false
88593}
88594
88595// AsConcurLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88596func (sls SparkLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
88597	return nil, false
88598}
88599
88600// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88601func (sls SparkLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
88602	return nil, false
88603}
88604
88605// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88606func (sls SparkLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
88607	return nil, false
88608}
88609
88610// AsSapHanaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88611func (sls SparkLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
88612	return nil, false
88613}
88614
88615// AsSapBWLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88616func (sls SparkLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
88617	return nil, false
88618}
88619
88620// AsSftpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88621func (sls SparkLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
88622	return nil, false
88623}
88624
88625// AsFtpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88626func (sls SparkLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
88627	return nil, false
88628}
88629
88630// AsHTTPLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88631func (sls SparkLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
88632	return nil, false
88633}
88634
88635// AsAzureSearchLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88636func (sls SparkLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
88637	return nil, false
88638}
88639
88640// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88641func (sls SparkLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
88642	return nil, false
88643}
88644
88645// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88646func (sls SparkLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
88647	return nil, false
88648}
88649
88650// AsAmazonS3LinkedService is the BasicLinkedService implementation for SparkLinkedService.
88651func (sls SparkLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
88652	return nil, false
88653}
88654
88655// AsSapEccLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88656func (sls SparkLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
88657	return nil, false
88658}
88659
88660// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88661func (sls SparkLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
88662	return nil, false
88663}
88664
88665// AsSalesforceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88666func (sls SparkLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
88667	return nil, false
88668}
88669
88670// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88671func (sls SparkLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
88672	return nil, false
88673}
88674
88675// AsMongoDbLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88676func (sls SparkLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
88677	return nil, false
88678}
88679
88680// AsCassandraLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88681func (sls SparkLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
88682	return nil, false
88683}
88684
88685// AsWebLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88686func (sls SparkLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
88687	return nil, false
88688}
88689
88690// AsODataLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88691func (sls SparkLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
88692	return nil, false
88693}
88694
88695// AsHdfsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88696func (sls SparkLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
88697	return nil, false
88698}
88699
88700// AsOdbcLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88701func (sls SparkLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
88702	return nil, false
88703}
88704
88705// AsAzureMLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88706func (sls SparkLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
88707	return nil, false
88708}
88709
88710// AsTeradataLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88711func (sls SparkLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
88712	return nil, false
88713}
88714
88715// AsDb2LinkedService is the BasicLinkedService implementation for SparkLinkedService.
88716func (sls SparkLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
88717	return nil, false
88718}
88719
88720// AsSybaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88721func (sls SparkLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
88722	return nil, false
88723}
88724
88725// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88726func (sls SparkLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
88727	return nil, false
88728}
88729
88730// AsMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88731func (sls SparkLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
88732	return nil, false
88733}
88734
88735// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88736func (sls SparkLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
88737	return nil, false
88738}
88739
88740// AsOracleLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88741func (sls SparkLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
88742	return nil, false
88743}
88744
88745// AsFileServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88746func (sls SparkLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
88747	return nil, false
88748}
88749
88750// AsHDInsightLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88751func (sls SparkLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
88752	return nil, false
88753}
88754
88755// AsDynamicsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88756func (sls SparkLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
88757	return nil, false
88758}
88759
88760// AsCosmosDbLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88761func (sls SparkLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
88762	return nil, false
88763}
88764
88765// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88766func (sls SparkLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
88767	return nil, false
88768}
88769
88770// AsAzureBatchLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88771func (sls SparkLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
88772	return nil, false
88773}
88774
88775// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88776func (sls SparkLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
88777	return nil, false
88778}
88779
88780// AsSQLServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88781func (sls SparkLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
88782	return nil, false
88783}
88784
88785// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88786func (sls SparkLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
88787	return nil, false
88788}
88789
88790// AsAzureStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88791func (sls SparkLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
88792	return nil, false
88793}
88794
88795// AsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88796func (sls SparkLinkedService) AsLinkedService() (*LinkedService, bool) {
88797	return nil, false
88798}
88799
88800// AsBasicLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88801func (sls SparkLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
88802	return &sls, true
88803}
88804
88805// UnmarshalJSON is the custom unmarshaler for SparkLinkedService struct.
88806func (sls *SparkLinkedService) UnmarshalJSON(body []byte) error {
88807	var m map[string]*json.RawMessage
88808	err := json.Unmarshal(body, &m)
88809	if err != nil {
88810		return err
88811	}
88812	for k, v := range m {
88813		switch k {
88814		case "typeProperties":
88815			if v != nil {
88816				var sparkLinkedServiceTypeProperties SparkLinkedServiceTypeProperties
88817				err = json.Unmarshal(*v, &sparkLinkedServiceTypeProperties)
88818				if err != nil {
88819					return err
88820				}
88821				sls.SparkLinkedServiceTypeProperties = &sparkLinkedServiceTypeProperties
88822			}
88823		default:
88824			if v != nil {
88825				var additionalProperties interface{}
88826				err = json.Unmarshal(*v, &additionalProperties)
88827				if err != nil {
88828					return err
88829				}
88830				if sls.AdditionalProperties == nil {
88831					sls.AdditionalProperties = make(map[string]interface{})
88832				}
88833				sls.AdditionalProperties[k] = additionalProperties
88834			}
88835		case "connectVia":
88836			if v != nil {
88837				var connectVia IntegrationRuntimeReference
88838				err = json.Unmarshal(*v, &connectVia)
88839				if err != nil {
88840					return err
88841				}
88842				sls.ConnectVia = &connectVia
88843			}
88844		case "description":
88845			if v != nil {
88846				var description string
88847				err = json.Unmarshal(*v, &description)
88848				if err != nil {
88849					return err
88850				}
88851				sls.Description = &description
88852			}
88853		case "parameters":
88854			if v != nil {
88855				var parameters map[string]*ParameterSpecification
88856				err = json.Unmarshal(*v, &parameters)
88857				if err != nil {
88858					return err
88859				}
88860				sls.Parameters = parameters
88861			}
88862		case "annotations":
88863			if v != nil {
88864				var annotations []interface{}
88865				err = json.Unmarshal(*v, &annotations)
88866				if err != nil {
88867					return err
88868				}
88869				sls.Annotations = &annotations
88870			}
88871		case "type":
88872			if v != nil {
88873				var typeVar TypeBasicLinkedService
88874				err = json.Unmarshal(*v, &typeVar)
88875				if err != nil {
88876					return err
88877				}
88878				sls.Type = typeVar
88879			}
88880		}
88881	}
88882
88883	return nil
88884}
88885
88886// SparkLinkedServiceTypeProperties spark Server linked service properties.
88887type SparkLinkedServiceTypeProperties struct {
88888	// Host - IP address or host name of the Spark server
88889	Host interface{} `json:"host,omitempty"`
88890	// Port - The TCP port that the Spark server uses to listen for client connections.
88891	Port interface{} `json:"port,omitempty"`
88892	// ServerType - The type of Spark server. Possible values include: 'SharkServer', 'SharkServer2', 'SparkThriftServer'
88893	ServerType SparkServerType `json:"serverType,omitempty"`
88894	// ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'SparkThriftTransportProtocolBinary', 'SparkThriftTransportProtocolSASL', 'SparkThriftTransportProtocolHTTP'
88895	ThriftTransportProtocol SparkThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"`
88896	// AuthenticationType - The authentication method used to access the Spark server. Possible values include: 'SparkAuthenticationTypeAnonymous', 'SparkAuthenticationTypeUsername', 'SparkAuthenticationTypeUsernameAndPassword', 'SparkAuthenticationTypeWindowsAzureHDInsightService'
88897	AuthenticationType SparkAuthenticationType `json:"authenticationType,omitempty"`
88898	// Username - The user name that you use to access Spark Server.
88899	Username interface{} `json:"username,omitempty"`
88900	// Password - The password corresponding to the user name that you provided in the Username field
88901	Password BasicSecretBase `json:"password,omitempty"`
88902	// HTTPPath - The partial URL corresponding to the Spark server.
88903	HTTPPath interface{} `json:"httpPath,omitempty"`
88904	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
88905	EnableSsl interface{} `json:"enableSsl,omitempty"`
88906	// TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
88907	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
88908	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
88909	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
88910	// AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
88911	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
88912	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
88913	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
88914	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
88915	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
88916}
88917
88918// UnmarshalJSON is the custom unmarshaler for SparkLinkedServiceTypeProperties struct.
88919func (slstp *SparkLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
88920	var m map[string]*json.RawMessage
88921	err := json.Unmarshal(body, &m)
88922	if err != nil {
88923		return err
88924	}
88925	for k, v := range m {
88926		switch k {
88927		case "host":
88928			if v != nil {
88929				var host interface{}
88930				err = json.Unmarshal(*v, &host)
88931				if err != nil {
88932					return err
88933				}
88934				slstp.Host = host
88935			}
88936		case "port":
88937			if v != nil {
88938				var port interface{}
88939				err = json.Unmarshal(*v, &port)
88940				if err != nil {
88941					return err
88942				}
88943				slstp.Port = port
88944			}
88945		case "serverType":
88946			if v != nil {
88947				var serverType SparkServerType
88948				err = json.Unmarshal(*v, &serverType)
88949				if err != nil {
88950					return err
88951				}
88952				slstp.ServerType = serverType
88953			}
88954		case "thriftTransportProtocol":
88955			if v != nil {
88956				var thriftTransportProtocol SparkThriftTransportProtocol
88957				err = json.Unmarshal(*v, &thriftTransportProtocol)
88958				if err != nil {
88959					return err
88960				}
88961				slstp.ThriftTransportProtocol = thriftTransportProtocol
88962			}
88963		case "authenticationType":
88964			if v != nil {
88965				var authenticationType SparkAuthenticationType
88966				err = json.Unmarshal(*v, &authenticationType)
88967				if err != nil {
88968					return err
88969				}
88970				slstp.AuthenticationType = authenticationType
88971			}
88972		case "username":
88973			if v != nil {
88974				var username interface{}
88975				err = json.Unmarshal(*v, &username)
88976				if err != nil {
88977					return err
88978				}
88979				slstp.Username = username
88980			}
88981		case "password":
88982			if v != nil {
88983				password, err := unmarshalBasicSecretBase(*v)
88984				if err != nil {
88985					return err
88986				}
88987				slstp.Password = password
88988			}
88989		case "httpPath":
88990			if v != nil {
88991				var HTTPPath interface{}
88992				err = json.Unmarshal(*v, &HTTPPath)
88993				if err != nil {
88994					return err
88995				}
88996				slstp.HTTPPath = HTTPPath
88997			}
88998		case "enableSsl":
88999			if v != nil {
89000				var enableSsl interface{}
89001				err = json.Unmarshal(*v, &enableSsl)
89002				if err != nil {
89003					return err
89004				}
89005				slstp.EnableSsl = enableSsl
89006			}
89007		case "trustedCertPath":
89008			if v != nil {
89009				var trustedCertPath interface{}
89010				err = json.Unmarshal(*v, &trustedCertPath)
89011				if err != nil {
89012					return err
89013				}
89014				slstp.TrustedCertPath = trustedCertPath
89015			}
89016		case "useSystemTrustStore":
89017			if v != nil {
89018				var useSystemTrustStore interface{}
89019				err = json.Unmarshal(*v, &useSystemTrustStore)
89020				if err != nil {
89021					return err
89022				}
89023				slstp.UseSystemTrustStore = useSystemTrustStore
89024			}
89025		case "allowHostNameCNMismatch":
89026			if v != nil {
89027				var allowHostNameCNMismatch interface{}
89028				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
89029				if err != nil {
89030					return err
89031				}
89032				slstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
89033			}
89034		case "allowSelfSignedServerCert":
89035			if v != nil {
89036				var allowSelfSignedServerCert interface{}
89037				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
89038				if err != nil {
89039					return err
89040				}
89041				slstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
89042			}
89043		case "encryptedCredential":
89044			if v != nil {
89045				var encryptedCredential interface{}
89046				err = json.Unmarshal(*v, &encryptedCredential)
89047				if err != nil {
89048					return err
89049				}
89050				slstp.EncryptedCredential = encryptedCredential
89051			}
89052		}
89053	}
89054
89055	return nil
89056}
89057
89058// SparkObjectDataset spark Server dataset.
89059type SparkObjectDataset struct {
89060	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
89061	AdditionalProperties map[string]interface{} `json:""`
89062	// Description - Dataset description.
89063	Description *string `json:"description,omitempty"`
89064	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
89065	Structure interface{} `json:"structure,omitempty"`
89066	// LinkedServiceName - Linked service reference.
89067	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
89068	// Parameters - Parameters for dataset.
89069	Parameters map[string]*ParameterSpecification `json:"parameters"`
89070	// Annotations - List of tags that can be used for describing the Dataset.
89071	Annotations *[]interface{} `json:"annotations,omitempty"`
89072	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
89073	Type TypeBasicDataset `json:"type,omitempty"`
89074}
89075
89076// MarshalJSON is the custom marshaler for SparkObjectDataset.
89077func (sod SparkObjectDataset) MarshalJSON() ([]byte, error) {
89078	sod.Type = TypeSparkObject
89079	objectMap := make(map[string]interface{})
89080	if sod.Description != nil {
89081		objectMap["description"] = sod.Description
89082	}
89083	if sod.Structure != nil {
89084		objectMap["structure"] = sod.Structure
89085	}
89086	if sod.LinkedServiceName != nil {
89087		objectMap["linkedServiceName"] = sod.LinkedServiceName
89088	}
89089	if sod.Parameters != nil {
89090		objectMap["parameters"] = sod.Parameters
89091	}
89092	if sod.Annotations != nil {
89093		objectMap["annotations"] = sod.Annotations
89094	}
89095	if sod.Type != "" {
89096		objectMap["type"] = sod.Type
89097	}
89098	for k, v := range sod.AdditionalProperties {
89099		objectMap[k] = v
89100	}
89101	return json.Marshal(objectMap)
89102}
89103
89104// AsResponsysObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89105func (sod SparkObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
89106	return nil, false
89107}
89108
89109// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89110func (sod SparkObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
89111	return nil, false
89112}
89113
89114// AsVerticaTableDataset is the BasicDataset implementation for SparkObjectDataset.
89115func (sod SparkObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
89116	return nil, false
89117}
89118
89119// AsNetezzaTableDataset is the BasicDataset implementation for SparkObjectDataset.
89120func (sod SparkObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
89121	return nil, false
89122}
89123
89124// AsZohoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89125func (sod SparkObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
89126	return nil, false
89127}
89128
89129// AsXeroObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89130func (sod SparkObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
89131	return nil, false
89132}
89133
89134// AsSquareObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89135func (sod SparkObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
89136	return nil, false
89137}
89138
89139// AsSparkObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89140func (sod SparkObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
89141	return &sod, true
89142}
89143
89144// AsShopifyObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89145func (sod SparkObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
89146	return nil, false
89147}
89148
89149// AsServiceNowObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89150func (sod SparkObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
89151	return nil, false
89152}
89153
89154// AsQuickBooksObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89155func (sod SparkObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
89156	return nil, false
89157}
89158
89159// AsPrestoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89160func (sod SparkObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
89161	return nil, false
89162}
89163
89164// AsPhoenixObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89165func (sod SparkObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
89166	return nil, false
89167}
89168
89169// AsPaypalObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89170func (sod SparkObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
89171	return nil, false
89172}
89173
89174// AsMarketoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89175func (sod SparkObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
89176	return nil, false
89177}
89178
89179// AsMariaDBTableDataset is the BasicDataset implementation for SparkObjectDataset.
89180func (sod SparkObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
89181	return nil, false
89182}
89183
89184// AsMagentoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89185func (sod SparkObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
89186	return nil, false
89187}
89188
89189// AsJiraObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89190func (sod SparkObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
89191	return nil, false
89192}
89193
89194// AsImpalaObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89195func (sod SparkObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
89196	return nil, false
89197}
89198
89199// AsHubspotObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89200func (sod SparkObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
89201	return nil, false
89202}
89203
89204// AsHiveObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89205func (sod SparkObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
89206	return nil, false
89207}
89208
89209// AsHBaseObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89210func (sod SparkObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
89211	return nil, false
89212}
89213
89214// AsGreenplumTableDataset is the BasicDataset implementation for SparkObjectDataset.
89215func (sod SparkObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
89216	return nil, false
89217}
89218
89219// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89220func (sod SparkObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
89221	return nil, false
89222}
89223
89224// AsEloquaObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89225func (sod SparkObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
89226	return nil, false
89227}
89228
89229// AsDrillTableDataset is the BasicDataset implementation for SparkObjectDataset.
89230func (sod SparkObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
89231	return nil, false
89232}
89233
89234// AsCouchbaseTableDataset is the BasicDataset implementation for SparkObjectDataset.
89235func (sod SparkObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
89236	return nil, false
89237}
89238
89239// AsConcurObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89240func (sod SparkObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
89241	return nil, false
89242}
89243
89244// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
89245func (sod SparkObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
89246	return nil, false
89247}
89248
89249// AsAmazonMWSObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89250func (sod SparkObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
89251	return nil, false
89252}
89253
89254// AsHTTPDataset is the BasicDataset implementation for SparkObjectDataset.
89255func (sod SparkObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
89256	return nil, false
89257}
89258
89259// AsAzureSearchIndexDataset is the BasicDataset implementation for SparkObjectDataset.
89260func (sod SparkObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
89261	return nil, false
89262}
89263
89264// AsWebTableDataset is the BasicDataset implementation for SparkObjectDataset.
89265func (sod SparkObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
89266	return nil, false
89267}
89268
89269// AsSQLServerTableDataset is the BasicDataset implementation for SparkObjectDataset.
89270func (sod SparkObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
89271	return nil, false
89272}
89273
89274// AsSapEccResourceDataset is the BasicDataset implementation for SparkObjectDataset.
89275func (sod SparkObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
89276	return nil, false
89277}
89278
89279// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SparkObjectDataset.
89280func (sod SparkObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
89281	return nil, false
89282}
89283
89284// AsSalesforceObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89285func (sod SparkObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
89286	return nil, false
89287}
89288
89289// AsRelationalTableDataset is the BasicDataset implementation for SparkObjectDataset.
89290func (sod SparkObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
89291	return nil, false
89292}
89293
89294// AsAzureMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
89295func (sod SparkObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
89296	return nil, false
89297}
89298
89299// AsOracleTableDataset is the BasicDataset implementation for SparkObjectDataset.
89300func (sod SparkObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
89301	return nil, false
89302}
89303
89304// AsODataResourceDataset is the BasicDataset implementation for SparkObjectDataset.
89305func (sod SparkObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
89306	return nil, false
89307}
89308
89309// AsMongoDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset.
89310func (sod SparkObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
89311	return nil, false
89312}
89313
89314// AsFileShareDataset is the BasicDataset implementation for SparkObjectDataset.
89315func (sod SparkObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
89316	return nil, false
89317}
89318
89319// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SparkObjectDataset.
89320func (sod SparkObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
89321	return nil, false
89322}
89323
89324// AsDynamicsEntityDataset is the BasicDataset implementation for SparkObjectDataset.
89325func (sod SparkObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
89326	return nil, false
89327}
89328
89329// AsDocumentDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset.
89330func (sod SparkObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
89331	return nil, false
89332}
89333
89334// AsCustomDataset is the BasicDataset implementation for SparkObjectDataset.
89335func (sod SparkObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
89336	return nil, false
89337}
89338
89339// AsCassandraTableDataset is the BasicDataset implementation for SparkObjectDataset.
89340func (sod SparkObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
89341	return nil, false
89342}
89343
89344// AsAzureSQLDWTableDataset is the BasicDataset implementation for SparkObjectDataset.
89345func (sod SparkObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
89346	return nil, false
89347}
89348
89349// AsAzureSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
89350func (sod SparkObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
89351	return nil, false
89352}
89353
89354// AsAzureTableDataset is the BasicDataset implementation for SparkObjectDataset.
89355func (sod SparkObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
89356	return nil, false
89357}
89358
89359// AsAzureBlobDataset is the BasicDataset implementation for SparkObjectDataset.
89360func (sod SparkObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
89361	return nil, false
89362}
89363
89364// AsAmazonS3Dataset is the BasicDataset implementation for SparkObjectDataset.
89365func (sod SparkObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
89366	return nil, false
89367}
89368
89369// AsDataset is the BasicDataset implementation for SparkObjectDataset.
89370func (sod SparkObjectDataset) AsDataset() (*Dataset, bool) {
89371	return nil, false
89372}
89373
89374// AsBasicDataset is the BasicDataset implementation for SparkObjectDataset.
89375func (sod SparkObjectDataset) AsBasicDataset() (BasicDataset, bool) {
89376	return &sod, true
89377}
89378
89379// UnmarshalJSON is the custom unmarshaler for SparkObjectDataset struct.
89380func (sod *SparkObjectDataset) UnmarshalJSON(body []byte) error {
89381	var m map[string]*json.RawMessage
89382	err := json.Unmarshal(body, &m)
89383	if err != nil {
89384		return err
89385	}
89386	for k, v := range m {
89387		switch k {
89388		default:
89389			if v != nil {
89390				var additionalProperties interface{}
89391				err = json.Unmarshal(*v, &additionalProperties)
89392				if err != nil {
89393					return err
89394				}
89395				if sod.AdditionalProperties == nil {
89396					sod.AdditionalProperties = make(map[string]interface{})
89397				}
89398				sod.AdditionalProperties[k] = additionalProperties
89399			}
89400		case "description":
89401			if v != nil {
89402				var description string
89403				err = json.Unmarshal(*v, &description)
89404				if err != nil {
89405					return err
89406				}
89407				sod.Description = &description
89408			}
89409		case "structure":
89410			if v != nil {
89411				var structure interface{}
89412				err = json.Unmarshal(*v, &structure)
89413				if err != nil {
89414					return err
89415				}
89416				sod.Structure = structure
89417			}
89418		case "linkedServiceName":
89419			if v != nil {
89420				var linkedServiceName LinkedServiceReference
89421				err = json.Unmarshal(*v, &linkedServiceName)
89422				if err != nil {
89423					return err
89424				}
89425				sod.LinkedServiceName = &linkedServiceName
89426			}
89427		case "parameters":
89428			if v != nil {
89429				var parameters map[string]*ParameterSpecification
89430				err = json.Unmarshal(*v, &parameters)
89431				if err != nil {
89432					return err
89433				}
89434				sod.Parameters = parameters
89435			}
89436		case "annotations":
89437			if v != nil {
89438				var annotations []interface{}
89439				err = json.Unmarshal(*v, &annotations)
89440				if err != nil {
89441					return err
89442				}
89443				sod.Annotations = &annotations
89444			}
89445		case "type":
89446			if v != nil {
89447				var typeVar TypeBasicDataset
89448				err = json.Unmarshal(*v, &typeVar)
89449				if err != nil {
89450					return err
89451				}
89452				sod.Type = typeVar
89453			}
89454		}
89455	}
89456
89457	return nil
89458}
89459
89460// SparkSource a copy activity Spark Server source.
89461type SparkSource struct {
89462	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
89463	Query interface{} `json:"query,omitempty"`
89464	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
89465	AdditionalProperties map[string]interface{} `json:""`
89466	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
89467	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
89468	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
89469	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
89470	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
89471	Type TypeBasicCopySource `json:"type,omitempty"`
89472}
89473
89474// MarshalJSON is the custom marshaler for SparkSource.
89475func (ss SparkSource) MarshalJSON() ([]byte, error) {
89476	ss.Type = TypeSparkSource
89477	objectMap := make(map[string]interface{})
89478	if ss.Query != nil {
89479		objectMap["query"] = ss.Query
89480	}
89481	if ss.SourceRetryCount != nil {
89482		objectMap["sourceRetryCount"] = ss.SourceRetryCount
89483	}
89484	if ss.SourceRetryWait != nil {
89485		objectMap["sourceRetryWait"] = ss.SourceRetryWait
89486	}
89487	if ss.Type != "" {
89488		objectMap["type"] = ss.Type
89489	}
89490	for k, v := range ss.AdditionalProperties {
89491		objectMap[k] = v
89492	}
89493	return json.Marshal(objectMap)
89494}
89495
89496// AsAmazonRedshiftSource is the BasicCopySource implementation for SparkSource.
89497func (ss SparkSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
89498	return nil, false
89499}
89500
89501// AsResponsysSource is the BasicCopySource implementation for SparkSource.
89502func (ss SparkSource) AsResponsysSource() (*ResponsysSource, bool) {
89503	return nil, false
89504}
89505
89506// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SparkSource.
89507func (ss SparkSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
89508	return nil, false
89509}
89510
89511// AsVerticaSource is the BasicCopySource implementation for SparkSource.
89512func (ss SparkSource) AsVerticaSource() (*VerticaSource, bool) {
89513	return nil, false
89514}
89515
89516// AsNetezzaSource is the BasicCopySource implementation for SparkSource.
89517func (ss SparkSource) AsNetezzaSource() (*NetezzaSource, bool) {
89518	return nil, false
89519}
89520
89521// AsZohoSource is the BasicCopySource implementation for SparkSource.
89522func (ss SparkSource) AsZohoSource() (*ZohoSource, bool) {
89523	return nil, false
89524}
89525
89526// AsXeroSource is the BasicCopySource implementation for SparkSource.
89527func (ss SparkSource) AsXeroSource() (*XeroSource, bool) {
89528	return nil, false
89529}
89530
89531// AsSquareSource is the BasicCopySource implementation for SparkSource.
89532func (ss SparkSource) AsSquareSource() (*SquareSource, bool) {
89533	return nil, false
89534}
89535
89536// AsSparkSource is the BasicCopySource implementation for SparkSource.
89537func (ss SparkSource) AsSparkSource() (*SparkSource, bool) {
89538	return &ss, true
89539}
89540
89541// AsShopifySource is the BasicCopySource implementation for SparkSource.
89542func (ss SparkSource) AsShopifySource() (*ShopifySource, bool) {
89543	return nil, false
89544}
89545
89546// AsServiceNowSource is the BasicCopySource implementation for SparkSource.
89547func (ss SparkSource) AsServiceNowSource() (*ServiceNowSource, bool) {
89548	return nil, false
89549}
89550
89551// AsQuickBooksSource is the BasicCopySource implementation for SparkSource.
89552func (ss SparkSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
89553	return nil, false
89554}
89555
89556// AsPrestoSource is the BasicCopySource implementation for SparkSource.
89557func (ss SparkSource) AsPrestoSource() (*PrestoSource, bool) {
89558	return nil, false
89559}
89560
89561// AsPhoenixSource is the BasicCopySource implementation for SparkSource.
89562func (ss SparkSource) AsPhoenixSource() (*PhoenixSource, bool) {
89563	return nil, false
89564}
89565
89566// AsPaypalSource is the BasicCopySource implementation for SparkSource.
89567func (ss SparkSource) AsPaypalSource() (*PaypalSource, bool) {
89568	return nil, false
89569}
89570
89571// AsMarketoSource is the BasicCopySource implementation for SparkSource.
89572func (ss SparkSource) AsMarketoSource() (*MarketoSource, bool) {
89573	return nil, false
89574}
89575
89576// AsMariaDBSource is the BasicCopySource implementation for SparkSource.
89577func (ss SparkSource) AsMariaDBSource() (*MariaDBSource, bool) {
89578	return nil, false
89579}
89580
89581// AsMagentoSource is the BasicCopySource implementation for SparkSource.
89582func (ss SparkSource) AsMagentoSource() (*MagentoSource, bool) {
89583	return nil, false
89584}
89585
89586// AsJiraSource is the BasicCopySource implementation for SparkSource.
89587func (ss SparkSource) AsJiraSource() (*JiraSource, bool) {
89588	return nil, false
89589}
89590
89591// AsImpalaSource is the BasicCopySource implementation for SparkSource.
89592func (ss SparkSource) AsImpalaSource() (*ImpalaSource, bool) {
89593	return nil, false
89594}
89595
89596// AsHubspotSource is the BasicCopySource implementation for SparkSource.
89597func (ss SparkSource) AsHubspotSource() (*HubspotSource, bool) {
89598	return nil, false
89599}
89600
89601// AsHiveSource is the BasicCopySource implementation for SparkSource.
89602func (ss SparkSource) AsHiveSource() (*HiveSource, bool) {
89603	return nil, false
89604}
89605
89606// AsHBaseSource is the BasicCopySource implementation for SparkSource.
89607func (ss SparkSource) AsHBaseSource() (*HBaseSource, bool) {
89608	return nil, false
89609}
89610
89611// AsGreenplumSource is the BasicCopySource implementation for SparkSource.
89612func (ss SparkSource) AsGreenplumSource() (*GreenplumSource, bool) {
89613	return nil, false
89614}
89615
89616// AsGoogleBigQuerySource is the BasicCopySource implementation for SparkSource.
89617func (ss SparkSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
89618	return nil, false
89619}
89620
89621// AsEloquaSource is the BasicCopySource implementation for SparkSource.
89622func (ss SparkSource) AsEloquaSource() (*EloquaSource, bool) {
89623	return nil, false
89624}
89625
89626// AsDrillSource is the BasicCopySource implementation for SparkSource.
89627func (ss SparkSource) AsDrillSource() (*DrillSource, bool) {
89628	return nil, false
89629}
89630
89631// AsCouchbaseSource is the BasicCopySource implementation for SparkSource.
89632func (ss SparkSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
89633	return nil, false
89634}
89635
89636// AsConcurSource is the BasicCopySource implementation for SparkSource.
89637func (ss SparkSource) AsConcurSource() (*ConcurSource, bool) {
89638	return nil, false
89639}
89640
89641// AsAzurePostgreSQLSource is the BasicCopySource implementation for SparkSource.
89642func (ss SparkSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
89643	return nil, false
89644}
89645
89646// AsAmazonMWSSource is the BasicCopySource implementation for SparkSource.
89647func (ss SparkSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
89648	return nil, false
89649}
89650
89651// AsHTTPSource is the BasicCopySource implementation for SparkSource.
89652func (ss SparkSource) AsHTTPSource() (*HTTPSource, bool) {
89653	return nil, false
89654}
89655
89656// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SparkSource.
89657func (ss SparkSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
89658	return nil, false
89659}
89660
89661// AsMongoDbSource is the BasicCopySource implementation for SparkSource.
89662func (ss SparkSource) AsMongoDbSource() (*MongoDbSource, bool) {
89663	return nil, false
89664}
89665
89666// AsCassandraSource is the BasicCopySource implementation for SparkSource.
89667func (ss SparkSource) AsCassandraSource() (*CassandraSource, bool) {
89668	return nil, false
89669}
89670
89671// AsWebSource is the BasicCopySource implementation for SparkSource.
89672func (ss SparkSource) AsWebSource() (*WebSource, bool) {
89673	return nil, false
89674}
89675
89676// AsOracleSource is the BasicCopySource implementation for SparkSource.
89677func (ss SparkSource) AsOracleSource() (*OracleSource, bool) {
89678	return nil, false
89679}
89680
89681// AsAzureMySQLSource is the BasicCopySource implementation for SparkSource.
89682func (ss SparkSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
89683	return nil, false
89684}
89685
89686// AsHdfsSource is the BasicCopySource implementation for SparkSource.
89687func (ss SparkSource) AsHdfsSource() (*HdfsSource, bool) {
89688	return nil, false
89689}
89690
89691// AsFileSystemSource is the BasicCopySource implementation for SparkSource.
89692func (ss SparkSource) AsFileSystemSource() (*FileSystemSource, bool) {
89693	return nil, false
89694}
89695
89696// AsSQLDWSource is the BasicCopySource implementation for SparkSource.
89697func (ss SparkSource) AsSQLDWSource() (*SQLDWSource, bool) {
89698	return nil, false
89699}
89700
89701// AsSQLSource is the BasicCopySource implementation for SparkSource.
89702func (ss SparkSource) AsSQLSource() (*SQLSource, bool) {
89703	return nil, false
89704}
89705
89706// AsSapEccSource is the BasicCopySource implementation for SparkSource.
89707func (ss SparkSource) AsSapEccSource() (*SapEccSource, bool) {
89708	return nil, false
89709}
89710
89711// AsSapCloudForCustomerSource is the BasicCopySource implementation for SparkSource.
89712func (ss SparkSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
89713	return nil, false
89714}
89715
89716// AsSalesforceSource is the BasicCopySource implementation for SparkSource.
89717func (ss SparkSource) AsSalesforceSource() (*SalesforceSource, bool) {
89718	return nil, false
89719}
89720
89721// AsRelationalSource is the BasicCopySource implementation for SparkSource.
89722func (ss SparkSource) AsRelationalSource() (*RelationalSource, bool) {
89723	return nil, false
89724}
89725
89726// AsDynamicsSource is the BasicCopySource implementation for SparkSource.
89727func (ss SparkSource) AsDynamicsSource() (*DynamicsSource, bool) {
89728	return nil, false
89729}
89730
89731// AsDocumentDbCollectionSource is the BasicCopySource implementation for SparkSource.
89732func (ss SparkSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
89733	return nil, false
89734}
89735
89736// AsBlobSource is the BasicCopySource implementation for SparkSource.
89737func (ss SparkSource) AsBlobSource() (*BlobSource, bool) {
89738	return nil, false
89739}
89740
89741// AsAzureTableSource is the BasicCopySource implementation for SparkSource.
89742func (ss SparkSource) AsAzureTableSource() (*AzureTableSource, bool) {
89743	return nil, false
89744}
89745
89746// AsCopySource is the BasicCopySource implementation for SparkSource.
89747func (ss SparkSource) AsCopySource() (*CopySource, bool) {
89748	return nil, false
89749}
89750
89751// AsBasicCopySource is the BasicCopySource implementation for SparkSource.
89752func (ss SparkSource) AsBasicCopySource() (BasicCopySource, bool) {
89753	return &ss, true
89754}
89755
89756// UnmarshalJSON is the custom unmarshaler for SparkSource struct.
89757func (ss *SparkSource) UnmarshalJSON(body []byte) error {
89758	var m map[string]*json.RawMessage
89759	err := json.Unmarshal(body, &m)
89760	if err != nil {
89761		return err
89762	}
89763	for k, v := range m {
89764		switch k {
89765		case "query":
89766			if v != nil {
89767				var query interface{}
89768				err = json.Unmarshal(*v, &query)
89769				if err != nil {
89770					return err
89771				}
89772				ss.Query = query
89773			}
89774		default:
89775			if v != nil {
89776				var additionalProperties interface{}
89777				err = json.Unmarshal(*v, &additionalProperties)
89778				if err != nil {
89779					return err
89780				}
89781				if ss.AdditionalProperties == nil {
89782					ss.AdditionalProperties = make(map[string]interface{})
89783				}
89784				ss.AdditionalProperties[k] = additionalProperties
89785			}
89786		case "sourceRetryCount":
89787			if v != nil {
89788				var sourceRetryCount interface{}
89789				err = json.Unmarshal(*v, &sourceRetryCount)
89790				if err != nil {
89791					return err
89792				}
89793				ss.SourceRetryCount = sourceRetryCount
89794			}
89795		case "sourceRetryWait":
89796			if v != nil {
89797				var sourceRetryWait interface{}
89798				err = json.Unmarshal(*v, &sourceRetryWait)
89799				if err != nil {
89800					return err
89801				}
89802				ss.SourceRetryWait = sourceRetryWait
89803			}
89804		case "type":
89805			if v != nil {
89806				var typeVar TypeBasicCopySource
89807				err = json.Unmarshal(*v, &typeVar)
89808				if err != nil {
89809					return err
89810				}
89811				ss.Type = typeVar
89812			}
89813		}
89814	}
89815
89816	return nil
89817}
89818
89819// SQLDWSink a copy activity SQL Data Warehouse sink.
89820type SQLDWSink struct {
89821	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
89822	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
89823	// AllowPolyBase - Indicates to use PolyBase to copy data into SQL Data Warehouse when applicable. Type: boolean (or Expression with resultType boolean).
89824	AllowPolyBase interface{} `json:"allowPolyBase,omitempty"`
89825	// PolyBaseSettings - Specifies PolyBase-related settings when allowPolyBase is true.
89826	PolyBaseSettings *PolybaseSettings `json:"polyBaseSettings,omitempty"`
89827	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
89828	AdditionalProperties map[string]interface{} `json:""`
89829	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
89830	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
89831	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
89832	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
89833	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
89834	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
89835	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
89836	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
89837	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
89838	Type TypeBasicCopySink `json:"type,omitempty"`
89839}
89840
89841// MarshalJSON is the custom marshaler for SQLDWSink.
89842func (sds SQLDWSink) MarshalJSON() ([]byte, error) {
89843	sds.Type = TypeSQLDWSink
89844	objectMap := make(map[string]interface{})
89845	if sds.PreCopyScript != nil {
89846		objectMap["preCopyScript"] = sds.PreCopyScript
89847	}
89848	if sds.AllowPolyBase != nil {
89849		objectMap["allowPolyBase"] = sds.AllowPolyBase
89850	}
89851	if sds.PolyBaseSettings != nil {
89852		objectMap["polyBaseSettings"] = sds.PolyBaseSettings
89853	}
89854	if sds.WriteBatchSize != nil {
89855		objectMap["writeBatchSize"] = sds.WriteBatchSize
89856	}
89857	if sds.WriteBatchTimeout != nil {
89858		objectMap["writeBatchTimeout"] = sds.WriteBatchTimeout
89859	}
89860	if sds.SinkRetryCount != nil {
89861		objectMap["sinkRetryCount"] = sds.SinkRetryCount
89862	}
89863	if sds.SinkRetryWait != nil {
89864		objectMap["sinkRetryWait"] = sds.SinkRetryWait
89865	}
89866	if sds.Type != "" {
89867		objectMap["type"] = sds.Type
89868	}
89869	for k, v := range sds.AdditionalProperties {
89870		objectMap[k] = v
89871	}
89872	return json.Marshal(objectMap)
89873}
89874
89875// AsSalesforceSink is the BasicCopySink implementation for SQLDWSink.
89876func (sds SQLDWSink) AsSalesforceSink() (*SalesforceSink, bool) {
89877	return nil, false
89878}
89879
89880// AsDynamicsSink is the BasicCopySink implementation for SQLDWSink.
89881func (sds SQLDWSink) AsDynamicsSink() (*DynamicsSink, bool) {
89882	return nil, false
89883}
89884
89885// AsOdbcSink is the BasicCopySink implementation for SQLDWSink.
89886func (sds SQLDWSink) AsOdbcSink() (*OdbcSink, bool) {
89887	return nil, false
89888}
89889
89890// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLDWSink.
89891func (sds SQLDWSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
89892	return nil, false
89893}
89894
89895// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLDWSink.
89896func (sds SQLDWSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
89897	return nil, false
89898}
89899
89900// AsOracleSink is the BasicCopySink implementation for SQLDWSink.
89901func (sds SQLDWSink) AsOracleSink() (*OracleSink, bool) {
89902	return nil, false
89903}
89904
89905// AsSQLDWSink is the BasicCopySink implementation for SQLDWSink.
89906func (sds SQLDWSink) AsSQLDWSink() (*SQLDWSink, bool) {
89907	return &sds, true
89908}
89909
89910// AsSQLSink is the BasicCopySink implementation for SQLDWSink.
89911func (sds SQLDWSink) AsSQLSink() (*SQLSink, bool) {
89912	return nil, false
89913}
89914
89915// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLDWSink.
89916func (sds SQLDWSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
89917	return nil, false
89918}
89919
89920// AsFileSystemSink is the BasicCopySink implementation for SQLDWSink.
89921func (sds SQLDWSink) AsFileSystemSink() (*FileSystemSink, bool) {
89922	return nil, false
89923}
89924
89925// AsBlobSink is the BasicCopySink implementation for SQLDWSink.
89926func (sds SQLDWSink) AsBlobSink() (*BlobSink, bool) {
89927	return nil, false
89928}
89929
89930// AsAzureTableSink is the BasicCopySink implementation for SQLDWSink.
89931func (sds SQLDWSink) AsAzureTableSink() (*AzureTableSink, bool) {
89932	return nil, false
89933}
89934
89935// AsAzureQueueSink is the BasicCopySink implementation for SQLDWSink.
89936func (sds SQLDWSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
89937	return nil, false
89938}
89939
89940// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLDWSink.
89941func (sds SQLDWSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
89942	return nil, false
89943}
89944
89945// AsCopySink is the BasicCopySink implementation for SQLDWSink.
89946func (sds SQLDWSink) AsCopySink() (*CopySink, bool) {
89947	return nil, false
89948}
89949
89950// AsBasicCopySink is the BasicCopySink implementation for SQLDWSink.
89951func (sds SQLDWSink) AsBasicCopySink() (BasicCopySink, bool) {
89952	return &sds, true
89953}
89954
89955// UnmarshalJSON is the custom unmarshaler for SQLDWSink struct.
89956func (sds *SQLDWSink) UnmarshalJSON(body []byte) error {
89957	var m map[string]*json.RawMessage
89958	err := json.Unmarshal(body, &m)
89959	if err != nil {
89960		return err
89961	}
89962	for k, v := range m {
89963		switch k {
89964		case "preCopyScript":
89965			if v != nil {
89966				var preCopyScript interface{}
89967				err = json.Unmarshal(*v, &preCopyScript)
89968				if err != nil {
89969					return err
89970				}
89971				sds.PreCopyScript = preCopyScript
89972			}
89973		case "allowPolyBase":
89974			if v != nil {
89975				var allowPolyBase interface{}
89976				err = json.Unmarshal(*v, &allowPolyBase)
89977				if err != nil {
89978					return err
89979				}
89980				sds.AllowPolyBase = allowPolyBase
89981			}
89982		case "polyBaseSettings":
89983			if v != nil {
89984				var polyBaseSettings PolybaseSettings
89985				err = json.Unmarshal(*v, &polyBaseSettings)
89986				if err != nil {
89987					return err
89988				}
89989				sds.PolyBaseSettings = &polyBaseSettings
89990			}
89991		default:
89992			if v != nil {
89993				var additionalProperties interface{}
89994				err = json.Unmarshal(*v, &additionalProperties)
89995				if err != nil {
89996					return err
89997				}
89998				if sds.AdditionalProperties == nil {
89999					sds.AdditionalProperties = make(map[string]interface{})
90000				}
90001				sds.AdditionalProperties[k] = additionalProperties
90002			}
90003		case "writeBatchSize":
90004			if v != nil {
90005				var writeBatchSize interface{}
90006				err = json.Unmarshal(*v, &writeBatchSize)
90007				if err != nil {
90008					return err
90009				}
90010				sds.WriteBatchSize = writeBatchSize
90011			}
90012		case "writeBatchTimeout":
90013			if v != nil {
90014				var writeBatchTimeout interface{}
90015				err = json.Unmarshal(*v, &writeBatchTimeout)
90016				if err != nil {
90017					return err
90018				}
90019				sds.WriteBatchTimeout = writeBatchTimeout
90020			}
90021		case "sinkRetryCount":
90022			if v != nil {
90023				var sinkRetryCount interface{}
90024				err = json.Unmarshal(*v, &sinkRetryCount)
90025				if err != nil {
90026					return err
90027				}
90028				sds.SinkRetryCount = sinkRetryCount
90029			}
90030		case "sinkRetryWait":
90031			if v != nil {
90032				var sinkRetryWait interface{}
90033				err = json.Unmarshal(*v, &sinkRetryWait)
90034				if err != nil {
90035					return err
90036				}
90037				sds.SinkRetryWait = sinkRetryWait
90038			}
90039		case "type":
90040			if v != nil {
90041				var typeVar TypeBasicCopySink
90042				err = json.Unmarshal(*v, &typeVar)
90043				if err != nil {
90044					return err
90045				}
90046				sds.Type = typeVar
90047			}
90048		}
90049	}
90050
90051	return nil
90052}
90053
90054// SQLDWSource a copy activity SQL Data Warehouse source.
90055type SQLDWSource struct {
90056	// SQLReaderQuery - SQL Data Warehouse reader query. Type: string (or Expression with resultType string).
90057	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
90058	// SQLReaderStoredProcedureName - Name of the stored procedure for a SQL Data Warehouse source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string).
90059	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
90060	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter.
90061	StoredProcedureParameters interface{} `json:"storedProcedureParameters,omitempty"`
90062	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
90063	AdditionalProperties map[string]interface{} `json:""`
90064	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
90065	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
90066	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
90067	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
90068	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
90069	Type TypeBasicCopySource `json:"type,omitempty"`
90070}
90071
90072// MarshalJSON is the custom marshaler for SQLDWSource.
90073func (sds SQLDWSource) MarshalJSON() ([]byte, error) {
90074	sds.Type = TypeSQLDWSource
90075	objectMap := make(map[string]interface{})
90076	if sds.SQLReaderQuery != nil {
90077		objectMap["sqlReaderQuery"] = sds.SQLReaderQuery
90078	}
90079	if sds.SQLReaderStoredProcedureName != nil {
90080		objectMap["sqlReaderStoredProcedureName"] = sds.SQLReaderStoredProcedureName
90081	}
90082	if sds.StoredProcedureParameters != nil {
90083		objectMap["storedProcedureParameters"] = sds.StoredProcedureParameters
90084	}
90085	if sds.SourceRetryCount != nil {
90086		objectMap["sourceRetryCount"] = sds.SourceRetryCount
90087	}
90088	if sds.SourceRetryWait != nil {
90089		objectMap["sourceRetryWait"] = sds.SourceRetryWait
90090	}
90091	if sds.Type != "" {
90092		objectMap["type"] = sds.Type
90093	}
90094	for k, v := range sds.AdditionalProperties {
90095		objectMap[k] = v
90096	}
90097	return json.Marshal(objectMap)
90098}
90099
90100// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLDWSource.
90101func (sds SQLDWSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
90102	return nil, false
90103}
90104
90105// AsResponsysSource is the BasicCopySource implementation for SQLDWSource.
90106func (sds SQLDWSource) AsResponsysSource() (*ResponsysSource, bool) {
90107	return nil, false
90108}
90109
90110// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLDWSource.
90111func (sds SQLDWSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
90112	return nil, false
90113}
90114
90115// AsVerticaSource is the BasicCopySource implementation for SQLDWSource.
90116func (sds SQLDWSource) AsVerticaSource() (*VerticaSource, bool) {
90117	return nil, false
90118}
90119
90120// AsNetezzaSource is the BasicCopySource implementation for SQLDWSource.
90121func (sds SQLDWSource) AsNetezzaSource() (*NetezzaSource, bool) {
90122	return nil, false
90123}
90124
90125// AsZohoSource is the BasicCopySource implementation for SQLDWSource.
90126func (sds SQLDWSource) AsZohoSource() (*ZohoSource, bool) {
90127	return nil, false
90128}
90129
90130// AsXeroSource is the BasicCopySource implementation for SQLDWSource.
90131func (sds SQLDWSource) AsXeroSource() (*XeroSource, bool) {
90132	return nil, false
90133}
90134
90135// AsSquareSource is the BasicCopySource implementation for SQLDWSource.
90136func (sds SQLDWSource) AsSquareSource() (*SquareSource, bool) {
90137	return nil, false
90138}
90139
90140// AsSparkSource is the BasicCopySource implementation for SQLDWSource.
90141func (sds SQLDWSource) AsSparkSource() (*SparkSource, bool) {
90142	return nil, false
90143}
90144
90145// AsShopifySource is the BasicCopySource implementation for SQLDWSource.
90146func (sds SQLDWSource) AsShopifySource() (*ShopifySource, bool) {
90147	return nil, false
90148}
90149
90150// AsServiceNowSource is the BasicCopySource implementation for SQLDWSource.
90151func (sds SQLDWSource) AsServiceNowSource() (*ServiceNowSource, bool) {
90152	return nil, false
90153}
90154
90155// AsQuickBooksSource is the BasicCopySource implementation for SQLDWSource.
90156func (sds SQLDWSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
90157	return nil, false
90158}
90159
90160// AsPrestoSource is the BasicCopySource implementation for SQLDWSource.
90161func (sds SQLDWSource) AsPrestoSource() (*PrestoSource, bool) {
90162	return nil, false
90163}
90164
90165// AsPhoenixSource is the BasicCopySource implementation for SQLDWSource.
90166func (sds SQLDWSource) AsPhoenixSource() (*PhoenixSource, bool) {
90167	return nil, false
90168}
90169
90170// AsPaypalSource is the BasicCopySource implementation for SQLDWSource.
90171func (sds SQLDWSource) AsPaypalSource() (*PaypalSource, bool) {
90172	return nil, false
90173}
90174
90175// AsMarketoSource is the BasicCopySource implementation for SQLDWSource.
90176func (sds SQLDWSource) AsMarketoSource() (*MarketoSource, bool) {
90177	return nil, false
90178}
90179
90180// AsMariaDBSource is the BasicCopySource implementation for SQLDWSource.
90181func (sds SQLDWSource) AsMariaDBSource() (*MariaDBSource, bool) {
90182	return nil, false
90183}
90184
90185// AsMagentoSource is the BasicCopySource implementation for SQLDWSource.
90186func (sds SQLDWSource) AsMagentoSource() (*MagentoSource, bool) {
90187	return nil, false
90188}
90189
90190// AsJiraSource is the BasicCopySource implementation for SQLDWSource.
90191func (sds SQLDWSource) AsJiraSource() (*JiraSource, bool) {
90192	return nil, false
90193}
90194
90195// AsImpalaSource is the BasicCopySource implementation for SQLDWSource.
90196func (sds SQLDWSource) AsImpalaSource() (*ImpalaSource, bool) {
90197	return nil, false
90198}
90199
90200// AsHubspotSource is the BasicCopySource implementation for SQLDWSource.
90201func (sds SQLDWSource) AsHubspotSource() (*HubspotSource, bool) {
90202	return nil, false
90203}
90204
90205// AsHiveSource is the BasicCopySource implementation for SQLDWSource.
90206func (sds SQLDWSource) AsHiveSource() (*HiveSource, bool) {
90207	return nil, false
90208}
90209
90210// AsHBaseSource is the BasicCopySource implementation for SQLDWSource.
90211func (sds SQLDWSource) AsHBaseSource() (*HBaseSource, bool) {
90212	return nil, false
90213}
90214
90215// AsGreenplumSource is the BasicCopySource implementation for SQLDWSource.
90216func (sds SQLDWSource) AsGreenplumSource() (*GreenplumSource, bool) {
90217	return nil, false
90218}
90219
90220// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLDWSource.
90221func (sds SQLDWSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
90222	return nil, false
90223}
90224
90225// AsEloquaSource is the BasicCopySource implementation for SQLDWSource.
90226func (sds SQLDWSource) AsEloquaSource() (*EloquaSource, bool) {
90227	return nil, false
90228}
90229
90230// AsDrillSource is the BasicCopySource implementation for SQLDWSource.
90231func (sds SQLDWSource) AsDrillSource() (*DrillSource, bool) {
90232	return nil, false
90233}
90234
90235// AsCouchbaseSource is the BasicCopySource implementation for SQLDWSource.
90236func (sds SQLDWSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
90237	return nil, false
90238}
90239
90240// AsConcurSource is the BasicCopySource implementation for SQLDWSource.
90241func (sds SQLDWSource) AsConcurSource() (*ConcurSource, bool) {
90242	return nil, false
90243}
90244
90245// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLDWSource.
90246func (sds SQLDWSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
90247	return nil, false
90248}
90249
90250// AsAmazonMWSSource is the BasicCopySource implementation for SQLDWSource.
90251func (sds SQLDWSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
90252	return nil, false
90253}
90254
90255// AsHTTPSource is the BasicCopySource implementation for SQLDWSource.
90256func (sds SQLDWSource) AsHTTPSource() (*HTTPSource, bool) {
90257	return nil, false
90258}
90259
90260// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLDWSource.
90261func (sds SQLDWSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
90262	return nil, false
90263}
90264
90265// AsMongoDbSource is the BasicCopySource implementation for SQLDWSource.
90266func (sds SQLDWSource) AsMongoDbSource() (*MongoDbSource, bool) {
90267	return nil, false
90268}
90269
90270// AsCassandraSource is the BasicCopySource implementation for SQLDWSource.
90271func (sds SQLDWSource) AsCassandraSource() (*CassandraSource, bool) {
90272	return nil, false
90273}
90274
90275// AsWebSource is the BasicCopySource implementation for SQLDWSource.
90276func (sds SQLDWSource) AsWebSource() (*WebSource, bool) {
90277	return nil, false
90278}
90279
90280// AsOracleSource is the BasicCopySource implementation for SQLDWSource.
90281func (sds SQLDWSource) AsOracleSource() (*OracleSource, bool) {
90282	return nil, false
90283}
90284
90285// AsAzureMySQLSource is the BasicCopySource implementation for SQLDWSource.
90286func (sds SQLDWSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
90287	return nil, false
90288}
90289
90290// AsHdfsSource is the BasicCopySource implementation for SQLDWSource.
90291func (sds SQLDWSource) AsHdfsSource() (*HdfsSource, bool) {
90292	return nil, false
90293}
90294
90295// AsFileSystemSource is the BasicCopySource implementation for SQLDWSource.
90296func (sds SQLDWSource) AsFileSystemSource() (*FileSystemSource, bool) {
90297	return nil, false
90298}
90299
90300// AsSQLDWSource is the BasicCopySource implementation for SQLDWSource.
90301func (sds SQLDWSource) AsSQLDWSource() (*SQLDWSource, bool) {
90302	return &sds, true
90303}
90304
90305// AsSQLSource is the BasicCopySource implementation for SQLDWSource.
90306func (sds SQLDWSource) AsSQLSource() (*SQLSource, bool) {
90307	return nil, false
90308}
90309
90310// AsSapEccSource is the BasicCopySource implementation for SQLDWSource.
90311func (sds SQLDWSource) AsSapEccSource() (*SapEccSource, bool) {
90312	return nil, false
90313}
90314
90315// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLDWSource.
90316func (sds SQLDWSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
90317	return nil, false
90318}
90319
90320// AsSalesforceSource is the BasicCopySource implementation for SQLDWSource.
90321func (sds SQLDWSource) AsSalesforceSource() (*SalesforceSource, bool) {
90322	return nil, false
90323}
90324
90325// AsRelationalSource is the BasicCopySource implementation for SQLDWSource.
90326func (sds SQLDWSource) AsRelationalSource() (*RelationalSource, bool) {
90327	return nil, false
90328}
90329
90330// AsDynamicsSource is the BasicCopySource implementation for SQLDWSource.
90331func (sds SQLDWSource) AsDynamicsSource() (*DynamicsSource, bool) {
90332	return nil, false
90333}
90334
90335// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLDWSource.
90336func (sds SQLDWSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
90337	return nil, false
90338}
90339
90340// AsBlobSource is the BasicCopySource implementation for SQLDWSource.
90341func (sds SQLDWSource) AsBlobSource() (*BlobSource, bool) {
90342	return nil, false
90343}
90344
90345// AsAzureTableSource is the BasicCopySource implementation for SQLDWSource.
90346func (sds SQLDWSource) AsAzureTableSource() (*AzureTableSource, bool) {
90347	return nil, false
90348}
90349
90350// AsCopySource is the BasicCopySource implementation for SQLDWSource.
90351func (sds SQLDWSource) AsCopySource() (*CopySource, bool) {
90352	return nil, false
90353}
90354
90355// AsBasicCopySource is the BasicCopySource implementation for SQLDWSource.
90356func (sds SQLDWSource) AsBasicCopySource() (BasicCopySource, bool) {
90357	return &sds, true
90358}
90359
90360// UnmarshalJSON is the custom unmarshaler for SQLDWSource struct.
90361func (sds *SQLDWSource) UnmarshalJSON(body []byte) error {
90362	var m map[string]*json.RawMessage
90363	err := json.Unmarshal(body, &m)
90364	if err != nil {
90365		return err
90366	}
90367	for k, v := range m {
90368		switch k {
90369		case "sqlReaderQuery":
90370			if v != nil {
90371				var SQLReaderQuery interface{}
90372				err = json.Unmarshal(*v, &SQLReaderQuery)
90373				if err != nil {
90374					return err
90375				}
90376				sds.SQLReaderQuery = SQLReaderQuery
90377			}
90378		case "sqlReaderStoredProcedureName":
90379			if v != nil {
90380				var SQLReaderStoredProcedureName interface{}
90381				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
90382				if err != nil {
90383					return err
90384				}
90385				sds.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
90386			}
90387		case "storedProcedureParameters":
90388			if v != nil {
90389				var storedProcedureParameters interface{}
90390				err = json.Unmarshal(*v, &storedProcedureParameters)
90391				if err != nil {
90392					return err
90393				}
90394				sds.StoredProcedureParameters = storedProcedureParameters
90395			}
90396		default:
90397			if v != nil {
90398				var additionalProperties interface{}
90399				err = json.Unmarshal(*v, &additionalProperties)
90400				if err != nil {
90401					return err
90402				}
90403				if sds.AdditionalProperties == nil {
90404					sds.AdditionalProperties = make(map[string]interface{})
90405				}
90406				sds.AdditionalProperties[k] = additionalProperties
90407			}
90408		case "sourceRetryCount":
90409			if v != nil {
90410				var sourceRetryCount interface{}
90411				err = json.Unmarshal(*v, &sourceRetryCount)
90412				if err != nil {
90413					return err
90414				}
90415				sds.SourceRetryCount = sourceRetryCount
90416			}
90417		case "sourceRetryWait":
90418			if v != nil {
90419				var sourceRetryWait interface{}
90420				err = json.Unmarshal(*v, &sourceRetryWait)
90421				if err != nil {
90422					return err
90423				}
90424				sds.SourceRetryWait = sourceRetryWait
90425			}
90426		case "type":
90427			if v != nil {
90428				var typeVar TypeBasicCopySource
90429				err = json.Unmarshal(*v, &typeVar)
90430				if err != nil {
90431					return err
90432				}
90433				sds.Type = typeVar
90434			}
90435		}
90436	}
90437
90438	return nil
90439}
90440
90441// SQLServerLinkedService SQL Server linked service.
90442type SQLServerLinkedService struct {
90443	// SQLServerLinkedServiceTypeProperties - SQL Server linked service properties.
90444	*SQLServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
90445	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
90446	AdditionalProperties map[string]interface{} `json:""`
90447	// ConnectVia - The integration runtime reference.
90448	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
90449	// Description - Linked service description.
90450	Description *string `json:"description,omitempty"`
90451	// Parameters - Parameters for linked service.
90452	Parameters map[string]*ParameterSpecification `json:"parameters"`
90453	// Annotations - List of tags that can be used for describing the Dataset.
90454	Annotations *[]interface{} `json:"annotations,omitempty"`
90455	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
90456	Type TypeBasicLinkedService `json:"type,omitempty"`
90457}
90458
90459// MarshalJSON is the custom marshaler for SQLServerLinkedService.
90460func (ssls SQLServerLinkedService) MarshalJSON() ([]byte, error) {
90461	ssls.Type = TypeSQLServer
90462	objectMap := make(map[string]interface{})
90463	if ssls.SQLServerLinkedServiceTypeProperties != nil {
90464		objectMap["typeProperties"] = ssls.SQLServerLinkedServiceTypeProperties
90465	}
90466	if ssls.ConnectVia != nil {
90467		objectMap["connectVia"] = ssls.ConnectVia
90468	}
90469	if ssls.Description != nil {
90470		objectMap["description"] = ssls.Description
90471	}
90472	if ssls.Parameters != nil {
90473		objectMap["parameters"] = ssls.Parameters
90474	}
90475	if ssls.Annotations != nil {
90476		objectMap["annotations"] = ssls.Annotations
90477	}
90478	if ssls.Type != "" {
90479		objectMap["type"] = ssls.Type
90480	}
90481	for k, v := range ssls.AdditionalProperties {
90482		objectMap[k] = v
90483	}
90484	return json.Marshal(objectMap)
90485}
90486
90487// AsResponsysLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90488func (ssls SQLServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
90489	return nil, false
90490}
90491
90492// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90493func (ssls SQLServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
90494	return nil, false
90495}
90496
90497// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90498func (ssls SQLServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
90499	return nil, false
90500}
90501
90502// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90503func (ssls SQLServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
90504	return nil, false
90505}
90506
90507// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90508func (ssls SQLServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
90509	return nil, false
90510}
90511
90512// AsNetezzaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90513func (ssls SQLServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
90514	return nil, false
90515}
90516
90517// AsVerticaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90518func (ssls SQLServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
90519	return nil, false
90520}
90521
90522// AsZohoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90523func (ssls SQLServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
90524	return nil, false
90525}
90526
90527// AsXeroLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90528func (ssls SQLServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
90529	return nil, false
90530}
90531
90532// AsSquareLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90533func (ssls SQLServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
90534	return nil, false
90535}
90536
90537// AsSparkLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90538func (ssls SQLServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
90539	return nil, false
90540}
90541
90542// AsShopifyLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90543func (ssls SQLServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
90544	return nil, false
90545}
90546
90547// AsServiceNowLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90548func (ssls SQLServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
90549	return nil, false
90550}
90551
90552// AsQuickBooksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90553func (ssls SQLServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
90554	return nil, false
90555}
90556
90557// AsPrestoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90558func (ssls SQLServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
90559	return nil, false
90560}
90561
90562// AsPhoenixLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90563func (ssls SQLServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
90564	return nil, false
90565}
90566
90567// AsPaypalLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90568func (ssls SQLServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
90569	return nil, false
90570}
90571
90572// AsMarketoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90573func (ssls SQLServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
90574	return nil, false
90575}
90576
90577// AsMariaDBLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90578func (ssls SQLServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
90579	return nil, false
90580}
90581
90582// AsMagentoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90583func (ssls SQLServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
90584	return nil, false
90585}
90586
90587// AsJiraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90588func (ssls SQLServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
90589	return nil, false
90590}
90591
90592// AsImpalaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90593func (ssls SQLServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
90594	return nil, false
90595}
90596
90597// AsHubspotLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90598func (ssls SQLServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
90599	return nil, false
90600}
90601
90602// AsHiveLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90603func (ssls SQLServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
90604	return nil, false
90605}
90606
90607// AsHBaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90608func (ssls SQLServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
90609	return nil, false
90610}
90611
90612// AsGreenplumLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90613func (ssls SQLServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
90614	return nil, false
90615}
90616
90617// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90618func (ssls SQLServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
90619	return nil, false
90620}
90621
90622// AsEloquaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90623func (ssls SQLServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
90624	return nil, false
90625}
90626
90627// AsDrillLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90628func (ssls SQLServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
90629	return nil, false
90630}
90631
90632// AsCouchbaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90633func (ssls SQLServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
90634	return nil, false
90635}
90636
90637// AsConcurLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90638func (ssls SQLServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
90639	return nil, false
90640}
90641
90642// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90643func (ssls SQLServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
90644	return nil, false
90645}
90646
90647// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90648func (ssls SQLServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
90649	return nil, false
90650}
90651
90652// AsSapHanaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90653func (ssls SQLServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
90654	return nil, false
90655}
90656
90657// AsSapBWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90658func (ssls SQLServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
90659	return nil, false
90660}
90661
90662// AsSftpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90663func (ssls SQLServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
90664	return nil, false
90665}
90666
90667// AsFtpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90668func (ssls SQLServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
90669	return nil, false
90670}
90671
90672// AsHTTPLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90673func (ssls SQLServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
90674	return nil, false
90675}
90676
90677// AsAzureSearchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90678func (ssls SQLServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
90679	return nil, false
90680}
90681
90682// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90683func (ssls SQLServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
90684	return nil, false
90685}
90686
90687// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90688func (ssls SQLServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
90689	return nil, false
90690}
90691
90692// AsAmazonS3LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90693func (ssls SQLServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
90694	return nil, false
90695}
90696
90697// AsSapEccLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90698func (ssls SQLServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
90699	return nil, false
90700}
90701
90702// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90703func (ssls SQLServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
90704	return nil, false
90705}
90706
90707// AsSalesforceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90708func (ssls SQLServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
90709	return nil, false
90710}
90711
90712// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90713func (ssls SQLServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
90714	return nil, false
90715}
90716
90717// AsMongoDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90718func (ssls SQLServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
90719	return nil, false
90720}
90721
90722// AsCassandraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90723func (ssls SQLServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
90724	return nil, false
90725}
90726
90727// AsWebLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90728func (ssls SQLServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
90729	return nil, false
90730}
90731
90732// AsODataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90733func (ssls SQLServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
90734	return nil, false
90735}
90736
90737// AsHdfsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90738func (ssls SQLServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
90739	return nil, false
90740}
90741
90742// AsOdbcLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90743func (ssls SQLServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
90744	return nil, false
90745}
90746
90747// AsAzureMLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90748func (ssls SQLServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
90749	return nil, false
90750}
90751
90752// AsTeradataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90753func (ssls SQLServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
90754	return nil, false
90755}
90756
90757// AsDb2LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90758func (ssls SQLServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
90759	return nil, false
90760}
90761
90762// AsSybaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90763func (ssls SQLServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
90764	return nil, false
90765}
90766
90767// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90768func (ssls SQLServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
90769	return nil, false
90770}
90771
90772// AsMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90773func (ssls SQLServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
90774	return nil, false
90775}
90776
90777// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90778func (ssls SQLServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
90779	return nil, false
90780}
90781
90782// AsOracleLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90783func (ssls SQLServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
90784	return nil, false
90785}
90786
90787// AsFileServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90788func (ssls SQLServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
90789	return nil, false
90790}
90791
90792// AsHDInsightLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90793func (ssls SQLServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
90794	return nil, false
90795}
90796
90797// AsDynamicsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90798func (ssls SQLServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
90799	return nil, false
90800}
90801
90802// AsCosmosDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90803func (ssls SQLServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
90804	return nil, false
90805}
90806
90807// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90808func (ssls SQLServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
90809	return nil, false
90810}
90811
90812// AsAzureBatchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90813func (ssls SQLServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
90814	return nil, false
90815}
90816
90817// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90818func (ssls SQLServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
90819	return nil, false
90820}
90821
90822// AsSQLServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90823func (ssls SQLServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
90824	return &ssls, true
90825}
90826
90827// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90828func (ssls SQLServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
90829	return nil, false
90830}
90831
90832// AsAzureStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90833func (ssls SQLServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
90834	return nil, false
90835}
90836
90837// AsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90838func (ssls SQLServerLinkedService) AsLinkedService() (*LinkedService, bool) {
90839	return nil, false
90840}
90841
90842// AsBasicLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90843func (ssls SQLServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
90844	return &ssls, true
90845}
90846
90847// UnmarshalJSON is the custom unmarshaler for SQLServerLinkedService struct.
90848func (ssls *SQLServerLinkedService) UnmarshalJSON(body []byte) error {
90849	var m map[string]*json.RawMessage
90850	err := json.Unmarshal(body, &m)
90851	if err != nil {
90852		return err
90853	}
90854	for k, v := range m {
90855		switch k {
90856		case "typeProperties":
90857			if v != nil {
90858				var SQLServerLinkedServiceTypeProperties SQLServerLinkedServiceTypeProperties
90859				err = json.Unmarshal(*v, &SQLServerLinkedServiceTypeProperties)
90860				if err != nil {
90861					return err
90862				}
90863				ssls.SQLServerLinkedServiceTypeProperties = &SQLServerLinkedServiceTypeProperties
90864			}
90865		default:
90866			if v != nil {
90867				var additionalProperties interface{}
90868				err = json.Unmarshal(*v, &additionalProperties)
90869				if err != nil {
90870					return err
90871				}
90872				if ssls.AdditionalProperties == nil {
90873					ssls.AdditionalProperties = make(map[string]interface{})
90874				}
90875				ssls.AdditionalProperties[k] = additionalProperties
90876			}
90877		case "connectVia":
90878			if v != nil {
90879				var connectVia IntegrationRuntimeReference
90880				err = json.Unmarshal(*v, &connectVia)
90881				if err != nil {
90882					return err
90883				}
90884				ssls.ConnectVia = &connectVia
90885			}
90886		case "description":
90887			if v != nil {
90888				var description string
90889				err = json.Unmarshal(*v, &description)
90890				if err != nil {
90891					return err
90892				}
90893				ssls.Description = &description
90894			}
90895		case "parameters":
90896			if v != nil {
90897				var parameters map[string]*ParameterSpecification
90898				err = json.Unmarshal(*v, &parameters)
90899				if err != nil {
90900					return err
90901				}
90902				ssls.Parameters = parameters
90903			}
90904		case "annotations":
90905			if v != nil {
90906				var annotations []interface{}
90907				err = json.Unmarshal(*v, &annotations)
90908				if err != nil {
90909					return err
90910				}
90911				ssls.Annotations = &annotations
90912			}
90913		case "type":
90914			if v != nil {
90915				var typeVar TypeBasicLinkedService
90916				err = json.Unmarshal(*v, &typeVar)
90917				if err != nil {
90918					return err
90919				}
90920				ssls.Type = typeVar
90921			}
90922		}
90923	}
90924
90925	return nil
90926}
90927
90928// SQLServerLinkedServiceTypeProperties SQL Server linked service properties.
90929type SQLServerLinkedServiceTypeProperties struct {
90930	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
90931	ConnectionString interface{} `json:"connectionString,omitempty"`
90932	// UserName - The on-premises Windows authentication user name. Type: string (or Expression with resultType string).
90933	UserName interface{} `json:"userName,omitempty"`
90934	// Password - The on-premises Windows authentication password.
90935	Password BasicSecretBase `json:"password,omitempty"`
90936	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
90937	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
90938}
90939
90940// UnmarshalJSON is the custom unmarshaler for SQLServerLinkedServiceTypeProperties struct.
90941func (sslstp *SQLServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
90942	var m map[string]*json.RawMessage
90943	err := json.Unmarshal(body, &m)
90944	if err != nil {
90945		return err
90946	}
90947	for k, v := range m {
90948		switch k {
90949		case "connectionString":
90950			if v != nil {
90951				var connectionString interface{}
90952				err = json.Unmarshal(*v, &connectionString)
90953				if err != nil {
90954					return err
90955				}
90956				sslstp.ConnectionString = connectionString
90957			}
90958		case "userName":
90959			if v != nil {
90960				var userName interface{}
90961				err = json.Unmarshal(*v, &userName)
90962				if err != nil {
90963					return err
90964				}
90965				sslstp.UserName = userName
90966			}
90967		case "password":
90968			if v != nil {
90969				password, err := unmarshalBasicSecretBase(*v)
90970				if err != nil {
90971					return err
90972				}
90973				sslstp.Password = password
90974			}
90975		case "encryptedCredential":
90976			if v != nil {
90977				var encryptedCredential interface{}
90978				err = json.Unmarshal(*v, &encryptedCredential)
90979				if err != nil {
90980					return err
90981				}
90982				sslstp.EncryptedCredential = encryptedCredential
90983			}
90984		}
90985	}
90986
90987	return nil
90988}
90989
90990// SQLServerStoredProcedureActivity SQL stored procedure activity type.
90991type SQLServerStoredProcedureActivity struct {
90992	// SQLServerStoredProcedureActivityTypeProperties - SQL stored procedure activity properties.
90993	*SQLServerStoredProcedureActivityTypeProperties `json:"typeProperties,omitempty"`
90994	// LinkedServiceName - Linked service reference.
90995	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
90996	// Policy - Activity policy.
90997	Policy *ActivityPolicy `json:"policy,omitempty"`
90998	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
90999	AdditionalProperties map[string]interface{} `json:""`
91000	// Name - Activity name.
91001	Name *string `json:"name,omitempty"`
91002	// Description - Activity description.
91003	Description *string `json:"description,omitempty"`
91004	// DependsOn - Activity depends on condition.
91005	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
91006	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
91007	Type TypeBasicActivity `json:"type,omitempty"`
91008}
91009
91010// MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivity.
91011func (ssspa SQLServerStoredProcedureActivity) MarshalJSON() ([]byte, error) {
91012	ssspa.Type = TypeSQLServerStoredProcedure
91013	objectMap := make(map[string]interface{})
91014	if ssspa.SQLServerStoredProcedureActivityTypeProperties != nil {
91015		objectMap["typeProperties"] = ssspa.SQLServerStoredProcedureActivityTypeProperties
91016	}
91017	if ssspa.LinkedServiceName != nil {
91018		objectMap["linkedServiceName"] = ssspa.LinkedServiceName
91019	}
91020	if ssspa.Policy != nil {
91021		objectMap["policy"] = ssspa.Policy
91022	}
91023	if ssspa.Name != nil {
91024		objectMap["name"] = ssspa.Name
91025	}
91026	if ssspa.Description != nil {
91027		objectMap["description"] = ssspa.Description
91028	}
91029	if ssspa.DependsOn != nil {
91030		objectMap["dependsOn"] = ssspa.DependsOn
91031	}
91032	if ssspa.Type != "" {
91033		objectMap["type"] = ssspa.Type
91034	}
91035	for k, v := range ssspa.AdditionalProperties {
91036		objectMap[k] = v
91037	}
91038	return json.Marshal(objectMap)
91039}
91040
91041// AsDatabricksNotebookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91042func (ssspa SQLServerStoredProcedureActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
91043	return nil, false
91044}
91045
91046// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91047func (ssspa SQLServerStoredProcedureActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
91048	return nil, false
91049}
91050
91051// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91052func (ssspa SQLServerStoredProcedureActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
91053	return nil, false
91054}
91055
91056// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91057func (ssspa SQLServerStoredProcedureActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
91058	return nil, false
91059}
91060
91061// AsGetMetadataActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91062func (ssspa SQLServerStoredProcedureActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
91063	return nil, false
91064}
91065
91066// AsWebActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91067func (ssspa SQLServerStoredProcedureActivity) AsWebActivity() (*WebActivity, bool) {
91068	return nil, false
91069}
91070
91071// AsLookupActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91072func (ssspa SQLServerStoredProcedureActivity) AsLookupActivity() (*LookupActivity, bool) {
91073	return nil, false
91074}
91075
91076// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91077func (ssspa SQLServerStoredProcedureActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
91078	return &ssspa, true
91079}
91080
91081// AsCustomActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91082func (ssspa SQLServerStoredProcedureActivity) AsCustomActivity() (*CustomActivity, bool) {
91083	return nil, false
91084}
91085
91086// AsExecuteSSISPackageActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91087func (ssspa SQLServerStoredProcedureActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
91088	return nil, false
91089}
91090
91091// AsHDInsightSparkActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91092func (ssspa SQLServerStoredProcedureActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
91093	return nil, false
91094}
91095
91096// AsHDInsightStreamingActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91097func (ssspa SQLServerStoredProcedureActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
91098	return nil, false
91099}
91100
91101// AsHDInsightMapReduceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91102func (ssspa SQLServerStoredProcedureActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
91103	return nil, false
91104}
91105
91106// AsHDInsightPigActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91107func (ssspa SQLServerStoredProcedureActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
91108	return nil, false
91109}
91110
91111// AsHDInsightHiveActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91112func (ssspa SQLServerStoredProcedureActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
91113	return nil, false
91114}
91115
91116// AsCopyActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91117func (ssspa SQLServerStoredProcedureActivity) AsCopyActivity() (*CopyActivity, bool) {
91118	return nil, false
91119}
91120
91121// AsExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91122func (ssspa SQLServerStoredProcedureActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
91123	return nil, false
91124}
91125
91126// AsBasicExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91127func (ssspa SQLServerStoredProcedureActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
91128	return &ssspa, true
91129}
91130
91131// AsFilterActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91132func (ssspa SQLServerStoredProcedureActivity) AsFilterActivity() (*FilterActivity, bool) {
91133	return nil, false
91134}
91135
91136// AsUntilActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91137func (ssspa SQLServerStoredProcedureActivity) AsUntilActivity() (*UntilActivity, bool) {
91138	return nil, false
91139}
91140
91141// AsWaitActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91142func (ssspa SQLServerStoredProcedureActivity) AsWaitActivity() (*WaitActivity, bool) {
91143	return nil, false
91144}
91145
91146// AsForEachActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91147func (ssspa SQLServerStoredProcedureActivity) AsForEachActivity() (*ForEachActivity, bool) {
91148	return nil, false
91149}
91150
91151// AsIfConditionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91152func (ssspa SQLServerStoredProcedureActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
91153	return nil, false
91154}
91155
91156// AsExecutePipelineActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91157func (ssspa SQLServerStoredProcedureActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
91158	return nil, false
91159}
91160
91161// AsControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91162func (ssspa SQLServerStoredProcedureActivity) AsControlActivity() (*ControlActivity, bool) {
91163	return nil, false
91164}
91165
91166// AsBasicControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91167func (ssspa SQLServerStoredProcedureActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
91168	return nil, false
91169}
91170
91171// AsActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91172func (ssspa SQLServerStoredProcedureActivity) AsActivity() (*Activity, bool) {
91173	return nil, false
91174}
91175
91176// AsBasicActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91177func (ssspa SQLServerStoredProcedureActivity) AsBasicActivity() (BasicActivity, bool) {
91178	return &ssspa, true
91179}
91180
91181// UnmarshalJSON is the custom unmarshaler for SQLServerStoredProcedureActivity struct.
91182func (ssspa *SQLServerStoredProcedureActivity) UnmarshalJSON(body []byte) error {
91183	var m map[string]*json.RawMessage
91184	err := json.Unmarshal(body, &m)
91185	if err != nil {
91186		return err
91187	}
91188	for k, v := range m {
91189		switch k {
91190		case "typeProperties":
91191			if v != nil {
91192				var SQLServerStoredProcedureActivityTypeProperties SQLServerStoredProcedureActivityTypeProperties
91193				err = json.Unmarshal(*v, &SQLServerStoredProcedureActivityTypeProperties)
91194				if err != nil {
91195					return err
91196				}
91197				ssspa.SQLServerStoredProcedureActivityTypeProperties = &SQLServerStoredProcedureActivityTypeProperties
91198			}
91199		case "linkedServiceName":
91200			if v != nil {
91201				var linkedServiceName LinkedServiceReference
91202				err = json.Unmarshal(*v, &linkedServiceName)
91203				if err != nil {
91204					return err
91205				}
91206				ssspa.LinkedServiceName = &linkedServiceName
91207			}
91208		case "policy":
91209			if v != nil {
91210				var policy ActivityPolicy
91211				err = json.Unmarshal(*v, &policy)
91212				if err != nil {
91213					return err
91214				}
91215				ssspa.Policy = &policy
91216			}
91217		default:
91218			if v != nil {
91219				var additionalProperties interface{}
91220				err = json.Unmarshal(*v, &additionalProperties)
91221				if err != nil {
91222					return err
91223				}
91224				if ssspa.AdditionalProperties == nil {
91225					ssspa.AdditionalProperties = make(map[string]interface{})
91226				}
91227				ssspa.AdditionalProperties[k] = additionalProperties
91228			}
91229		case "name":
91230			if v != nil {
91231				var name string
91232				err = json.Unmarshal(*v, &name)
91233				if err != nil {
91234					return err
91235				}
91236				ssspa.Name = &name
91237			}
91238		case "description":
91239			if v != nil {
91240				var description string
91241				err = json.Unmarshal(*v, &description)
91242				if err != nil {
91243					return err
91244				}
91245				ssspa.Description = &description
91246			}
91247		case "dependsOn":
91248			if v != nil {
91249				var dependsOn []ActivityDependency
91250				err = json.Unmarshal(*v, &dependsOn)
91251				if err != nil {
91252					return err
91253				}
91254				ssspa.DependsOn = &dependsOn
91255			}
91256		case "type":
91257			if v != nil {
91258				var typeVar TypeBasicActivity
91259				err = json.Unmarshal(*v, &typeVar)
91260				if err != nil {
91261					return err
91262				}
91263				ssspa.Type = typeVar
91264			}
91265		}
91266	}
91267
91268	return nil
91269}
91270
91271// SQLServerStoredProcedureActivityTypeProperties SQL stored procedure activity properties.
91272type SQLServerStoredProcedureActivityTypeProperties struct {
91273	// StoredProcedureName - Stored procedure name. Type: string (or Expression with resultType string).
91274	StoredProcedureName interface{} `json:"storedProcedureName,omitempty"`
91275	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
91276	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
91277}
91278
91279// MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivityTypeProperties.
91280func (ssspatp SQLServerStoredProcedureActivityTypeProperties) MarshalJSON() ([]byte, error) {
91281	objectMap := make(map[string]interface{})
91282	if ssspatp.StoredProcedureName != nil {
91283		objectMap["storedProcedureName"] = ssspatp.StoredProcedureName
91284	}
91285	if ssspatp.StoredProcedureParameters != nil {
91286		objectMap["storedProcedureParameters"] = ssspatp.StoredProcedureParameters
91287	}
91288	return json.Marshal(objectMap)
91289}
91290
91291// SQLServerTableDataset the on-premises SQL Server dataset.
91292type SQLServerTableDataset struct {
91293	// SQLServerTableDatasetTypeProperties - On-premises SQL Server dataset properties.
91294	*SQLServerTableDatasetTypeProperties `json:"typeProperties,omitempty"`
91295	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91296	AdditionalProperties map[string]interface{} `json:""`
91297	// Description - Dataset description.
91298	Description *string `json:"description,omitempty"`
91299	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
91300	Structure interface{} `json:"structure,omitempty"`
91301	// LinkedServiceName - Linked service reference.
91302	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
91303	// Parameters - Parameters for dataset.
91304	Parameters map[string]*ParameterSpecification `json:"parameters"`
91305	// Annotations - List of tags that can be used for describing the Dataset.
91306	Annotations *[]interface{} `json:"annotations,omitempty"`
91307	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
91308	Type TypeBasicDataset `json:"type,omitempty"`
91309}
91310
91311// MarshalJSON is the custom marshaler for SQLServerTableDataset.
91312func (sstd SQLServerTableDataset) MarshalJSON() ([]byte, error) {
91313	sstd.Type = TypeSQLServerTable
91314	objectMap := make(map[string]interface{})
91315	if sstd.SQLServerTableDatasetTypeProperties != nil {
91316		objectMap["typeProperties"] = sstd.SQLServerTableDatasetTypeProperties
91317	}
91318	if sstd.Description != nil {
91319		objectMap["description"] = sstd.Description
91320	}
91321	if sstd.Structure != nil {
91322		objectMap["structure"] = sstd.Structure
91323	}
91324	if sstd.LinkedServiceName != nil {
91325		objectMap["linkedServiceName"] = sstd.LinkedServiceName
91326	}
91327	if sstd.Parameters != nil {
91328		objectMap["parameters"] = sstd.Parameters
91329	}
91330	if sstd.Annotations != nil {
91331		objectMap["annotations"] = sstd.Annotations
91332	}
91333	if sstd.Type != "" {
91334		objectMap["type"] = sstd.Type
91335	}
91336	for k, v := range sstd.AdditionalProperties {
91337		objectMap[k] = v
91338	}
91339	return json.Marshal(objectMap)
91340}
91341
91342// AsResponsysObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91343func (sstd SQLServerTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
91344	return nil, false
91345}
91346
91347// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91348func (sstd SQLServerTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
91349	return nil, false
91350}
91351
91352// AsVerticaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91353func (sstd SQLServerTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
91354	return nil, false
91355}
91356
91357// AsNetezzaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91358func (sstd SQLServerTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
91359	return nil, false
91360}
91361
91362// AsZohoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91363func (sstd SQLServerTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
91364	return nil, false
91365}
91366
91367// AsXeroObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91368func (sstd SQLServerTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
91369	return nil, false
91370}
91371
91372// AsSquareObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91373func (sstd SQLServerTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
91374	return nil, false
91375}
91376
91377// AsSparkObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91378func (sstd SQLServerTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
91379	return nil, false
91380}
91381
91382// AsShopifyObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91383func (sstd SQLServerTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
91384	return nil, false
91385}
91386
91387// AsServiceNowObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91388func (sstd SQLServerTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
91389	return nil, false
91390}
91391
91392// AsQuickBooksObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91393func (sstd SQLServerTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
91394	return nil, false
91395}
91396
91397// AsPrestoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91398func (sstd SQLServerTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
91399	return nil, false
91400}
91401
91402// AsPhoenixObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91403func (sstd SQLServerTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
91404	return nil, false
91405}
91406
91407// AsPaypalObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91408func (sstd SQLServerTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
91409	return nil, false
91410}
91411
91412// AsMarketoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91413func (sstd SQLServerTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
91414	return nil, false
91415}
91416
91417// AsMariaDBTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91418func (sstd SQLServerTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
91419	return nil, false
91420}
91421
91422// AsMagentoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91423func (sstd SQLServerTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
91424	return nil, false
91425}
91426
91427// AsJiraObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91428func (sstd SQLServerTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
91429	return nil, false
91430}
91431
91432// AsImpalaObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91433func (sstd SQLServerTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
91434	return nil, false
91435}
91436
91437// AsHubspotObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91438func (sstd SQLServerTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
91439	return nil, false
91440}
91441
91442// AsHiveObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91443func (sstd SQLServerTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
91444	return nil, false
91445}
91446
91447// AsHBaseObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91448func (sstd SQLServerTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
91449	return nil, false
91450}
91451
91452// AsGreenplumTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91453func (sstd SQLServerTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
91454	return nil, false
91455}
91456
91457// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91458func (sstd SQLServerTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
91459	return nil, false
91460}
91461
91462// AsEloquaObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91463func (sstd SQLServerTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
91464	return nil, false
91465}
91466
91467// AsDrillTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91468func (sstd SQLServerTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
91469	return nil, false
91470}
91471
91472// AsCouchbaseTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91473func (sstd SQLServerTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
91474	return nil, false
91475}
91476
91477// AsConcurObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91478func (sstd SQLServerTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
91479	return nil, false
91480}
91481
91482// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91483func (sstd SQLServerTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
91484	return nil, false
91485}
91486
91487// AsAmazonMWSObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91488func (sstd SQLServerTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
91489	return nil, false
91490}
91491
91492// AsHTTPDataset is the BasicDataset implementation for SQLServerTableDataset.
91493func (sstd SQLServerTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
91494	return nil, false
91495}
91496
91497// AsAzureSearchIndexDataset is the BasicDataset implementation for SQLServerTableDataset.
91498func (sstd SQLServerTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
91499	return nil, false
91500}
91501
91502// AsWebTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91503func (sstd SQLServerTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
91504	return nil, false
91505}
91506
91507// AsSQLServerTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91508func (sstd SQLServerTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
91509	return &sstd, true
91510}
91511
91512// AsSapEccResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
91513func (sstd SQLServerTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
91514	return nil, false
91515}
91516
91517// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
91518func (sstd SQLServerTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
91519	return nil, false
91520}
91521
91522// AsSalesforceObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91523func (sstd SQLServerTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
91524	return nil, false
91525}
91526
91527// AsRelationalTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91528func (sstd SQLServerTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
91529	return nil, false
91530}
91531
91532// AsAzureMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91533func (sstd SQLServerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
91534	return nil, false
91535}
91536
91537// AsOracleTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91538func (sstd SQLServerTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
91539	return nil, false
91540}
91541
91542// AsODataResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
91543func (sstd SQLServerTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
91544	return nil, false
91545}
91546
91547// AsMongoDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
91548func (sstd SQLServerTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
91549	return nil, false
91550}
91551
91552// AsFileShareDataset is the BasicDataset implementation for SQLServerTableDataset.
91553func (sstd SQLServerTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
91554	return nil, false
91555}
91556
91557// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SQLServerTableDataset.
91558func (sstd SQLServerTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
91559	return nil, false
91560}
91561
91562// AsDynamicsEntityDataset is the BasicDataset implementation for SQLServerTableDataset.
91563func (sstd SQLServerTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
91564	return nil, false
91565}
91566
91567// AsDocumentDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
91568func (sstd SQLServerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
91569	return nil, false
91570}
91571
91572// AsCustomDataset is the BasicDataset implementation for SQLServerTableDataset.
91573func (sstd SQLServerTableDataset) AsCustomDataset() (*CustomDataset, bool) {
91574	return nil, false
91575}
91576
91577// AsCassandraTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91578func (sstd SQLServerTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
91579	return nil, false
91580}
91581
91582// AsAzureSQLDWTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91583func (sstd SQLServerTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
91584	return nil, false
91585}
91586
91587// AsAzureSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91588func (sstd SQLServerTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
91589	return nil, false
91590}
91591
91592// AsAzureTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91593func (sstd SQLServerTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
91594	return nil, false
91595}
91596
91597// AsAzureBlobDataset is the BasicDataset implementation for SQLServerTableDataset.
91598func (sstd SQLServerTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
91599	return nil, false
91600}
91601
91602// AsAmazonS3Dataset is the BasicDataset implementation for SQLServerTableDataset.
91603func (sstd SQLServerTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
91604	return nil, false
91605}
91606
91607// AsDataset is the BasicDataset implementation for SQLServerTableDataset.
91608func (sstd SQLServerTableDataset) AsDataset() (*Dataset, bool) {
91609	return nil, false
91610}
91611
91612// AsBasicDataset is the BasicDataset implementation for SQLServerTableDataset.
91613func (sstd SQLServerTableDataset) AsBasicDataset() (BasicDataset, bool) {
91614	return &sstd, true
91615}
91616
91617// UnmarshalJSON is the custom unmarshaler for SQLServerTableDataset struct.
91618func (sstd *SQLServerTableDataset) UnmarshalJSON(body []byte) error {
91619	var m map[string]*json.RawMessage
91620	err := json.Unmarshal(body, &m)
91621	if err != nil {
91622		return err
91623	}
91624	for k, v := range m {
91625		switch k {
91626		case "typeProperties":
91627			if v != nil {
91628				var SQLServerTableDatasetTypeProperties SQLServerTableDatasetTypeProperties
91629				err = json.Unmarshal(*v, &SQLServerTableDatasetTypeProperties)
91630				if err != nil {
91631					return err
91632				}
91633				sstd.SQLServerTableDatasetTypeProperties = &SQLServerTableDatasetTypeProperties
91634			}
91635		default:
91636			if v != nil {
91637				var additionalProperties interface{}
91638				err = json.Unmarshal(*v, &additionalProperties)
91639				if err != nil {
91640					return err
91641				}
91642				if sstd.AdditionalProperties == nil {
91643					sstd.AdditionalProperties = make(map[string]interface{})
91644				}
91645				sstd.AdditionalProperties[k] = additionalProperties
91646			}
91647		case "description":
91648			if v != nil {
91649				var description string
91650				err = json.Unmarshal(*v, &description)
91651				if err != nil {
91652					return err
91653				}
91654				sstd.Description = &description
91655			}
91656		case "structure":
91657			if v != nil {
91658				var structure interface{}
91659				err = json.Unmarshal(*v, &structure)
91660				if err != nil {
91661					return err
91662				}
91663				sstd.Structure = structure
91664			}
91665		case "linkedServiceName":
91666			if v != nil {
91667				var linkedServiceName LinkedServiceReference
91668				err = json.Unmarshal(*v, &linkedServiceName)
91669				if err != nil {
91670					return err
91671				}
91672				sstd.LinkedServiceName = &linkedServiceName
91673			}
91674		case "parameters":
91675			if v != nil {
91676				var parameters map[string]*ParameterSpecification
91677				err = json.Unmarshal(*v, &parameters)
91678				if err != nil {
91679					return err
91680				}
91681				sstd.Parameters = parameters
91682			}
91683		case "annotations":
91684			if v != nil {
91685				var annotations []interface{}
91686				err = json.Unmarshal(*v, &annotations)
91687				if err != nil {
91688					return err
91689				}
91690				sstd.Annotations = &annotations
91691			}
91692		case "type":
91693			if v != nil {
91694				var typeVar TypeBasicDataset
91695				err = json.Unmarshal(*v, &typeVar)
91696				if err != nil {
91697					return err
91698				}
91699				sstd.Type = typeVar
91700			}
91701		}
91702	}
91703
91704	return nil
91705}
91706
91707// SQLServerTableDatasetTypeProperties on-premises SQL Server dataset properties.
91708type SQLServerTableDatasetTypeProperties struct {
91709	// TableName - The table name of the SQL Server dataset. Type: string (or Expression with resultType string).
91710	TableName interface{} `json:"tableName,omitempty"`
91711}
91712
91713// SQLSink a copy activity SQL sink.
91714type SQLSink struct {
91715	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
91716	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
91717	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
91718	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
91719	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
91720	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
91721	// StoredProcedureParameters - SQL stored procedure parameters.
91722	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
91723	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91724	AdditionalProperties map[string]interface{} `json:""`
91725	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
91726	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
91727	// WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
91728	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
91729	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
91730	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
91731	// SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
91732	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
91733	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
91734	Type TypeBasicCopySink `json:"type,omitempty"`
91735}
91736
91737// MarshalJSON is the custom marshaler for SQLSink.
91738func (ss SQLSink) MarshalJSON() ([]byte, error) {
91739	ss.Type = TypeSQLSink
91740	objectMap := make(map[string]interface{})
91741	if ss.SQLWriterStoredProcedureName != nil {
91742		objectMap["sqlWriterStoredProcedureName"] = ss.SQLWriterStoredProcedureName
91743	}
91744	if ss.SQLWriterTableType != nil {
91745		objectMap["sqlWriterTableType"] = ss.SQLWriterTableType
91746	}
91747	if ss.PreCopyScript != nil {
91748		objectMap["preCopyScript"] = ss.PreCopyScript
91749	}
91750	if ss.StoredProcedureParameters != nil {
91751		objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters
91752	}
91753	if ss.WriteBatchSize != nil {
91754		objectMap["writeBatchSize"] = ss.WriteBatchSize
91755	}
91756	if ss.WriteBatchTimeout != nil {
91757		objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout
91758	}
91759	if ss.SinkRetryCount != nil {
91760		objectMap["sinkRetryCount"] = ss.SinkRetryCount
91761	}
91762	if ss.SinkRetryWait != nil {
91763		objectMap["sinkRetryWait"] = ss.SinkRetryWait
91764	}
91765	if ss.Type != "" {
91766		objectMap["type"] = ss.Type
91767	}
91768	for k, v := range ss.AdditionalProperties {
91769		objectMap[k] = v
91770	}
91771	return json.Marshal(objectMap)
91772}
91773
91774// AsSalesforceSink is the BasicCopySink implementation for SQLSink.
91775func (ss SQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
91776	return nil, false
91777}
91778
91779// AsDynamicsSink is the BasicCopySink implementation for SQLSink.
91780func (ss SQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
91781	return nil, false
91782}
91783
91784// AsOdbcSink is the BasicCopySink implementation for SQLSink.
91785func (ss SQLSink) AsOdbcSink() (*OdbcSink, bool) {
91786	return nil, false
91787}
91788
91789// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLSink.
91790func (ss SQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
91791	return nil, false
91792}
91793
91794// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLSink.
91795func (ss SQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
91796	return nil, false
91797}
91798
91799// AsOracleSink is the BasicCopySink implementation for SQLSink.
91800func (ss SQLSink) AsOracleSink() (*OracleSink, bool) {
91801	return nil, false
91802}
91803
91804// AsSQLDWSink is the BasicCopySink implementation for SQLSink.
91805func (ss SQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
91806	return nil, false
91807}
91808
91809// AsSQLSink is the BasicCopySink implementation for SQLSink.
91810func (ss SQLSink) AsSQLSink() (*SQLSink, bool) {
91811	return &ss, true
91812}
91813
91814// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLSink.
91815func (ss SQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
91816	return nil, false
91817}
91818
91819// AsFileSystemSink is the BasicCopySink implementation for SQLSink.
91820func (ss SQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
91821	return nil, false
91822}
91823
91824// AsBlobSink is the BasicCopySink implementation for SQLSink.
91825func (ss SQLSink) AsBlobSink() (*BlobSink, bool) {
91826	return nil, false
91827}
91828
91829// AsAzureTableSink is the BasicCopySink implementation for SQLSink.
91830func (ss SQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
91831	return nil, false
91832}
91833
91834// AsAzureQueueSink is the BasicCopySink implementation for SQLSink.
91835func (ss SQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
91836	return nil, false
91837}
91838
91839// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLSink.
91840func (ss SQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
91841	return nil, false
91842}
91843
91844// AsCopySink is the BasicCopySink implementation for SQLSink.
91845func (ss SQLSink) AsCopySink() (*CopySink, bool) {
91846	return nil, false
91847}
91848
91849// AsBasicCopySink is the BasicCopySink implementation for SQLSink.
91850func (ss SQLSink) AsBasicCopySink() (BasicCopySink, bool) {
91851	return &ss, true
91852}
91853
91854// UnmarshalJSON is the custom unmarshaler for SQLSink struct.
91855func (ss *SQLSink) UnmarshalJSON(body []byte) error {
91856	var m map[string]*json.RawMessage
91857	err := json.Unmarshal(body, &m)
91858	if err != nil {
91859		return err
91860	}
91861	for k, v := range m {
91862		switch k {
91863		case "sqlWriterStoredProcedureName":
91864			if v != nil {
91865				var SQLWriterStoredProcedureName interface{}
91866				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
91867				if err != nil {
91868					return err
91869				}
91870				ss.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
91871			}
91872		case "sqlWriterTableType":
91873			if v != nil {
91874				var SQLWriterTableType interface{}
91875				err = json.Unmarshal(*v, &SQLWriterTableType)
91876				if err != nil {
91877					return err
91878				}
91879				ss.SQLWriterTableType = SQLWriterTableType
91880			}
91881		case "preCopyScript":
91882			if v != nil {
91883				var preCopyScript interface{}
91884				err = json.Unmarshal(*v, &preCopyScript)
91885				if err != nil {
91886					return err
91887				}
91888				ss.PreCopyScript = preCopyScript
91889			}
91890		case "storedProcedureParameters":
91891			if v != nil {
91892				var storedProcedureParameters map[string]*StoredProcedureParameter
91893				err = json.Unmarshal(*v, &storedProcedureParameters)
91894				if err != nil {
91895					return err
91896				}
91897				ss.StoredProcedureParameters = storedProcedureParameters
91898			}
91899		default:
91900			if v != nil {
91901				var additionalProperties interface{}
91902				err = json.Unmarshal(*v, &additionalProperties)
91903				if err != nil {
91904					return err
91905				}
91906				if ss.AdditionalProperties == nil {
91907					ss.AdditionalProperties = make(map[string]interface{})
91908				}
91909				ss.AdditionalProperties[k] = additionalProperties
91910			}
91911		case "writeBatchSize":
91912			if v != nil {
91913				var writeBatchSize interface{}
91914				err = json.Unmarshal(*v, &writeBatchSize)
91915				if err != nil {
91916					return err
91917				}
91918				ss.WriteBatchSize = writeBatchSize
91919			}
91920		case "writeBatchTimeout":
91921			if v != nil {
91922				var writeBatchTimeout interface{}
91923				err = json.Unmarshal(*v, &writeBatchTimeout)
91924				if err != nil {
91925					return err
91926				}
91927				ss.WriteBatchTimeout = writeBatchTimeout
91928			}
91929		case "sinkRetryCount":
91930			if v != nil {
91931				var sinkRetryCount interface{}
91932				err = json.Unmarshal(*v, &sinkRetryCount)
91933				if err != nil {
91934					return err
91935				}
91936				ss.SinkRetryCount = sinkRetryCount
91937			}
91938		case "sinkRetryWait":
91939			if v != nil {
91940				var sinkRetryWait interface{}
91941				err = json.Unmarshal(*v, &sinkRetryWait)
91942				if err != nil {
91943					return err
91944				}
91945				ss.SinkRetryWait = sinkRetryWait
91946			}
91947		case "type":
91948			if v != nil {
91949				var typeVar TypeBasicCopySink
91950				err = json.Unmarshal(*v, &typeVar)
91951				if err != nil {
91952					return err
91953				}
91954				ss.Type = typeVar
91955			}
91956		}
91957	}
91958
91959	return nil
91960}
91961
91962// SQLSource a copy activity SQL source.
91963type SQLSource struct {
91964	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
91965	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
91966	// SQLReaderStoredProcedureName - Name of the stored procedure for a SQL Database source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string).
91967	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
91968	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
91969	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
91970	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91971	AdditionalProperties map[string]interface{} `json:""`
91972	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
91973	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
91974	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
91975	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
91976	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
91977	Type TypeBasicCopySource `json:"type,omitempty"`
91978}
91979
91980// MarshalJSON is the custom marshaler for SQLSource.
91981func (ss SQLSource) MarshalJSON() ([]byte, error) {
91982	ss.Type = TypeSQLSource
91983	objectMap := make(map[string]interface{})
91984	if ss.SQLReaderQuery != nil {
91985		objectMap["sqlReaderQuery"] = ss.SQLReaderQuery
91986	}
91987	if ss.SQLReaderStoredProcedureName != nil {
91988		objectMap["sqlReaderStoredProcedureName"] = ss.SQLReaderStoredProcedureName
91989	}
91990	if ss.StoredProcedureParameters != nil {
91991		objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters
91992	}
91993	if ss.SourceRetryCount != nil {
91994		objectMap["sourceRetryCount"] = ss.SourceRetryCount
91995	}
91996	if ss.SourceRetryWait != nil {
91997		objectMap["sourceRetryWait"] = ss.SourceRetryWait
91998	}
91999	if ss.Type != "" {
92000		objectMap["type"] = ss.Type
92001	}
92002	for k, v := range ss.AdditionalProperties {
92003		objectMap[k] = v
92004	}
92005	return json.Marshal(objectMap)
92006}
92007
92008// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLSource.
92009func (ss SQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
92010	return nil, false
92011}
92012
92013// AsResponsysSource is the BasicCopySource implementation for SQLSource.
92014func (ss SQLSource) AsResponsysSource() (*ResponsysSource, bool) {
92015	return nil, false
92016}
92017
92018// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLSource.
92019func (ss SQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
92020	return nil, false
92021}
92022
92023// AsVerticaSource is the BasicCopySource implementation for SQLSource.
92024func (ss SQLSource) AsVerticaSource() (*VerticaSource, bool) {
92025	return nil, false
92026}
92027
92028// AsNetezzaSource is the BasicCopySource implementation for SQLSource.
92029func (ss SQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
92030	return nil, false
92031}
92032
92033// AsZohoSource is the BasicCopySource implementation for SQLSource.
92034func (ss SQLSource) AsZohoSource() (*ZohoSource, bool) {
92035	return nil, false
92036}
92037
92038// AsXeroSource is the BasicCopySource implementation for SQLSource.
92039func (ss SQLSource) AsXeroSource() (*XeroSource, bool) {
92040	return nil, false
92041}
92042
92043// AsSquareSource is the BasicCopySource implementation for SQLSource.
92044func (ss SQLSource) AsSquareSource() (*SquareSource, bool) {
92045	return nil, false
92046}
92047
92048// AsSparkSource is the BasicCopySource implementation for SQLSource.
92049func (ss SQLSource) AsSparkSource() (*SparkSource, bool) {
92050	return nil, false
92051}
92052
92053// AsShopifySource is the BasicCopySource implementation for SQLSource.
92054func (ss SQLSource) AsShopifySource() (*ShopifySource, bool) {
92055	return nil, false
92056}
92057
92058// AsServiceNowSource is the BasicCopySource implementation for SQLSource.
92059func (ss SQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
92060	return nil, false
92061}
92062
92063// AsQuickBooksSource is the BasicCopySource implementation for SQLSource.
92064func (ss SQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
92065	return nil, false
92066}
92067
92068// AsPrestoSource is the BasicCopySource implementation for SQLSource.
92069func (ss SQLSource) AsPrestoSource() (*PrestoSource, bool) {
92070	return nil, false
92071}
92072
92073// AsPhoenixSource is the BasicCopySource implementation for SQLSource.
92074func (ss SQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
92075	return nil, false
92076}
92077
92078// AsPaypalSource is the BasicCopySource implementation for SQLSource.
92079func (ss SQLSource) AsPaypalSource() (*PaypalSource, bool) {
92080	return nil, false
92081}
92082
92083// AsMarketoSource is the BasicCopySource implementation for SQLSource.
92084func (ss SQLSource) AsMarketoSource() (*MarketoSource, bool) {
92085	return nil, false
92086}
92087
92088// AsMariaDBSource is the BasicCopySource implementation for SQLSource.
92089func (ss SQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
92090	return nil, false
92091}
92092
92093// AsMagentoSource is the BasicCopySource implementation for SQLSource.
92094func (ss SQLSource) AsMagentoSource() (*MagentoSource, bool) {
92095	return nil, false
92096}
92097
92098// AsJiraSource is the BasicCopySource implementation for SQLSource.
92099func (ss SQLSource) AsJiraSource() (*JiraSource, bool) {
92100	return nil, false
92101}
92102
92103// AsImpalaSource is the BasicCopySource implementation for SQLSource.
92104func (ss SQLSource) AsImpalaSource() (*ImpalaSource, bool) {
92105	return nil, false
92106}
92107
92108// AsHubspotSource is the BasicCopySource implementation for SQLSource.
92109func (ss SQLSource) AsHubspotSource() (*HubspotSource, bool) {
92110	return nil, false
92111}
92112
92113// AsHiveSource is the BasicCopySource implementation for SQLSource.
92114func (ss SQLSource) AsHiveSource() (*HiveSource, bool) {
92115	return nil, false
92116}
92117
92118// AsHBaseSource is the BasicCopySource implementation for SQLSource.
92119func (ss SQLSource) AsHBaseSource() (*HBaseSource, bool) {
92120	return nil, false
92121}
92122
92123// AsGreenplumSource is the BasicCopySource implementation for SQLSource.
92124func (ss SQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
92125	return nil, false
92126}
92127
92128// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLSource.
92129func (ss SQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
92130	return nil, false
92131}
92132
92133// AsEloquaSource is the BasicCopySource implementation for SQLSource.
92134func (ss SQLSource) AsEloquaSource() (*EloquaSource, bool) {
92135	return nil, false
92136}
92137
92138// AsDrillSource is the BasicCopySource implementation for SQLSource.
92139func (ss SQLSource) AsDrillSource() (*DrillSource, bool) {
92140	return nil, false
92141}
92142
92143// AsCouchbaseSource is the BasicCopySource implementation for SQLSource.
92144func (ss SQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
92145	return nil, false
92146}
92147
92148// AsConcurSource is the BasicCopySource implementation for SQLSource.
92149func (ss SQLSource) AsConcurSource() (*ConcurSource, bool) {
92150	return nil, false
92151}
92152
92153// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLSource.
92154func (ss SQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
92155	return nil, false
92156}
92157
92158// AsAmazonMWSSource is the BasicCopySource implementation for SQLSource.
92159func (ss SQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
92160	return nil, false
92161}
92162
92163// AsHTTPSource is the BasicCopySource implementation for SQLSource.
92164func (ss SQLSource) AsHTTPSource() (*HTTPSource, bool) {
92165	return nil, false
92166}
92167
92168// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLSource.
92169func (ss SQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
92170	return nil, false
92171}
92172
92173// AsMongoDbSource is the BasicCopySource implementation for SQLSource.
92174func (ss SQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
92175	return nil, false
92176}
92177
92178// AsCassandraSource is the BasicCopySource implementation for SQLSource.
92179func (ss SQLSource) AsCassandraSource() (*CassandraSource, bool) {
92180	return nil, false
92181}
92182
92183// AsWebSource is the BasicCopySource implementation for SQLSource.
92184func (ss SQLSource) AsWebSource() (*WebSource, bool) {
92185	return nil, false
92186}
92187
92188// AsOracleSource is the BasicCopySource implementation for SQLSource.
92189func (ss SQLSource) AsOracleSource() (*OracleSource, bool) {
92190	return nil, false
92191}
92192
92193// AsAzureMySQLSource is the BasicCopySource implementation for SQLSource.
92194func (ss SQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
92195	return nil, false
92196}
92197
92198// AsHdfsSource is the BasicCopySource implementation for SQLSource.
92199func (ss SQLSource) AsHdfsSource() (*HdfsSource, bool) {
92200	return nil, false
92201}
92202
92203// AsFileSystemSource is the BasicCopySource implementation for SQLSource.
92204func (ss SQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
92205	return nil, false
92206}
92207
92208// AsSQLDWSource is the BasicCopySource implementation for SQLSource.
92209func (ss SQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
92210	return nil, false
92211}
92212
92213// AsSQLSource is the BasicCopySource implementation for SQLSource.
92214func (ss SQLSource) AsSQLSource() (*SQLSource, bool) {
92215	return &ss, true
92216}
92217
92218// AsSapEccSource is the BasicCopySource implementation for SQLSource.
92219func (ss SQLSource) AsSapEccSource() (*SapEccSource, bool) {
92220	return nil, false
92221}
92222
92223// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLSource.
92224func (ss SQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
92225	return nil, false
92226}
92227
92228// AsSalesforceSource is the BasicCopySource implementation for SQLSource.
92229func (ss SQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
92230	return nil, false
92231}
92232
92233// AsRelationalSource is the BasicCopySource implementation for SQLSource.
92234func (ss SQLSource) AsRelationalSource() (*RelationalSource, bool) {
92235	return nil, false
92236}
92237
92238// AsDynamicsSource is the BasicCopySource implementation for SQLSource.
92239func (ss SQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
92240	return nil, false
92241}
92242
92243// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLSource.
92244func (ss SQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
92245	return nil, false
92246}
92247
92248// AsBlobSource is the BasicCopySource implementation for SQLSource.
92249func (ss SQLSource) AsBlobSource() (*BlobSource, bool) {
92250	return nil, false
92251}
92252
92253// AsAzureTableSource is the BasicCopySource implementation for SQLSource.
92254func (ss SQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
92255	return nil, false
92256}
92257
92258// AsCopySource is the BasicCopySource implementation for SQLSource.
92259func (ss SQLSource) AsCopySource() (*CopySource, bool) {
92260	return nil, false
92261}
92262
92263// AsBasicCopySource is the BasicCopySource implementation for SQLSource.
92264func (ss SQLSource) AsBasicCopySource() (BasicCopySource, bool) {
92265	return &ss, true
92266}
92267
92268// UnmarshalJSON is the custom unmarshaler for SQLSource struct.
92269func (ss *SQLSource) UnmarshalJSON(body []byte) error {
92270	var m map[string]*json.RawMessage
92271	err := json.Unmarshal(body, &m)
92272	if err != nil {
92273		return err
92274	}
92275	for k, v := range m {
92276		switch k {
92277		case "sqlReaderQuery":
92278			if v != nil {
92279				var SQLReaderQuery interface{}
92280				err = json.Unmarshal(*v, &SQLReaderQuery)
92281				if err != nil {
92282					return err
92283				}
92284				ss.SQLReaderQuery = SQLReaderQuery
92285			}
92286		case "sqlReaderStoredProcedureName":
92287			if v != nil {
92288				var SQLReaderStoredProcedureName interface{}
92289				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
92290				if err != nil {
92291					return err
92292				}
92293				ss.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
92294			}
92295		case "storedProcedureParameters":
92296			if v != nil {
92297				var storedProcedureParameters map[string]*StoredProcedureParameter
92298				err = json.Unmarshal(*v, &storedProcedureParameters)
92299				if err != nil {
92300					return err
92301				}
92302				ss.StoredProcedureParameters = storedProcedureParameters
92303			}
92304		default:
92305			if v != nil {
92306				var additionalProperties interface{}
92307				err = json.Unmarshal(*v, &additionalProperties)
92308				if err != nil {
92309					return err
92310				}
92311				if ss.AdditionalProperties == nil {
92312					ss.AdditionalProperties = make(map[string]interface{})
92313				}
92314				ss.AdditionalProperties[k] = additionalProperties
92315			}
92316		case "sourceRetryCount":
92317			if v != nil {
92318				var sourceRetryCount interface{}
92319				err = json.Unmarshal(*v, &sourceRetryCount)
92320				if err != nil {
92321					return err
92322				}
92323				ss.SourceRetryCount = sourceRetryCount
92324			}
92325		case "sourceRetryWait":
92326			if v != nil {
92327				var sourceRetryWait interface{}
92328				err = json.Unmarshal(*v, &sourceRetryWait)
92329				if err != nil {
92330					return err
92331				}
92332				ss.SourceRetryWait = sourceRetryWait
92333			}
92334		case "type":
92335			if v != nil {
92336				var typeVar TypeBasicCopySource
92337				err = json.Unmarshal(*v, &typeVar)
92338				if err != nil {
92339					return err
92340				}
92341				ss.Type = typeVar
92342			}
92343		}
92344	}
92345
92346	return nil
92347}
92348
92349// SquareLinkedService square Service linked service.
92350type SquareLinkedService struct {
92351	// SquareLinkedServiceTypeProperties - Square Service linked service properties.
92352	*SquareLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
92353	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
92354	AdditionalProperties map[string]interface{} `json:""`
92355	// ConnectVia - The integration runtime reference.
92356	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
92357	// Description - Linked service description.
92358	Description *string `json:"description,omitempty"`
92359	// Parameters - Parameters for linked service.
92360	Parameters map[string]*ParameterSpecification `json:"parameters"`
92361	// Annotations - List of tags that can be used for describing the Dataset.
92362	Annotations *[]interface{} `json:"annotations,omitempty"`
92363	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
92364	Type TypeBasicLinkedService `json:"type,omitempty"`
92365}
92366
92367// MarshalJSON is the custom marshaler for SquareLinkedService.
92368func (sls SquareLinkedService) MarshalJSON() ([]byte, error) {
92369	sls.Type = TypeSquare
92370	objectMap := make(map[string]interface{})
92371	if sls.SquareLinkedServiceTypeProperties != nil {
92372		objectMap["typeProperties"] = sls.SquareLinkedServiceTypeProperties
92373	}
92374	if sls.ConnectVia != nil {
92375		objectMap["connectVia"] = sls.ConnectVia
92376	}
92377	if sls.Description != nil {
92378		objectMap["description"] = sls.Description
92379	}
92380	if sls.Parameters != nil {
92381		objectMap["parameters"] = sls.Parameters
92382	}
92383	if sls.Annotations != nil {
92384		objectMap["annotations"] = sls.Annotations
92385	}
92386	if sls.Type != "" {
92387		objectMap["type"] = sls.Type
92388	}
92389	for k, v := range sls.AdditionalProperties {
92390		objectMap[k] = v
92391	}
92392	return json.Marshal(objectMap)
92393}
92394
92395// AsResponsysLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92396func (sls SquareLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
92397	return nil, false
92398}
92399
92400// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92401func (sls SquareLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
92402	return nil, false
92403}
92404
92405// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92406func (sls SquareLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
92407	return nil, false
92408}
92409
92410// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92411func (sls SquareLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
92412	return nil, false
92413}
92414
92415// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92416func (sls SquareLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
92417	return nil, false
92418}
92419
92420// AsNetezzaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92421func (sls SquareLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
92422	return nil, false
92423}
92424
92425// AsVerticaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92426func (sls SquareLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
92427	return nil, false
92428}
92429
92430// AsZohoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92431func (sls SquareLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
92432	return nil, false
92433}
92434
92435// AsXeroLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92436func (sls SquareLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
92437	return nil, false
92438}
92439
92440// AsSquareLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92441func (sls SquareLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
92442	return &sls, true
92443}
92444
92445// AsSparkLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92446func (sls SquareLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
92447	return nil, false
92448}
92449
92450// AsShopifyLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92451func (sls SquareLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
92452	return nil, false
92453}
92454
92455// AsServiceNowLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92456func (sls SquareLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
92457	return nil, false
92458}
92459
92460// AsQuickBooksLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92461func (sls SquareLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
92462	return nil, false
92463}
92464
92465// AsPrestoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92466func (sls SquareLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
92467	return nil, false
92468}
92469
92470// AsPhoenixLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92471func (sls SquareLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
92472	return nil, false
92473}
92474
92475// AsPaypalLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92476func (sls SquareLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
92477	return nil, false
92478}
92479
92480// AsMarketoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92481func (sls SquareLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
92482	return nil, false
92483}
92484
92485// AsMariaDBLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92486func (sls SquareLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
92487	return nil, false
92488}
92489
92490// AsMagentoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92491func (sls SquareLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
92492	return nil, false
92493}
92494
92495// AsJiraLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92496func (sls SquareLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
92497	return nil, false
92498}
92499
92500// AsImpalaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92501func (sls SquareLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
92502	return nil, false
92503}
92504
92505// AsHubspotLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92506func (sls SquareLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
92507	return nil, false
92508}
92509
92510// AsHiveLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92511func (sls SquareLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
92512	return nil, false
92513}
92514
92515// AsHBaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92516func (sls SquareLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
92517	return nil, false
92518}
92519
92520// AsGreenplumLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92521func (sls SquareLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
92522	return nil, false
92523}
92524
92525// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92526func (sls SquareLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
92527	return nil, false
92528}
92529
92530// AsEloquaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92531func (sls SquareLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
92532	return nil, false
92533}
92534
92535// AsDrillLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92536func (sls SquareLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
92537	return nil, false
92538}
92539
92540// AsCouchbaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92541func (sls SquareLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
92542	return nil, false
92543}
92544
92545// AsConcurLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92546func (sls SquareLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
92547	return nil, false
92548}
92549
92550// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92551func (sls SquareLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
92552	return nil, false
92553}
92554
92555// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92556func (sls SquareLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
92557	return nil, false
92558}
92559
92560// AsSapHanaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92561func (sls SquareLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
92562	return nil, false
92563}
92564
92565// AsSapBWLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92566func (sls SquareLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
92567	return nil, false
92568}
92569
92570// AsSftpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92571func (sls SquareLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
92572	return nil, false
92573}
92574
92575// AsFtpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92576func (sls SquareLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
92577	return nil, false
92578}
92579
92580// AsHTTPLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92581func (sls SquareLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
92582	return nil, false
92583}
92584
92585// AsAzureSearchLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92586func (sls SquareLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
92587	return nil, false
92588}
92589
92590// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92591func (sls SquareLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
92592	return nil, false
92593}
92594
92595// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92596func (sls SquareLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
92597	return nil, false
92598}
92599
92600// AsAmazonS3LinkedService is the BasicLinkedService implementation for SquareLinkedService.
92601func (sls SquareLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
92602	return nil, false
92603}
92604
92605// AsSapEccLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92606func (sls SquareLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
92607	return nil, false
92608}
92609
92610// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92611func (sls SquareLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
92612	return nil, false
92613}
92614
92615// AsSalesforceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92616func (sls SquareLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
92617	return nil, false
92618}
92619
92620// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92621func (sls SquareLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
92622	return nil, false
92623}
92624
92625// AsMongoDbLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92626func (sls SquareLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
92627	return nil, false
92628}
92629
92630// AsCassandraLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92631func (sls SquareLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
92632	return nil, false
92633}
92634
92635// AsWebLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92636func (sls SquareLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
92637	return nil, false
92638}
92639
92640// AsODataLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92641func (sls SquareLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
92642	return nil, false
92643}
92644
92645// AsHdfsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92646func (sls SquareLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
92647	return nil, false
92648}
92649
92650// AsOdbcLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92651func (sls SquareLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
92652	return nil, false
92653}
92654
92655// AsAzureMLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92656func (sls SquareLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
92657	return nil, false
92658}
92659
92660// AsTeradataLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92661func (sls SquareLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
92662	return nil, false
92663}
92664
92665// AsDb2LinkedService is the BasicLinkedService implementation for SquareLinkedService.
92666func (sls SquareLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
92667	return nil, false
92668}
92669
92670// AsSybaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92671func (sls SquareLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
92672	return nil, false
92673}
92674
92675// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92676func (sls SquareLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
92677	return nil, false
92678}
92679
92680// AsMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92681func (sls SquareLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
92682	return nil, false
92683}
92684
92685// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92686func (sls SquareLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
92687	return nil, false
92688}
92689
92690// AsOracleLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92691func (sls SquareLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
92692	return nil, false
92693}
92694
92695// AsFileServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92696func (sls SquareLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
92697	return nil, false
92698}
92699
92700// AsHDInsightLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92701func (sls SquareLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
92702	return nil, false
92703}
92704
92705// AsDynamicsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92706func (sls SquareLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
92707	return nil, false
92708}
92709
92710// AsCosmosDbLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92711func (sls SquareLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
92712	return nil, false
92713}
92714
92715// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92716func (sls SquareLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
92717	return nil, false
92718}
92719
92720// AsAzureBatchLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92721func (sls SquareLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
92722	return nil, false
92723}
92724
92725// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92726func (sls SquareLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
92727	return nil, false
92728}
92729
92730// AsSQLServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92731func (sls SquareLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
92732	return nil, false
92733}
92734
92735// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92736func (sls SquareLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
92737	return nil, false
92738}
92739
92740// AsAzureStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92741func (sls SquareLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
92742	return nil, false
92743}
92744
92745// AsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92746func (sls SquareLinkedService) AsLinkedService() (*LinkedService, bool) {
92747	return nil, false
92748}
92749
92750// AsBasicLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92751func (sls SquareLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
92752	return &sls, true
92753}
92754
92755// UnmarshalJSON is the custom unmarshaler for SquareLinkedService struct.
92756func (sls *SquareLinkedService) UnmarshalJSON(body []byte) error {
92757	var m map[string]*json.RawMessage
92758	err := json.Unmarshal(body, &m)
92759	if err != nil {
92760		return err
92761	}
92762	for k, v := range m {
92763		switch k {
92764		case "typeProperties":
92765			if v != nil {
92766				var squareLinkedServiceTypeProperties SquareLinkedServiceTypeProperties
92767				err = json.Unmarshal(*v, &squareLinkedServiceTypeProperties)
92768				if err != nil {
92769					return err
92770				}
92771				sls.SquareLinkedServiceTypeProperties = &squareLinkedServiceTypeProperties
92772			}
92773		default:
92774			if v != nil {
92775				var additionalProperties interface{}
92776				err = json.Unmarshal(*v, &additionalProperties)
92777				if err != nil {
92778					return err
92779				}
92780				if sls.AdditionalProperties == nil {
92781					sls.AdditionalProperties = make(map[string]interface{})
92782				}
92783				sls.AdditionalProperties[k] = additionalProperties
92784			}
92785		case "connectVia":
92786			if v != nil {
92787				var connectVia IntegrationRuntimeReference
92788				err = json.Unmarshal(*v, &connectVia)
92789				if err != nil {
92790					return err
92791				}
92792				sls.ConnectVia = &connectVia
92793			}
92794		case "description":
92795			if v != nil {
92796				var description string
92797				err = json.Unmarshal(*v, &description)
92798				if err != nil {
92799					return err
92800				}
92801				sls.Description = &description
92802			}
92803		case "parameters":
92804			if v != nil {
92805				var parameters map[string]*ParameterSpecification
92806				err = json.Unmarshal(*v, &parameters)
92807				if err != nil {
92808					return err
92809				}
92810				sls.Parameters = parameters
92811			}
92812		case "annotations":
92813			if v != nil {
92814				var annotations []interface{}
92815				err = json.Unmarshal(*v, &annotations)
92816				if err != nil {
92817					return err
92818				}
92819				sls.Annotations = &annotations
92820			}
92821		case "type":
92822			if v != nil {
92823				var typeVar TypeBasicLinkedService
92824				err = json.Unmarshal(*v, &typeVar)
92825				if err != nil {
92826					return err
92827				}
92828				sls.Type = typeVar
92829			}
92830		}
92831	}
92832
92833	return nil
92834}
92835
92836// SquareLinkedServiceTypeProperties square Service linked service properties.
92837type SquareLinkedServiceTypeProperties struct {
92838	// Host - The URL of the Square instance. (i.e. mystore.mysquare.com)
92839	Host interface{} `json:"host,omitempty"`
92840	// ClientID - The client ID associated with your Square application.
92841	ClientID interface{} `json:"clientId,omitempty"`
92842	// ClientSecret - The client secret associated with your Square application.
92843	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
92844	// RedirectURI - The redirect URL assigned in the Square application dashboard. (i.e. http://localhost:2500)
92845	RedirectURI interface{} `json:"redirectUri,omitempty"`
92846	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
92847	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
92848	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
92849	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
92850	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
92851	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
92852	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
92853	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
92854}
92855
92856// UnmarshalJSON is the custom unmarshaler for SquareLinkedServiceTypeProperties struct.
92857func (slstp *SquareLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
92858	var m map[string]*json.RawMessage
92859	err := json.Unmarshal(body, &m)
92860	if err != nil {
92861		return err
92862	}
92863	for k, v := range m {
92864		switch k {
92865		case "host":
92866			if v != nil {
92867				var host interface{}
92868				err = json.Unmarshal(*v, &host)
92869				if err != nil {
92870					return err
92871				}
92872				slstp.Host = host
92873			}
92874		case "clientId":
92875			if v != nil {
92876				var clientID interface{}
92877				err = json.Unmarshal(*v, &clientID)
92878				if err != nil {
92879					return err
92880				}
92881				slstp.ClientID = clientID
92882			}
92883		case "clientSecret":
92884			if v != nil {
92885				clientSecret, err := unmarshalBasicSecretBase(*v)
92886				if err != nil {
92887					return err
92888				}
92889				slstp.ClientSecret = clientSecret
92890			}
92891		case "redirectUri":
92892			if v != nil {
92893				var redirectURI interface{}
92894				err = json.Unmarshal(*v, &redirectURI)
92895				if err != nil {
92896					return err
92897				}
92898				slstp.RedirectURI = redirectURI
92899			}
92900		case "useEncryptedEndpoints":
92901			if v != nil {
92902				var useEncryptedEndpoints interface{}
92903				err = json.Unmarshal(*v, &useEncryptedEndpoints)
92904				if err != nil {
92905					return err
92906				}
92907				slstp.UseEncryptedEndpoints = useEncryptedEndpoints
92908			}
92909		case "useHostVerification":
92910			if v != nil {
92911				var useHostVerification interface{}
92912				err = json.Unmarshal(*v, &useHostVerification)
92913				if err != nil {
92914					return err
92915				}
92916				slstp.UseHostVerification = useHostVerification
92917			}
92918		case "usePeerVerification":
92919			if v != nil {
92920				var usePeerVerification interface{}
92921				err = json.Unmarshal(*v, &usePeerVerification)
92922				if err != nil {
92923					return err
92924				}
92925				slstp.UsePeerVerification = usePeerVerification
92926			}
92927		case "encryptedCredential":
92928			if v != nil {
92929				var encryptedCredential interface{}
92930				err = json.Unmarshal(*v, &encryptedCredential)
92931				if err != nil {
92932					return err
92933				}
92934				slstp.EncryptedCredential = encryptedCredential
92935			}
92936		}
92937	}
92938
92939	return nil
92940}
92941
92942// SquareObjectDataset square Service dataset.
92943type SquareObjectDataset struct {
92944	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
92945	AdditionalProperties map[string]interface{} `json:""`
92946	// Description - Dataset description.
92947	Description *string `json:"description,omitempty"`
92948	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
92949	Structure interface{} `json:"structure,omitempty"`
92950	// LinkedServiceName - Linked service reference.
92951	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
92952	// Parameters - Parameters for dataset.
92953	Parameters map[string]*ParameterSpecification `json:"parameters"`
92954	// Annotations - List of tags that can be used for describing the Dataset.
92955	Annotations *[]interface{} `json:"annotations,omitempty"`
92956	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
92957	Type TypeBasicDataset `json:"type,omitempty"`
92958}
92959
92960// MarshalJSON is the custom marshaler for SquareObjectDataset.
92961func (sod SquareObjectDataset) MarshalJSON() ([]byte, error) {
92962	sod.Type = TypeSquareObject
92963	objectMap := make(map[string]interface{})
92964	if sod.Description != nil {
92965		objectMap["description"] = sod.Description
92966	}
92967	if sod.Structure != nil {
92968		objectMap["structure"] = sod.Structure
92969	}
92970	if sod.LinkedServiceName != nil {
92971		objectMap["linkedServiceName"] = sod.LinkedServiceName
92972	}
92973	if sod.Parameters != nil {
92974		objectMap["parameters"] = sod.Parameters
92975	}
92976	if sod.Annotations != nil {
92977		objectMap["annotations"] = sod.Annotations
92978	}
92979	if sod.Type != "" {
92980		objectMap["type"] = sod.Type
92981	}
92982	for k, v := range sod.AdditionalProperties {
92983		objectMap[k] = v
92984	}
92985	return json.Marshal(objectMap)
92986}
92987
92988// AsResponsysObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92989func (sod SquareObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
92990	return nil, false
92991}
92992
92993// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92994func (sod SquareObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
92995	return nil, false
92996}
92997
92998// AsVerticaTableDataset is the BasicDataset implementation for SquareObjectDataset.
92999func (sod SquareObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
93000	return nil, false
93001}
93002
93003// AsNetezzaTableDataset is the BasicDataset implementation for SquareObjectDataset.
93004func (sod SquareObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
93005	return nil, false
93006}
93007
93008// AsZohoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93009func (sod SquareObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
93010	return nil, false
93011}
93012
93013// AsXeroObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93014func (sod SquareObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
93015	return nil, false
93016}
93017
93018// AsSquareObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93019func (sod SquareObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
93020	return &sod, true
93021}
93022
93023// AsSparkObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93024func (sod SquareObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
93025	return nil, false
93026}
93027
93028// AsShopifyObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93029func (sod SquareObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
93030	return nil, false
93031}
93032
93033// AsServiceNowObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93034func (sod SquareObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
93035	return nil, false
93036}
93037
93038// AsQuickBooksObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93039func (sod SquareObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
93040	return nil, false
93041}
93042
93043// AsPrestoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93044func (sod SquareObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
93045	return nil, false
93046}
93047
93048// AsPhoenixObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93049func (sod SquareObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
93050	return nil, false
93051}
93052
93053// AsPaypalObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93054func (sod SquareObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
93055	return nil, false
93056}
93057
93058// AsMarketoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93059func (sod SquareObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
93060	return nil, false
93061}
93062
93063// AsMariaDBTableDataset is the BasicDataset implementation for SquareObjectDataset.
93064func (sod SquareObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
93065	return nil, false
93066}
93067
93068// AsMagentoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93069func (sod SquareObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
93070	return nil, false
93071}
93072
93073// AsJiraObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93074func (sod SquareObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
93075	return nil, false
93076}
93077
93078// AsImpalaObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93079func (sod SquareObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
93080	return nil, false
93081}
93082
93083// AsHubspotObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93084func (sod SquareObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
93085	return nil, false
93086}
93087
93088// AsHiveObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93089func (sod SquareObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
93090	return nil, false
93091}
93092
93093// AsHBaseObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93094func (sod SquareObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
93095	return nil, false
93096}
93097
93098// AsGreenplumTableDataset is the BasicDataset implementation for SquareObjectDataset.
93099func (sod SquareObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
93100	return nil, false
93101}
93102
93103// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93104func (sod SquareObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
93105	return nil, false
93106}
93107
93108// AsEloquaObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93109func (sod SquareObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
93110	return nil, false
93111}
93112
93113// AsDrillTableDataset is the BasicDataset implementation for SquareObjectDataset.
93114func (sod SquareObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
93115	return nil, false
93116}
93117
93118// AsCouchbaseTableDataset is the BasicDataset implementation for SquareObjectDataset.
93119func (sod SquareObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
93120	return nil, false
93121}
93122
93123// AsConcurObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93124func (sod SquareObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
93125	return nil, false
93126}
93127
93128// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
93129func (sod SquareObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
93130	return nil, false
93131}
93132
93133// AsAmazonMWSObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93134func (sod SquareObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
93135	return nil, false
93136}
93137
93138// AsHTTPDataset is the BasicDataset implementation for SquareObjectDataset.
93139func (sod SquareObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
93140	return nil, false
93141}
93142
93143// AsAzureSearchIndexDataset is the BasicDataset implementation for SquareObjectDataset.
93144func (sod SquareObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
93145	return nil, false
93146}
93147
93148// AsWebTableDataset is the BasicDataset implementation for SquareObjectDataset.
93149func (sod SquareObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
93150	return nil, false
93151}
93152
93153// AsSQLServerTableDataset is the BasicDataset implementation for SquareObjectDataset.
93154func (sod SquareObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
93155	return nil, false
93156}
93157
93158// AsSapEccResourceDataset is the BasicDataset implementation for SquareObjectDataset.
93159func (sod SquareObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
93160	return nil, false
93161}
93162
93163// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SquareObjectDataset.
93164func (sod SquareObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
93165	return nil, false
93166}
93167
93168// AsSalesforceObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93169func (sod SquareObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
93170	return nil, false
93171}
93172
93173// AsRelationalTableDataset is the BasicDataset implementation for SquareObjectDataset.
93174func (sod SquareObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
93175	return nil, false
93176}
93177
93178// AsAzureMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
93179func (sod SquareObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
93180	return nil, false
93181}
93182
93183// AsOracleTableDataset is the BasicDataset implementation for SquareObjectDataset.
93184func (sod SquareObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
93185	return nil, false
93186}
93187
93188// AsODataResourceDataset is the BasicDataset implementation for SquareObjectDataset.
93189func (sod SquareObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
93190	return nil, false
93191}
93192
93193// AsMongoDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset.
93194func (sod SquareObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
93195	return nil, false
93196}
93197
93198// AsFileShareDataset is the BasicDataset implementation for SquareObjectDataset.
93199func (sod SquareObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
93200	return nil, false
93201}
93202
93203// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SquareObjectDataset.
93204func (sod SquareObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
93205	return nil, false
93206}
93207
93208// AsDynamicsEntityDataset is the BasicDataset implementation for SquareObjectDataset.
93209func (sod SquareObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
93210	return nil, false
93211}
93212
93213// AsDocumentDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset.
93214func (sod SquareObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
93215	return nil, false
93216}
93217
93218// AsCustomDataset is the BasicDataset implementation for SquareObjectDataset.
93219func (sod SquareObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
93220	return nil, false
93221}
93222
93223// AsCassandraTableDataset is the BasicDataset implementation for SquareObjectDataset.
93224func (sod SquareObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
93225	return nil, false
93226}
93227
93228// AsAzureSQLDWTableDataset is the BasicDataset implementation for SquareObjectDataset.
93229func (sod SquareObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
93230	return nil, false
93231}
93232
93233// AsAzureSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
93234func (sod SquareObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
93235	return nil, false
93236}
93237
93238// AsAzureTableDataset is the BasicDataset implementation for SquareObjectDataset.
93239func (sod SquareObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
93240	return nil, false
93241}
93242
93243// AsAzureBlobDataset is the BasicDataset implementation for SquareObjectDataset.
93244func (sod SquareObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
93245	return nil, false
93246}
93247
93248// AsAmazonS3Dataset is the BasicDataset implementation for SquareObjectDataset.
93249func (sod SquareObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
93250	return nil, false
93251}
93252
93253// AsDataset is the BasicDataset implementation for SquareObjectDataset.
93254func (sod SquareObjectDataset) AsDataset() (*Dataset, bool) {
93255	return nil, false
93256}
93257
93258// AsBasicDataset is the BasicDataset implementation for SquareObjectDataset.
93259func (sod SquareObjectDataset) AsBasicDataset() (BasicDataset, bool) {
93260	return &sod, true
93261}
93262
93263// UnmarshalJSON is the custom unmarshaler for SquareObjectDataset struct.
93264func (sod *SquareObjectDataset) UnmarshalJSON(body []byte) error {
93265	var m map[string]*json.RawMessage
93266	err := json.Unmarshal(body, &m)
93267	if err != nil {
93268		return err
93269	}
93270	for k, v := range m {
93271		switch k {
93272		default:
93273			if v != nil {
93274				var additionalProperties interface{}
93275				err = json.Unmarshal(*v, &additionalProperties)
93276				if err != nil {
93277					return err
93278				}
93279				if sod.AdditionalProperties == nil {
93280					sod.AdditionalProperties = make(map[string]interface{})
93281				}
93282				sod.AdditionalProperties[k] = additionalProperties
93283			}
93284		case "description":
93285			if v != nil {
93286				var description string
93287				err = json.Unmarshal(*v, &description)
93288				if err != nil {
93289					return err
93290				}
93291				sod.Description = &description
93292			}
93293		case "structure":
93294			if v != nil {
93295				var structure interface{}
93296				err = json.Unmarshal(*v, &structure)
93297				if err != nil {
93298					return err
93299				}
93300				sod.Structure = structure
93301			}
93302		case "linkedServiceName":
93303			if v != nil {
93304				var linkedServiceName LinkedServiceReference
93305				err = json.Unmarshal(*v, &linkedServiceName)
93306				if err != nil {
93307					return err
93308				}
93309				sod.LinkedServiceName = &linkedServiceName
93310			}
93311		case "parameters":
93312			if v != nil {
93313				var parameters map[string]*ParameterSpecification
93314				err = json.Unmarshal(*v, &parameters)
93315				if err != nil {
93316					return err
93317				}
93318				sod.Parameters = parameters
93319			}
93320		case "annotations":
93321			if v != nil {
93322				var annotations []interface{}
93323				err = json.Unmarshal(*v, &annotations)
93324				if err != nil {
93325					return err
93326				}
93327				sod.Annotations = &annotations
93328			}
93329		case "type":
93330			if v != nil {
93331				var typeVar TypeBasicDataset
93332				err = json.Unmarshal(*v, &typeVar)
93333				if err != nil {
93334					return err
93335				}
93336				sod.Type = typeVar
93337			}
93338		}
93339	}
93340
93341	return nil
93342}
93343
93344// SquareSource a copy activity Square Service source.
93345type SquareSource struct {
93346	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
93347	Query interface{} `json:"query,omitempty"`
93348	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
93349	AdditionalProperties map[string]interface{} `json:""`
93350	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
93351	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
93352	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
93353	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
93354	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
93355	Type TypeBasicCopySource `json:"type,omitempty"`
93356}
93357
93358// MarshalJSON is the custom marshaler for SquareSource.
93359func (ss SquareSource) MarshalJSON() ([]byte, error) {
93360	ss.Type = TypeSquareSource
93361	objectMap := make(map[string]interface{})
93362	if ss.Query != nil {
93363		objectMap["query"] = ss.Query
93364	}
93365	if ss.SourceRetryCount != nil {
93366		objectMap["sourceRetryCount"] = ss.SourceRetryCount
93367	}
93368	if ss.SourceRetryWait != nil {
93369		objectMap["sourceRetryWait"] = ss.SourceRetryWait
93370	}
93371	if ss.Type != "" {
93372		objectMap["type"] = ss.Type
93373	}
93374	for k, v := range ss.AdditionalProperties {
93375		objectMap[k] = v
93376	}
93377	return json.Marshal(objectMap)
93378}
93379
93380// AsAmazonRedshiftSource is the BasicCopySource implementation for SquareSource.
93381func (ss SquareSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
93382	return nil, false
93383}
93384
93385// AsResponsysSource is the BasicCopySource implementation for SquareSource.
93386func (ss SquareSource) AsResponsysSource() (*ResponsysSource, bool) {
93387	return nil, false
93388}
93389
93390// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SquareSource.
93391func (ss SquareSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
93392	return nil, false
93393}
93394
93395// AsVerticaSource is the BasicCopySource implementation for SquareSource.
93396func (ss SquareSource) AsVerticaSource() (*VerticaSource, bool) {
93397	return nil, false
93398}
93399
93400// AsNetezzaSource is the BasicCopySource implementation for SquareSource.
93401func (ss SquareSource) AsNetezzaSource() (*NetezzaSource, bool) {
93402	return nil, false
93403}
93404
93405// AsZohoSource is the BasicCopySource implementation for SquareSource.
93406func (ss SquareSource) AsZohoSource() (*ZohoSource, bool) {
93407	return nil, false
93408}
93409
93410// AsXeroSource is the BasicCopySource implementation for SquareSource.
93411func (ss SquareSource) AsXeroSource() (*XeroSource, bool) {
93412	return nil, false
93413}
93414
93415// AsSquareSource is the BasicCopySource implementation for SquareSource.
93416func (ss SquareSource) AsSquareSource() (*SquareSource, bool) {
93417	return &ss, true
93418}
93419
93420// AsSparkSource is the BasicCopySource implementation for SquareSource.
93421func (ss SquareSource) AsSparkSource() (*SparkSource, bool) {
93422	return nil, false
93423}
93424
93425// AsShopifySource is the BasicCopySource implementation for SquareSource.
93426func (ss SquareSource) AsShopifySource() (*ShopifySource, bool) {
93427	return nil, false
93428}
93429
93430// AsServiceNowSource is the BasicCopySource implementation for SquareSource.
93431func (ss SquareSource) AsServiceNowSource() (*ServiceNowSource, bool) {
93432	return nil, false
93433}
93434
93435// AsQuickBooksSource is the BasicCopySource implementation for SquareSource.
93436func (ss SquareSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
93437	return nil, false
93438}
93439
93440// AsPrestoSource is the BasicCopySource implementation for SquareSource.
93441func (ss SquareSource) AsPrestoSource() (*PrestoSource, bool) {
93442	return nil, false
93443}
93444
93445// AsPhoenixSource is the BasicCopySource implementation for SquareSource.
93446func (ss SquareSource) AsPhoenixSource() (*PhoenixSource, bool) {
93447	return nil, false
93448}
93449
93450// AsPaypalSource is the BasicCopySource implementation for SquareSource.
93451func (ss SquareSource) AsPaypalSource() (*PaypalSource, bool) {
93452	return nil, false
93453}
93454
93455// AsMarketoSource is the BasicCopySource implementation for SquareSource.
93456func (ss SquareSource) AsMarketoSource() (*MarketoSource, bool) {
93457	return nil, false
93458}
93459
93460// AsMariaDBSource is the BasicCopySource implementation for SquareSource.
93461func (ss SquareSource) AsMariaDBSource() (*MariaDBSource, bool) {
93462	return nil, false
93463}
93464
93465// AsMagentoSource is the BasicCopySource implementation for SquareSource.
93466func (ss SquareSource) AsMagentoSource() (*MagentoSource, bool) {
93467	return nil, false
93468}
93469
93470// AsJiraSource is the BasicCopySource implementation for SquareSource.
93471func (ss SquareSource) AsJiraSource() (*JiraSource, bool) {
93472	return nil, false
93473}
93474
93475// AsImpalaSource is the BasicCopySource implementation for SquareSource.
93476func (ss SquareSource) AsImpalaSource() (*ImpalaSource, bool) {
93477	return nil, false
93478}
93479
93480// AsHubspotSource is the BasicCopySource implementation for SquareSource.
93481func (ss SquareSource) AsHubspotSource() (*HubspotSource, bool) {
93482	return nil, false
93483}
93484
93485// AsHiveSource is the BasicCopySource implementation for SquareSource.
93486func (ss SquareSource) AsHiveSource() (*HiveSource, bool) {
93487	return nil, false
93488}
93489
93490// AsHBaseSource is the BasicCopySource implementation for SquareSource.
93491func (ss SquareSource) AsHBaseSource() (*HBaseSource, bool) {
93492	return nil, false
93493}
93494
93495// AsGreenplumSource is the BasicCopySource implementation for SquareSource.
93496func (ss SquareSource) AsGreenplumSource() (*GreenplumSource, bool) {
93497	return nil, false
93498}
93499
93500// AsGoogleBigQuerySource is the BasicCopySource implementation for SquareSource.
93501func (ss SquareSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
93502	return nil, false
93503}
93504
93505// AsEloquaSource is the BasicCopySource implementation for SquareSource.
93506func (ss SquareSource) AsEloquaSource() (*EloquaSource, bool) {
93507	return nil, false
93508}
93509
93510// AsDrillSource is the BasicCopySource implementation for SquareSource.
93511func (ss SquareSource) AsDrillSource() (*DrillSource, bool) {
93512	return nil, false
93513}
93514
93515// AsCouchbaseSource is the BasicCopySource implementation for SquareSource.
93516func (ss SquareSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
93517	return nil, false
93518}
93519
93520// AsConcurSource is the BasicCopySource implementation for SquareSource.
93521func (ss SquareSource) AsConcurSource() (*ConcurSource, bool) {
93522	return nil, false
93523}
93524
93525// AsAzurePostgreSQLSource is the BasicCopySource implementation for SquareSource.
93526func (ss SquareSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
93527	return nil, false
93528}
93529
93530// AsAmazonMWSSource is the BasicCopySource implementation for SquareSource.
93531func (ss SquareSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
93532	return nil, false
93533}
93534
93535// AsHTTPSource is the BasicCopySource implementation for SquareSource.
93536func (ss SquareSource) AsHTTPSource() (*HTTPSource, bool) {
93537	return nil, false
93538}
93539
93540// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SquareSource.
93541func (ss SquareSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
93542	return nil, false
93543}
93544
93545// AsMongoDbSource is the BasicCopySource implementation for SquareSource.
93546func (ss SquareSource) AsMongoDbSource() (*MongoDbSource, bool) {
93547	return nil, false
93548}
93549
93550// AsCassandraSource is the BasicCopySource implementation for SquareSource.
93551func (ss SquareSource) AsCassandraSource() (*CassandraSource, bool) {
93552	return nil, false
93553}
93554
93555// AsWebSource is the BasicCopySource implementation for SquareSource.
93556func (ss SquareSource) AsWebSource() (*WebSource, bool) {
93557	return nil, false
93558}
93559
93560// AsOracleSource is the BasicCopySource implementation for SquareSource.
93561func (ss SquareSource) AsOracleSource() (*OracleSource, bool) {
93562	return nil, false
93563}
93564
93565// AsAzureMySQLSource is the BasicCopySource implementation for SquareSource.
93566func (ss SquareSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
93567	return nil, false
93568}
93569
93570// AsHdfsSource is the BasicCopySource implementation for SquareSource.
93571func (ss SquareSource) AsHdfsSource() (*HdfsSource, bool) {
93572	return nil, false
93573}
93574
93575// AsFileSystemSource is the BasicCopySource implementation for SquareSource.
93576func (ss SquareSource) AsFileSystemSource() (*FileSystemSource, bool) {
93577	return nil, false
93578}
93579
93580// AsSQLDWSource is the BasicCopySource implementation for SquareSource.
93581func (ss SquareSource) AsSQLDWSource() (*SQLDWSource, bool) {
93582	return nil, false
93583}
93584
93585// AsSQLSource is the BasicCopySource implementation for SquareSource.
93586func (ss SquareSource) AsSQLSource() (*SQLSource, bool) {
93587	return nil, false
93588}
93589
93590// AsSapEccSource is the BasicCopySource implementation for SquareSource.
93591func (ss SquareSource) AsSapEccSource() (*SapEccSource, bool) {
93592	return nil, false
93593}
93594
93595// AsSapCloudForCustomerSource is the BasicCopySource implementation for SquareSource.
93596func (ss SquareSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
93597	return nil, false
93598}
93599
93600// AsSalesforceSource is the BasicCopySource implementation for SquareSource.
93601func (ss SquareSource) AsSalesforceSource() (*SalesforceSource, bool) {
93602	return nil, false
93603}
93604
93605// AsRelationalSource is the BasicCopySource implementation for SquareSource.
93606func (ss SquareSource) AsRelationalSource() (*RelationalSource, bool) {
93607	return nil, false
93608}
93609
93610// AsDynamicsSource is the BasicCopySource implementation for SquareSource.
93611func (ss SquareSource) AsDynamicsSource() (*DynamicsSource, bool) {
93612	return nil, false
93613}
93614
93615// AsDocumentDbCollectionSource is the BasicCopySource implementation for SquareSource.
93616func (ss SquareSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
93617	return nil, false
93618}
93619
93620// AsBlobSource is the BasicCopySource implementation for SquareSource.
93621func (ss SquareSource) AsBlobSource() (*BlobSource, bool) {
93622	return nil, false
93623}
93624
93625// AsAzureTableSource is the BasicCopySource implementation for SquareSource.
93626func (ss SquareSource) AsAzureTableSource() (*AzureTableSource, bool) {
93627	return nil, false
93628}
93629
93630// AsCopySource is the BasicCopySource implementation for SquareSource.
93631func (ss SquareSource) AsCopySource() (*CopySource, bool) {
93632	return nil, false
93633}
93634
93635// AsBasicCopySource is the BasicCopySource implementation for SquareSource.
93636func (ss SquareSource) AsBasicCopySource() (BasicCopySource, bool) {
93637	return &ss, true
93638}
93639
93640// UnmarshalJSON is the custom unmarshaler for SquareSource struct.
93641func (ss *SquareSource) UnmarshalJSON(body []byte) error {
93642	var m map[string]*json.RawMessage
93643	err := json.Unmarshal(body, &m)
93644	if err != nil {
93645		return err
93646	}
93647	for k, v := range m {
93648		switch k {
93649		case "query":
93650			if v != nil {
93651				var query interface{}
93652				err = json.Unmarshal(*v, &query)
93653				if err != nil {
93654					return err
93655				}
93656				ss.Query = query
93657			}
93658		default:
93659			if v != nil {
93660				var additionalProperties interface{}
93661				err = json.Unmarshal(*v, &additionalProperties)
93662				if err != nil {
93663					return err
93664				}
93665				if ss.AdditionalProperties == nil {
93666					ss.AdditionalProperties = make(map[string]interface{})
93667				}
93668				ss.AdditionalProperties[k] = additionalProperties
93669			}
93670		case "sourceRetryCount":
93671			if v != nil {
93672				var sourceRetryCount interface{}
93673				err = json.Unmarshal(*v, &sourceRetryCount)
93674				if err != nil {
93675					return err
93676				}
93677				ss.SourceRetryCount = sourceRetryCount
93678			}
93679		case "sourceRetryWait":
93680			if v != nil {
93681				var sourceRetryWait interface{}
93682				err = json.Unmarshal(*v, &sourceRetryWait)
93683				if err != nil {
93684					return err
93685				}
93686				ss.SourceRetryWait = sourceRetryWait
93687			}
93688		case "type":
93689			if v != nil {
93690				var typeVar TypeBasicCopySource
93691				err = json.Unmarshal(*v, &typeVar)
93692				if err != nil {
93693					return err
93694				}
93695				ss.Type = typeVar
93696			}
93697		}
93698	}
93699
93700	return nil
93701}
93702
93703// SSISAccessCredential SSIS access credential.
93704type SSISAccessCredential struct {
93705	// Domain - Domain for windows authentication.
93706	Domain interface{} `json:"domain,omitempty"`
93707	// UserName - UseName for windows authentication.
93708	UserName interface{} `json:"userName,omitempty"`
93709	// Password - Password for windows authentication.
93710	Password BasicSecretBase `json:"password,omitempty"`
93711}
93712
93713// UnmarshalJSON is the custom unmarshaler for SSISAccessCredential struct.
93714func (sac *SSISAccessCredential) UnmarshalJSON(body []byte) error {
93715	var m map[string]*json.RawMessage
93716	err := json.Unmarshal(body, &m)
93717	if err != nil {
93718		return err
93719	}
93720	for k, v := range m {
93721		switch k {
93722		case "domain":
93723			if v != nil {
93724				var domain interface{}
93725				err = json.Unmarshal(*v, &domain)
93726				if err != nil {
93727					return err
93728				}
93729				sac.Domain = domain
93730			}
93731		case "userName":
93732			if v != nil {
93733				var userName interface{}
93734				err = json.Unmarshal(*v, &userName)
93735				if err != nil {
93736					return err
93737				}
93738				sac.UserName = userName
93739			}
93740		case "password":
93741			if v != nil {
93742				password, err := unmarshalBasicSecretBase(*v)
93743				if err != nil {
93744					return err
93745				}
93746				sac.Password = password
93747			}
93748		}
93749	}
93750
93751	return nil
93752}
93753
93754// SSISExecutionCredential SSIS package execution credential.
93755type SSISExecutionCredential struct {
93756	// Domain - Domain for windows authentication.
93757	Domain interface{} `json:"domain,omitempty"`
93758	// UserName - UseName for windows authentication.
93759	UserName interface{} `json:"userName,omitempty"`
93760	// Password - Password for windows authentication.
93761	Password *SecureString `json:"password,omitempty"`
93762}
93763
93764// SSISExecutionParameter SSIS execution parameter.
93765type SSISExecutionParameter struct {
93766	// Value - SSIS package execution parameter value. Type: string (or Expression with resultType string).
93767	Value interface{} `json:"value,omitempty"`
93768}
93769
93770// SSISLogLocation SSIS package execution log location
93771type SSISLogLocation struct {
93772	// LogPath - The SSIS package execution log path. Type: string (or Expression with resultType string).
93773	LogPath interface{} `json:"logPath,omitempty"`
93774	// Type - The type of SSIS log location.
93775	Type *string `json:"type,omitempty"`
93776	// SSISLogLocationTypeProperties - SSIS package execution log location properties.
93777	*SSISLogLocationTypeProperties `json:"typeProperties,omitempty"`
93778}
93779
93780// MarshalJSON is the custom marshaler for SSISLogLocation.
93781func (sll SSISLogLocation) MarshalJSON() ([]byte, error) {
93782	objectMap := make(map[string]interface{})
93783	if sll.LogPath != nil {
93784		objectMap["logPath"] = sll.LogPath
93785	}
93786	if sll.Type != nil {
93787		objectMap["type"] = sll.Type
93788	}
93789	if sll.SSISLogLocationTypeProperties != nil {
93790		objectMap["typeProperties"] = sll.SSISLogLocationTypeProperties
93791	}
93792	return json.Marshal(objectMap)
93793}
93794
93795// UnmarshalJSON is the custom unmarshaler for SSISLogLocation struct.
93796func (sll *SSISLogLocation) UnmarshalJSON(body []byte) error {
93797	var m map[string]*json.RawMessage
93798	err := json.Unmarshal(body, &m)
93799	if err != nil {
93800		return err
93801	}
93802	for k, v := range m {
93803		switch k {
93804		case "logPath":
93805			if v != nil {
93806				var logPath interface{}
93807				err = json.Unmarshal(*v, &logPath)
93808				if err != nil {
93809					return err
93810				}
93811				sll.LogPath = logPath
93812			}
93813		case "type":
93814			if v != nil {
93815				var typeVar string
93816				err = json.Unmarshal(*v, &typeVar)
93817				if err != nil {
93818					return err
93819				}
93820				sll.Type = &typeVar
93821			}
93822		case "typeProperties":
93823			if v != nil {
93824				var sSISLogLocationTypeProperties SSISLogLocationTypeProperties
93825				err = json.Unmarshal(*v, &sSISLogLocationTypeProperties)
93826				if err != nil {
93827					return err
93828				}
93829				sll.SSISLogLocationTypeProperties = &sSISLogLocationTypeProperties
93830			}
93831		}
93832	}
93833
93834	return nil
93835}
93836
93837// SSISLogLocationTypeProperties SSIS package execution log location properties.
93838type SSISLogLocationTypeProperties struct {
93839	// AccessCredential - The package execution log access credential.
93840	AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"`
93841	// LogRefreshInterval - Specifies the interval to refresh log. The default interval is 5 minutes. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
93842	LogRefreshInterval interface{} `json:"logRefreshInterval,omitempty"`
93843}
93844
93845// SSISPackageLocation SSIS package location.
93846type SSISPackageLocation struct {
93847	// PackagePath - The SSIS package path. Type: string (or Expression with resultType string).
93848	PackagePath interface{} `json:"packagePath,omitempty"`
93849	// Type - The type of SSIS package location. Possible values include: 'SSISDB', 'File'
93850	Type SsisPackageLocationType `json:"type,omitempty"`
93851	// SSISPackageLocationTypeProperties - SSIS package location properties.
93852	*SSISPackageLocationTypeProperties `json:"typeProperties,omitempty"`
93853}
93854
93855// MarshalJSON is the custom marshaler for SSISPackageLocation.
93856func (spl SSISPackageLocation) MarshalJSON() ([]byte, error) {
93857	objectMap := make(map[string]interface{})
93858	if spl.PackagePath != nil {
93859		objectMap["packagePath"] = spl.PackagePath
93860	}
93861	if spl.Type != "" {
93862		objectMap["type"] = spl.Type
93863	}
93864	if spl.SSISPackageLocationTypeProperties != nil {
93865		objectMap["typeProperties"] = spl.SSISPackageLocationTypeProperties
93866	}
93867	return json.Marshal(objectMap)
93868}
93869
93870// UnmarshalJSON is the custom unmarshaler for SSISPackageLocation struct.
93871func (spl *SSISPackageLocation) UnmarshalJSON(body []byte) error {
93872	var m map[string]*json.RawMessage
93873	err := json.Unmarshal(body, &m)
93874	if err != nil {
93875		return err
93876	}
93877	for k, v := range m {
93878		switch k {
93879		case "packagePath":
93880			if v != nil {
93881				var packagePath interface{}
93882				err = json.Unmarshal(*v, &packagePath)
93883				if err != nil {
93884					return err
93885				}
93886				spl.PackagePath = packagePath
93887			}
93888		case "type":
93889			if v != nil {
93890				var typeVar SsisPackageLocationType
93891				err = json.Unmarshal(*v, &typeVar)
93892				if err != nil {
93893					return err
93894				}
93895				spl.Type = typeVar
93896			}
93897		case "typeProperties":
93898			if v != nil {
93899				var sSISPackageLocationTypeProperties SSISPackageLocationTypeProperties
93900				err = json.Unmarshal(*v, &sSISPackageLocationTypeProperties)
93901				if err != nil {
93902					return err
93903				}
93904				spl.SSISPackageLocationTypeProperties = &sSISPackageLocationTypeProperties
93905			}
93906		}
93907	}
93908
93909	return nil
93910}
93911
93912// SSISPackageLocationTypeProperties SSIS package location properties.
93913type SSISPackageLocationTypeProperties struct {
93914	// PackagePassword - Password of the package.
93915	PackagePassword BasicSecretBase `json:"packagePassword,omitempty"`
93916	// AccessCredential - The package access credential.
93917	AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"`
93918	// ConfigurationPath - The configuration file of the package execution. Type: string (or Expression with resultType string).
93919	ConfigurationPath interface{} `json:"configurationPath,omitempty"`
93920}
93921
93922// UnmarshalJSON is the custom unmarshaler for SSISPackageLocationTypeProperties struct.
93923func (spltp *SSISPackageLocationTypeProperties) UnmarshalJSON(body []byte) error {
93924	var m map[string]*json.RawMessage
93925	err := json.Unmarshal(body, &m)
93926	if err != nil {
93927		return err
93928	}
93929	for k, v := range m {
93930		switch k {
93931		case "packagePassword":
93932			if v != nil {
93933				packagePassword, err := unmarshalBasicSecretBase(*v)
93934				if err != nil {
93935					return err
93936				}
93937				spltp.PackagePassword = packagePassword
93938			}
93939		case "accessCredential":
93940			if v != nil {
93941				var accessCredential SSISAccessCredential
93942				err = json.Unmarshal(*v, &accessCredential)
93943				if err != nil {
93944					return err
93945				}
93946				spltp.AccessCredential = &accessCredential
93947			}
93948		case "configurationPath":
93949			if v != nil {
93950				var configurationPath interface{}
93951				err = json.Unmarshal(*v, &configurationPath)
93952				if err != nil {
93953					return err
93954				}
93955				spltp.ConfigurationPath = configurationPath
93956			}
93957		}
93958	}
93959
93960	return nil
93961}
93962
93963// SSISPropertyOverride SSIS property override.
93964type SSISPropertyOverride struct {
93965	// Value - SSIS package property override value. Type: string (or Expression with resultType string).
93966	Value interface{} `json:"value,omitempty"`
93967	// IsSensitive - Whether SSIS package property override value is sensitive data. Value will be encrypted in SSISDB if it is true
93968	IsSensitive *bool `json:"isSensitive,omitempty"`
93969}
93970
93971// StagingSettings staging settings.
93972type StagingSettings struct {
93973	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
93974	AdditionalProperties map[string]interface{} `json:""`
93975	// LinkedServiceName - Staging linked service reference.
93976	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
93977	// Path - The path to storage for storing the interim data. Type: string (or Expression with resultType string).
93978	Path interface{} `json:"path,omitempty"`
93979	// EnableCompression - Specifies whether to use compression when copying data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
93980	EnableCompression interface{} `json:"enableCompression,omitempty"`
93981}
93982
93983// MarshalJSON is the custom marshaler for StagingSettings.
93984func (ss StagingSettings) MarshalJSON() ([]byte, error) {
93985	objectMap := make(map[string]interface{})
93986	if ss.LinkedServiceName != nil {
93987		objectMap["linkedServiceName"] = ss.LinkedServiceName
93988	}
93989	if ss.Path != nil {
93990		objectMap["path"] = ss.Path
93991	}
93992	if ss.EnableCompression != nil {
93993		objectMap["enableCompression"] = ss.EnableCompression
93994	}
93995	for k, v := range ss.AdditionalProperties {
93996		objectMap[k] = v
93997	}
93998	return json.Marshal(objectMap)
93999}
94000
94001// UnmarshalJSON is the custom unmarshaler for StagingSettings struct.
94002func (ss *StagingSettings) UnmarshalJSON(body []byte) error {
94003	var m map[string]*json.RawMessage
94004	err := json.Unmarshal(body, &m)
94005	if err != nil {
94006		return err
94007	}
94008	for k, v := range m {
94009		switch k {
94010		default:
94011			if v != nil {
94012				var additionalProperties interface{}
94013				err = json.Unmarshal(*v, &additionalProperties)
94014				if err != nil {
94015					return err
94016				}
94017				if ss.AdditionalProperties == nil {
94018					ss.AdditionalProperties = make(map[string]interface{})
94019				}
94020				ss.AdditionalProperties[k] = additionalProperties
94021			}
94022		case "linkedServiceName":
94023			if v != nil {
94024				var linkedServiceName LinkedServiceReference
94025				err = json.Unmarshal(*v, &linkedServiceName)
94026				if err != nil {
94027					return err
94028				}
94029				ss.LinkedServiceName = &linkedServiceName
94030			}
94031		case "path":
94032			if v != nil {
94033				var pathVar interface{}
94034				err = json.Unmarshal(*v, &pathVar)
94035				if err != nil {
94036					return err
94037				}
94038				ss.Path = pathVar
94039			}
94040		case "enableCompression":
94041			if v != nil {
94042				var enableCompression interface{}
94043				err = json.Unmarshal(*v, &enableCompression)
94044				if err != nil {
94045					return err
94046				}
94047				ss.EnableCompression = enableCompression
94048			}
94049		}
94050	}
94051
94052	return nil
94053}
94054
94055// StoredProcedureParameter SQL stored procedure parameter.
94056type StoredProcedureParameter struct {
94057	// Value - Stored procedure parameter value. Type: string (or Expression with resultType string).
94058	Value interface{} `json:"value,omitempty"`
94059	// Type - Stored procedure parameter type.
94060	Type interface{} `json:"type,omitempty"`
94061}
94062
94063// SubResource azure Data Factory nested resource, which belongs to a factory.
94064type SubResource struct {
94065	// ID - READ-ONLY; The resource identifier.
94066	ID *string `json:"id,omitempty"`
94067	// Name - READ-ONLY; The resource name.
94068	Name *string `json:"name,omitempty"`
94069	// Type - READ-ONLY; The resource type.
94070	Type *string `json:"type,omitempty"`
94071	// Etag - READ-ONLY; Etag identifies change in the resource.
94072	Etag *string `json:"etag,omitempty"`
94073}
94074
94075// MarshalJSON is the custom marshaler for SubResource.
94076func (sr SubResource) MarshalJSON() ([]byte, error) {
94077	objectMap := make(map[string]interface{})
94078	return json.Marshal(objectMap)
94079}
94080
94081// SybaseLinkedService linked service for Sybase data source.
94082type SybaseLinkedService struct {
94083	// SybaseLinkedServiceTypeProperties - Sybase linked service properties.
94084	*SybaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
94085	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
94086	AdditionalProperties map[string]interface{} `json:""`
94087	// ConnectVia - The integration runtime reference.
94088	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
94089	// Description - Linked service description.
94090	Description *string `json:"description,omitempty"`
94091	// Parameters - Parameters for linked service.
94092	Parameters map[string]*ParameterSpecification `json:"parameters"`
94093	// Annotations - List of tags that can be used for describing the Dataset.
94094	Annotations *[]interface{} `json:"annotations,omitempty"`
94095	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
94096	Type TypeBasicLinkedService `json:"type,omitempty"`
94097}
94098
94099// MarshalJSON is the custom marshaler for SybaseLinkedService.
94100func (sls SybaseLinkedService) MarshalJSON() ([]byte, error) {
94101	sls.Type = TypeSybase
94102	objectMap := make(map[string]interface{})
94103	if sls.SybaseLinkedServiceTypeProperties != nil {
94104		objectMap["typeProperties"] = sls.SybaseLinkedServiceTypeProperties
94105	}
94106	if sls.ConnectVia != nil {
94107		objectMap["connectVia"] = sls.ConnectVia
94108	}
94109	if sls.Description != nil {
94110		objectMap["description"] = sls.Description
94111	}
94112	if sls.Parameters != nil {
94113		objectMap["parameters"] = sls.Parameters
94114	}
94115	if sls.Annotations != nil {
94116		objectMap["annotations"] = sls.Annotations
94117	}
94118	if sls.Type != "" {
94119		objectMap["type"] = sls.Type
94120	}
94121	for k, v := range sls.AdditionalProperties {
94122		objectMap[k] = v
94123	}
94124	return json.Marshal(objectMap)
94125}
94126
94127// AsResponsysLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94128func (sls SybaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
94129	return nil, false
94130}
94131
94132// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94133func (sls SybaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
94134	return nil, false
94135}
94136
94137// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94138func (sls SybaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
94139	return nil, false
94140}
94141
94142// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94143func (sls SybaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
94144	return nil, false
94145}
94146
94147// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94148func (sls SybaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
94149	return nil, false
94150}
94151
94152// AsNetezzaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94153func (sls SybaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
94154	return nil, false
94155}
94156
94157// AsVerticaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94158func (sls SybaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
94159	return nil, false
94160}
94161
94162// AsZohoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94163func (sls SybaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
94164	return nil, false
94165}
94166
94167// AsXeroLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94168func (sls SybaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
94169	return nil, false
94170}
94171
94172// AsSquareLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94173func (sls SybaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
94174	return nil, false
94175}
94176
94177// AsSparkLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94178func (sls SybaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
94179	return nil, false
94180}
94181
94182// AsShopifyLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94183func (sls SybaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
94184	return nil, false
94185}
94186
94187// AsServiceNowLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94188func (sls SybaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
94189	return nil, false
94190}
94191
94192// AsQuickBooksLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94193func (sls SybaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
94194	return nil, false
94195}
94196
94197// AsPrestoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94198func (sls SybaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
94199	return nil, false
94200}
94201
94202// AsPhoenixLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94203func (sls SybaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
94204	return nil, false
94205}
94206
94207// AsPaypalLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94208func (sls SybaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
94209	return nil, false
94210}
94211
94212// AsMarketoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94213func (sls SybaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
94214	return nil, false
94215}
94216
94217// AsMariaDBLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94218func (sls SybaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
94219	return nil, false
94220}
94221
94222// AsMagentoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94223func (sls SybaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
94224	return nil, false
94225}
94226
94227// AsJiraLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94228func (sls SybaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
94229	return nil, false
94230}
94231
94232// AsImpalaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94233func (sls SybaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
94234	return nil, false
94235}
94236
94237// AsHubspotLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94238func (sls SybaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
94239	return nil, false
94240}
94241
94242// AsHiveLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94243func (sls SybaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
94244	return nil, false
94245}
94246
94247// AsHBaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94248func (sls SybaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
94249	return nil, false
94250}
94251
94252// AsGreenplumLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94253func (sls SybaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
94254	return nil, false
94255}
94256
94257// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94258func (sls SybaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
94259	return nil, false
94260}
94261
94262// AsEloquaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94263func (sls SybaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
94264	return nil, false
94265}
94266
94267// AsDrillLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94268func (sls SybaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
94269	return nil, false
94270}
94271
94272// AsCouchbaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94273func (sls SybaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
94274	return nil, false
94275}
94276
94277// AsConcurLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94278func (sls SybaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
94279	return nil, false
94280}
94281
94282// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94283func (sls SybaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
94284	return nil, false
94285}
94286
94287// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94288func (sls SybaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
94289	return nil, false
94290}
94291
94292// AsSapHanaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94293func (sls SybaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
94294	return nil, false
94295}
94296
94297// AsSapBWLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94298func (sls SybaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
94299	return nil, false
94300}
94301
94302// AsSftpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94303func (sls SybaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
94304	return nil, false
94305}
94306
94307// AsFtpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94308func (sls SybaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
94309	return nil, false
94310}
94311
94312// AsHTTPLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94313func (sls SybaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
94314	return nil, false
94315}
94316
94317// AsAzureSearchLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94318func (sls SybaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
94319	return nil, false
94320}
94321
94322// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94323func (sls SybaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
94324	return nil, false
94325}
94326
94327// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94328func (sls SybaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
94329	return nil, false
94330}
94331
94332// AsAmazonS3LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94333func (sls SybaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
94334	return nil, false
94335}
94336
94337// AsSapEccLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94338func (sls SybaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
94339	return nil, false
94340}
94341
94342// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94343func (sls SybaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
94344	return nil, false
94345}
94346
94347// AsSalesforceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94348func (sls SybaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
94349	return nil, false
94350}
94351
94352// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94353func (sls SybaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
94354	return nil, false
94355}
94356
94357// AsMongoDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94358func (sls SybaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
94359	return nil, false
94360}
94361
94362// AsCassandraLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94363func (sls SybaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
94364	return nil, false
94365}
94366
94367// AsWebLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94368func (sls SybaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
94369	return nil, false
94370}
94371
94372// AsODataLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94373func (sls SybaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
94374	return nil, false
94375}
94376
94377// AsHdfsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94378func (sls SybaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
94379	return nil, false
94380}
94381
94382// AsOdbcLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94383func (sls SybaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
94384	return nil, false
94385}
94386
94387// AsAzureMLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94388func (sls SybaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
94389	return nil, false
94390}
94391
94392// AsTeradataLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94393func (sls SybaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
94394	return nil, false
94395}
94396
94397// AsDb2LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94398func (sls SybaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
94399	return nil, false
94400}
94401
94402// AsSybaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94403func (sls SybaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
94404	return &sls, true
94405}
94406
94407// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94408func (sls SybaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
94409	return nil, false
94410}
94411
94412// AsMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94413func (sls SybaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
94414	return nil, false
94415}
94416
94417// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94418func (sls SybaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
94419	return nil, false
94420}
94421
94422// AsOracleLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94423func (sls SybaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
94424	return nil, false
94425}
94426
94427// AsFileServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94428func (sls SybaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
94429	return nil, false
94430}
94431
94432// AsHDInsightLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94433func (sls SybaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
94434	return nil, false
94435}
94436
94437// AsDynamicsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94438func (sls SybaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
94439	return nil, false
94440}
94441
94442// AsCosmosDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94443func (sls SybaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
94444	return nil, false
94445}
94446
94447// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94448func (sls SybaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
94449	return nil, false
94450}
94451
94452// AsAzureBatchLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94453func (sls SybaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
94454	return nil, false
94455}
94456
94457// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94458func (sls SybaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
94459	return nil, false
94460}
94461
94462// AsSQLServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94463func (sls SybaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
94464	return nil, false
94465}
94466
94467// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94468func (sls SybaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
94469	return nil, false
94470}
94471
94472// AsAzureStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94473func (sls SybaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
94474	return nil, false
94475}
94476
94477// AsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94478func (sls SybaseLinkedService) AsLinkedService() (*LinkedService, bool) {
94479	return nil, false
94480}
94481
94482// AsBasicLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94483func (sls SybaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
94484	return &sls, true
94485}
94486
94487// UnmarshalJSON is the custom unmarshaler for SybaseLinkedService struct.
94488func (sls *SybaseLinkedService) UnmarshalJSON(body []byte) error {
94489	var m map[string]*json.RawMessage
94490	err := json.Unmarshal(body, &m)
94491	if err != nil {
94492		return err
94493	}
94494	for k, v := range m {
94495		switch k {
94496		case "typeProperties":
94497			if v != nil {
94498				var sybaseLinkedServiceTypeProperties SybaseLinkedServiceTypeProperties
94499				err = json.Unmarshal(*v, &sybaseLinkedServiceTypeProperties)
94500				if err != nil {
94501					return err
94502				}
94503				sls.SybaseLinkedServiceTypeProperties = &sybaseLinkedServiceTypeProperties
94504			}
94505		default:
94506			if v != nil {
94507				var additionalProperties interface{}
94508				err = json.Unmarshal(*v, &additionalProperties)
94509				if err != nil {
94510					return err
94511				}
94512				if sls.AdditionalProperties == nil {
94513					sls.AdditionalProperties = make(map[string]interface{})
94514				}
94515				sls.AdditionalProperties[k] = additionalProperties
94516			}
94517		case "connectVia":
94518			if v != nil {
94519				var connectVia IntegrationRuntimeReference
94520				err = json.Unmarshal(*v, &connectVia)
94521				if err != nil {
94522					return err
94523				}
94524				sls.ConnectVia = &connectVia
94525			}
94526		case "description":
94527			if v != nil {
94528				var description string
94529				err = json.Unmarshal(*v, &description)
94530				if err != nil {
94531					return err
94532				}
94533				sls.Description = &description
94534			}
94535		case "parameters":
94536			if v != nil {
94537				var parameters map[string]*ParameterSpecification
94538				err = json.Unmarshal(*v, &parameters)
94539				if err != nil {
94540					return err
94541				}
94542				sls.Parameters = parameters
94543			}
94544		case "annotations":
94545			if v != nil {
94546				var annotations []interface{}
94547				err = json.Unmarshal(*v, &annotations)
94548				if err != nil {
94549					return err
94550				}
94551				sls.Annotations = &annotations
94552			}
94553		case "type":
94554			if v != nil {
94555				var typeVar TypeBasicLinkedService
94556				err = json.Unmarshal(*v, &typeVar)
94557				if err != nil {
94558					return err
94559				}
94560				sls.Type = typeVar
94561			}
94562		}
94563	}
94564
94565	return nil
94566}
94567
94568// SybaseLinkedServiceTypeProperties sybase linked service properties.
94569type SybaseLinkedServiceTypeProperties struct {
94570	// Server - Server name for connection. Type: string (or Expression with resultType string).
94571	Server interface{} `json:"server,omitempty"`
94572	// Database - Database name for connection. Type: string (or Expression with resultType string).
94573	Database interface{} `json:"database,omitempty"`
94574	// Schema - Schema name for connection. Type: string (or Expression with resultType string).
94575	Schema interface{} `json:"schema,omitempty"`
94576	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'SybaseAuthenticationTypeBasic', 'SybaseAuthenticationTypeWindows'
94577	AuthenticationType SybaseAuthenticationType `json:"authenticationType,omitempty"`
94578	// Username - Username for authentication. Type: string (or Expression with resultType string).
94579	Username interface{} `json:"username,omitempty"`
94580	// Password - Password for authentication.
94581	Password BasicSecretBase `json:"password,omitempty"`
94582	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
94583	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
94584}
94585
94586// UnmarshalJSON is the custom unmarshaler for SybaseLinkedServiceTypeProperties struct.
94587func (slstp *SybaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
94588	var m map[string]*json.RawMessage
94589	err := json.Unmarshal(body, &m)
94590	if err != nil {
94591		return err
94592	}
94593	for k, v := range m {
94594		switch k {
94595		case "server":
94596			if v != nil {
94597				var server interface{}
94598				err = json.Unmarshal(*v, &server)
94599				if err != nil {
94600					return err
94601				}
94602				slstp.Server = server
94603			}
94604		case "database":
94605			if v != nil {
94606				var databaseVar interface{}
94607				err = json.Unmarshal(*v, &databaseVar)
94608				if err != nil {
94609					return err
94610				}
94611				slstp.Database = databaseVar
94612			}
94613		case "schema":
94614			if v != nil {
94615				var schema interface{}
94616				err = json.Unmarshal(*v, &schema)
94617				if err != nil {
94618					return err
94619				}
94620				slstp.Schema = schema
94621			}
94622		case "authenticationType":
94623			if v != nil {
94624				var authenticationType SybaseAuthenticationType
94625				err = json.Unmarshal(*v, &authenticationType)
94626				if err != nil {
94627					return err
94628				}
94629				slstp.AuthenticationType = authenticationType
94630			}
94631		case "username":
94632			if v != nil {
94633				var username interface{}
94634				err = json.Unmarshal(*v, &username)
94635				if err != nil {
94636					return err
94637				}
94638				slstp.Username = username
94639			}
94640		case "password":
94641			if v != nil {
94642				password, err := unmarshalBasicSecretBase(*v)
94643				if err != nil {
94644					return err
94645				}
94646				slstp.Password = password
94647			}
94648		case "encryptedCredential":
94649			if v != nil {
94650				var encryptedCredential interface{}
94651				err = json.Unmarshal(*v, &encryptedCredential)
94652				if err != nil {
94653					return err
94654				}
94655				slstp.EncryptedCredential = encryptedCredential
94656			}
94657		}
94658	}
94659
94660	return nil
94661}
94662
94663// TeradataLinkedService linked service for Teradata data source.
94664type TeradataLinkedService struct {
94665	// TeradataLinkedServiceTypeProperties - Teradata linked service properties.
94666	*TeradataLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
94667	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
94668	AdditionalProperties map[string]interface{} `json:""`
94669	// ConnectVia - The integration runtime reference.
94670	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
94671	// Description - Linked service description.
94672	Description *string `json:"description,omitempty"`
94673	// Parameters - Parameters for linked service.
94674	Parameters map[string]*ParameterSpecification `json:"parameters"`
94675	// Annotations - List of tags that can be used for describing the Dataset.
94676	Annotations *[]interface{} `json:"annotations,omitempty"`
94677	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
94678	Type TypeBasicLinkedService `json:"type,omitempty"`
94679}
94680
94681// MarshalJSON is the custom marshaler for TeradataLinkedService.
94682func (TLSVar TeradataLinkedService) MarshalJSON() ([]byte, error) {
94683	TLSVar.Type = TypeTeradata
94684	objectMap := make(map[string]interface{})
94685	if TLSVar.TeradataLinkedServiceTypeProperties != nil {
94686		objectMap["typeProperties"] = TLSVar.TeradataLinkedServiceTypeProperties
94687	}
94688	if TLSVar.ConnectVia != nil {
94689		objectMap["connectVia"] = TLSVar.ConnectVia
94690	}
94691	if TLSVar.Description != nil {
94692		objectMap["description"] = TLSVar.Description
94693	}
94694	if TLSVar.Parameters != nil {
94695		objectMap["parameters"] = TLSVar.Parameters
94696	}
94697	if TLSVar.Annotations != nil {
94698		objectMap["annotations"] = TLSVar.Annotations
94699	}
94700	if TLSVar.Type != "" {
94701		objectMap["type"] = TLSVar.Type
94702	}
94703	for k, v := range TLSVar.AdditionalProperties {
94704		objectMap[k] = v
94705	}
94706	return json.Marshal(objectMap)
94707}
94708
94709// AsResponsysLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94710func (TLSVar TeradataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
94711	return nil, false
94712}
94713
94714// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94715func (TLSVar TeradataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
94716	return nil, false
94717}
94718
94719// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94720func (TLSVar TeradataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
94721	return nil, false
94722}
94723
94724// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94725func (TLSVar TeradataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
94726	return nil, false
94727}
94728
94729// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94730func (TLSVar TeradataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
94731	return nil, false
94732}
94733
94734// AsNetezzaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94735func (TLSVar TeradataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
94736	return nil, false
94737}
94738
94739// AsVerticaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94740func (TLSVar TeradataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
94741	return nil, false
94742}
94743
94744// AsZohoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94745func (TLSVar TeradataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
94746	return nil, false
94747}
94748
94749// AsXeroLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94750func (TLSVar TeradataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
94751	return nil, false
94752}
94753
94754// AsSquareLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94755func (TLSVar TeradataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
94756	return nil, false
94757}
94758
94759// AsSparkLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94760func (TLSVar TeradataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
94761	return nil, false
94762}
94763
94764// AsShopifyLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94765func (TLSVar TeradataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
94766	return nil, false
94767}
94768
94769// AsServiceNowLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94770func (TLSVar TeradataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
94771	return nil, false
94772}
94773
94774// AsQuickBooksLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94775func (TLSVar TeradataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
94776	return nil, false
94777}
94778
94779// AsPrestoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94780func (TLSVar TeradataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
94781	return nil, false
94782}
94783
94784// AsPhoenixLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94785func (TLSVar TeradataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
94786	return nil, false
94787}
94788
94789// AsPaypalLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94790func (TLSVar TeradataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
94791	return nil, false
94792}
94793
94794// AsMarketoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94795func (TLSVar TeradataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
94796	return nil, false
94797}
94798
94799// AsMariaDBLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94800func (TLSVar TeradataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
94801	return nil, false
94802}
94803
94804// AsMagentoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94805func (TLSVar TeradataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
94806	return nil, false
94807}
94808
94809// AsJiraLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94810func (TLSVar TeradataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
94811	return nil, false
94812}
94813
94814// AsImpalaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94815func (TLSVar TeradataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
94816	return nil, false
94817}
94818
94819// AsHubspotLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94820func (TLSVar TeradataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
94821	return nil, false
94822}
94823
94824// AsHiveLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94825func (TLSVar TeradataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
94826	return nil, false
94827}
94828
94829// AsHBaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94830func (TLSVar TeradataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
94831	return nil, false
94832}
94833
94834// AsGreenplumLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94835func (TLSVar TeradataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
94836	return nil, false
94837}
94838
94839// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94840func (TLSVar TeradataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
94841	return nil, false
94842}
94843
94844// AsEloquaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94845func (TLSVar TeradataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
94846	return nil, false
94847}
94848
94849// AsDrillLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94850func (TLSVar TeradataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
94851	return nil, false
94852}
94853
94854// AsCouchbaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94855func (TLSVar TeradataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
94856	return nil, false
94857}
94858
94859// AsConcurLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94860func (TLSVar TeradataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
94861	return nil, false
94862}
94863
94864// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94865func (TLSVar TeradataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
94866	return nil, false
94867}
94868
94869// AsAmazonMWSLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94870func (TLSVar TeradataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
94871	return nil, false
94872}
94873
94874// AsSapHanaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94875func (TLSVar TeradataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
94876	return nil, false
94877}
94878
94879// AsSapBWLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94880func (TLSVar TeradataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
94881	return nil, false
94882}
94883
94884// AsSftpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94885func (TLSVar TeradataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
94886	return nil, false
94887}
94888
94889// AsFtpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94890func (TLSVar TeradataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
94891	return nil, false
94892}
94893
94894// AsHTTPLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94895func (TLSVar TeradataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
94896	return nil, false
94897}
94898
94899// AsAzureSearchLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94900func (TLSVar TeradataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
94901	return nil, false
94902}
94903
94904// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94905func (TLSVar TeradataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
94906	return nil, false
94907}
94908
94909// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94910func (TLSVar TeradataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
94911	return nil, false
94912}
94913
94914// AsAmazonS3LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94915func (TLSVar TeradataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
94916	return nil, false
94917}
94918
94919// AsSapEccLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94920func (TLSVar TeradataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
94921	return nil, false
94922}
94923
94924// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94925func (TLSVar TeradataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
94926	return nil, false
94927}
94928
94929// AsSalesforceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94930func (TLSVar TeradataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
94931	return nil, false
94932}
94933
94934// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94935func (TLSVar TeradataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
94936	return nil, false
94937}
94938
94939// AsMongoDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94940func (TLSVar TeradataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
94941	return nil, false
94942}
94943
94944// AsCassandraLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94945func (TLSVar TeradataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
94946	return nil, false
94947}
94948
94949// AsWebLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94950func (TLSVar TeradataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
94951	return nil, false
94952}
94953
94954// AsODataLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94955func (TLSVar TeradataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
94956	return nil, false
94957}
94958
94959// AsHdfsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94960func (TLSVar TeradataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
94961	return nil, false
94962}
94963
94964// AsOdbcLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94965func (TLSVar TeradataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
94966	return nil, false
94967}
94968
94969// AsAzureMLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94970func (TLSVar TeradataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
94971	return nil, false
94972}
94973
94974// AsTeradataLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94975func (TLSVar TeradataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
94976	return &TLSVar, true
94977}
94978
94979// AsDb2LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94980func (TLSVar TeradataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
94981	return nil, false
94982}
94983
94984// AsSybaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94985func (TLSVar TeradataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
94986	return nil, false
94987}
94988
94989// AsPostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94990func (TLSVar TeradataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
94991	return nil, false
94992}
94993
94994// AsMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94995func (TLSVar TeradataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
94996	return nil, false
94997}
94998
94999// AsAzureMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95000func (TLSVar TeradataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
95001	return nil, false
95002}
95003
95004// AsOracleLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95005func (TLSVar TeradataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
95006	return nil, false
95007}
95008
95009// AsFileServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95010func (TLSVar TeradataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
95011	return nil, false
95012}
95013
95014// AsHDInsightLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95015func (TLSVar TeradataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
95016	return nil, false
95017}
95018
95019// AsDynamicsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95020func (TLSVar TeradataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
95021	return nil, false
95022}
95023
95024// AsCosmosDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95025func (TLSVar TeradataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
95026	return nil, false
95027}
95028
95029// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95030func (TLSVar TeradataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
95031	return nil, false
95032}
95033
95034// AsAzureBatchLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95035func (TLSVar TeradataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
95036	return nil, false
95037}
95038
95039// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95040func (TLSVar TeradataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
95041	return nil, false
95042}
95043
95044// AsSQLServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95045func (TLSVar TeradataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
95046	return nil, false
95047}
95048
95049// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95050func (TLSVar TeradataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
95051	return nil, false
95052}
95053
95054// AsAzureStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95055func (TLSVar TeradataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
95056	return nil, false
95057}
95058
95059// AsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95060func (TLSVar TeradataLinkedService) AsLinkedService() (*LinkedService, bool) {
95061	return nil, false
95062}
95063
95064// AsBasicLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
95065func (TLSVar TeradataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
95066	return &TLSVar, true
95067}
95068
95069// UnmarshalJSON is the custom unmarshaler for TeradataLinkedService struct.
95070func (TLSVar *TeradataLinkedService) UnmarshalJSON(body []byte) error {
95071	var m map[string]*json.RawMessage
95072	err := json.Unmarshal(body, &m)
95073	if err != nil {
95074		return err
95075	}
95076	for k, v := range m {
95077		switch k {
95078		case "typeProperties":
95079			if v != nil {
95080				var teradataLinkedServiceTypeProperties TeradataLinkedServiceTypeProperties
95081				err = json.Unmarshal(*v, &teradataLinkedServiceTypeProperties)
95082				if err != nil {
95083					return err
95084				}
95085				TLSVar.TeradataLinkedServiceTypeProperties = &teradataLinkedServiceTypeProperties
95086			}
95087		default:
95088			if v != nil {
95089				var additionalProperties interface{}
95090				err = json.Unmarshal(*v, &additionalProperties)
95091				if err != nil {
95092					return err
95093				}
95094				if TLSVar.AdditionalProperties == nil {
95095					TLSVar.AdditionalProperties = make(map[string]interface{})
95096				}
95097				TLSVar.AdditionalProperties[k] = additionalProperties
95098			}
95099		case "connectVia":
95100			if v != nil {
95101				var connectVia IntegrationRuntimeReference
95102				err = json.Unmarshal(*v, &connectVia)
95103				if err != nil {
95104					return err
95105				}
95106				TLSVar.ConnectVia = &connectVia
95107			}
95108		case "description":
95109			if v != nil {
95110				var description string
95111				err = json.Unmarshal(*v, &description)
95112				if err != nil {
95113					return err
95114				}
95115				TLSVar.Description = &description
95116			}
95117		case "parameters":
95118			if v != nil {
95119				var parameters map[string]*ParameterSpecification
95120				err = json.Unmarshal(*v, &parameters)
95121				if err != nil {
95122					return err
95123				}
95124				TLSVar.Parameters = parameters
95125			}
95126		case "annotations":
95127			if v != nil {
95128				var annotations []interface{}
95129				err = json.Unmarshal(*v, &annotations)
95130				if err != nil {
95131					return err
95132				}
95133				TLSVar.Annotations = &annotations
95134			}
95135		case "type":
95136			if v != nil {
95137				var typeVar TypeBasicLinkedService
95138				err = json.Unmarshal(*v, &typeVar)
95139				if err != nil {
95140					return err
95141				}
95142				TLSVar.Type = typeVar
95143			}
95144		}
95145	}
95146
95147	return nil
95148}
95149
95150// TeradataLinkedServiceTypeProperties teradata linked service properties.
95151type TeradataLinkedServiceTypeProperties struct {
95152	// Server - Server name for connection. Type: string (or Expression with resultType string).
95153	Server interface{} `json:"server,omitempty"`
95154	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'TeradataAuthenticationTypeBasic', 'TeradataAuthenticationTypeWindows'
95155	AuthenticationType TeradataAuthenticationType `json:"authenticationType,omitempty"`
95156	// Username - Username for authentication. Type: string (or Expression with resultType string).
95157	Username interface{} `json:"username,omitempty"`
95158	// Password - Password for authentication.
95159	Password BasicSecretBase `json:"password,omitempty"`
95160	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
95161	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
95162}
95163
95164// UnmarshalJSON is the custom unmarshaler for TeradataLinkedServiceTypeProperties struct.
95165func (tlstp *TeradataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
95166	var m map[string]*json.RawMessage
95167	err := json.Unmarshal(body, &m)
95168	if err != nil {
95169		return err
95170	}
95171	for k, v := range m {
95172		switch k {
95173		case "server":
95174			if v != nil {
95175				var server interface{}
95176				err = json.Unmarshal(*v, &server)
95177				if err != nil {
95178					return err
95179				}
95180				tlstp.Server = server
95181			}
95182		case "authenticationType":
95183			if v != nil {
95184				var authenticationType TeradataAuthenticationType
95185				err = json.Unmarshal(*v, &authenticationType)
95186				if err != nil {
95187					return err
95188				}
95189				tlstp.AuthenticationType = authenticationType
95190			}
95191		case "username":
95192			if v != nil {
95193				var username interface{}
95194				err = json.Unmarshal(*v, &username)
95195				if err != nil {
95196					return err
95197				}
95198				tlstp.Username = username
95199			}
95200		case "password":
95201			if v != nil {
95202				password, err := unmarshalBasicSecretBase(*v)
95203				if err != nil {
95204					return err
95205				}
95206				tlstp.Password = password
95207			}
95208		case "encryptedCredential":
95209			if v != nil {
95210				var encryptedCredential interface{}
95211				err = json.Unmarshal(*v, &encryptedCredential)
95212				if err != nil {
95213					return err
95214				}
95215				tlstp.EncryptedCredential = encryptedCredential
95216			}
95217		}
95218	}
95219
95220	return nil
95221}
95222
95223// TextFormat the data stored in text format.
95224type TextFormat struct {
95225	// ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string).
95226	ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"`
95227	// RowDelimiter - The row delimiter. Type: string (or Expression with resultType string).
95228	RowDelimiter interface{} `json:"rowDelimiter,omitempty"`
95229	// EscapeChar - The escape character. Type: string (or Expression with resultType string).
95230	EscapeChar interface{} `json:"escapeChar,omitempty"`
95231	// QuoteChar - The quote character. Type: string (or Expression with resultType string).
95232	QuoteChar interface{} `json:"quoteChar,omitempty"`
95233	// NullValue - The null value string. Type: string (or Expression with resultType string).
95234	NullValue interface{} `json:"nullValue,omitempty"`
95235	// EncodingName - The code page name of the preferred encoding. If miss, the default value is ΓÇ£utf-8ΓÇ¥, unless BOM denotes another Unicode encoding. Refer to the ΓÇ£NameΓÇ¥ column of the table in the following link to set supported values: https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with resultType string).
95236	EncodingName interface{} `json:"encodingName,omitempty"`
95237	// TreatEmptyAsNull - Treat empty column values in the text file as null. The default value is true. Type: boolean (or Expression with resultType boolean).
95238	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
95239	// SkipLineCount - The number of lines/rows to be skipped when parsing text files. The default value is 0. Type: integer (or Expression with resultType integer).
95240	SkipLineCount interface{} `json:"skipLineCount,omitempty"`
95241	// FirstRowAsHeader - When used as input, treat the first row of data as headers. When used as output,write the headers into the output as the first row of data. The default value is false. Type: boolean (or Expression with resultType boolean).
95242	FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"`
95243	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
95244	AdditionalProperties map[string]interface{} `json:""`
95245	// Serializer - Serializer. Type: string (or Expression with resultType string).
95246	Serializer interface{} `json:"serializer,omitempty"`
95247	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
95248	Deserializer interface{} `json:"deserializer,omitempty"`
95249	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
95250	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
95251}
95252
95253// MarshalJSON is the custom marshaler for TextFormat.
95254func (tf TextFormat) MarshalJSON() ([]byte, error) {
95255	tf.Type = TypeTextFormat
95256	objectMap := make(map[string]interface{})
95257	if tf.ColumnDelimiter != nil {
95258		objectMap["columnDelimiter"] = tf.ColumnDelimiter
95259	}
95260	if tf.RowDelimiter != nil {
95261		objectMap["rowDelimiter"] = tf.RowDelimiter
95262	}
95263	if tf.EscapeChar != nil {
95264		objectMap["escapeChar"] = tf.EscapeChar
95265	}
95266	if tf.QuoteChar != nil {
95267		objectMap["quoteChar"] = tf.QuoteChar
95268	}
95269	if tf.NullValue != nil {
95270		objectMap["nullValue"] = tf.NullValue
95271	}
95272	if tf.EncodingName != nil {
95273		objectMap["encodingName"] = tf.EncodingName
95274	}
95275	if tf.TreatEmptyAsNull != nil {
95276		objectMap["treatEmptyAsNull"] = tf.TreatEmptyAsNull
95277	}
95278	if tf.SkipLineCount != nil {
95279		objectMap["skipLineCount"] = tf.SkipLineCount
95280	}
95281	if tf.FirstRowAsHeader != nil {
95282		objectMap["firstRowAsHeader"] = tf.FirstRowAsHeader
95283	}
95284	if tf.Serializer != nil {
95285		objectMap["serializer"] = tf.Serializer
95286	}
95287	if tf.Deserializer != nil {
95288		objectMap["deserializer"] = tf.Deserializer
95289	}
95290	if tf.Type != "" {
95291		objectMap["type"] = tf.Type
95292	}
95293	for k, v := range tf.AdditionalProperties {
95294		objectMap[k] = v
95295	}
95296	return json.Marshal(objectMap)
95297}
95298
95299// AsParquetFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95300func (tf TextFormat) AsParquetFormat() (*ParquetFormat, bool) {
95301	return nil, false
95302}
95303
95304// AsOrcFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95305func (tf TextFormat) AsOrcFormat() (*OrcFormat, bool) {
95306	return nil, false
95307}
95308
95309// AsAvroFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95310func (tf TextFormat) AsAvroFormat() (*AvroFormat, bool) {
95311	return nil, false
95312}
95313
95314// AsJSONFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95315func (tf TextFormat) AsJSONFormat() (*JSONFormat, bool) {
95316	return nil, false
95317}
95318
95319// AsTextFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95320func (tf TextFormat) AsTextFormat() (*TextFormat, bool) {
95321	return &tf, true
95322}
95323
95324// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95325func (tf TextFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
95326	return nil, false
95327}
95328
95329// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95330func (tf TextFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
95331	return &tf, true
95332}
95333
95334// UnmarshalJSON is the custom unmarshaler for TextFormat struct.
95335func (tf *TextFormat) UnmarshalJSON(body []byte) error {
95336	var m map[string]*json.RawMessage
95337	err := json.Unmarshal(body, &m)
95338	if err != nil {
95339		return err
95340	}
95341	for k, v := range m {
95342		switch k {
95343		case "columnDelimiter":
95344			if v != nil {
95345				var columnDelimiter interface{}
95346				err = json.Unmarshal(*v, &columnDelimiter)
95347				if err != nil {
95348					return err
95349				}
95350				tf.ColumnDelimiter = columnDelimiter
95351			}
95352		case "rowDelimiter":
95353			if v != nil {
95354				var rowDelimiter interface{}
95355				err = json.Unmarshal(*v, &rowDelimiter)
95356				if err != nil {
95357					return err
95358				}
95359				tf.RowDelimiter = rowDelimiter
95360			}
95361		case "escapeChar":
95362			if v != nil {
95363				var escapeChar interface{}
95364				err = json.Unmarshal(*v, &escapeChar)
95365				if err != nil {
95366					return err
95367				}
95368				tf.EscapeChar = escapeChar
95369			}
95370		case "quoteChar":
95371			if v != nil {
95372				var quoteChar interface{}
95373				err = json.Unmarshal(*v, &quoteChar)
95374				if err != nil {
95375					return err
95376				}
95377				tf.QuoteChar = quoteChar
95378			}
95379		case "nullValue":
95380			if v != nil {
95381				var nullValue interface{}
95382				err = json.Unmarshal(*v, &nullValue)
95383				if err != nil {
95384					return err
95385				}
95386				tf.NullValue = nullValue
95387			}
95388		case "encodingName":
95389			if v != nil {
95390				var encodingName interface{}
95391				err = json.Unmarshal(*v, &encodingName)
95392				if err != nil {
95393					return err
95394				}
95395				tf.EncodingName = encodingName
95396			}
95397		case "treatEmptyAsNull":
95398			if v != nil {
95399				var treatEmptyAsNull interface{}
95400				err = json.Unmarshal(*v, &treatEmptyAsNull)
95401				if err != nil {
95402					return err
95403				}
95404				tf.TreatEmptyAsNull = treatEmptyAsNull
95405			}
95406		case "skipLineCount":
95407			if v != nil {
95408				var skipLineCount interface{}
95409				err = json.Unmarshal(*v, &skipLineCount)
95410				if err != nil {
95411					return err
95412				}
95413				tf.SkipLineCount = skipLineCount
95414			}
95415		case "firstRowAsHeader":
95416			if v != nil {
95417				var firstRowAsHeader interface{}
95418				err = json.Unmarshal(*v, &firstRowAsHeader)
95419				if err != nil {
95420					return err
95421				}
95422				tf.FirstRowAsHeader = firstRowAsHeader
95423			}
95424		default:
95425			if v != nil {
95426				var additionalProperties interface{}
95427				err = json.Unmarshal(*v, &additionalProperties)
95428				if err != nil {
95429					return err
95430				}
95431				if tf.AdditionalProperties == nil {
95432					tf.AdditionalProperties = make(map[string]interface{})
95433				}
95434				tf.AdditionalProperties[k] = additionalProperties
95435			}
95436		case "serializer":
95437			if v != nil {
95438				var serializer interface{}
95439				err = json.Unmarshal(*v, &serializer)
95440				if err != nil {
95441					return err
95442				}
95443				tf.Serializer = serializer
95444			}
95445		case "deserializer":
95446			if v != nil {
95447				var deserializer interface{}
95448				err = json.Unmarshal(*v, &deserializer)
95449				if err != nil {
95450					return err
95451				}
95452				tf.Deserializer = deserializer
95453			}
95454		case "type":
95455			if v != nil {
95456				var typeVar TypeBasicDatasetStorageFormat
95457				err = json.Unmarshal(*v, &typeVar)
95458				if err != nil {
95459					return err
95460				}
95461				tf.Type = typeVar
95462			}
95463		}
95464	}
95465
95466	return nil
95467}
95468
95469// BasicTrigger azure data factory nested object which contains information about creating pipeline run
95470type BasicTrigger interface {
95471	AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool)
95472	AsBlobEventsTrigger() (*BlobEventsTrigger, bool)
95473	AsBlobTrigger() (*BlobTrigger, bool)
95474	AsScheduleTrigger() (*ScheduleTrigger, bool)
95475	AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool)
95476	AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool)
95477	AsTrigger() (*Trigger, bool)
95478}
95479
95480// Trigger azure data factory nested object which contains information about creating pipeline run
95481type Trigger struct {
95482	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
95483	AdditionalProperties map[string]interface{} `json:""`
95484	// Description - Trigger description.
95485	Description *string `json:"description,omitempty"`
95486	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
95487	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
95488	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
95489	Type TypeBasicTrigger `json:"type,omitempty"`
95490}
95491
95492func unmarshalBasicTrigger(body []byte) (BasicTrigger, error) {
95493	var m map[string]interface{}
95494	err := json.Unmarshal(body, &m)
95495	if err != nil {
95496		return nil, err
95497	}
95498
95499	switch m["type"] {
95500	case string(TypeTumblingWindowTrigger):
95501		var twt TumblingWindowTrigger
95502		err := json.Unmarshal(body, &twt)
95503		return twt, err
95504	case string(TypeBlobEventsTrigger):
95505		var bet BlobEventsTrigger
95506		err := json.Unmarshal(body, &bet)
95507		return bet, err
95508	case string(TypeBlobTrigger):
95509		var bt BlobTrigger
95510		err := json.Unmarshal(body, &bt)
95511		return bt, err
95512	case string(TypeScheduleTrigger):
95513		var st ScheduleTrigger
95514		err := json.Unmarshal(body, &st)
95515		return st, err
95516	case string(TypeMultiplePipelineTrigger):
95517		var mpt MultiplePipelineTrigger
95518		err := json.Unmarshal(body, &mpt)
95519		return mpt, err
95520	default:
95521		var t Trigger
95522		err := json.Unmarshal(body, &t)
95523		return t, err
95524	}
95525}
95526func unmarshalBasicTriggerArray(body []byte) ([]BasicTrigger, error) {
95527	var rawMessages []*json.RawMessage
95528	err := json.Unmarshal(body, &rawMessages)
95529	if err != nil {
95530		return nil, err
95531	}
95532
95533	tArray := make([]BasicTrigger, len(rawMessages))
95534
95535	for index, rawMessage := range rawMessages {
95536		t, err := unmarshalBasicTrigger(*rawMessage)
95537		if err != nil {
95538			return nil, err
95539		}
95540		tArray[index] = t
95541	}
95542	return tArray, nil
95543}
95544
95545// MarshalJSON is the custom marshaler for Trigger.
95546func (t Trigger) MarshalJSON() ([]byte, error) {
95547	t.Type = TypeTrigger
95548	objectMap := make(map[string]interface{})
95549	if t.Description != nil {
95550		objectMap["description"] = t.Description
95551	}
95552	if t.Type != "" {
95553		objectMap["type"] = t.Type
95554	}
95555	for k, v := range t.AdditionalProperties {
95556		objectMap[k] = v
95557	}
95558	return json.Marshal(objectMap)
95559}
95560
95561// AsTumblingWindowTrigger is the BasicTrigger implementation for Trigger.
95562func (t Trigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
95563	return nil, false
95564}
95565
95566// AsBlobEventsTrigger is the BasicTrigger implementation for Trigger.
95567func (t Trigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
95568	return nil, false
95569}
95570
95571// AsBlobTrigger is the BasicTrigger implementation for Trigger.
95572func (t Trigger) AsBlobTrigger() (*BlobTrigger, bool) {
95573	return nil, false
95574}
95575
95576// AsScheduleTrigger is the BasicTrigger implementation for Trigger.
95577func (t Trigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
95578	return nil, false
95579}
95580
95581// AsMultiplePipelineTrigger is the BasicTrigger implementation for Trigger.
95582func (t Trigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
95583	return nil, false
95584}
95585
95586// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for Trigger.
95587func (t Trigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
95588	return nil, false
95589}
95590
95591// AsTrigger is the BasicTrigger implementation for Trigger.
95592func (t Trigger) AsTrigger() (*Trigger, bool) {
95593	return &t, true
95594}
95595
95596// AsBasicTrigger is the BasicTrigger implementation for Trigger.
95597func (t Trigger) AsBasicTrigger() (BasicTrigger, bool) {
95598	return &t, true
95599}
95600
95601// UnmarshalJSON is the custom unmarshaler for Trigger struct.
95602func (t *Trigger) UnmarshalJSON(body []byte) error {
95603	var m map[string]*json.RawMessage
95604	err := json.Unmarshal(body, &m)
95605	if err != nil {
95606		return err
95607	}
95608	for k, v := range m {
95609		switch k {
95610		default:
95611			if v != nil {
95612				var additionalProperties interface{}
95613				err = json.Unmarshal(*v, &additionalProperties)
95614				if err != nil {
95615					return err
95616				}
95617				if t.AdditionalProperties == nil {
95618					t.AdditionalProperties = make(map[string]interface{})
95619				}
95620				t.AdditionalProperties[k] = additionalProperties
95621			}
95622		case "description":
95623			if v != nil {
95624				var description string
95625				err = json.Unmarshal(*v, &description)
95626				if err != nil {
95627					return err
95628				}
95629				t.Description = &description
95630			}
95631		case "runtimeState":
95632			if v != nil {
95633				var runtimeState TriggerRuntimeState
95634				err = json.Unmarshal(*v, &runtimeState)
95635				if err != nil {
95636					return err
95637				}
95638				t.RuntimeState = runtimeState
95639			}
95640		case "type":
95641			if v != nil {
95642				var typeVar TypeBasicTrigger
95643				err = json.Unmarshal(*v, &typeVar)
95644				if err != nil {
95645					return err
95646				}
95647				t.Type = typeVar
95648			}
95649		}
95650	}
95651
95652	return nil
95653}
95654
95655// TriggerListResponse a list of trigger resources.
95656type TriggerListResponse struct {
95657	autorest.Response `json:"-"`
95658	// Value - List of triggers.
95659	Value *[]TriggerResource `json:"value,omitempty"`
95660	// NextLink - The link to the next page of results, if any remaining results exist.
95661	NextLink *string `json:"nextLink,omitempty"`
95662}
95663
95664// TriggerListResponseIterator provides access to a complete listing of TriggerResource values.
95665type TriggerListResponseIterator struct {
95666	i    int
95667	page TriggerListResponsePage
95668}
95669
95670// NextWithContext advances to the next value.  If there was an error making
95671// the request the iterator does not advance and the error is returned.
95672func (iter *TriggerListResponseIterator) NextWithContext(ctx context.Context) (err error) {
95673	if tracing.IsEnabled() {
95674		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponseIterator.NextWithContext")
95675		defer func() {
95676			sc := -1
95677			if iter.Response().Response.Response != nil {
95678				sc = iter.Response().Response.Response.StatusCode
95679			}
95680			tracing.EndSpan(ctx, sc, err)
95681		}()
95682	}
95683	iter.i++
95684	if iter.i < len(iter.page.Values()) {
95685		return nil
95686	}
95687	err = iter.page.NextWithContext(ctx)
95688	if err != nil {
95689		iter.i--
95690		return err
95691	}
95692	iter.i = 0
95693	return nil
95694}
95695
95696// Next advances to the next value.  If there was an error making
95697// the request the iterator does not advance and the error is returned.
95698// Deprecated: Use NextWithContext() instead.
95699func (iter *TriggerListResponseIterator) Next() error {
95700	return iter.NextWithContext(context.Background())
95701}
95702
95703// NotDone returns true if the enumeration should be started or is not yet complete.
95704func (iter TriggerListResponseIterator) NotDone() bool {
95705	return iter.page.NotDone() && iter.i < len(iter.page.Values())
95706}
95707
95708// Response returns the raw server response from the last page request.
95709func (iter TriggerListResponseIterator) Response() TriggerListResponse {
95710	return iter.page.Response()
95711}
95712
95713// Value returns the current value or a zero-initialized value if the
95714// iterator has advanced beyond the end of the collection.
95715func (iter TriggerListResponseIterator) Value() TriggerResource {
95716	if !iter.page.NotDone() {
95717		return TriggerResource{}
95718	}
95719	return iter.page.Values()[iter.i]
95720}
95721
95722// Creates a new instance of the TriggerListResponseIterator type.
95723func NewTriggerListResponseIterator(page TriggerListResponsePage) TriggerListResponseIterator {
95724	return TriggerListResponseIterator{page: page}
95725}
95726
95727// IsEmpty returns true if the ListResult contains no values.
95728func (tlr TriggerListResponse) IsEmpty() bool {
95729	return tlr.Value == nil || len(*tlr.Value) == 0
95730}
95731
95732// hasNextLink returns true if the NextLink is not empty.
95733func (tlr TriggerListResponse) hasNextLink() bool {
95734	return tlr.NextLink != nil && len(*tlr.NextLink) != 0
95735}
95736
95737// triggerListResponsePreparer prepares a request to retrieve the next set of results.
95738// It returns nil if no more results exist.
95739func (tlr TriggerListResponse) triggerListResponsePreparer(ctx context.Context) (*http.Request, error) {
95740	if !tlr.hasNextLink() {
95741		return nil, nil
95742	}
95743	return autorest.Prepare((&http.Request{}).WithContext(ctx),
95744		autorest.AsJSON(),
95745		autorest.AsGet(),
95746		autorest.WithBaseURL(to.String(tlr.NextLink)))
95747}
95748
95749// TriggerListResponsePage contains a page of TriggerResource values.
95750type TriggerListResponsePage struct {
95751	fn  func(context.Context, TriggerListResponse) (TriggerListResponse, error)
95752	tlr TriggerListResponse
95753}
95754
95755// NextWithContext advances to the next page of values.  If there was an error making
95756// the request the page does not advance and the error is returned.
95757func (page *TriggerListResponsePage) NextWithContext(ctx context.Context) (err error) {
95758	if tracing.IsEnabled() {
95759		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponsePage.NextWithContext")
95760		defer func() {
95761			sc := -1
95762			if page.Response().Response.Response != nil {
95763				sc = page.Response().Response.Response.StatusCode
95764			}
95765			tracing.EndSpan(ctx, sc, err)
95766		}()
95767	}
95768	for {
95769		next, err := page.fn(ctx, page.tlr)
95770		if err != nil {
95771			return err
95772		}
95773		page.tlr = next
95774		if !next.hasNextLink() || !next.IsEmpty() {
95775			break
95776		}
95777	}
95778	return nil
95779}
95780
95781// Next advances to the next page of values.  If there was an error making
95782// the request the page does not advance and the error is returned.
95783// Deprecated: Use NextWithContext() instead.
95784func (page *TriggerListResponsePage) Next() error {
95785	return page.NextWithContext(context.Background())
95786}
95787
95788// NotDone returns true if the page enumeration should be started or is not yet complete.
95789func (page TriggerListResponsePage) NotDone() bool {
95790	return !page.tlr.IsEmpty()
95791}
95792
95793// Response returns the raw server response from the last page request.
95794func (page TriggerListResponsePage) Response() TriggerListResponse {
95795	return page.tlr
95796}
95797
95798// Values returns the slice of values for the current page or nil if there are no values.
95799func (page TriggerListResponsePage) Values() []TriggerResource {
95800	if page.tlr.IsEmpty() {
95801		return nil
95802	}
95803	return *page.tlr.Value
95804}
95805
95806// Creates a new instance of the TriggerListResponsePage type.
95807func NewTriggerListResponsePage(cur TriggerListResponse, getNextPage func(context.Context, TriggerListResponse) (TriggerListResponse, error)) TriggerListResponsePage {
95808	return TriggerListResponsePage{
95809		fn:  getNextPage,
95810		tlr: cur,
95811	}
95812}
95813
95814// TriggerPipelineReference pipeline that needs to be triggered with the given parameters.
95815type TriggerPipelineReference struct {
95816	// PipelineReference - Pipeline reference.
95817	PipelineReference *PipelineReference `json:"pipelineReference,omitempty"`
95818	// Parameters - Pipeline parameters.
95819	Parameters map[string]interface{} `json:"parameters"`
95820}
95821
95822// MarshalJSON is the custom marshaler for TriggerPipelineReference.
95823func (tpr TriggerPipelineReference) MarshalJSON() ([]byte, error) {
95824	objectMap := make(map[string]interface{})
95825	if tpr.PipelineReference != nil {
95826		objectMap["pipelineReference"] = tpr.PipelineReference
95827	}
95828	if tpr.Parameters != nil {
95829		objectMap["parameters"] = tpr.Parameters
95830	}
95831	return json.Marshal(objectMap)
95832}
95833
95834// TriggerResource trigger resource type.
95835type TriggerResource struct {
95836	autorest.Response `json:"-"`
95837	// Properties - Properties of the trigger.
95838	Properties BasicTrigger `json:"properties,omitempty"`
95839	// ID - READ-ONLY; The resource identifier.
95840	ID *string `json:"id,omitempty"`
95841	// Name - READ-ONLY; The resource name.
95842	Name *string `json:"name,omitempty"`
95843	// Type - READ-ONLY; The resource type.
95844	Type *string `json:"type,omitempty"`
95845	// Etag - READ-ONLY; Etag identifies change in the resource.
95846	Etag *string `json:"etag,omitempty"`
95847}
95848
95849// MarshalJSON is the custom marshaler for TriggerResource.
95850func (tr TriggerResource) MarshalJSON() ([]byte, error) {
95851	objectMap := make(map[string]interface{})
95852	objectMap["properties"] = tr.Properties
95853	return json.Marshal(objectMap)
95854}
95855
95856// UnmarshalJSON is the custom unmarshaler for TriggerResource struct.
95857func (tr *TriggerResource) UnmarshalJSON(body []byte) error {
95858	var m map[string]*json.RawMessage
95859	err := json.Unmarshal(body, &m)
95860	if err != nil {
95861		return err
95862	}
95863	for k, v := range m {
95864		switch k {
95865		case "properties":
95866			if v != nil {
95867				properties, err := unmarshalBasicTrigger(*v)
95868				if err != nil {
95869					return err
95870				}
95871				tr.Properties = properties
95872			}
95873		case "id":
95874			if v != nil {
95875				var ID string
95876				err = json.Unmarshal(*v, &ID)
95877				if err != nil {
95878					return err
95879				}
95880				tr.ID = &ID
95881			}
95882		case "name":
95883			if v != nil {
95884				var name string
95885				err = json.Unmarshal(*v, &name)
95886				if err != nil {
95887					return err
95888				}
95889				tr.Name = &name
95890			}
95891		case "type":
95892			if v != nil {
95893				var typeVar string
95894				err = json.Unmarshal(*v, &typeVar)
95895				if err != nil {
95896					return err
95897				}
95898				tr.Type = &typeVar
95899			}
95900		case "etag":
95901			if v != nil {
95902				var etag string
95903				err = json.Unmarshal(*v, &etag)
95904				if err != nil {
95905					return err
95906				}
95907				tr.Etag = &etag
95908			}
95909		}
95910	}
95911
95912	return nil
95913}
95914
95915// TriggerRun trigger runs.
95916type TriggerRun struct {
95917	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
95918	AdditionalProperties map[string]interface{} `json:""`
95919	// TriggerRunID - READ-ONLY; Trigger run id.
95920	TriggerRunID *string `json:"triggerRunId,omitempty"`
95921	// TriggerName - READ-ONLY; Trigger name.
95922	TriggerName *string `json:"triggerName,omitempty"`
95923	// TriggerType - READ-ONLY; Trigger type.
95924	TriggerType *string `json:"triggerType,omitempty"`
95925	// TriggerRunTimestamp - READ-ONLY; Trigger run start time.
95926	TriggerRunTimestamp *date.Time `json:"triggerRunTimestamp,omitempty"`
95927	// Status - READ-ONLY; Trigger run status. Possible values include: 'TriggerRunStatusSucceeded', 'TriggerRunStatusFailed', 'TriggerRunStatusInprogress'
95928	Status TriggerRunStatus `json:"status,omitempty"`
95929	// Message - READ-ONLY; Trigger error message.
95930	Message *string `json:"message,omitempty"`
95931	// Properties - READ-ONLY; List of property name and value related to trigger run. Name, value pair depends on type of trigger.
95932	Properties map[string]*string `json:"properties"`
95933	// TriggeredPipelines - READ-ONLY; List of pipeline name and run Id triggered by the trigger run.
95934	TriggeredPipelines map[string]*string `json:"triggeredPipelines"`
95935}
95936
95937// MarshalJSON is the custom marshaler for TriggerRun.
95938func (tr TriggerRun) MarshalJSON() ([]byte, error) {
95939	objectMap := make(map[string]interface{})
95940	for k, v := range tr.AdditionalProperties {
95941		objectMap[k] = v
95942	}
95943	return json.Marshal(objectMap)
95944}
95945
95946// UnmarshalJSON is the custom unmarshaler for TriggerRun struct.
95947func (tr *TriggerRun) UnmarshalJSON(body []byte) error {
95948	var m map[string]*json.RawMessage
95949	err := json.Unmarshal(body, &m)
95950	if err != nil {
95951		return err
95952	}
95953	for k, v := range m {
95954		switch k {
95955		default:
95956			if v != nil {
95957				var additionalProperties interface{}
95958				err = json.Unmarshal(*v, &additionalProperties)
95959				if err != nil {
95960					return err
95961				}
95962				if tr.AdditionalProperties == nil {
95963					tr.AdditionalProperties = make(map[string]interface{})
95964				}
95965				tr.AdditionalProperties[k] = additionalProperties
95966			}
95967		case "triggerRunId":
95968			if v != nil {
95969				var triggerRunID string
95970				err = json.Unmarshal(*v, &triggerRunID)
95971				if err != nil {
95972					return err
95973				}
95974				tr.TriggerRunID = &triggerRunID
95975			}
95976		case "triggerName":
95977			if v != nil {
95978				var triggerName string
95979				err = json.Unmarshal(*v, &triggerName)
95980				if err != nil {
95981					return err
95982				}
95983				tr.TriggerName = &triggerName
95984			}
95985		case "triggerType":
95986			if v != nil {
95987				var triggerType string
95988				err = json.Unmarshal(*v, &triggerType)
95989				if err != nil {
95990					return err
95991				}
95992				tr.TriggerType = &triggerType
95993			}
95994		case "triggerRunTimestamp":
95995			if v != nil {
95996				var triggerRunTimestamp date.Time
95997				err = json.Unmarshal(*v, &triggerRunTimestamp)
95998				if err != nil {
95999					return err
96000				}
96001				tr.TriggerRunTimestamp = &triggerRunTimestamp
96002			}
96003		case "status":
96004			if v != nil {
96005				var status TriggerRunStatus
96006				err = json.Unmarshal(*v, &status)
96007				if err != nil {
96008					return err
96009				}
96010				tr.Status = status
96011			}
96012		case "message":
96013			if v != nil {
96014				var message string
96015				err = json.Unmarshal(*v, &message)
96016				if err != nil {
96017					return err
96018				}
96019				tr.Message = &message
96020			}
96021		case "properties":
96022			if v != nil {
96023				var properties map[string]*string
96024				err = json.Unmarshal(*v, &properties)
96025				if err != nil {
96026					return err
96027				}
96028				tr.Properties = properties
96029			}
96030		case "triggeredPipelines":
96031			if v != nil {
96032				var triggeredPipelines map[string]*string
96033				err = json.Unmarshal(*v, &triggeredPipelines)
96034				if err != nil {
96035					return err
96036				}
96037				tr.TriggeredPipelines = triggeredPipelines
96038			}
96039		}
96040	}
96041
96042	return nil
96043}
96044
96045// TriggerRunListResponse a list of trigger runs.
96046type TriggerRunListResponse struct {
96047	autorest.Response `json:"-"`
96048	// Value - List of trigger runs.
96049	Value *[]TriggerRun `json:"value,omitempty"`
96050	// NextLink - The link to the next page of results, if any remaining results exist.
96051	NextLink *string `json:"nextLink,omitempty"`
96052}
96053
96054// TriggerRunListResponseIterator provides access to a complete listing of TriggerRun values.
96055type TriggerRunListResponseIterator struct {
96056	i    int
96057	page TriggerRunListResponsePage
96058}
96059
96060// NextWithContext advances to the next value.  If there was an error making
96061// the request the iterator does not advance and the error is returned.
96062func (iter *TriggerRunListResponseIterator) NextWithContext(ctx context.Context) (err error) {
96063	if tracing.IsEnabled() {
96064		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerRunListResponseIterator.NextWithContext")
96065		defer func() {
96066			sc := -1
96067			if iter.Response().Response.Response != nil {
96068				sc = iter.Response().Response.Response.StatusCode
96069			}
96070			tracing.EndSpan(ctx, sc, err)
96071		}()
96072	}
96073	iter.i++
96074	if iter.i < len(iter.page.Values()) {
96075		return nil
96076	}
96077	err = iter.page.NextWithContext(ctx)
96078	if err != nil {
96079		iter.i--
96080		return err
96081	}
96082	iter.i = 0
96083	return nil
96084}
96085
96086// Next advances to the next value.  If there was an error making
96087// the request the iterator does not advance and the error is returned.
96088// Deprecated: Use NextWithContext() instead.
96089func (iter *TriggerRunListResponseIterator) Next() error {
96090	return iter.NextWithContext(context.Background())
96091}
96092
96093// NotDone returns true if the enumeration should be started or is not yet complete.
96094func (iter TriggerRunListResponseIterator) NotDone() bool {
96095	return iter.page.NotDone() && iter.i < len(iter.page.Values())
96096}
96097
96098// Response returns the raw server response from the last page request.
96099func (iter TriggerRunListResponseIterator) Response() TriggerRunListResponse {
96100	return iter.page.Response()
96101}
96102
96103// Value returns the current value or a zero-initialized value if the
96104// iterator has advanced beyond the end of the collection.
96105func (iter TriggerRunListResponseIterator) Value() TriggerRun {
96106	if !iter.page.NotDone() {
96107		return TriggerRun{}
96108	}
96109	return iter.page.Values()[iter.i]
96110}
96111
96112// Creates a new instance of the TriggerRunListResponseIterator type.
96113func NewTriggerRunListResponseIterator(page TriggerRunListResponsePage) TriggerRunListResponseIterator {
96114	return TriggerRunListResponseIterator{page: page}
96115}
96116
96117// IsEmpty returns true if the ListResult contains no values.
96118func (trlr TriggerRunListResponse) IsEmpty() bool {
96119	return trlr.Value == nil || len(*trlr.Value) == 0
96120}
96121
96122// hasNextLink returns true if the NextLink is not empty.
96123func (trlr TriggerRunListResponse) hasNextLink() bool {
96124	return trlr.NextLink != nil && len(*trlr.NextLink) != 0
96125}
96126
96127// triggerRunListResponsePreparer prepares a request to retrieve the next set of results.
96128// It returns nil if no more results exist.
96129func (trlr TriggerRunListResponse) triggerRunListResponsePreparer(ctx context.Context) (*http.Request, error) {
96130	if !trlr.hasNextLink() {
96131		return nil, nil
96132	}
96133	return autorest.Prepare((&http.Request{}).WithContext(ctx),
96134		autorest.AsJSON(),
96135		autorest.AsGet(),
96136		autorest.WithBaseURL(to.String(trlr.NextLink)))
96137}
96138
96139// TriggerRunListResponsePage contains a page of TriggerRun values.
96140type TriggerRunListResponsePage struct {
96141	fn   func(context.Context, TriggerRunListResponse) (TriggerRunListResponse, error)
96142	trlr TriggerRunListResponse
96143}
96144
96145// NextWithContext advances to the next page of values.  If there was an error making
96146// the request the page does not advance and the error is returned.
96147func (page *TriggerRunListResponsePage) NextWithContext(ctx context.Context) (err error) {
96148	if tracing.IsEnabled() {
96149		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerRunListResponsePage.NextWithContext")
96150		defer func() {
96151			sc := -1
96152			if page.Response().Response.Response != nil {
96153				sc = page.Response().Response.Response.StatusCode
96154			}
96155			tracing.EndSpan(ctx, sc, err)
96156		}()
96157	}
96158	for {
96159		next, err := page.fn(ctx, page.trlr)
96160		if err != nil {
96161			return err
96162		}
96163		page.trlr = next
96164		if !next.hasNextLink() || !next.IsEmpty() {
96165			break
96166		}
96167	}
96168	return nil
96169}
96170
96171// Next advances to the next page of values.  If there was an error making
96172// the request the page does not advance and the error is returned.
96173// Deprecated: Use NextWithContext() instead.
96174func (page *TriggerRunListResponsePage) Next() error {
96175	return page.NextWithContext(context.Background())
96176}
96177
96178// NotDone returns true if the page enumeration should be started or is not yet complete.
96179func (page TriggerRunListResponsePage) NotDone() bool {
96180	return !page.trlr.IsEmpty()
96181}
96182
96183// Response returns the raw server response from the last page request.
96184func (page TriggerRunListResponsePage) Response() TriggerRunListResponse {
96185	return page.trlr
96186}
96187
96188// Values returns the slice of values for the current page or nil if there are no values.
96189func (page TriggerRunListResponsePage) Values() []TriggerRun {
96190	if page.trlr.IsEmpty() {
96191		return nil
96192	}
96193	return *page.trlr.Value
96194}
96195
96196// Creates a new instance of the TriggerRunListResponsePage type.
96197func NewTriggerRunListResponsePage(cur TriggerRunListResponse, getNextPage func(context.Context, TriggerRunListResponse) (TriggerRunListResponse, error)) TriggerRunListResponsePage {
96198	return TriggerRunListResponsePage{
96199		fn:   getNextPage,
96200		trlr: cur,
96201	}
96202}
96203
96204// TriggersStartFuture an abstraction for monitoring and retrieving the results of a long-running
96205// operation.
96206type TriggersStartFuture struct {
96207	azure.FutureAPI
96208	// Result returns the result of the asynchronous operation.
96209	// If the operation has not completed it will return an error.
96210	Result func(TriggersClient) (autorest.Response, error)
96211}
96212
96213// UnmarshalJSON is the custom unmarshaller for CreateFuture.
96214func (future *TriggersStartFuture) UnmarshalJSON(body []byte) error {
96215	var azFuture azure.Future
96216	if err := json.Unmarshal(body, &azFuture); err != nil {
96217		return err
96218	}
96219	future.FutureAPI = &azFuture
96220	future.Result = future.result
96221	return nil
96222}
96223
96224// result is the default implementation for TriggersStartFuture.Result.
96225func (future *TriggersStartFuture) result(client TriggersClient) (ar autorest.Response, err error) {
96226	var done bool
96227	done, err = future.DoneWithContext(context.Background(), client)
96228	if err != nil {
96229		err = autorest.NewErrorWithError(err, "datafactory.TriggersStartFuture", "Result", future.Response(), "Polling failure")
96230		return
96231	}
96232	if !done {
96233		ar.Response = future.Response()
96234		err = azure.NewAsyncOpIncompleteError("datafactory.TriggersStartFuture")
96235		return
96236	}
96237	ar.Response = future.Response()
96238	return
96239}
96240
96241// TriggersStopFuture an abstraction for monitoring and retrieving the results of a long-running operation.
96242type TriggersStopFuture struct {
96243	azure.FutureAPI
96244	// Result returns the result of the asynchronous operation.
96245	// If the operation has not completed it will return an error.
96246	Result func(TriggersClient) (autorest.Response, error)
96247}
96248
96249// UnmarshalJSON is the custom unmarshaller for CreateFuture.
96250func (future *TriggersStopFuture) UnmarshalJSON(body []byte) error {
96251	var azFuture azure.Future
96252	if err := json.Unmarshal(body, &azFuture); err != nil {
96253		return err
96254	}
96255	future.FutureAPI = &azFuture
96256	future.Result = future.result
96257	return nil
96258}
96259
96260// result is the default implementation for TriggersStopFuture.Result.
96261func (future *TriggersStopFuture) result(client TriggersClient) (ar autorest.Response, err error) {
96262	var done bool
96263	done, err = future.DoneWithContext(context.Background(), client)
96264	if err != nil {
96265		err = autorest.NewErrorWithError(err, "datafactory.TriggersStopFuture", "Result", future.Response(), "Polling failure")
96266		return
96267	}
96268	if !done {
96269		ar.Response = future.Response()
96270		err = azure.NewAsyncOpIncompleteError("datafactory.TriggersStopFuture")
96271		return
96272	}
96273	ar.Response = future.Response()
96274	return
96275}
96276
96277// TumblingWindowTrigger trigger that schedules pipeline runs for all fixed time interval windows from a
96278// start time without gaps and also supports backfill scenarios (when start time is in the past).
96279type TumblingWindowTrigger struct {
96280	// Pipeline - Pipeline for which runs are created when an event is fired for trigger window that is ready.
96281	Pipeline *TriggerPipelineReference `json:"pipeline,omitempty"`
96282	// TumblingWindowTriggerTypeProperties - Tumbling Window Trigger properties.
96283	*TumblingWindowTriggerTypeProperties `json:"typeProperties,omitempty"`
96284	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
96285	AdditionalProperties map[string]interface{} `json:""`
96286	// Description - Trigger description.
96287	Description *string `json:"description,omitempty"`
96288	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
96289	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
96290	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
96291	Type TypeBasicTrigger `json:"type,omitempty"`
96292}
96293
96294// MarshalJSON is the custom marshaler for TumblingWindowTrigger.
96295func (twt TumblingWindowTrigger) MarshalJSON() ([]byte, error) {
96296	twt.Type = TypeTumblingWindowTrigger
96297	objectMap := make(map[string]interface{})
96298	if twt.Pipeline != nil {
96299		objectMap["pipeline"] = twt.Pipeline
96300	}
96301	if twt.TumblingWindowTriggerTypeProperties != nil {
96302		objectMap["typeProperties"] = twt.TumblingWindowTriggerTypeProperties
96303	}
96304	if twt.Description != nil {
96305		objectMap["description"] = twt.Description
96306	}
96307	if twt.Type != "" {
96308		objectMap["type"] = twt.Type
96309	}
96310	for k, v := range twt.AdditionalProperties {
96311		objectMap[k] = v
96312	}
96313	return json.Marshal(objectMap)
96314}
96315
96316// AsTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96317func (twt TumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
96318	return &twt, true
96319}
96320
96321// AsBlobEventsTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96322func (twt TumblingWindowTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
96323	return nil, false
96324}
96325
96326// AsBlobTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96327func (twt TumblingWindowTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
96328	return nil, false
96329}
96330
96331// AsScheduleTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96332func (twt TumblingWindowTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
96333	return nil, false
96334}
96335
96336// AsMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96337func (twt TumblingWindowTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
96338	return nil, false
96339}
96340
96341// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96342func (twt TumblingWindowTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
96343	return nil, false
96344}
96345
96346// AsTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96347func (twt TumblingWindowTrigger) AsTrigger() (*Trigger, bool) {
96348	return nil, false
96349}
96350
96351// AsBasicTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96352func (twt TumblingWindowTrigger) AsBasicTrigger() (BasicTrigger, bool) {
96353	return &twt, true
96354}
96355
96356// UnmarshalJSON is the custom unmarshaler for TumblingWindowTrigger struct.
96357func (twt *TumblingWindowTrigger) UnmarshalJSON(body []byte) error {
96358	var m map[string]*json.RawMessage
96359	err := json.Unmarshal(body, &m)
96360	if err != nil {
96361		return err
96362	}
96363	for k, v := range m {
96364		switch k {
96365		case "pipeline":
96366			if v != nil {
96367				var pipeline TriggerPipelineReference
96368				err = json.Unmarshal(*v, &pipeline)
96369				if err != nil {
96370					return err
96371				}
96372				twt.Pipeline = &pipeline
96373			}
96374		case "typeProperties":
96375			if v != nil {
96376				var tumblingWindowTriggerTypeProperties TumblingWindowTriggerTypeProperties
96377				err = json.Unmarshal(*v, &tumblingWindowTriggerTypeProperties)
96378				if err != nil {
96379					return err
96380				}
96381				twt.TumblingWindowTriggerTypeProperties = &tumblingWindowTriggerTypeProperties
96382			}
96383		default:
96384			if v != nil {
96385				var additionalProperties interface{}
96386				err = json.Unmarshal(*v, &additionalProperties)
96387				if err != nil {
96388					return err
96389				}
96390				if twt.AdditionalProperties == nil {
96391					twt.AdditionalProperties = make(map[string]interface{})
96392				}
96393				twt.AdditionalProperties[k] = additionalProperties
96394			}
96395		case "description":
96396			if v != nil {
96397				var description string
96398				err = json.Unmarshal(*v, &description)
96399				if err != nil {
96400					return err
96401				}
96402				twt.Description = &description
96403			}
96404		case "runtimeState":
96405			if v != nil {
96406				var runtimeState TriggerRuntimeState
96407				err = json.Unmarshal(*v, &runtimeState)
96408				if err != nil {
96409					return err
96410				}
96411				twt.RuntimeState = runtimeState
96412			}
96413		case "type":
96414			if v != nil {
96415				var typeVar TypeBasicTrigger
96416				err = json.Unmarshal(*v, &typeVar)
96417				if err != nil {
96418					return err
96419				}
96420				twt.Type = typeVar
96421			}
96422		}
96423	}
96424
96425	return nil
96426}
96427
96428// TumblingWindowTriggerTypeProperties tumbling Window Trigger properties.
96429type TumblingWindowTriggerTypeProperties struct {
96430	// Frequency - The frequency of the time windows. Possible values include: 'TumblingWindowFrequencyMinute', 'TumblingWindowFrequencyHour'
96431	Frequency TumblingWindowFrequency `json:"frequency,omitempty"`
96432	// Interval - The interval of the time windows. The minimum interval allowed is 15 Minutes.
96433	Interval *int32 `json:"interval,omitempty"`
96434	// StartTime - The start time for the time period for the trigger during which events are fired for windows that are ready. Only UTC time is currently supported.
96435	StartTime *date.Time `json:"startTime,omitempty"`
96436	// EndTime - The end time for the time period for the trigger during which events are fired for windows that are ready. Only UTC time is currently supported.
96437	EndTime *date.Time `json:"endTime,omitempty"`
96438	// Delay - Specifies how long the trigger waits past due time before triggering new run. It doesn't alter window start and end time. The default is 0. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
96439	Delay interface{} `json:"delay,omitempty"`
96440	// MaxConcurrency - The max number of parallel time windows (ready for execution) for which a new run is triggered.
96441	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
96442	// RetryPolicy - Retry policy that will be applied for failed pipeline runs.
96443	RetryPolicy *RetryPolicy `json:"retryPolicy,omitempty"`
96444}
96445
96446// UntilActivity this activity executes inner activities until the specified boolean expression results to
96447// true or timeout is reached, whichever is earlier.
96448type UntilActivity struct {
96449	// UntilActivityTypeProperties - Until activity properties.
96450	*UntilActivityTypeProperties `json:"typeProperties,omitempty"`
96451	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
96452	AdditionalProperties map[string]interface{} `json:""`
96453	// Name - Activity name.
96454	Name *string `json:"name,omitempty"`
96455	// Description - Activity description.
96456	Description *string `json:"description,omitempty"`
96457	// DependsOn - Activity depends on condition.
96458	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
96459	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
96460	Type TypeBasicActivity `json:"type,omitempty"`
96461}
96462
96463// MarshalJSON is the custom marshaler for UntilActivity.
96464func (ua UntilActivity) MarshalJSON() ([]byte, error) {
96465	ua.Type = TypeUntil
96466	objectMap := make(map[string]interface{})
96467	if ua.UntilActivityTypeProperties != nil {
96468		objectMap["typeProperties"] = ua.UntilActivityTypeProperties
96469	}
96470	if ua.Name != nil {
96471		objectMap["name"] = ua.Name
96472	}
96473	if ua.Description != nil {
96474		objectMap["description"] = ua.Description
96475	}
96476	if ua.DependsOn != nil {
96477		objectMap["dependsOn"] = ua.DependsOn
96478	}
96479	if ua.Type != "" {
96480		objectMap["type"] = ua.Type
96481	}
96482	for k, v := range ua.AdditionalProperties {
96483		objectMap[k] = v
96484	}
96485	return json.Marshal(objectMap)
96486}
96487
96488// AsDatabricksNotebookActivity is the BasicActivity implementation for UntilActivity.
96489func (ua UntilActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
96490	return nil, false
96491}
96492
96493// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for UntilActivity.
96494func (ua UntilActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
96495	return nil, false
96496}
96497
96498// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for UntilActivity.
96499func (ua UntilActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
96500	return nil, false
96501}
96502
96503// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for UntilActivity.
96504func (ua UntilActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
96505	return nil, false
96506}
96507
96508// AsGetMetadataActivity is the BasicActivity implementation for UntilActivity.
96509func (ua UntilActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
96510	return nil, false
96511}
96512
96513// AsWebActivity is the BasicActivity implementation for UntilActivity.
96514func (ua UntilActivity) AsWebActivity() (*WebActivity, bool) {
96515	return nil, false
96516}
96517
96518// AsLookupActivity is the BasicActivity implementation for UntilActivity.
96519func (ua UntilActivity) AsLookupActivity() (*LookupActivity, bool) {
96520	return nil, false
96521}
96522
96523// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for UntilActivity.
96524func (ua UntilActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
96525	return nil, false
96526}
96527
96528// AsCustomActivity is the BasicActivity implementation for UntilActivity.
96529func (ua UntilActivity) AsCustomActivity() (*CustomActivity, bool) {
96530	return nil, false
96531}
96532
96533// AsExecuteSSISPackageActivity is the BasicActivity implementation for UntilActivity.
96534func (ua UntilActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
96535	return nil, false
96536}
96537
96538// AsHDInsightSparkActivity is the BasicActivity implementation for UntilActivity.
96539func (ua UntilActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
96540	return nil, false
96541}
96542
96543// AsHDInsightStreamingActivity is the BasicActivity implementation for UntilActivity.
96544func (ua UntilActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
96545	return nil, false
96546}
96547
96548// AsHDInsightMapReduceActivity is the BasicActivity implementation for UntilActivity.
96549func (ua UntilActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
96550	return nil, false
96551}
96552
96553// AsHDInsightPigActivity is the BasicActivity implementation for UntilActivity.
96554func (ua UntilActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
96555	return nil, false
96556}
96557
96558// AsHDInsightHiveActivity is the BasicActivity implementation for UntilActivity.
96559func (ua UntilActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
96560	return nil, false
96561}
96562
96563// AsCopyActivity is the BasicActivity implementation for UntilActivity.
96564func (ua UntilActivity) AsCopyActivity() (*CopyActivity, bool) {
96565	return nil, false
96566}
96567
96568// AsExecutionActivity is the BasicActivity implementation for UntilActivity.
96569func (ua UntilActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
96570	return nil, false
96571}
96572
96573// AsBasicExecutionActivity is the BasicActivity implementation for UntilActivity.
96574func (ua UntilActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
96575	return nil, false
96576}
96577
96578// AsFilterActivity is the BasicActivity implementation for UntilActivity.
96579func (ua UntilActivity) AsFilterActivity() (*FilterActivity, bool) {
96580	return nil, false
96581}
96582
96583// AsUntilActivity is the BasicActivity implementation for UntilActivity.
96584func (ua UntilActivity) AsUntilActivity() (*UntilActivity, bool) {
96585	return &ua, true
96586}
96587
96588// AsWaitActivity is the BasicActivity implementation for UntilActivity.
96589func (ua UntilActivity) AsWaitActivity() (*WaitActivity, bool) {
96590	return nil, false
96591}
96592
96593// AsForEachActivity is the BasicActivity implementation for UntilActivity.
96594func (ua UntilActivity) AsForEachActivity() (*ForEachActivity, bool) {
96595	return nil, false
96596}
96597
96598// AsIfConditionActivity is the BasicActivity implementation for UntilActivity.
96599func (ua UntilActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
96600	return nil, false
96601}
96602
96603// AsExecutePipelineActivity is the BasicActivity implementation for UntilActivity.
96604func (ua UntilActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
96605	return nil, false
96606}
96607
96608// AsControlActivity is the BasicActivity implementation for UntilActivity.
96609func (ua UntilActivity) AsControlActivity() (*ControlActivity, bool) {
96610	return nil, false
96611}
96612
96613// AsBasicControlActivity is the BasicActivity implementation for UntilActivity.
96614func (ua UntilActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
96615	return &ua, true
96616}
96617
96618// AsActivity is the BasicActivity implementation for UntilActivity.
96619func (ua UntilActivity) AsActivity() (*Activity, bool) {
96620	return nil, false
96621}
96622
96623// AsBasicActivity is the BasicActivity implementation for UntilActivity.
96624func (ua UntilActivity) AsBasicActivity() (BasicActivity, bool) {
96625	return &ua, true
96626}
96627
96628// UnmarshalJSON is the custom unmarshaler for UntilActivity struct.
96629func (ua *UntilActivity) UnmarshalJSON(body []byte) error {
96630	var m map[string]*json.RawMessage
96631	err := json.Unmarshal(body, &m)
96632	if err != nil {
96633		return err
96634	}
96635	for k, v := range m {
96636		switch k {
96637		case "typeProperties":
96638			if v != nil {
96639				var untilActivityTypeProperties UntilActivityTypeProperties
96640				err = json.Unmarshal(*v, &untilActivityTypeProperties)
96641				if err != nil {
96642					return err
96643				}
96644				ua.UntilActivityTypeProperties = &untilActivityTypeProperties
96645			}
96646		default:
96647			if v != nil {
96648				var additionalProperties interface{}
96649				err = json.Unmarshal(*v, &additionalProperties)
96650				if err != nil {
96651					return err
96652				}
96653				if ua.AdditionalProperties == nil {
96654					ua.AdditionalProperties = make(map[string]interface{})
96655				}
96656				ua.AdditionalProperties[k] = additionalProperties
96657			}
96658		case "name":
96659			if v != nil {
96660				var name string
96661				err = json.Unmarshal(*v, &name)
96662				if err != nil {
96663					return err
96664				}
96665				ua.Name = &name
96666			}
96667		case "description":
96668			if v != nil {
96669				var description string
96670				err = json.Unmarshal(*v, &description)
96671				if err != nil {
96672					return err
96673				}
96674				ua.Description = &description
96675			}
96676		case "dependsOn":
96677			if v != nil {
96678				var dependsOn []ActivityDependency
96679				err = json.Unmarshal(*v, &dependsOn)
96680				if err != nil {
96681					return err
96682				}
96683				ua.DependsOn = &dependsOn
96684			}
96685		case "type":
96686			if v != nil {
96687				var typeVar TypeBasicActivity
96688				err = json.Unmarshal(*v, &typeVar)
96689				if err != nil {
96690					return err
96691				}
96692				ua.Type = typeVar
96693			}
96694		}
96695	}
96696
96697	return nil
96698}
96699
96700// UntilActivityTypeProperties until activity properties.
96701type UntilActivityTypeProperties struct {
96702	// Expression - An expression that would evaluate to Boolean. The loop will continue until this expression evaluates to true
96703	Expression *Expression `json:"expression,omitempty"`
96704	// Timeout - Specifies the timeout for the activity to run. If there is no value specified, it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
96705	Timeout interface{} `json:"timeout,omitempty"`
96706	// Activities - List of activities to execute.
96707	Activities *[]BasicActivity `json:"activities,omitempty"`
96708}
96709
96710// UnmarshalJSON is the custom unmarshaler for UntilActivityTypeProperties struct.
96711func (uatp *UntilActivityTypeProperties) UnmarshalJSON(body []byte) error {
96712	var m map[string]*json.RawMessage
96713	err := json.Unmarshal(body, &m)
96714	if err != nil {
96715		return err
96716	}
96717	for k, v := range m {
96718		switch k {
96719		case "expression":
96720			if v != nil {
96721				var expression Expression
96722				err = json.Unmarshal(*v, &expression)
96723				if err != nil {
96724					return err
96725				}
96726				uatp.Expression = &expression
96727			}
96728		case "timeout":
96729			if v != nil {
96730				var timeout interface{}
96731				err = json.Unmarshal(*v, &timeout)
96732				if err != nil {
96733					return err
96734				}
96735				uatp.Timeout = timeout
96736			}
96737		case "activities":
96738			if v != nil {
96739				activities, err := unmarshalBasicActivityArray(*v)
96740				if err != nil {
96741					return err
96742				}
96743				uatp.Activities = &activities
96744			}
96745		}
96746	}
96747
96748	return nil
96749}
96750
96751// UpdateIntegrationRuntimeNodeRequest update integration runtime node request.
96752type UpdateIntegrationRuntimeNodeRequest struct {
96753	// ConcurrentJobsLimit - The number of concurrent jobs permitted to run on the integration runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed.
96754	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
96755}
96756
96757// UpdateIntegrationRuntimeRequest update integration runtime request.
96758type UpdateIntegrationRuntimeRequest struct {
96759	// AutoUpdate - Enables or disables the auto-update feature of the self-hosted integration runtime. See https://go.microsoft.com/fwlink/?linkid=854189. Possible values include: 'On', 'Off'
96760	AutoUpdate IntegrationRuntimeAutoUpdate `json:"autoUpdate,omitempty"`
96761	// UpdateDelayOffset - The time offset (in hours) in the day, e.g., PT03H is 3 hours. The integration runtime auto update will happen on that time.
96762	UpdateDelayOffset *string `json:"updateDelayOffset,omitempty"`
96763}
96764
96765// VerticaLinkedService vertica linked service.
96766type VerticaLinkedService struct {
96767	// VerticaLinkedServiceTypeProperties - Vertica linked service properties.
96768	*VerticaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
96769	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
96770	AdditionalProperties map[string]interface{} `json:""`
96771	// ConnectVia - The integration runtime reference.
96772	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
96773	// Description - Linked service description.
96774	Description *string `json:"description,omitempty"`
96775	// Parameters - Parameters for linked service.
96776	Parameters map[string]*ParameterSpecification `json:"parameters"`
96777	// Annotations - List of tags that can be used for describing the Dataset.
96778	Annotations *[]interface{} `json:"annotations,omitempty"`
96779	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
96780	Type TypeBasicLinkedService `json:"type,omitempty"`
96781}
96782
96783// MarshalJSON is the custom marshaler for VerticaLinkedService.
96784func (vls VerticaLinkedService) MarshalJSON() ([]byte, error) {
96785	vls.Type = TypeVertica
96786	objectMap := make(map[string]interface{})
96787	if vls.VerticaLinkedServiceTypeProperties != nil {
96788		objectMap["typeProperties"] = vls.VerticaLinkedServiceTypeProperties
96789	}
96790	if vls.ConnectVia != nil {
96791		objectMap["connectVia"] = vls.ConnectVia
96792	}
96793	if vls.Description != nil {
96794		objectMap["description"] = vls.Description
96795	}
96796	if vls.Parameters != nil {
96797		objectMap["parameters"] = vls.Parameters
96798	}
96799	if vls.Annotations != nil {
96800		objectMap["annotations"] = vls.Annotations
96801	}
96802	if vls.Type != "" {
96803		objectMap["type"] = vls.Type
96804	}
96805	for k, v := range vls.AdditionalProperties {
96806		objectMap[k] = v
96807	}
96808	return json.Marshal(objectMap)
96809}
96810
96811// AsResponsysLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96812func (vls VerticaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
96813	return nil, false
96814}
96815
96816// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96817func (vls VerticaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
96818	return nil, false
96819}
96820
96821// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96822func (vls VerticaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
96823	return nil, false
96824}
96825
96826// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96827func (vls VerticaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
96828	return nil, false
96829}
96830
96831// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96832func (vls VerticaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
96833	return nil, false
96834}
96835
96836// AsNetezzaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96837func (vls VerticaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
96838	return nil, false
96839}
96840
96841// AsVerticaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96842func (vls VerticaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
96843	return &vls, true
96844}
96845
96846// AsZohoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96847func (vls VerticaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
96848	return nil, false
96849}
96850
96851// AsXeroLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96852func (vls VerticaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
96853	return nil, false
96854}
96855
96856// AsSquareLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96857func (vls VerticaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
96858	return nil, false
96859}
96860
96861// AsSparkLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96862func (vls VerticaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
96863	return nil, false
96864}
96865
96866// AsShopifyLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96867func (vls VerticaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
96868	return nil, false
96869}
96870
96871// AsServiceNowLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96872func (vls VerticaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
96873	return nil, false
96874}
96875
96876// AsQuickBooksLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96877func (vls VerticaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
96878	return nil, false
96879}
96880
96881// AsPrestoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96882func (vls VerticaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
96883	return nil, false
96884}
96885
96886// AsPhoenixLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96887func (vls VerticaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
96888	return nil, false
96889}
96890
96891// AsPaypalLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96892func (vls VerticaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
96893	return nil, false
96894}
96895
96896// AsMarketoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96897func (vls VerticaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
96898	return nil, false
96899}
96900
96901// AsMariaDBLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96902func (vls VerticaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
96903	return nil, false
96904}
96905
96906// AsMagentoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96907func (vls VerticaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
96908	return nil, false
96909}
96910
96911// AsJiraLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96912func (vls VerticaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
96913	return nil, false
96914}
96915
96916// AsImpalaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96917func (vls VerticaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
96918	return nil, false
96919}
96920
96921// AsHubspotLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96922func (vls VerticaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
96923	return nil, false
96924}
96925
96926// AsHiveLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96927func (vls VerticaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
96928	return nil, false
96929}
96930
96931// AsHBaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96932func (vls VerticaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
96933	return nil, false
96934}
96935
96936// AsGreenplumLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96937func (vls VerticaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
96938	return nil, false
96939}
96940
96941// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96942func (vls VerticaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
96943	return nil, false
96944}
96945
96946// AsEloquaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96947func (vls VerticaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
96948	return nil, false
96949}
96950
96951// AsDrillLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96952func (vls VerticaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
96953	return nil, false
96954}
96955
96956// AsCouchbaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96957func (vls VerticaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
96958	return nil, false
96959}
96960
96961// AsConcurLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96962func (vls VerticaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
96963	return nil, false
96964}
96965
96966// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96967func (vls VerticaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
96968	return nil, false
96969}
96970
96971// AsAmazonMWSLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96972func (vls VerticaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
96973	return nil, false
96974}
96975
96976// AsSapHanaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96977func (vls VerticaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
96978	return nil, false
96979}
96980
96981// AsSapBWLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96982func (vls VerticaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
96983	return nil, false
96984}
96985
96986// AsSftpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96987func (vls VerticaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
96988	return nil, false
96989}
96990
96991// AsFtpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96992func (vls VerticaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
96993	return nil, false
96994}
96995
96996// AsHTTPLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96997func (vls VerticaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
96998	return nil, false
96999}
97000
97001// AsAzureSearchLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97002func (vls VerticaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
97003	return nil, false
97004}
97005
97006// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97007func (vls VerticaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
97008	return nil, false
97009}
97010
97011// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97012func (vls VerticaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
97013	return nil, false
97014}
97015
97016// AsAmazonS3LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97017func (vls VerticaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
97018	return nil, false
97019}
97020
97021// AsSapEccLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97022func (vls VerticaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
97023	return nil, false
97024}
97025
97026// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97027func (vls VerticaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
97028	return nil, false
97029}
97030
97031// AsSalesforceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97032func (vls VerticaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
97033	return nil, false
97034}
97035
97036// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97037func (vls VerticaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
97038	return nil, false
97039}
97040
97041// AsMongoDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97042func (vls VerticaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
97043	return nil, false
97044}
97045
97046// AsCassandraLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97047func (vls VerticaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
97048	return nil, false
97049}
97050
97051// AsWebLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97052func (vls VerticaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
97053	return nil, false
97054}
97055
97056// AsODataLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97057func (vls VerticaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
97058	return nil, false
97059}
97060
97061// AsHdfsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97062func (vls VerticaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
97063	return nil, false
97064}
97065
97066// AsOdbcLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97067func (vls VerticaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
97068	return nil, false
97069}
97070
97071// AsAzureMLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97072func (vls VerticaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
97073	return nil, false
97074}
97075
97076// AsTeradataLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97077func (vls VerticaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
97078	return nil, false
97079}
97080
97081// AsDb2LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97082func (vls VerticaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
97083	return nil, false
97084}
97085
97086// AsSybaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97087func (vls VerticaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
97088	return nil, false
97089}
97090
97091// AsPostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97092func (vls VerticaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
97093	return nil, false
97094}
97095
97096// AsMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97097func (vls VerticaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
97098	return nil, false
97099}
97100
97101// AsAzureMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97102func (vls VerticaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
97103	return nil, false
97104}
97105
97106// AsOracleLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97107func (vls VerticaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
97108	return nil, false
97109}
97110
97111// AsFileServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97112func (vls VerticaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
97113	return nil, false
97114}
97115
97116// AsHDInsightLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97117func (vls VerticaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
97118	return nil, false
97119}
97120
97121// AsDynamicsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97122func (vls VerticaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
97123	return nil, false
97124}
97125
97126// AsCosmosDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97127func (vls VerticaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
97128	return nil, false
97129}
97130
97131// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97132func (vls VerticaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
97133	return nil, false
97134}
97135
97136// AsAzureBatchLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97137func (vls VerticaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
97138	return nil, false
97139}
97140
97141// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97142func (vls VerticaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
97143	return nil, false
97144}
97145
97146// AsSQLServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97147func (vls VerticaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
97148	return nil, false
97149}
97150
97151// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97152func (vls VerticaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
97153	return nil, false
97154}
97155
97156// AsAzureStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97157func (vls VerticaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
97158	return nil, false
97159}
97160
97161// AsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97162func (vls VerticaLinkedService) AsLinkedService() (*LinkedService, bool) {
97163	return nil, false
97164}
97165
97166// AsBasicLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97167func (vls VerticaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
97168	return &vls, true
97169}
97170
97171// UnmarshalJSON is the custom unmarshaler for VerticaLinkedService struct.
97172func (vls *VerticaLinkedService) UnmarshalJSON(body []byte) error {
97173	var m map[string]*json.RawMessage
97174	err := json.Unmarshal(body, &m)
97175	if err != nil {
97176		return err
97177	}
97178	for k, v := range m {
97179		switch k {
97180		case "typeProperties":
97181			if v != nil {
97182				var verticaLinkedServiceTypeProperties VerticaLinkedServiceTypeProperties
97183				err = json.Unmarshal(*v, &verticaLinkedServiceTypeProperties)
97184				if err != nil {
97185					return err
97186				}
97187				vls.VerticaLinkedServiceTypeProperties = &verticaLinkedServiceTypeProperties
97188			}
97189		default:
97190			if v != nil {
97191				var additionalProperties interface{}
97192				err = json.Unmarshal(*v, &additionalProperties)
97193				if err != nil {
97194					return err
97195				}
97196				if vls.AdditionalProperties == nil {
97197					vls.AdditionalProperties = make(map[string]interface{})
97198				}
97199				vls.AdditionalProperties[k] = additionalProperties
97200			}
97201		case "connectVia":
97202			if v != nil {
97203				var connectVia IntegrationRuntimeReference
97204				err = json.Unmarshal(*v, &connectVia)
97205				if err != nil {
97206					return err
97207				}
97208				vls.ConnectVia = &connectVia
97209			}
97210		case "description":
97211			if v != nil {
97212				var description string
97213				err = json.Unmarshal(*v, &description)
97214				if err != nil {
97215					return err
97216				}
97217				vls.Description = &description
97218			}
97219		case "parameters":
97220			if v != nil {
97221				var parameters map[string]*ParameterSpecification
97222				err = json.Unmarshal(*v, &parameters)
97223				if err != nil {
97224					return err
97225				}
97226				vls.Parameters = parameters
97227			}
97228		case "annotations":
97229			if v != nil {
97230				var annotations []interface{}
97231				err = json.Unmarshal(*v, &annotations)
97232				if err != nil {
97233					return err
97234				}
97235				vls.Annotations = &annotations
97236			}
97237		case "type":
97238			if v != nil {
97239				var typeVar TypeBasicLinkedService
97240				err = json.Unmarshal(*v, &typeVar)
97241				if err != nil {
97242					return err
97243				}
97244				vls.Type = typeVar
97245			}
97246		}
97247	}
97248
97249	return nil
97250}
97251
97252// VerticaLinkedServiceTypeProperties vertica linked service properties.
97253type VerticaLinkedServiceTypeProperties struct {
97254	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
97255	ConnectionString interface{} `json:"connectionString,omitempty"`
97256	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
97257	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
97258}
97259
97260// VerticaSource a copy activity Vertica source.
97261type VerticaSource struct {
97262	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
97263	Query interface{} `json:"query,omitempty"`
97264	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
97265	AdditionalProperties map[string]interface{} `json:""`
97266	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
97267	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
97268	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
97269	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
97270	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
97271	Type TypeBasicCopySource `json:"type,omitempty"`
97272}
97273
97274// MarshalJSON is the custom marshaler for VerticaSource.
97275func (vs VerticaSource) MarshalJSON() ([]byte, error) {
97276	vs.Type = TypeVerticaSource
97277	objectMap := make(map[string]interface{})
97278	if vs.Query != nil {
97279		objectMap["query"] = vs.Query
97280	}
97281	if vs.SourceRetryCount != nil {
97282		objectMap["sourceRetryCount"] = vs.SourceRetryCount
97283	}
97284	if vs.SourceRetryWait != nil {
97285		objectMap["sourceRetryWait"] = vs.SourceRetryWait
97286	}
97287	if vs.Type != "" {
97288		objectMap["type"] = vs.Type
97289	}
97290	for k, v := range vs.AdditionalProperties {
97291		objectMap[k] = v
97292	}
97293	return json.Marshal(objectMap)
97294}
97295
97296// AsAmazonRedshiftSource is the BasicCopySource implementation for VerticaSource.
97297func (vs VerticaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
97298	return nil, false
97299}
97300
97301// AsResponsysSource is the BasicCopySource implementation for VerticaSource.
97302func (vs VerticaSource) AsResponsysSource() (*ResponsysSource, bool) {
97303	return nil, false
97304}
97305
97306// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for VerticaSource.
97307func (vs VerticaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
97308	return nil, false
97309}
97310
97311// AsVerticaSource is the BasicCopySource implementation for VerticaSource.
97312func (vs VerticaSource) AsVerticaSource() (*VerticaSource, bool) {
97313	return &vs, true
97314}
97315
97316// AsNetezzaSource is the BasicCopySource implementation for VerticaSource.
97317func (vs VerticaSource) AsNetezzaSource() (*NetezzaSource, bool) {
97318	return nil, false
97319}
97320
97321// AsZohoSource is the BasicCopySource implementation for VerticaSource.
97322func (vs VerticaSource) AsZohoSource() (*ZohoSource, bool) {
97323	return nil, false
97324}
97325
97326// AsXeroSource is the BasicCopySource implementation for VerticaSource.
97327func (vs VerticaSource) AsXeroSource() (*XeroSource, bool) {
97328	return nil, false
97329}
97330
97331// AsSquareSource is the BasicCopySource implementation for VerticaSource.
97332func (vs VerticaSource) AsSquareSource() (*SquareSource, bool) {
97333	return nil, false
97334}
97335
97336// AsSparkSource is the BasicCopySource implementation for VerticaSource.
97337func (vs VerticaSource) AsSparkSource() (*SparkSource, bool) {
97338	return nil, false
97339}
97340
97341// AsShopifySource is the BasicCopySource implementation for VerticaSource.
97342func (vs VerticaSource) AsShopifySource() (*ShopifySource, bool) {
97343	return nil, false
97344}
97345
97346// AsServiceNowSource is the BasicCopySource implementation for VerticaSource.
97347func (vs VerticaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
97348	return nil, false
97349}
97350
97351// AsQuickBooksSource is the BasicCopySource implementation for VerticaSource.
97352func (vs VerticaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
97353	return nil, false
97354}
97355
97356// AsPrestoSource is the BasicCopySource implementation for VerticaSource.
97357func (vs VerticaSource) AsPrestoSource() (*PrestoSource, bool) {
97358	return nil, false
97359}
97360
97361// AsPhoenixSource is the BasicCopySource implementation for VerticaSource.
97362func (vs VerticaSource) AsPhoenixSource() (*PhoenixSource, bool) {
97363	return nil, false
97364}
97365
97366// AsPaypalSource is the BasicCopySource implementation for VerticaSource.
97367func (vs VerticaSource) AsPaypalSource() (*PaypalSource, bool) {
97368	return nil, false
97369}
97370
97371// AsMarketoSource is the BasicCopySource implementation for VerticaSource.
97372func (vs VerticaSource) AsMarketoSource() (*MarketoSource, bool) {
97373	return nil, false
97374}
97375
97376// AsMariaDBSource is the BasicCopySource implementation for VerticaSource.
97377func (vs VerticaSource) AsMariaDBSource() (*MariaDBSource, bool) {
97378	return nil, false
97379}
97380
97381// AsMagentoSource is the BasicCopySource implementation for VerticaSource.
97382func (vs VerticaSource) AsMagentoSource() (*MagentoSource, bool) {
97383	return nil, false
97384}
97385
97386// AsJiraSource is the BasicCopySource implementation for VerticaSource.
97387func (vs VerticaSource) AsJiraSource() (*JiraSource, bool) {
97388	return nil, false
97389}
97390
97391// AsImpalaSource is the BasicCopySource implementation for VerticaSource.
97392func (vs VerticaSource) AsImpalaSource() (*ImpalaSource, bool) {
97393	return nil, false
97394}
97395
97396// AsHubspotSource is the BasicCopySource implementation for VerticaSource.
97397func (vs VerticaSource) AsHubspotSource() (*HubspotSource, bool) {
97398	return nil, false
97399}
97400
97401// AsHiveSource is the BasicCopySource implementation for VerticaSource.
97402func (vs VerticaSource) AsHiveSource() (*HiveSource, bool) {
97403	return nil, false
97404}
97405
97406// AsHBaseSource is the BasicCopySource implementation for VerticaSource.
97407func (vs VerticaSource) AsHBaseSource() (*HBaseSource, bool) {
97408	return nil, false
97409}
97410
97411// AsGreenplumSource is the BasicCopySource implementation for VerticaSource.
97412func (vs VerticaSource) AsGreenplumSource() (*GreenplumSource, bool) {
97413	return nil, false
97414}
97415
97416// AsGoogleBigQuerySource is the BasicCopySource implementation for VerticaSource.
97417func (vs VerticaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
97418	return nil, false
97419}
97420
97421// AsEloquaSource is the BasicCopySource implementation for VerticaSource.
97422func (vs VerticaSource) AsEloquaSource() (*EloquaSource, bool) {
97423	return nil, false
97424}
97425
97426// AsDrillSource is the BasicCopySource implementation for VerticaSource.
97427func (vs VerticaSource) AsDrillSource() (*DrillSource, bool) {
97428	return nil, false
97429}
97430
97431// AsCouchbaseSource is the BasicCopySource implementation for VerticaSource.
97432func (vs VerticaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
97433	return nil, false
97434}
97435
97436// AsConcurSource is the BasicCopySource implementation for VerticaSource.
97437func (vs VerticaSource) AsConcurSource() (*ConcurSource, bool) {
97438	return nil, false
97439}
97440
97441// AsAzurePostgreSQLSource is the BasicCopySource implementation for VerticaSource.
97442func (vs VerticaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
97443	return nil, false
97444}
97445
97446// AsAmazonMWSSource is the BasicCopySource implementation for VerticaSource.
97447func (vs VerticaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
97448	return nil, false
97449}
97450
97451// AsHTTPSource is the BasicCopySource implementation for VerticaSource.
97452func (vs VerticaSource) AsHTTPSource() (*HTTPSource, bool) {
97453	return nil, false
97454}
97455
97456// AsAzureDataLakeStoreSource is the BasicCopySource implementation for VerticaSource.
97457func (vs VerticaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
97458	return nil, false
97459}
97460
97461// AsMongoDbSource is the BasicCopySource implementation for VerticaSource.
97462func (vs VerticaSource) AsMongoDbSource() (*MongoDbSource, bool) {
97463	return nil, false
97464}
97465
97466// AsCassandraSource is the BasicCopySource implementation for VerticaSource.
97467func (vs VerticaSource) AsCassandraSource() (*CassandraSource, bool) {
97468	return nil, false
97469}
97470
97471// AsWebSource is the BasicCopySource implementation for VerticaSource.
97472func (vs VerticaSource) AsWebSource() (*WebSource, bool) {
97473	return nil, false
97474}
97475
97476// AsOracleSource is the BasicCopySource implementation for VerticaSource.
97477func (vs VerticaSource) AsOracleSource() (*OracleSource, bool) {
97478	return nil, false
97479}
97480
97481// AsAzureMySQLSource is the BasicCopySource implementation for VerticaSource.
97482func (vs VerticaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
97483	return nil, false
97484}
97485
97486// AsHdfsSource is the BasicCopySource implementation for VerticaSource.
97487func (vs VerticaSource) AsHdfsSource() (*HdfsSource, bool) {
97488	return nil, false
97489}
97490
97491// AsFileSystemSource is the BasicCopySource implementation for VerticaSource.
97492func (vs VerticaSource) AsFileSystemSource() (*FileSystemSource, bool) {
97493	return nil, false
97494}
97495
97496// AsSQLDWSource is the BasicCopySource implementation for VerticaSource.
97497func (vs VerticaSource) AsSQLDWSource() (*SQLDWSource, bool) {
97498	return nil, false
97499}
97500
97501// AsSQLSource is the BasicCopySource implementation for VerticaSource.
97502func (vs VerticaSource) AsSQLSource() (*SQLSource, bool) {
97503	return nil, false
97504}
97505
97506// AsSapEccSource is the BasicCopySource implementation for VerticaSource.
97507func (vs VerticaSource) AsSapEccSource() (*SapEccSource, bool) {
97508	return nil, false
97509}
97510
97511// AsSapCloudForCustomerSource is the BasicCopySource implementation for VerticaSource.
97512func (vs VerticaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
97513	return nil, false
97514}
97515
97516// AsSalesforceSource is the BasicCopySource implementation for VerticaSource.
97517func (vs VerticaSource) AsSalesforceSource() (*SalesforceSource, bool) {
97518	return nil, false
97519}
97520
97521// AsRelationalSource is the BasicCopySource implementation for VerticaSource.
97522func (vs VerticaSource) AsRelationalSource() (*RelationalSource, bool) {
97523	return nil, false
97524}
97525
97526// AsDynamicsSource is the BasicCopySource implementation for VerticaSource.
97527func (vs VerticaSource) AsDynamicsSource() (*DynamicsSource, bool) {
97528	return nil, false
97529}
97530
97531// AsDocumentDbCollectionSource is the BasicCopySource implementation for VerticaSource.
97532func (vs VerticaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
97533	return nil, false
97534}
97535
97536// AsBlobSource is the BasicCopySource implementation for VerticaSource.
97537func (vs VerticaSource) AsBlobSource() (*BlobSource, bool) {
97538	return nil, false
97539}
97540
97541// AsAzureTableSource is the BasicCopySource implementation for VerticaSource.
97542func (vs VerticaSource) AsAzureTableSource() (*AzureTableSource, bool) {
97543	return nil, false
97544}
97545
97546// AsCopySource is the BasicCopySource implementation for VerticaSource.
97547func (vs VerticaSource) AsCopySource() (*CopySource, bool) {
97548	return nil, false
97549}
97550
97551// AsBasicCopySource is the BasicCopySource implementation for VerticaSource.
97552func (vs VerticaSource) AsBasicCopySource() (BasicCopySource, bool) {
97553	return &vs, true
97554}
97555
97556// UnmarshalJSON is the custom unmarshaler for VerticaSource struct.
97557func (vs *VerticaSource) UnmarshalJSON(body []byte) error {
97558	var m map[string]*json.RawMessage
97559	err := json.Unmarshal(body, &m)
97560	if err != nil {
97561		return err
97562	}
97563	for k, v := range m {
97564		switch k {
97565		case "query":
97566			if v != nil {
97567				var query interface{}
97568				err = json.Unmarshal(*v, &query)
97569				if err != nil {
97570					return err
97571				}
97572				vs.Query = query
97573			}
97574		default:
97575			if v != nil {
97576				var additionalProperties interface{}
97577				err = json.Unmarshal(*v, &additionalProperties)
97578				if err != nil {
97579					return err
97580				}
97581				if vs.AdditionalProperties == nil {
97582					vs.AdditionalProperties = make(map[string]interface{})
97583				}
97584				vs.AdditionalProperties[k] = additionalProperties
97585			}
97586		case "sourceRetryCount":
97587			if v != nil {
97588				var sourceRetryCount interface{}
97589				err = json.Unmarshal(*v, &sourceRetryCount)
97590				if err != nil {
97591					return err
97592				}
97593				vs.SourceRetryCount = sourceRetryCount
97594			}
97595		case "sourceRetryWait":
97596			if v != nil {
97597				var sourceRetryWait interface{}
97598				err = json.Unmarshal(*v, &sourceRetryWait)
97599				if err != nil {
97600					return err
97601				}
97602				vs.SourceRetryWait = sourceRetryWait
97603			}
97604		case "type":
97605			if v != nil {
97606				var typeVar TypeBasicCopySource
97607				err = json.Unmarshal(*v, &typeVar)
97608				if err != nil {
97609					return err
97610				}
97611				vs.Type = typeVar
97612			}
97613		}
97614	}
97615
97616	return nil
97617}
97618
97619// VerticaTableDataset vertica dataset.
97620type VerticaTableDataset struct {
97621	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
97622	AdditionalProperties map[string]interface{} `json:""`
97623	// Description - Dataset description.
97624	Description *string `json:"description,omitempty"`
97625	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
97626	Structure interface{} `json:"structure,omitempty"`
97627	// LinkedServiceName - Linked service reference.
97628	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
97629	// Parameters - Parameters for dataset.
97630	Parameters map[string]*ParameterSpecification `json:"parameters"`
97631	// Annotations - List of tags that can be used for describing the Dataset.
97632	Annotations *[]interface{} `json:"annotations,omitempty"`
97633	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
97634	Type TypeBasicDataset `json:"type,omitempty"`
97635}
97636
97637// MarshalJSON is the custom marshaler for VerticaTableDataset.
97638func (vtd VerticaTableDataset) MarshalJSON() ([]byte, error) {
97639	vtd.Type = TypeVerticaTable
97640	objectMap := make(map[string]interface{})
97641	if vtd.Description != nil {
97642		objectMap["description"] = vtd.Description
97643	}
97644	if vtd.Structure != nil {
97645		objectMap["structure"] = vtd.Structure
97646	}
97647	if vtd.LinkedServiceName != nil {
97648		objectMap["linkedServiceName"] = vtd.LinkedServiceName
97649	}
97650	if vtd.Parameters != nil {
97651		objectMap["parameters"] = vtd.Parameters
97652	}
97653	if vtd.Annotations != nil {
97654		objectMap["annotations"] = vtd.Annotations
97655	}
97656	if vtd.Type != "" {
97657		objectMap["type"] = vtd.Type
97658	}
97659	for k, v := range vtd.AdditionalProperties {
97660		objectMap[k] = v
97661	}
97662	return json.Marshal(objectMap)
97663}
97664
97665// AsResponsysObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97666func (vtd VerticaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
97667	return nil, false
97668}
97669
97670// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97671func (vtd VerticaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
97672	return nil, false
97673}
97674
97675// AsVerticaTableDataset is the BasicDataset implementation for VerticaTableDataset.
97676func (vtd VerticaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
97677	return &vtd, true
97678}
97679
97680// AsNetezzaTableDataset is the BasicDataset implementation for VerticaTableDataset.
97681func (vtd VerticaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
97682	return nil, false
97683}
97684
97685// AsZohoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97686func (vtd VerticaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
97687	return nil, false
97688}
97689
97690// AsXeroObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97691func (vtd VerticaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
97692	return nil, false
97693}
97694
97695// AsSquareObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97696func (vtd VerticaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
97697	return nil, false
97698}
97699
97700// AsSparkObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97701func (vtd VerticaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
97702	return nil, false
97703}
97704
97705// AsShopifyObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97706func (vtd VerticaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
97707	return nil, false
97708}
97709
97710// AsServiceNowObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97711func (vtd VerticaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
97712	return nil, false
97713}
97714
97715// AsQuickBooksObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97716func (vtd VerticaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
97717	return nil, false
97718}
97719
97720// AsPrestoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97721func (vtd VerticaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
97722	return nil, false
97723}
97724
97725// AsPhoenixObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97726func (vtd VerticaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
97727	return nil, false
97728}
97729
97730// AsPaypalObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97731func (vtd VerticaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
97732	return nil, false
97733}
97734
97735// AsMarketoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97736func (vtd VerticaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
97737	return nil, false
97738}
97739
97740// AsMariaDBTableDataset is the BasicDataset implementation for VerticaTableDataset.
97741func (vtd VerticaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
97742	return nil, false
97743}
97744
97745// AsMagentoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97746func (vtd VerticaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
97747	return nil, false
97748}
97749
97750// AsJiraObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97751func (vtd VerticaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
97752	return nil, false
97753}
97754
97755// AsImpalaObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97756func (vtd VerticaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
97757	return nil, false
97758}
97759
97760// AsHubspotObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97761func (vtd VerticaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
97762	return nil, false
97763}
97764
97765// AsHiveObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97766func (vtd VerticaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
97767	return nil, false
97768}
97769
97770// AsHBaseObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97771func (vtd VerticaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
97772	return nil, false
97773}
97774
97775// AsGreenplumTableDataset is the BasicDataset implementation for VerticaTableDataset.
97776func (vtd VerticaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
97777	return nil, false
97778}
97779
97780// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97781func (vtd VerticaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
97782	return nil, false
97783}
97784
97785// AsEloquaObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97786func (vtd VerticaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
97787	return nil, false
97788}
97789
97790// AsDrillTableDataset is the BasicDataset implementation for VerticaTableDataset.
97791func (vtd VerticaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
97792	return nil, false
97793}
97794
97795// AsCouchbaseTableDataset is the BasicDataset implementation for VerticaTableDataset.
97796func (vtd VerticaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
97797	return nil, false
97798}
97799
97800// AsConcurObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97801func (vtd VerticaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
97802	return nil, false
97803}
97804
97805// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
97806func (vtd VerticaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
97807	return nil, false
97808}
97809
97810// AsAmazonMWSObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97811func (vtd VerticaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
97812	return nil, false
97813}
97814
97815// AsHTTPDataset is the BasicDataset implementation for VerticaTableDataset.
97816func (vtd VerticaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
97817	return nil, false
97818}
97819
97820// AsAzureSearchIndexDataset is the BasicDataset implementation for VerticaTableDataset.
97821func (vtd VerticaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
97822	return nil, false
97823}
97824
97825// AsWebTableDataset is the BasicDataset implementation for VerticaTableDataset.
97826func (vtd VerticaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
97827	return nil, false
97828}
97829
97830// AsSQLServerTableDataset is the BasicDataset implementation for VerticaTableDataset.
97831func (vtd VerticaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
97832	return nil, false
97833}
97834
97835// AsSapEccResourceDataset is the BasicDataset implementation for VerticaTableDataset.
97836func (vtd VerticaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
97837	return nil, false
97838}
97839
97840// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for VerticaTableDataset.
97841func (vtd VerticaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
97842	return nil, false
97843}
97844
97845// AsSalesforceObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97846func (vtd VerticaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
97847	return nil, false
97848}
97849
97850// AsRelationalTableDataset is the BasicDataset implementation for VerticaTableDataset.
97851func (vtd VerticaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
97852	return nil, false
97853}
97854
97855// AsAzureMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
97856func (vtd VerticaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
97857	return nil, false
97858}
97859
97860// AsOracleTableDataset is the BasicDataset implementation for VerticaTableDataset.
97861func (vtd VerticaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
97862	return nil, false
97863}
97864
97865// AsODataResourceDataset is the BasicDataset implementation for VerticaTableDataset.
97866func (vtd VerticaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
97867	return nil, false
97868}
97869
97870// AsMongoDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset.
97871func (vtd VerticaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
97872	return nil, false
97873}
97874
97875// AsFileShareDataset is the BasicDataset implementation for VerticaTableDataset.
97876func (vtd VerticaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
97877	return nil, false
97878}
97879
97880// AsAzureDataLakeStoreDataset is the BasicDataset implementation for VerticaTableDataset.
97881func (vtd VerticaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
97882	return nil, false
97883}
97884
97885// AsDynamicsEntityDataset is the BasicDataset implementation for VerticaTableDataset.
97886func (vtd VerticaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
97887	return nil, false
97888}
97889
97890// AsDocumentDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset.
97891func (vtd VerticaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
97892	return nil, false
97893}
97894
97895// AsCustomDataset is the BasicDataset implementation for VerticaTableDataset.
97896func (vtd VerticaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
97897	return nil, false
97898}
97899
97900// AsCassandraTableDataset is the BasicDataset implementation for VerticaTableDataset.
97901func (vtd VerticaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
97902	return nil, false
97903}
97904
97905// AsAzureSQLDWTableDataset is the BasicDataset implementation for VerticaTableDataset.
97906func (vtd VerticaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
97907	return nil, false
97908}
97909
97910// AsAzureSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
97911func (vtd VerticaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
97912	return nil, false
97913}
97914
97915// AsAzureTableDataset is the BasicDataset implementation for VerticaTableDataset.
97916func (vtd VerticaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
97917	return nil, false
97918}
97919
97920// AsAzureBlobDataset is the BasicDataset implementation for VerticaTableDataset.
97921func (vtd VerticaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
97922	return nil, false
97923}
97924
97925// AsAmazonS3Dataset is the BasicDataset implementation for VerticaTableDataset.
97926func (vtd VerticaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
97927	return nil, false
97928}
97929
97930// AsDataset is the BasicDataset implementation for VerticaTableDataset.
97931func (vtd VerticaTableDataset) AsDataset() (*Dataset, bool) {
97932	return nil, false
97933}
97934
97935// AsBasicDataset is the BasicDataset implementation for VerticaTableDataset.
97936func (vtd VerticaTableDataset) AsBasicDataset() (BasicDataset, bool) {
97937	return &vtd, true
97938}
97939
97940// UnmarshalJSON is the custom unmarshaler for VerticaTableDataset struct.
97941func (vtd *VerticaTableDataset) UnmarshalJSON(body []byte) error {
97942	var m map[string]*json.RawMessage
97943	err := json.Unmarshal(body, &m)
97944	if err != nil {
97945		return err
97946	}
97947	for k, v := range m {
97948		switch k {
97949		default:
97950			if v != nil {
97951				var additionalProperties interface{}
97952				err = json.Unmarshal(*v, &additionalProperties)
97953				if err != nil {
97954					return err
97955				}
97956				if vtd.AdditionalProperties == nil {
97957					vtd.AdditionalProperties = make(map[string]interface{})
97958				}
97959				vtd.AdditionalProperties[k] = additionalProperties
97960			}
97961		case "description":
97962			if v != nil {
97963				var description string
97964				err = json.Unmarshal(*v, &description)
97965				if err != nil {
97966					return err
97967				}
97968				vtd.Description = &description
97969			}
97970		case "structure":
97971			if v != nil {
97972				var structure interface{}
97973				err = json.Unmarshal(*v, &structure)
97974				if err != nil {
97975					return err
97976				}
97977				vtd.Structure = structure
97978			}
97979		case "linkedServiceName":
97980			if v != nil {
97981				var linkedServiceName LinkedServiceReference
97982				err = json.Unmarshal(*v, &linkedServiceName)
97983				if err != nil {
97984					return err
97985				}
97986				vtd.LinkedServiceName = &linkedServiceName
97987			}
97988		case "parameters":
97989			if v != nil {
97990				var parameters map[string]*ParameterSpecification
97991				err = json.Unmarshal(*v, &parameters)
97992				if err != nil {
97993					return err
97994				}
97995				vtd.Parameters = parameters
97996			}
97997		case "annotations":
97998			if v != nil {
97999				var annotations []interface{}
98000				err = json.Unmarshal(*v, &annotations)
98001				if err != nil {
98002					return err
98003				}
98004				vtd.Annotations = &annotations
98005			}
98006		case "type":
98007			if v != nil {
98008				var typeVar TypeBasicDataset
98009				err = json.Unmarshal(*v, &typeVar)
98010				if err != nil {
98011					return err
98012				}
98013				vtd.Type = typeVar
98014			}
98015		}
98016	}
98017
98018	return nil
98019}
98020
98021// WaitActivity this activity suspends pipeline execution for the specified interval.
98022type WaitActivity struct {
98023	// WaitActivityTypeProperties - Wait activity properties.
98024	*WaitActivityTypeProperties `json:"typeProperties,omitempty"`
98025	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98026	AdditionalProperties map[string]interface{} `json:""`
98027	// Name - Activity name.
98028	Name *string `json:"name,omitempty"`
98029	// Description - Activity description.
98030	Description *string `json:"description,omitempty"`
98031	// DependsOn - Activity depends on condition.
98032	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
98033	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
98034	Type TypeBasicActivity `json:"type,omitempty"`
98035}
98036
98037// MarshalJSON is the custom marshaler for WaitActivity.
98038func (wa WaitActivity) MarshalJSON() ([]byte, error) {
98039	wa.Type = TypeWait
98040	objectMap := make(map[string]interface{})
98041	if wa.WaitActivityTypeProperties != nil {
98042		objectMap["typeProperties"] = wa.WaitActivityTypeProperties
98043	}
98044	if wa.Name != nil {
98045		objectMap["name"] = wa.Name
98046	}
98047	if wa.Description != nil {
98048		objectMap["description"] = wa.Description
98049	}
98050	if wa.DependsOn != nil {
98051		objectMap["dependsOn"] = wa.DependsOn
98052	}
98053	if wa.Type != "" {
98054		objectMap["type"] = wa.Type
98055	}
98056	for k, v := range wa.AdditionalProperties {
98057		objectMap[k] = v
98058	}
98059	return json.Marshal(objectMap)
98060}
98061
98062// AsDatabricksNotebookActivity is the BasicActivity implementation for WaitActivity.
98063func (wa WaitActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
98064	return nil, false
98065}
98066
98067// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WaitActivity.
98068func (wa WaitActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
98069	return nil, false
98070}
98071
98072// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WaitActivity.
98073func (wa WaitActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
98074	return nil, false
98075}
98076
98077// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WaitActivity.
98078func (wa WaitActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
98079	return nil, false
98080}
98081
98082// AsGetMetadataActivity is the BasicActivity implementation for WaitActivity.
98083func (wa WaitActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
98084	return nil, false
98085}
98086
98087// AsWebActivity is the BasicActivity implementation for WaitActivity.
98088func (wa WaitActivity) AsWebActivity() (*WebActivity, bool) {
98089	return nil, false
98090}
98091
98092// AsLookupActivity is the BasicActivity implementation for WaitActivity.
98093func (wa WaitActivity) AsLookupActivity() (*LookupActivity, bool) {
98094	return nil, false
98095}
98096
98097// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WaitActivity.
98098func (wa WaitActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
98099	return nil, false
98100}
98101
98102// AsCustomActivity is the BasicActivity implementation for WaitActivity.
98103func (wa WaitActivity) AsCustomActivity() (*CustomActivity, bool) {
98104	return nil, false
98105}
98106
98107// AsExecuteSSISPackageActivity is the BasicActivity implementation for WaitActivity.
98108func (wa WaitActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
98109	return nil, false
98110}
98111
98112// AsHDInsightSparkActivity is the BasicActivity implementation for WaitActivity.
98113func (wa WaitActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
98114	return nil, false
98115}
98116
98117// AsHDInsightStreamingActivity is the BasicActivity implementation for WaitActivity.
98118func (wa WaitActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
98119	return nil, false
98120}
98121
98122// AsHDInsightMapReduceActivity is the BasicActivity implementation for WaitActivity.
98123func (wa WaitActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
98124	return nil, false
98125}
98126
98127// AsHDInsightPigActivity is the BasicActivity implementation for WaitActivity.
98128func (wa WaitActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
98129	return nil, false
98130}
98131
98132// AsHDInsightHiveActivity is the BasicActivity implementation for WaitActivity.
98133func (wa WaitActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
98134	return nil, false
98135}
98136
98137// AsCopyActivity is the BasicActivity implementation for WaitActivity.
98138func (wa WaitActivity) AsCopyActivity() (*CopyActivity, bool) {
98139	return nil, false
98140}
98141
98142// AsExecutionActivity is the BasicActivity implementation for WaitActivity.
98143func (wa WaitActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
98144	return nil, false
98145}
98146
98147// AsBasicExecutionActivity is the BasicActivity implementation for WaitActivity.
98148func (wa WaitActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
98149	return nil, false
98150}
98151
98152// AsFilterActivity is the BasicActivity implementation for WaitActivity.
98153func (wa WaitActivity) AsFilterActivity() (*FilterActivity, bool) {
98154	return nil, false
98155}
98156
98157// AsUntilActivity is the BasicActivity implementation for WaitActivity.
98158func (wa WaitActivity) AsUntilActivity() (*UntilActivity, bool) {
98159	return nil, false
98160}
98161
98162// AsWaitActivity is the BasicActivity implementation for WaitActivity.
98163func (wa WaitActivity) AsWaitActivity() (*WaitActivity, bool) {
98164	return &wa, true
98165}
98166
98167// AsForEachActivity is the BasicActivity implementation for WaitActivity.
98168func (wa WaitActivity) AsForEachActivity() (*ForEachActivity, bool) {
98169	return nil, false
98170}
98171
98172// AsIfConditionActivity is the BasicActivity implementation for WaitActivity.
98173func (wa WaitActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
98174	return nil, false
98175}
98176
98177// AsExecutePipelineActivity is the BasicActivity implementation for WaitActivity.
98178func (wa WaitActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
98179	return nil, false
98180}
98181
98182// AsControlActivity is the BasicActivity implementation for WaitActivity.
98183func (wa WaitActivity) AsControlActivity() (*ControlActivity, bool) {
98184	return nil, false
98185}
98186
98187// AsBasicControlActivity is the BasicActivity implementation for WaitActivity.
98188func (wa WaitActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
98189	return &wa, true
98190}
98191
98192// AsActivity is the BasicActivity implementation for WaitActivity.
98193func (wa WaitActivity) AsActivity() (*Activity, bool) {
98194	return nil, false
98195}
98196
98197// AsBasicActivity is the BasicActivity implementation for WaitActivity.
98198func (wa WaitActivity) AsBasicActivity() (BasicActivity, bool) {
98199	return &wa, true
98200}
98201
98202// UnmarshalJSON is the custom unmarshaler for WaitActivity struct.
98203func (wa *WaitActivity) UnmarshalJSON(body []byte) error {
98204	var m map[string]*json.RawMessage
98205	err := json.Unmarshal(body, &m)
98206	if err != nil {
98207		return err
98208	}
98209	for k, v := range m {
98210		switch k {
98211		case "typeProperties":
98212			if v != nil {
98213				var waitActivityTypeProperties WaitActivityTypeProperties
98214				err = json.Unmarshal(*v, &waitActivityTypeProperties)
98215				if err != nil {
98216					return err
98217				}
98218				wa.WaitActivityTypeProperties = &waitActivityTypeProperties
98219			}
98220		default:
98221			if v != nil {
98222				var additionalProperties interface{}
98223				err = json.Unmarshal(*v, &additionalProperties)
98224				if err != nil {
98225					return err
98226				}
98227				if wa.AdditionalProperties == nil {
98228					wa.AdditionalProperties = make(map[string]interface{})
98229				}
98230				wa.AdditionalProperties[k] = additionalProperties
98231			}
98232		case "name":
98233			if v != nil {
98234				var name string
98235				err = json.Unmarshal(*v, &name)
98236				if err != nil {
98237					return err
98238				}
98239				wa.Name = &name
98240			}
98241		case "description":
98242			if v != nil {
98243				var description string
98244				err = json.Unmarshal(*v, &description)
98245				if err != nil {
98246					return err
98247				}
98248				wa.Description = &description
98249			}
98250		case "dependsOn":
98251			if v != nil {
98252				var dependsOn []ActivityDependency
98253				err = json.Unmarshal(*v, &dependsOn)
98254				if err != nil {
98255					return err
98256				}
98257				wa.DependsOn = &dependsOn
98258			}
98259		case "type":
98260			if v != nil {
98261				var typeVar TypeBasicActivity
98262				err = json.Unmarshal(*v, &typeVar)
98263				if err != nil {
98264					return err
98265				}
98266				wa.Type = typeVar
98267			}
98268		}
98269	}
98270
98271	return nil
98272}
98273
98274// WaitActivityTypeProperties wait activity properties.
98275type WaitActivityTypeProperties struct {
98276	// WaitTimeInSeconds - Duration in seconds.
98277	WaitTimeInSeconds *int32 `json:"waitTimeInSeconds,omitempty"`
98278}
98279
98280// WebActivity web activity.
98281type WebActivity struct {
98282	// WebActivityTypeProperties - Web activity properties.
98283	*WebActivityTypeProperties `json:"typeProperties,omitempty"`
98284	// LinkedServiceName - Linked service reference.
98285	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
98286	// Policy - Activity policy.
98287	Policy *ActivityPolicy `json:"policy,omitempty"`
98288	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98289	AdditionalProperties map[string]interface{} `json:""`
98290	// Name - Activity name.
98291	Name *string `json:"name,omitempty"`
98292	// Description - Activity description.
98293	Description *string `json:"description,omitempty"`
98294	// DependsOn - Activity depends on condition.
98295	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
98296	// Type - Possible values include: 'TypeActivity', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeFilter', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
98297	Type TypeBasicActivity `json:"type,omitempty"`
98298}
98299
98300// MarshalJSON is the custom marshaler for WebActivity.
98301func (wa WebActivity) MarshalJSON() ([]byte, error) {
98302	wa.Type = TypeWebActivity
98303	objectMap := make(map[string]interface{})
98304	if wa.WebActivityTypeProperties != nil {
98305		objectMap["typeProperties"] = wa.WebActivityTypeProperties
98306	}
98307	if wa.LinkedServiceName != nil {
98308		objectMap["linkedServiceName"] = wa.LinkedServiceName
98309	}
98310	if wa.Policy != nil {
98311		objectMap["policy"] = wa.Policy
98312	}
98313	if wa.Name != nil {
98314		objectMap["name"] = wa.Name
98315	}
98316	if wa.Description != nil {
98317		objectMap["description"] = wa.Description
98318	}
98319	if wa.DependsOn != nil {
98320		objectMap["dependsOn"] = wa.DependsOn
98321	}
98322	if wa.Type != "" {
98323		objectMap["type"] = wa.Type
98324	}
98325	for k, v := range wa.AdditionalProperties {
98326		objectMap[k] = v
98327	}
98328	return json.Marshal(objectMap)
98329}
98330
98331// AsDatabricksNotebookActivity is the BasicActivity implementation for WebActivity.
98332func (wa WebActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
98333	return nil, false
98334}
98335
98336// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WebActivity.
98337func (wa WebActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
98338	return nil, false
98339}
98340
98341// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebActivity.
98342func (wa WebActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
98343	return nil, false
98344}
98345
98346// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WebActivity.
98347func (wa WebActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
98348	return nil, false
98349}
98350
98351// AsGetMetadataActivity is the BasicActivity implementation for WebActivity.
98352func (wa WebActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
98353	return nil, false
98354}
98355
98356// AsWebActivity is the BasicActivity implementation for WebActivity.
98357func (wa WebActivity) AsWebActivity() (*WebActivity, bool) {
98358	return &wa, true
98359}
98360
98361// AsLookupActivity is the BasicActivity implementation for WebActivity.
98362func (wa WebActivity) AsLookupActivity() (*LookupActivity, bool) {
98363	return nil, false
98364}
98365
98366// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WebActivity.
98367func (wa WebActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
98368	return nil, false
98369}
98370
98371// AsCustomActivity is the BasicActivity implementation for WebActivity.
98372func (wa WebActivity) AsCustomActivity() (*CustomActivity, bool) {
98373	return nil, false
98374}
98375
98376// AsExecuteSSISPackageActivity is the BasicActivity implementation for WebActivity.
98377func (wa WebActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
98378	return nil, false
98379}
98380
98381// AsHDInsightSparkActivity is the BasicActivity implementation for WebActivity.
98382func (wa WebActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
98383	return nil, false
98384}
98385
98386// AsHDInsightStreamingActivity is the BasicActivity implementation for WebActivity.
98387func (wa WebActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
98388	return nil, false
98389}
98390
98391// AsHDInsightMapReduceActivity is the BasicActivity implementation for WebActivity.
98392func (wa WebActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
98393	return nil, false
98394}
98395
98396// AsHDInsightPigActivity is the BasicActivity implementation for WebActivity.
98397func (wa WebActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
98398	return nil, false
98399}
98400
98401// AsHDInsightHiveActivity is the BasicActivity implementation for WebActivity.
98402func (wa WebActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
98403	return nil, false
98404}
98405
98406// AsCopyActivity is the BasicActivity implementation for WebActivity.
98407func (wa WebActivity) AsCopyActivity() (*CopyActivity, bool) {
98408	return nil, false
98409}
98410
98411// AsExecutionActivity is the BasicActivity implementation for WebActivity.
98412func (wa WebActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
98413	return nil, false
98414}
98415
98416// AsBasicExecutionActivity is the BasicActivity implementation for WebActivity.
98417func (wa WebActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
98418	return &wa, true
98419}
98420
98421// AsFilterActivity is the BasicActivity implementation for WebActivity.
98422func (wa WebActivity) AsFilterActivity() (*FilterActivity, bool) {
98423	return nil, false
98424}
98425
98426// AsUntilActivity is the BasicActivity implementation for WebActivity.
98427func (wa WebActivity) AsUntilActivity() (*UntilActivity, bool) {
98428	return nil, false
98429}
98430
98431// AsWaitActivity is the BasicActivity implementation for WebActivity.
98432func (wa WebActivity) AsWaitActivity() (*WaitActivity, bool) {
98433	return nil, false
98434}
98435
98436// AsForEachActivity is the BasicActivity implementation for WebActivity.
98437func (wa WebActivity) AsForEachActivity() (*ForEachActivity, bool) {
98438	return nil, false
98439}
98440
98441// AsIfConditionActivity is the BasicActivity implementation for WebActivity.
98442func (wa WebActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
98443	return nil, false
98444}
98445
98446// AsExecutePipelineActivity is the BasicActivity implementation for WebActivity.
98447func (wa WebActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
98448	return nil, false
98449}
98450
98451// AsControlActivity is the BasicActivity implementation for WebActivity.
98452func (wa WebActivity) AsControlActivity() (*ControlActivity, bool) {
98453	return nil, false
98454}
98455
98456// AsBasicControlActivity is the BasicActivity implementation for WebActivity.
98457func (wa WebActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
98458	return nil, false
98459}
98460
98461// AsActivity is the BasicActivity implementation for WebActivity.
98462func (wa WebActivity) AsActivity() (*Activity, bool) {
98463	return nil, false
98464}
98465
98466// AsBasicActivity is the BasicActivity implementation for WebActivity.
98467func (wa WebActivity) AsBasicActivity() (BasicActivity, bool) {
98468	return &wa, true
98469}
98470
98471// UnmarshalJSON is the custom unmarshaler for WebActivity struct.
98472func (wa *WebActivity) UnmarshalJSON(body []byte) error {
98473	var m map[string]*json.RawMessage
98474	err := json.Unmarshal(body, &m)
98475	if err != nil {
98476		return err
98477	}
98478	for k, v := range m {
98479		switch k {
98480		case "typeProperties":
98481			if v != nil {
98482				var webActivityTypeProperties WebActivityTypeProperties
98483				err = json.Unmarshal(*v, &webActivityTypeProperties)
98484				if err != nil {
98485					return err
98486				}
98487				wa.WebActivityTypeProperties = &webActivityTypeProperties
98488			}
98489		case "linkedServiceName":
98490			if v != nil {
98491				var linkedServiceName LinkedServiceReference
98492				err = json.Unmarshal(*v, &linkedServiceName)
98493				if err != nil {
98494					return err
98495				}
98496				wa.LinkedServiceName = &linkedServiceName
98497			}
98498		case "policy":
98499			if v != nil {
98500				var policy ActivityPolicy
98501				err = json.Unmarshal(*v, &policy)
98502				if err != nil {
98503					return err
98504				}
98505				wa.Policy = &policy
98506			}
98507		default:
98508			if v != nil {
98509				var additionalProperties interface{}
98510				err = json.Unmarshal(*v, &additionalProperties)
98511				if err != nil {
98512					return err
98513				}
98514				if wa.AdditionalProperties == nil {
98515					wa.AdditionalProperties = make(map[string]interface{})
98516				}
98517				wa.AdditionalProperties[k] = additionalProperties
98518			}
98519		case "name":
98520			if v != nil {
98521				var name string
98522				err = json.Unmarshal(*v, &name)
98523				if err != nil {
98524					return err
98525				}
98526				wa.Name = &name
98527			}
98528		case "description":
98529			if v != nil {
98530				var description string
98531				err = json.Unmarshal(*v, &description)
98532				if err != nil {
98533					return err
98534				}
98535				wa.Description = &description
98536			}
98537		case "dependsOn":
98538			if v != nil {
98539				var dependsOn []ActivityDependency
98540				err = json.Unmarshal(*v, &dependsOn)
98541				if err != nil {
98542					return err
98543				}
98544				wa.DependsOn = &dependsOn
98545			}
98546		case "type":
98547			if v != nil {
98548				var typeVar TypeBasicActivity
98549				err = json.Unmarshal(*v, &typeVar)
98550				if err != nil {
98551					return err
98552				}
98553				wa.Type = typeVar
98554			}
98555		}
98556	}
98557
98558	return nil
98559}
98560
98561// WebActivityAuthentication web activity authentication properties.
98562type WebActivityAuthentication struct {
98563	// Type - Web activity authentication (Basic/ClientCertificate/MSI)
98564	Type *string `json:"type,omitempty"`
98565	// Pfx - Base64-encoded contents of a PFX file.
98566	Pfx *SecureString `json:"pfx,omitempty"`
98567	// Username - Web activity authentication user name for basic authentication.
98568	Username *string `json:"username,omitempty"`
98569	// Password - Password for the PFX file or basic authentication.
98570	Password *SecureString `json:"password,omitempty"`
98571	// Resource - Resource for which Azure Auth token will be requested when using MSI Authentication.
98572	Resource *string `json:"resource,omitempty"`
98573}
98574
98575// WebActivityTypeProperties web activity type properties.
98576type WebActivityTypeProperties struct {
98577	// Method - Rest API method for target endpoint. Possible values include: 'GET', 'POST', 'PUT', 'DELETE'
98578	Method WebActivityMethod `json:"method,omitempty"`
98579	// URL - Web activity target endpoint and path. Type: string (or Expression with resultType string).
98580	URL interface{} `json:"url,omitempty"`
98581	// Headers - Represents the headers that will be sent to the request. For example, to set the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Type: string (or Expression with resultType string).
98582	Headers interface{} `json:"headers,omitempty"`
98583	// Body - Represents the payload that will be sent to the endpoint. Required for POST/PUT method, not allowed for GET method Type: string (or Expression with resultType string).
98584	Body interface{} `json:"body,omitempty"`
98585	// Authentication - Authentication method used for calling the endpoint.
98586	Authentication *WebActivityAuthentication `json:"authentication,omitempty"`
98587	// Datasets - List of datasets passed to web endpoint.
98588	Datasets *[]DatasetReference `json:"datasets,omitempty"`
98589	// LinkedServices - List of linked services passed to web endpoint.
98590	LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"`
98591}
98592
98593// WebAnonymousAuthentication a WebLinkedService that uses anonymous authentication to communicate with an
98594// HTTP endpoint.
98595type WebAnonymousAuthentication struct {
98596	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
98597	URL interface{} `json:"url,omitempty"`
98598	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
98599	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
98600}
98601
98602// MarshalJSON is the custom marshaler for WebAnonymousAuthentication.
98603func (waa WebAnonymousAuthentication) MarshalJSON() ([]byte, error) {
98604	waa.AuthenticationType = AuthenticationTypeAnonymous
98605	objectMap := make(map[string]interface{})
98606	if waa.URL != nil {
98607		objectMap["url"] = waa.URL
98608	}
98609	if waa.AuthenticationType != "" {
98610		objectMap["authenticationType"] = waa.AuthenticationType
98611	}
98612	return json.Marshal(objectMap)
98613}
98614
98615// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98616func (waa WebAnonymousAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
98617	return nil, false
98618}
98619
98620// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98621func (waa WebAnonymousAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
98622	return nil, false
98623}
98624
98625// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98626func (waa WebAnonymousAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
98627	return &waa, true
98628}
98629
98630// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98631func (waa WebAnonymousAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
98632	return nil, false
98633}
98634
98635// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98636func (waa WebAnonymousAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
98637	return &waa, true
98638}
98639
98640// WebBasicAuthentication a WebLinkedService that uses basic authentication to communicate with an HTTP
98641// endpoint.
98642type WebBasicAuthentication struct {
98643	// Username - User name for Basic authentication. Type: string (or Expression with resultType string).
98644	Username interface{} `json:"username,omitempty"`
98645	// Password - The password for Basic authentication.
98646	Password BasicSecretBase `json:"password,omitempty"`
98647	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
98648	URL interface{} `json:"url,omitempty"`
98649	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
98650	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
98651}
98652
98653// MarshalJSON is the custom marshaler for WebBasicAuthentication.
98654func (wba WebBasicAuthentication) MarshalJSON() ([]byte, error) {
98655	wba.AuthenticationType = AuthenticationTypeBasic
98656	objectMap := make(map[string]interface{})
98657	if wba.Username != nil {
98658		objectMap["username"] = wba.Username
98659	}
98660	objectMap["password"] = wba.Password
98661	if wba.URL != nil {
98662		objectMap["url"] = wba.URL
98663	}
98664	if wba.AuthenticationType != "" {
98665		objectMap["authenticationType"] = wba.AuthenticationType
98666	}
98667	return json.Marshal(objectMap)
98668}
98669
98670// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98671func (wba WebBasicAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
98672	return nil, false
98673}
98674
98675// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98676func (wba WebBasicAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
98677	return &wba, true
98678}
98679
98680// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98681func (wba WebBasicAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
98682	return nil, false
98683}
98684
98685// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98686func (wba WebBasicAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
98687	return nil, false
98688}
98689
98690// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98691func (wba WebBasicAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
98692	return &wba, true
98693}
98694
98695// UnmarshalJSON is the custom unmarshaler for WebBasicAuthentication struct.
98696func (wba *WebBasicAuthentication) UnmarshalJSON(body []byte) error {
98697	var m map[string]*json.RawMessage
98698	err := json.Unmarshal(body, &m)
98699	if err != nil {
98700		return err
98701	}
98702	for k, v := range m {
98703		switch k {
98704		case "username":
98705			if v != nil {
98706				var username interface{}
98707				err = json.Unmarshal(*v, &username)
98708				if err != nil {
98709					return err
98710				}
98711				wba.Username = username
98712			}
98713		case "password":
98714			if v != nil {
98715				password, err := unmarshalBasicSecretBase(*v)
98716				if err != nil {
98717					return err
98718				}
98719				wba.Password = password
98720			}
98721		case "url":
98722			if v != nil {
98723				var URL interface{}
98724				err = json.Unmarshal(*v, &URL)
98725				if err != nil {
98726					return err
98727				}
98728				wba.URL = URL
98729			}
98730		case "authenticationType":
98731			if v != nil {
98732				var authenticationType AuthenticationType
98733				err = json.Unmarshal(*v, &authenticationType)
98734				if err != nil {
98735					return err
98736				}
98737				wba.AuthenticationType = authenticationType
98738			}
98739		}
98740	}
98741
98742	return nil
98743}
98744
98745// WebClientCertificateAuthentication a WebLinkedService that uses client certificate based authentication
98746// to communicate with an HTTP endpoint. This scheme follows mutual authentication; the server must also
98747// provide valid credentials to the client.
98748type WebClientCertificateAuthentication struct {
98749	// Pfx - Base64-encoded contents of a PFX file.
98750	Pfx BasicSecretBase `json:"pfx,omitempty"`
98751	// Password - Password for the PFX file.
98752	Password BasicSecretBase `json:"password,omitempty"`
98753	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
98754	URL interface{} `json:"url,omitempty"`
98755	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
98756	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
98757}
98758
98759// MarshalJSON is the custom marshaler for WebClientCertificateAuthentication.
98760func (wcca WebClientCertificateAuthentication) MarshalJSON() ([]byte, error) {
98761	wcca.AuthenticationType = AuthenticationTypeClientCertificate
98762	objectMap := make(map[string]interface{})
98763	objectMap["pfx"] = wcca.Pfx
98764	objectMap["password"] = wcca.Password
98765	if wcca.URL != nil {
98766		objectMap["url"] = wcca.URL
98767	}
98768	if wcca.AuthenticationType != "" {
98769		objectMap["authenticationType"] = wcca.AuthenticationType
98770	}
98771	return json.Marshal(objectMap)
98772}
98773
98774// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98775func (wcca WebClientCertificateAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
98776	return &wcca, true
98777}
98778
98779// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98780func (wcca WebClientCertificateAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
98781	return nil, false
98782}
98783
98784// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98785func (wcca WebClientCertificateAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
98786	return nil, false
98787}
98788
98789// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98790func (wcca WebClientCertificateAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
98791	return nil, false
98792}
98793
98794// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98795func (wcca WebClientCertificateAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
98796	return &wcca, true
98797}
98798
98799// UnmarshalJSON is the custom unmarshaler for WebClientCertificateAuthentication struct.
98800func (wcca *WebClientCertificateAuthentication) UnmarshalJSON(body []byte) error {
98801	var m map[string]*json.RawMessage
98802	err := json.Unmarshal(body, &m)
98803	if err != nil {
98804		return err
98805	}
98806	for k, v := range m {
98807		switch k {
98808		case "pfx":
98809			if v != nil {
98810				pfx, err := unmarshalBasicSecretBase(*v)
98811				if err != nil {
98812					return err
98813				}
98814				wcca.Pfx = pfx
98815			}
98816		case "password":
98817			if v != nil {
98818				password, err := unmarshalBasicSecretBase(*v)
98819				if err != nil {
98820					return err
98821				}
98822				wcca.Password = password
98823			}
98824		case "url":
98825			if v != nil {
98826				var URL interface{}
98827				err = json.Unmarshal(*v, &URL)
98828				if err != nil {
98829					return err
98830				}
98831				wcca.URL = URL
98832			}
98833		case "authenticationType":
98834			if v != nil {
98835				var authenticationType AuthenticationType
98836				err = json.Unmarshal(*v, &authenticationType)
98837				if err != nil {
98838					return err
98839				}
98840				wcca.AuthenticationType = authenticationType
98841			}
98842		}
98843	}
98844
98845	return nil
98846}
98847
98848// WebLinkedService web linked service.
98849type WebLinkedService struct {
98850	// TypeProperties - Web linked service properties.
98851	TypeProperties BasicWebLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
98852	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98853	AdditionalProperties map[string]interface{} `json:""`
98854	// ConnectVia - The integration runtime reference.
98855	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
98856	// Description - Linked service description.
98857	Description *string `json:"description,omitempty"`
98858	// Parameters - Parameters for linked service.
98859	Parameters map[string]*ParameterSpecification `json:"parameters"`
98860	// Annotations - List of tags that can be used for describing the Dataset.
98861	Annotations *[]interface{} `json:"annotations,omitempty"`
98862	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
98863	Type TypeBasicLinkedService `json:"type,omitempty"`
98864}
98865
98866// MarshalJSON is the custom marshaler for WebLinkedService.
98867func (wls WebLinkedService) MarshalJSON() ([]byte, error) {
98868	wls.Type = TypeWeb
98869	objectMap := make(map[string]interface{})
98870	objectMap["typeProperties"] = wls.TypeProperties
98871	if wls.ConnectVia != nil {
98872		objectMap["connectVia"] = wls.ConnectVia
98873	}
98874	if wls.Description != nil {
98875		objectMap["description"] = wls.Description
98876	}
98877	if wls.Parameters != nil {
98878		objectMap["parameters"] = wls.Parameters
98879	}
98880	if wls.Annotations != nil {
98881		objectMap["annotations"] = wls.Annotations
98882	}
98883	if wls.Type != "" {
98884		objectMap["type"] = wls.Type
98885	}
98886	for k, v := range wls.AdditionalProperties {
98887		objectMap[k] = v
98888	}
98889	return json.Marshal(objectMap)
98890}
98891
98892// AsResponsysLinkedService is the BasicLinkedService implementation for WebLinkedService.
98893func (wls WebLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
98894	return nil, false
98895}
98896
98897// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for WebLinkedService.
98898func (wls WebLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
98899	return nil, false
98900}
98901
98902// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for WebLinkedService.
98903func (wls WebLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
98904	return nil, false
98905}
98906
98907// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for WebLinkedService.
98908func (wls WebLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
98909	return nil, false
98910}
98911
98912// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for WebLinkedService.
98913func (wls WebLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
98914	return nil, false
98915}
98916
98917// AsNetezzaLinkedService is the BasicLinkedService implementation for WebLinkedService.
98918func (wls WebLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
98919	return nil, false
98920}
98921
98922// AsVerticaLinkedService is the BasicLinkedService implementation for WebLinkedService.
98923func (wls WebLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
98924	return nil, false
98925}
98926
98927// AsZohoLinkedService is the BasicLinkedService implementation for WebLinkedService.
98928func (wls WebLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
98929	return nil, false
98930}
98931
98932// AsXeroLinkedService is the BasicLinkedService implementation for WebLinkedService.
98933func (wls WebLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
98934	return nil, false
98935}
98936
98937// AsSquareLinkedService is the BasicLinkedService implementation for WebLinkedService.
98938func (wls WebLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
98939	return nil, false
98940}
98941
98942// AsSparkLinkedService is the BasicLinkedService implementation for WebLinkedService.
98943func (wls WebLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
98944	return nil, false
98945}
98946
98947// AsShopifyLinkedService is the BasicLinkedService implementation for WebLinkedService.
98948func (wls WebLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
98949	return nil, false
98950}
98951
98952// AsServiceNowLinkedService is the BasicLinkedService implementation for WebLinkedService.
98953func (wls WebLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
98954	return nil, false
98955}
98956
98957// AsQuickBooksLinkedService is the BasicLinkedService implementation for WebLinkedService.
98958func (wls WebLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
98959	return nil, false
98960}
98961
98962// AsPrestoLinkedService is the BasicLinkedService implementation for WebLinkedService.
98963func (wls WebLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
98964	return nil, false
98965}
98966
98967// AsPhoenixLinkedService is the BasicLinkedService implementation for WebLinkedService.
98968func (wls WebLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
98969	return nil, false
98970}
98971
98972// AsPaypalLinkedService is the BasicLinkedService implementation for WebLinkedService.
98973func (wls WebLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
98974	return nil, false
98975}
98976
98977// AsMarketoLinkedService is the BasicLinkedService implementation for WebLinkedService.
98978func (wls WebLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
98979	return nil, false
98980}
98981
98982// AsMariaDBLinkedService is the BasicLinkedService implementation for WebLinkedService.
98983func (wls WebLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
98984	return nil, false
98985}
98986
98987// AsMagentoLinkedService is the BasicLinkedService implementation for WebLinkedService.
98988func (wls WebLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
98989	return nil, false
98990}
98991
98992// AsJiraLinkedService is the BasicLinkedService implementation for WebLinkedService.
98993func (wls WebLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
98994	return nil, false
98995}
98996
98997// AsImpalaLinkedService is the BasicLinkedService implementation for WebLinkedService.
98998func (wls WebLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
98999	return nil, false
99000}
99001
99002// AsHubspotLinkedService is the BasicLinkedService implementation for WebLinkedService.
99003func (wls WebLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
99004	return nil, false
99005}
99006
99007// AsHiveLinkedService is the BasicLinkedService implementation for WebLinkedService.
99008func (wls WebLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
99009	return nil, false
99010}
99011
99012// AsHBaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
99013func (wls WebLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
99014	return nil, false
99015}
99016
99017// AsGreenplumLinkedService is the BasicLinkedService implementation for WebLinkedService.
99018func (wls WebLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
99019	return nil, false
99020}
99021
99022// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for WebLinkedService.
99023func (wls WebLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
99024	return nil, false
99025}
99026
99027// AsEloquaLinkedService is the BasicLinkedService implementation for WebLinkedService.
99028func (wls WebLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
99029	return nil, false
99030}
99031
99032// AsDrillLinkedService is the BasicLinkedService implementation for WebLinkedService.
99033func (wls WebLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
99034	return nil, false
99035}
99036
99037// AsCouchbaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
99038func (wls WebLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
99039	return nil, false
99040}
99041
99042// AsConcurLinkedService is the BasicLinkedService implementation for WebLinkedService.
99043func (wls WebLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
99044	return nil, false
99045}
99046
99047// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99048func (wls WebLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
99049	return nil, false
99050}
99051
99052// AsAmazonMWSLinkedService is the BasicLinkedService implementation for WebLinkedService.
99053func (wls WebLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
99054	return nil, false
99055}
99056
99057// AsSapHanaLinkedService is the BasicLinkedService implementation for WebLinkedService.
99058func (wls WebLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
99059	return nil, false
99060}
99061
99062// AsSapBWLinkedService is the BasicLinkedService implementation for WebLinkedService.
99063func (wls WebLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
99064	return nil, false
99065}
99066
99067// AsSftpServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
99068func (wls WebLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
99069	return nil, false
99070}
99071
99072// AsFtpServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
99073func (wls WebLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
99074	return nil, false
99075}
99076
99077// AsHTTPLinkedService is the BasicLinkedService implementation for WebLinkedService.
99078func (wls WebLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
99079	return nil, false
99080}
99081
99082// AsAzureSearchLinkedService is the BasicLinkedService implementation for WebLinkedService.
99083func (wls WebLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
99084	return nil, false
99085}
99086
99087// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for WebLinkedService.
99088func (wls WebLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
99089	return nil, false
99090}
99091
99092// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for WebLinkedService.
99093func (wls WebLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
99094	return nil, false
99095}
99096
99097// AsAmazonS3LinkedService is the BasicLinkedService implementation for WebLinkedService.
99098func (wls WebLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
99099	return nil, false
99100}
99101
99102// AsSapEccLinkedService is the BasicLinkedService implementation for WebLinkedService.
99103func (wls WebLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
99104	return nil, false
99105}
99106
99107// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for WebLinkedService.
99108func (wls WebLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
99109	return nil, false
99110}
99111
99112// AsSalesforceLinkedService is the BasicLinkedService implementation for WebLinkedService.
99113func (wls WebLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
99114	return nil, false
99115}
99116
99117// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for WebLinkedService.
99118func (wls WebLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
99119	return nil, false
99120}
99121
99122// AsMongoDbLinkedService is the BasicLinkedService implementation for WebLinkedService.
99123func (wls WebLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
99124	return nil, false
99125}
99126
99127// AsCassandraLinkedService is the BasicLinkedService implementation for WebLinkedService.
99128func (wls WebLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
99129	return nil, false
99130}
99131
99132// AsWebLinkedService is the BasicLinkedService implementation for WebLinkedService.
99133func (wls WebLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
99134	return &wls, true
99135}
99136
99137// AsODataLinkedService is the BasicLinkedService implementation for WebLinkedService.
99138func (wls WebLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
99139	return nil, false
99140}
99141
99142// AsHdfsLinkedService is the BasicLinkedService implementation for WebLinkedService.
99143func (wls WebLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
99144	return nil, false
99145}
99146
99147// AsOdbcLinkedService is the BasicLinkedService implementation for WebLinkedService.
99148func (wls WebLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
99149	return nil, false
99150}
99151
99152// AsAzureMLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99153func (wls WebLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
99154	return nil, false
99155}
99156
99157// AsTeradataLinkedService is the BasicLinkedService implementation for WebLinkedService.
99158func (wls WebLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
99159	return nil, false
99160}
99161
99162// AsDb2LinkedService is the BasicLinkedService implementation for WebLinkedService.
99163func (wls WebLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
99164	return nil, false
99165}
99166
99167// AsSybaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
99168func (wls WebLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
99169	return nil, false
99170}
99171
99172// AsPostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99173func (wls WebLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
99174	return nil, false
99175}
99176
99177// AsMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99178func (wls WebLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
99179	return nil, false
99180}
99181
99182// AsAzureMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99183func (wls WebLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
99184	return nil, false
99185}
99186
99187// AsOracleLinkedService is the BasicLinkedService implementation for WebLinkedService.
99188func (wls WebLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
99189	return nil, false
99190}
99191
99192// AsFileServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
99193func (wls WebLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
99194	return nil, false
99195}
99196
99197// AsHDInsightLinkedService is the BasicLinkedService implementation for WebLinkedService.
99198func (wls WebLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
99199	return nil, false
99200}
99201
99202// AsDynamicsLinkedService is the BasicLinkedService implementation for WebLinkedService.
99203func (wls WebLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
99204	return nil, false
99205}
99206
99207// AsCosmosDbLinkedService is the BasicLinkedService implementation for WebLinkedService.
99208func (wls WebLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
99209	return nil, false
99210}
99211
99212// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for WebLinkedService.
99213func (wls WebLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
99214	return nil, false
99215}
99216
99217// AsAzureBatchLinkedService is the BasicLinkedService implementation for WebLinkedService.
99218func (wls WebLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
99219	return nil, false
99220}
99221
99222// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
99223func (wls WebLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
99224	return nil, false
99225}
99226
99227// AsSQLServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
99228func (wls WebLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
99229	return nil, false
99230}
99231
99232// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for WebLinkedService.
99233func (wls WebLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
99234	return nil, false
99235}
99236
99237// AsAzureStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
99238func (wls WebLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
99239	return nil, false
99240}
99241
99242// AsLinkedService is the BasicLinkedService implementation for WebLinkedService.
99243func (wls WebLinkedService) AsLinkedService() (*LinkedService, bool) {
99244	return nil, false
99245}
99246
99247// AsBasicLinkedService is the BasicLinkedService implementation for WebLinkedService.
99248func (wls WebLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
99249	return &wls, true
99250}
99251
99252// UnmarshalJSON is the custom unmarshaler for WebLinkedService struct.
99253func (wls *WebLinkedService) UnmarshalJSON(body []byte) error {
99254	var m map[string]*json.RawMessage
99255	err := json.Unmarshal(body, &m)
99256	if err != nil {
99257		return err
99258	}
99259	for k, v := range m {
99260		switch k {
99261		case "typeProperties":
99262			if v != nil {
99263				typeProperties, err := unmarshalBasicWebLinkedServiceTypeProperties(*v)
99264				if err != nil {
99265					return err
99266				}
99267				wls.TypeProperties = typeProperties
99268			}
99269		default:
99270			if v != nil {
99271				var additionalProperties interface{}
99272				err = json.Unmarshal(*v, &additionalProperties)
99273				if err != nil {
99274					return err
99275				}
99276				if wls.AdditionalProperties == nil {
99277					wls.AdditionalProperties = make(map[string]interface{})
99278				}
99279				wls.AdditionalProperties[k] = additionalProperties
99280			}
99281		case "connectVia":
99282			if v != nil {
99283				var connectVia IntegrationRuntimeReference
99284				err = json.Unmarshal(*v, &connectVia)
99285				if err != nil {
99286					return err
99287				}
99288				wls.ConnectVia = &connectVia
99289			}
99290		case "description":
99291			if v != nil {
99292				var description string
99293				err = json.Unmarshal(*v, &description)
99294				if err != nil {
99295					return err
99296				}
99297				wls.Description = &description
99298			}
99299		case "parameters":
99300			if v != nil {
99301				var parameters map[string]*ParameterSpecification
99302				err = json.Unmarshal(*v, &parameters)
99303				if err != nil {
99304					return err
99305				}
99306				wls.Parameters = parameters
99307			}
99308		case "annotations":
99309			if v != nil {
99310				var annotations []interface{}
99311				err = json.Unmarshal(*v, &annotations)
99312				if err != nil {
99313					return err
99314				}
99315				wls.Annotations = &annotations
99316			}
99317		case "type":
99318			if v != nil {
99319				var typeVar TypeBasicLinkedService
99320				err = json.Unmarshal(*v, &typeVar)
99321				if err != nil {
99322					return err
99323				}
99324				wls.Type = typeVar
99325			}
99326		}
99327	}
99328
99329	return nil
99330}
99331
99332// BasicWebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is
99333// polymorphic based on authenticationType, so not flattened in SDK models.
99334type BasicWebLinkedServiceTypeProperties interface {
99335	AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool)
99336	AsWebBasicAuthentication() (*WebBasicAuthentication, bool)
99337	AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool)
99338	AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool)
99339}
99340
99341// WebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is
99342// polymorphic based on authenticationType, so not flattened in SDK models.
99343type WebLinkedServiceTypeProperties struct {
99344	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
99345	URL interface{} `json:"url,omitempty"`
99346	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
99347	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
99348}
99349
99350func unmarshalBasicWebLinkedServiceTypeProperties(body []byte) (BasicWebLinkedServiceTypeProperties, error) {
99351	var m map[string]interface{}
99352	err := json.Unmarshal(body, &m)
99353	if err != nil {
99354		return nil, err
99355	}
99356
99357	switch m["authenticationType"] {
99358	case string(AuthenticationTypeClientCertificate):
99359		var wcca WebClientCertificateAuthentication
99360		err := json.Unmarshal(body, &wcca)
99361		return wcca, err
99362	case string(AuthenticationTypeBasic):
99363		var wba WebBasicAuthentication
99364		err := json.Unmarshal(body, &wba)
99365		return wba, err
99366	case string(AuthenticationTypeAnonymous):
99367		var waa WebAnonymousAuthentication
99368		err := json.Unmarshal(body, &waa)
99369		return waa, err
99370	default:
99371		var wlstp WebLinkedServiceTypeProperties
99372		err := json.Unmarshal(body, &wlstp)
99373		return wlstp, err
99374	}
99375}
99376func unmarshalBasicWebLinkedServiceTypePropertiesArray(body []byte) ([]BasicWebLinkedServiceTypeProperties, error) {
99377	var rawMessages []*json.RawMessage
99378	err := json.Unmarshal(body, &rawMessages)
99379	if err != nil {
99380		return nil, err
99381	}
99382
99383	wlstpArray := make([]BasicWebLinkedServiceTypeProperties, len(rawMessages))
99384
99385	for index, rawMessage := range rawMessages {
99386		wlstp, err := unmarshalBasicWebLinkedServiceTypeProperties(*rawMessage)
99387		if err != nil {
99388			return nil, err
99389		}
99390		wlstpArray[index] = wlstp
99391	}
99392	return wlstpArray, nil
99393}
99394
99395// MarshalJSON is the custom marshaler for WebLinkedServiceTypeProperties.
99396func (wlstp WebLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) {
99397	wlstp.AuthenticationType = AuthenticationTypeWebLinkedServiceTypeProperties
99398	objectMap := make(map[string]interface{})
99399	if wlstp.URL != nil {
99400		objectMap["url"] = wlstp.URL
99401	}
99402	if wlstp.AuthenticationType != "" {
99403		objectMap["authenticationType"] = wlstp.AuthenticationType
99404	}
99405	return json.Marshal(objectMap)
99406}
99407
99408// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99409func (wlstp WebLinkedServiceTypeProperties) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
99410	return nil, false
99411}
99412
99413// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99414func (wlstp WebLinkedServiceTypeProperties) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
99415	return nil, false
99416}
99417
99418// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99419func (wlstp WebLinkedServiceTypeProperties) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
99420	return nil, false
99421}
99422
99423// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99424func (wlstp WebLinkedServiceTypeProperties) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
99425	return &wlstp, true
99426}
99427
99428// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99429func (wlstp WebLinkedServiceTypeProperties) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
99430	return &wlstp, true
99431}
99432
99433// WebSource a copy activity source for web page table.
99434type WebSource struct {
99435	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
99436	AdditionalProperties map[string]interface{} `json:""`
99437	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
99438	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
99439	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
99440	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
99441	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
99442	Type TypeBasicCopySource `json:"type,omitempty"`
99443}
99444
99445// MarshalJSON is the custom marshaler for WebSource.
99446func (ws WebSource) MarshalJSON() ([]byte, error) {
99447	ws.Type = TypeWebSource
99448	objectMap := make(map[string]interface{})
99449	if ws.SourceRetryCount != nil {
99450		objectMap["sourceRetryCount"] = ws.SourceRetryCount
99451	}
99452	if ws.SourceRetryWait != nil {
99453		objectMap["sourceRetryWait"] = ws.SourceRetryWait
99454	}
99455	if ws.Type != "" {
99456		objectMap["type"] = ws.Type
99457	}
99458	for k, v := range ws.AdditionalProperties {
99459		objectMap[k] = v
99460	}
99461	return json.Marshal(objectMap)
99462}
99463
99464// AsAmazonRedshiftSource is the BasicCopySource implementation for WebSource.
99465func (ws WebSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
99466	return nil, false
99467}
99468
99469// AsResponsysSource is the BasicCopySource implementation for WebSource.
99470func (ws WebSource) AsResponsysSource() (*ResponsysSource, bool) {
99471	return nil, false
99472}
99473
99474// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for WebSource.
99475func (ws WebSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
99476	return nil, false
99477}
99478
99479// AsVerticaSource is the BasicCopySource implementation for WebSource.
99480func (ws WebSource) AsVerticaSource() (*VerticaSource, bool) {
99481	return nil, false
99482}
99483
99484// AsNetezzaSource is the BasicCopySource implementation for WebSource.
99485func (ws WebSource) AsNetezzaSource() (*NetezzaSource, bool) {
99486	return nil, false
99487}
99488
99489// AsZohoSource is the BasicCopySource implementation for WebSource.
99490func (ws WebSource) AsZohoSource() (*ZohoSource, bool) {
99491	return nil, false
99492}
99493
99494// AsXeroSource is the BasicCopySource implementation for WebSource.
99495func (ws WebSource) AsXeroSource() (*XeroSource, bool) {
99496	return nil, false
99497}
99498
99499// AsSquareSource is the BasicCopySource implementation for WebSource.
99500func (ws WebSource) AsSquareSource() (*SquareSource, bool) {
99501	return nil, false
99502}
99503
99504// AsSparkSource is the BasicCopySource implementation for WebSource.
99505func (ws WebSource) AsSparkSource() (*SparkSource, bool) {
99506	return nil, false
99507}
99508
99509// AsShopifySource is the BasicCopySource implementation for WebSource.
99510func (ws WebSource) AsShopifySource() (*ShopifySource, bool) {
99511	return nil, false
99512}
99513
99514// AsServiceNowSource is the BasicCopySource implementation for WebSource.
99515func (ws WebSource) AsServiceNowSource() (*ServiceNowSource, bool) {
99516	return nil, false
99517}
99518
99519// AsQuickBooksSource is the BasicCopySource implementation for WebSource.
99520func (ws WebSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
99521	return nil, false
99522}
99523
99524// AsPrestoSource is the BasicCopySource implementation for WebSource.
99525func (ws WebSource) AsPrestoSource() (*PrestoSource, bool) {
99526	return nil, false
99527}
99528
99529// AsPhoenixSource is the BasicCopySource implementation for WebSource.
99530func (ws WebSource) AsPhoenixSource() (*PhoenixSource, bool) {
99531	return nil, false
99532}
99533
99534// AsPaypalSource is the BasicCopySource implementation for WebSource.
99535func (ws WebSource) AsPaypalSource() (*PaypalSource, bool) {
99536	return nil, false
99537}
99538
99539// AsMarketoSource is the BasicCopySource implementation for WebSource.
99540func (ws WebSource) AsMarketoSource() (*MarketoSource, bool) {
99541	return nil, false
99542}
99543
99544// AsMariaDBSource is the BasicCopySource implementation for WebSource.
99545func (ws WebSource) AsMariaDBSource() (*MariaDBSource, bool) {
99546	return nil, false
99547}
99548
99549// AsMagentoSource is the BasicCopySource implementation for WebSource.
99550func (ws WebSource) AsMagentoSource() (*MagentoSource, bool) {
99551	return nil, false
99552}
99553
99554// AsJiraSource is the BasicCopySource implementation for WebSource.
99555func (ws WebSource) AsJiraSource() (*JiraSource, bool) {
99556	return nil, false
99557}
99558
99559// AsImpalaSource is the BasicCopySource implementation for WebSource.
99560func (ws WebSource) AsImpalaSource() (*ImpalaSource, bool) {
99561	return nil, false
99562}
99563
99564// AsHubspotSource is the BasicCopySource implementation for WebSource.
99565func (ws WebSource) AsHubspotSource() (*HubspotSource, bool) {
99566	return nil, false
99567}
99568
99569// AsHiveSource is the BasicCopySource implementation for WebSource.
99570func (ws WebSource) AsHiveSource() (*HiveSource, bool) {
99571	return nil, false
99572}
99573
99574// AsHBaseSource is the BasicCopySource implementation for WebSource.
99575func (ws WebSource) AsHBaseSource() (*HBaseSource, bool) {
99576	return nil, false
99577}
99578
99579// AsGreenplumSource is the BasicCopySource implementation for WebSource.
99580func (ws WebSource) AsGreenplumSource() (*GreenplumSource, bool) {
99581	return nil, false
99582}
99583
99584// AsGoogleBigQuerySource is the BasicCopySource implementation for WebSource.
99585func (ws WebSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
99586	return nil, false
99587}
99588
99589// AsEloquaSource is the BasicCopySource implementation for WebSource.
99590func (ws WebSource) AsEloquaSource() (*EloquaSource, bool) {
99591	return nil, false
99592}
99593
99594// AsDrillSource is the BasicCopySource implementation for WebSource.
99595func (ws WebSource) AsDrillSource() (*DrillSource, bool) {
99596	return nil, false
99597}
99598
99599// AsCouchbaseSource is the BasicCopySource implementation for WebSource.
99600func (ws WebSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
99601	return nil, false
99602}
99603
99604// AsConcurSource is the BasicCopySource implementation for WebSource.
99605func (ws WebSource) AsConcurSource() (*ConcurSource, bool) {
99606	return nil, false
99607}
99608
99609// AsAzurePostgreSQLSource is the BasicCopySource implementation for WebSource.
99610func (ws WebSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
99611	return nil, false
99612}
99613
99614// AsAmazonMWSSource is the BasicCopySource implementation for WebSource.
99615func (ws WebSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
99616	return nil, false
99617}
99618
99619// AsHTTPSource is the BasicCopySource implementation for WebSource.
99620func (ws WebSource) AsHTTPSource() (*HTTPSource, bool) {
99621	return nil, false
99622}
99623
99624// AsAzureDataLakeStoreSource is the BasicCopySource implementation for WebSource.
99625func (ws WebSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
99626	return nil, false
99627}
99628
99629// AsMongoDbSource is the BasicCopySource implementation for WebSource.
99630func (ws WebSource) AsMongoDbSource() (*MongoDbSource, bool) {
99631	return nil, false
99632}
99633
99634// AsCassandraSource is the BasicCopySource implementation for WebSource.
99635func (ws WebSource) AsCassandraSource() (*CassandraSource, bool) {
99636	return nil, false
99637}
99638
99639// AsWebSource is the BasicCopySource implementation for WebSource.
99640func (ws WebSource) AsWebSource() (*WebSource, bool) {
99641	return &ws, true
99642}
99643
99644// AsOracleSource is the BasicCopySource implementation for WebSource.
99645func (ws WebSource) AsOracleSource() (*OracleSource, bool) {
99646	return nil, false
99647}
99648
99649// AsAzureMySQLSource is the BasicCopySource implementation for WebSource.
99650func (ws WebSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
99651	return nil, false
99652}
99653
99654// AsHdfsSource is the BasicCopySource implementation for WebSource.
99655func (ws WebSource) AsHdfsSource() (*HdfsSource, bool) {
99656	return nil, false
99657}
99658
99659// AsFileSystemSource is the BasicCopySource implementation for WebSource.
99660func (ws WebSource) AsFileSystemSource() (*FileSystemSource, bool) {
99661	return nil, false
99662}
99663
99664// AsSQLDWSource is the BasicCopySource implementation for WebSource.
99665func (ws WebSource) AsSQLDWSource() (*SQLDWSource, bool) {
99666	return nil, false
99667}
99668
99669// AsSQLSource is the BasicCopySource implementation for WebSource.
99670func (ws WebSource) AsSQLSource() (*SQLSource, bool) {
99671	return nil, false
99672}
99673
99674// AsSapEccSource is the BasicCopySource implementation for WebSource.
99675func (ws WebSource) AsSapEccSource() (*SapEccSource, bool) {
99676	return nil, false
99677}
99678
99679// AsSapCloudForCustomerSource is the BasicCopySource implementation for WebSource.
99680func (ws WebSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
99681	return nil, false
99682}
99683
99684// AsSalesforceSource is the BasicCopySource implementation for WebSource.
99685func (ws WebSource) AsSalesforceSource() (*SalesforceSource, bool) {
99686	return nil, false
99687}
99688
99689// AsRelationalSource is the BasicCopySource implementation for WebSource.
99690func (ws WebSource) AsRelationalSource() (*RelationalSource, bool) {
99691	return nil, false
99692}
99693
99694// AsDynamicsSource is the BasicCopySource implementation for WebSource.
99695func (ws WebSource) AsDynamicsSource() (*DynamicsSource, bool) {
99696	return nil, false
99697}
99698
99699// AsDocumentDbCollectionSource is the BasicCopySource implementation for WebSource.
99700func (ws WebSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
99701	return nil, false
99702}
99703
99704// AsBlobSource is the BasicCopySource implementation for WebSource.
99705func (ws WebSource) AsBlobSource() (*BlobSource, bool) {
99706	return nil, false
99707}
99708
99709// AsAzureTableSource is the BasicCopySource implementation for WebSource.
99710func (ws WebSource) AsAzureTableSource() (*AzureTableSource, bool) {
99711	return nil, false
99712}
99713
99714// AsCopySource is the BasicCopySource implementation for WebSource.
99715func (ws WebSource) AsCopySource() (*CopySource, bool) {
99716	return nil, false
99717}
99718
99719// AsBasicCopySource is the BasicCopySource implementation for WebSource.
99720func (ws WebSource) AsBasicCopySource() (BasicCopySource, bool) {
99721	return &ws, true
99722}
99723
99724// UnmarshalJSON is the custom unmarshaler for WebSource struct.
99725func (ws *WebSource) UnmarshalJSON(body []byte) error {
99726	var m map[string]*json.RawMessage
99727	err := json.Unmarshal(body, &m)
99728	if err != nil {
99729		return err
99730	}
99731	for k, v := range m {
99732		switch k {
99733		default:
99734			if v != nil {
99735				var additionalProperties interface{}
99736				err = json.Unmarshal(*v, &additionalProperties)
99737				if err != nil {
99738					return err
99739				}
99740				if ws.AdditionalProperties == nil {
99741					ws.AdditionalProperties = make(map[string]interface{})
99742				}
99743				ws.AdditionalProperties[k] = additionalProperties
99744			}
99745		case "sourceRetryCount":
99746			if v != nil {
99747				var sourceRetryCount interface{}
99748				err = json.Unmarshal(*v, &sourceRetryCount)
99749				if err != nil {
99750					return err
99751				}
99752				ws.SourceRetryCount = sourceRetryCount
99753			}
99754		case "sourceRetryWait":
99755			if v != nil {
99756				var sourceRetryWait interface{}
99757				err = json.Unmarshal(*v, &sourceRetryWait)
99758				if err != nil {
99759					return err
99760				}
99761				ws.SourceRetryWait = sourceRetryWait
99762			}
99763		case "type":
99764			if v != nil {
99765				var typeVar TypeBasicCopySource
99766				err = json.Unmarshal(*v, &typeVar)
99767				if err != nil {
99768					return err
99769				}
99770				ws.Type = typeVar
99771			}
99772		}
99773	}
99774
99775	return nil
99776}
99777
99778// WebTableDataset the dataset points to a HTML table in the web page.
99779type WebTableDataset struct {
99780	// WebTableDatasetTypeProperties - Web table dataset properties.
99781	*WebTableDatasetTypeProperties `json:"typeProperties,omitempty"`
99782	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
99783	AdditionalProperties map[string]interface{} `json:""`
99784	// Description - Dataset description.
99785	Description *string `json:"description,omitempty"`
99786	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
99787	Structure interface{} `json:"structure,omitempty"`
99788	// LinkedServiceName - Linked service reference.
99789	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
99790	// Parameters - Parameters for dataset.
99791	Parameters map[string]*ParameterSpecification `json:"parameters"`
99792	// Annotations - List of tags that can be used for describing the Dataset.
99793	Annotations *[]interface{} `json:"annotations,omitempty"`
99794	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
99795	Type TypeBasicDataset `json:"type,omitempty"`
99796}
99797
99798// MarshalJSON is the custom marshaler for WebTableDataset.
99799func (wtd WebTableDataset) MarshalJSON() ([]byte, error) {
99800	wtd.Type = TypeWebTable
99801	objectMap := make(map[string]interface{})
99802	if wtd.WebTableDatasetTypeProperties != nil {
99803		objectMap["typeProperties"] = wtd.WebTableDatasetTypeProperties
99804	}
99805	if wtd.Description != nil {
99806		objectMap["description"] = wtd.Description
99807	}
99808	if wtd.Structure != nil {
99809		objectMap["structure"] = wtd.Structure
99810	}
99811	if wtd.LinkedServiceName != nil {
99812		objectMap["linkedServiceName"] = wtd.LinkedServiceName
99813	}
99814	if wtd.Parameters != nil {
99815		objectMap["parameters"] = wtd.Parameters
99816	}
99817	if wtd.Annotations != nil {
99818		objectMap["annotations"] = wtd.Annotations
99819	}
99820	if wtd.Type != "" {
99821		objectMap["type"] = wtd.Type
99822	}
99823	for k, v := range wtd.AdditionalProperties {
99824		objectMap[k] = v
99825	}
99826	return json.Marshal(objectMap)
99827}
99828
99829// AsResponsysObjectDataset is the BasicDataset implementation for WebTableDataset.
99830func (wtd WebTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
99831	return nil, false
99832}
99833
99834// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for WebTableDataset.
99835func (wtd WebTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
99836	return nil, false
99837}
99838
99839// AsVerticaTableDataset is the BasicDataset implementation for WebTableDataset.
99840func (wtd WebTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
99841	return nil, false
99842}
99843
99844// AsNetezzaTableDataset is the BasicDataset implementation for WebTableDataset.
99845func (wtd WebTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
99846	return nil, false
99847}
99848
99849// AsZohoObjectDataset is the BasicDataset implementation for WebTableDataset.
99850func (wtd WebTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
99851	return nil, false
99852}
99853
99854// AsXeroObjectDataset is the BasicDataset implementation for WebTableDataset.
99855func (wtd WebTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
99856	return nil, false
99857}
99858
99859// AsSquareObjectDataset is the BasicDataset implementation for WebTableDataset.
99860func (wtd WebTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
99861	return nil, false
99862}
99863
99864// AsSparkObjectDataset is the BasicDataset implementation for WebTableDataset.
99865func (wtd WebTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
99866	return nil, false
99867}
99868
99869// AsShopifyObjectDataset is the BasicDataset implementation for WebTableDataset.
99870func (wtd WebTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
99871	return nil, false
99872}
99873
99874// AsServiceNowObjectDataset is the BasicDataset implementation for WebTableDataset.
99875func (wtd WebTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
99876	return nil, false
99877}
99878
99879// AsQuickBooksObjectDataset is the BasicDataset implementation for WebTableDataset.
99880func (wtd WebTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
99881	return nil, false
99882}
99883
99884// AsPrestoObjectDataset is the BasicDataset implementation for WebTableDataset.
99885func (wtd WebTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
99886	return nil, false
99887}
99888
99889// AsPhoenixObjectDataset is the BasicDataset implementation for WebTableDataset.
99890func (wtd WebTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
99891	return nil, false
99892}
99893
99894// AsPaypalObjectDataset is the BasicDataset implementation for WebTableDataset.
99895func (wtd WebTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
99896	return nil, false
99897}
99898
99899// AsMarketoObjectDataset is the BasicDataset implementation for WebTableDataset.
99900func (wtd WebTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
99901	return nil, false
99902}
99903
99904// AsMariaDBTableDataset is the BasicDataset implementation for WebTableDataset.
99905func (wtd WebTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
99906	return nil, false
99907}
99908
99909// AsMagentoObjectDataset is the BasicDataset implementation for WebTableDataset.
99910func (wtd WebTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
99911	return nil, false
99912}
99913
99914// AsJiraObjectDataset is the BasicDataset implementation for WebTableDataset.
99915func (wtd WebTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
99916	return nil, false
99917}
99918
99919// AsImpalaObjectDataset is the BasicDataset implementation for WebTableDataset.
99920func (wtd WebTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
99921	return nil, false
99922}
99923
99924// AsHubspotObjectDataset is the BasicDataset implementation for WebTableDataset.
99925func (wtd WebTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
99926	return nil, false
99927}
99928
99929// AsHiveObjectDataset is the BasicDataset implementation for WebTableDataset.
99930func (wtd WebTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
99931	return nil, false
99932}
99933
99934// AsHBaseObjectDataset is the BasicDataset implementation for WebTableDataset.
99935func (wtd WebTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
99936	return nil, false
99937}
99938
99939// AsGreenplumTableDataset is the BasicDataset implementation for WebTableDataset.
99940func (wtd WebTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
99941	return nil, false
99942}
99943
99944// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for WebTableDataset.
99945func (wtd WebTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
99946	return nil, false
99947}
99948
99949// AsEloquaObjectDataset is the BasicDataset implementation for WebTableDataset.
99950func (wtd WebTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
99951	return nil, false
99952}
99953
99954// AsDrillTableDataset is the BasicDataset implementation for WebTableDataset.
99955func (wtd WebTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
99956	return nil, false
99957}
99958
99959// AsCouchbaseTableDataset is the BasicDataset implementation for WebTableDataset.
99960func (wtd WebTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
99961	return nil, false
99962}
99963
99964// AsConcurObjectDataset is the BasicDataset implementation for WebTableDataset.
99965func (wtd WebTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
99966	return nil, false
99967}
99968
99969// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for WebTableDataset.
99970func (wtd WebTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
99971	return nil, false
99972}
99973
99974// AsAmazonMWSObjectDataset is the BasicDataset implementation for WebTableDataset.
99975func (wtd WebTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
99976	return nil, false
99977}
99978
99979// AsHTTPDataset is the BasicDataset implementation for WebTableDataset.
99980func (wtd WebTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
99981	return nil, false
99982}
99983
99984// AsAzureSearchIndexDataset is the BasicDataset implementation for WebTableDataset.
99985func (wtd WebTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
99986	return nil, false
99987}
99988
99989// AsWebTableDataset is the BasicDataset implementation for WebTableDataset.
99990func (wtd WebTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
99991	return &wtd, true
99992}
99993
99994// AsSQLServerTableDataset is the BasicDataset implementation for WebTableDataset.
99995func (wtd WebTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
99996	return nil, false
99997}
99998
99999// AsSapEccResourceDataset is the BasicDataset implementation for WebTableDataset.
100000func (wtd WebTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
100001	return nil, false
100002}
100003
100004// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for WebTableDataset.
100005func (wtd WebTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
100006	return nil, false
100007}
100008
100009// AsSalesforceObjectDataset is the BasicDataset implementation for WebTableDataset.
100010func (wtd WebTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
100011	return nil, false
100012}
100013
100014// AsRelationalTableDataset is the BasicDataset implementation for WebTableDataset.
100015func (wtd WebTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
100016	return nil, false
100017}
100018
100019// AsAzureMySQLTableDataset is the BasicDataset implementation for WebTableDataset.
100020func (wtd WebTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
100021	return nil, false
100022}
100023
100024// AsOracleTableDataset is the BasicDataset implementation for WebTableDataset.
100025func (wtd WebTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
100026	return nil, false
100027}
100028
100029// AsODataResourceDataset is the BasicDataset implementation for WebTableDataset.
100030func (wtd WebTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
100031	return nil, false
100032}
100033
100034// AsMongoDbCollectionDataset is the BasicDataset implementation for WebTableDataset.
100035func (wtd WebTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
100036	return nil, false
100037}
100038
100039// AsFileShareDataset is the BasicDataset implementation for WebTableDataset.
100040func (wtd WebTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
100041	return nil, false
100042}
100043
100044// AsAzureDataLakeStoreDataset is the BasicDataset implementation for WebTableDataset.
100045func (wtd WebTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
100046	return nil, false
100047}
100048
100049// AsDynamicsEntityDataset is the BasicDataset implementation for WebTableDataset.
100050func (wtd WebTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
100051	return nil, false
100052}
100053
100054// AsDocumentDbCollectionDataset is the BasicDataset implementation for WebTableDataset.
100055func (wtd WebTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
100056	return nil, false
100057}
100058
100059// AsCustomDataset is the BasicDataset implementation for WebTableDataset.
100060func (wtd WebTableDataset) AsCustomDataset() (*CustomDataset, bool) {
100061	return nil, false
100062}
100063
100064// AsCassandraTableDataset is the BasicDataset implementation for WebTableDataset.
100065func (wtd WebTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
100066	return nil, false
100067}
100068
100069// AsAzureSQLDWTableDataset is the BasicDataset implementation for WebTableDataset.
100070func (wtd WebTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
100071	return nil, false
100072}
100073
100074// AsAzureSQLTableDataset is the BasicDataset implementation for WebTableDataset.
100075func (wtd WebTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
100076	return nil, false
100077}
100078
100079// AsAzureTableDataset is the BasicDataset implementation for WebTableDataset.
100080func (wtd WebTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
100081	return nil, false
100082}
100083
100084// AsAzureBlobDataset is the BasicDataset implementation for WebTableDataset.
100085func (wtd WebTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
100086	return nil, false
100087}
100088
100089// AsAmazonS3Dataset is the BasicDataset implementation for WebTableDataset.
100090func (wtd WebTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
100091	return nil, false
100092}
100093
100094// AsDataset is the BasicDataset implementation for WebTableDataset.
100095func (wtd WebTableDataset) AsDataset() (*Dataset, bool) {
100096	return nil, false
100097}
100098
100099// AsBasicDataset is the BasicDataset implementation for WebTableDataset.
100100func (wtd WebTableDataset) AsBasicDataset() (BasicDataset, bool) {
100101	return &wtd, true
100102}
100103
100104// UnmarshalJSON is the custom unmarshaler for WebTableDataset struct.
100105func (wtd *WebTableDataset) UnmarshalJSON(body []byte) error {
100106	var m map[string]*json.RawMessage
100107	err := json.Unmarshal(body, &m)
100108	if err != nil {
100109		return err
100110	}
100111	for k, v := range m {
100112		switch k {
100113		case "typeProperties":
100114			if v != nil {
100115				var webTableDatasetTypeProperties WebTableDatasetTypeProperties
100116				err = json.Unmarshal(*v, &webTableDatasetTypeProperties)
100117				if err != nil {
100118					return err
100119				}
100120				wtd.WebTableDatasetTypeProperties = &webTableDatasetTypeProperties
100121			}
100122		default:
100123			if v != nil {
100124				var additionalProperties interface{}
100125				err = json.Unmarshal(*v, &additionalProperties)
100126				if err != nil {
100127					return err
100128				}
100129				if wtd.AdditionalProperties == nil {
100130					wtd.AdditionalProperties = make(map[string]interface{})
100131				}
100132				wtd.AdditionalProperties[k] = additionalProperties
100133			}
100134		case "description":
100135			if v != nil {
100136				var description string
100137				err = json.Unmarshal(*v, &description)
100138				if err != nil {
100139					return err
100140				}
100141				wtd.Description = &description
100142			}
100143		case "structure":
100144			if v != nil {
100145				var structure interface{}
100146				err = json.Unmarshal(*v, &structure)
100147				if err != nil {
100148					return err
100149				}
100150				wtd.Structure = structure
100151			}
100152		case "linkedServiceName":
100153			if v != nil {
100154				var linkedServiceName LinkedServiceReference
100155				err = json.Unmarshal(*v, &linkedServiceName)
100156				if err != nil {
100157					return err
100158				}
100159				wtd.LinkedServiceName = &linkedServiceName
100160			}
100161		case "parameters":
100162			if v != nil {
100163				var parameters map[string]*ParameterSpecification
100164				err = json.Unmarshal(*v, &parameters)
100165				if err != nil {
100166					return err
100167				}
100168				wtd.Parameters = parameters
100169			}
100170		case "annotations":
100171			if v != nil {
100172				var annotations []interface{}
100173				err = json.Unmarshal(*v, &annotations)
100174				if err != nil {
100175					return err
100176				}
100177				wtd.Annotations = &annotations
100178			}
100179		case "type":
100180			if v != nil {
100181				var typeVar TypeBasicDataset
100182				err = json.Unmarshal(*v, &typeVar)
100183				if err != nil {
100184					return err
100185				}
100186				wtd.Type = typeVar
100187			}
100188		}
100189	}
100190
100191	return nil
100192}
100193
100194// WebTableDatasetTypeProperties web table dataset properties.
100195type WebTableDatasetTypeProperties struct {
100196	// Index - The zero-based index of the table in the web page. Type: integer (or Expression with resultType integer), minimum: 0.
100197	Index interface{} `json:"index,omitempty"`
100198	// Path - The relative URL to the web page from the linked service URL. Type: string (or Expression with resultType string).
100199	Path interface{} `json:"path,omitempty"`
100200}
100201
100202// XeroLinkedService xero Service linked service.
100203type XeroLinkedService struct {
100204	// XeroLinkedServiceTypeProperties - Xero Service linked service properties.
100205	*XeroLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
100206	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
100207	AdditionalProperties map[string]interface{} `json:""`
100208	// ConnectVia - The integration runtime reference.
100209	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
100210	// Description - Linked service description.
100211	Description *string `json:"description,omitempty"`
100212	// Parameters - Parameters for linked service.
100213	Parameters map[string]*ParameterSpecification `json:"parameters"`
100214	// Annotations - List of tags that can be used for describing the Dataset.
100215	Annotations *[]interface{} `json:"annotations,omitempty"`
100216	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
100217	Type TypeBasicLinkedService `json:"type,omitempty"`
100218}
100219
100220// MarshalJSON is the custom marshaler for XeroLinkedService.
100221func (xls XeroLinkedService) MarshalJSON() ([]byte, error) {
100222	xls.Type = TypeXero
100223	objectMap := make(map[string]interface{})
100224	if xls.XeroLinkedServiceTypeProperties != nil {
100225		objectMap["typeProperties"] = xls.XeroLinkedServiceTypeProperties
100226	}
100227	if xls.ConnectVia != nil {
100228		objectMap["connectVia"] = xls.ConnectVia
100229	}
100230	if xls.Description != nil {
100231		objectMap["description"] = xls.Description
100232	}
100233	if xls.Parameters != nil {
100234		objectMap["parameters"] = xls.Parameters
100235	}
100236	if xls.Annotations != nil {
100237		objectMap["annotations"] = xls.Annotations
100238	}
100239	if xls.Type != "" {
100240		objectMap["type"] = xls.Type
100241	}
100242	for k, v := range xls.AdditionalProperties {
100243		objectMap[k] = v
100244	}
100245	return json.Marshal(objectMap)
100246}
100247
100248// AsResponsysLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100249func (xls XeroLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
100250	return nil, false
100251}
100252
100253// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100254func (xls XeroLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
100255	return nil, false
100256}
100257
100258// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100259func (xls XeroLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
100260	return nil, false
100261}
100262
100263// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100264func (xls XeroLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
100265	return nil, false
100266}
100267
100268// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100269func (xls XeroLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
100270	return nil, false
100271}
100272
100273// AsNetezzaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100274func (xls XeroLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
100275	return nil, false
100276}
100277
100278// AsVerticaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100279func (xls XeroLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
100280	return nil, false
100281}
100282
100283// AsZohoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100284func (xls XeroLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
100285	return nil, false
100286}
100287
100288// AsXeroLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100289func (xls XeroLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
100290	return &xls, true
100291}
100292
100293// AsSquareLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100294func (xls XeroLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
100295	return nil, false
100296}
100297
100298// AsSparkLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100299func (xls XeroLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
100300	return nil, false
100301}
100302
100303// AsShopifyLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100304func (xls XeroLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
100305	return nil, false
100306}
100307
100308// AsServiceNowLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100309func (xls XeroLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
100310	return nil, false
100311}
100312
100313// AsQuickBooksLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100314func (xls XeroLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
100315	return nil, false
100316}
100317
100318// AsPrestoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100319func (xls XeroLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
100320	return nil, false
100321}
100322
100323// AsPhoenixLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100324func (xls XeroLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
100325	return nil, false
100326}
100327
100328// AsPaypalLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100329func (xls XeroLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
100330	return nil, false
100331}
100332
100333// AsMarketoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100334func (xls XeroLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
100335	return nil, false
100336}
100337
100338// AsMariaDBLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100339func (xls XeroLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
100340	return nil, false
100341}
100342
100343// AsMagentoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100344func (xls XeroLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
100345	return nil, false
100346}
100347
100348// AsJiraLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100349func (xls XeroLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
100350	return nil, false
100351}
100352
100353// AsImpalaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100354func (xls XeroLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
100355	return nil, false
100356}
100357
100358// AsHubspotLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100359func (xls XeroLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
100360	return nil, false
100361}
100362
100363// AsHiveLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100364func (xls XeroLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
100365	return nil, false
100366}
100367
100368// AsHBaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100369func (xls XeroLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
100370	return nil, false
100371}
100372
100373// AsGreenplumLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100374func (xls XeroLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
100375	return nil, false
100376}
100377
100378// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100379func (xls XeroLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
100380	return nil, false
100381}
100382
100383// AsEloquaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100384func (xls XeroLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
100385	return nil, false
100386}
100387
100388// AsDrillLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100389func (xls XeroLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
100390	return nil, false
100391}
100392
100393// AsCouchbaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100394func (xls XeroLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
100395	return nil, false
100396}
100397
100398// AsConcurLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100399func (xls XeroLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
100400	return nil, false
100401}
100402
100403// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100404func (xls XeroLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
100405	return nil, false
100406}
100407
100408// AsAmazonMWSLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100409func (xls XeroLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
100410	return nil, false
100411}
100412
100413// AsSapHanaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100414func (xls XeroLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
100415	return nil, false
100416}
100417
100418// AsSapBWLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100419func (xls XeroLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
100420	return nil, false
100421}
100422
100423// AsSftpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100424func (xls XeroLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
100425	return nil, false
100426}
100427
100428// AsFtpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100429func (xls XeroLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
100430	return nil, false
100431}
100432
100433// AsHTTPLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100434func (xls XeroLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
100435	return nil, false
100436}
100437
100438// AsAzureSearchLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100439func (xls XeroLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
100440	return nil, false
100441}
100442
100443// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100444func (xls XeroLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
100445	return nil, false
100446}
100447
100448// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100449func (xls XeroLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
100450	return nil, false
100451}
100452
100453// AsAmazonS3LinkedService is the BasicLinkedService implementation for XeroLinkedService.
100454func (xls XeroLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
100455	return nil, false
100456}
100457
100458// AsSapEccLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100459func (xls XeroLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
100460	return nil, false
100461}
100462
100463// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100464func (xls XeroLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
100465	return nil, false
100466}
100467
100468// AsSalesforceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100469func (xls XeroLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
100470	return nil, false
100471}
100472
100473// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100474func (xls XeroLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
100475	return nil, false
100476}
100477
100478// AsMongoDbLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100479func (xls XeroLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
100480	return nil, false
100481}
100482
100483// AsCassandraLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100484func (xls XeroLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
100485	return nil, false
100486}
100487
100488// AsWebLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100489func (xls XeroLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
100490	return nil, false
100491}
100492
100493// AsODataLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100494func (xls XeroLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
100495	return nil, false
100496}
100497
100498// AsHdfsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100499func (xls XeroLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
100500	return nil, false
100501}
100502
100503// AsOdbcLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100504func (xls XeroLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
100505	return nil, false
100506}
100507
100508// AsAzureMLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100509func (xls XeroLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
100510	return nil, false
100511}
100512
100513// AsTeradataLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100514func (xls XeroLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
100515	return nil, false
100516}
100517
100518// AsDb2LinkedService is the BasicLinkedService implementation for XeroLinkedService.
100519func (xls XeroLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
100520	return nil, false
100521}
100522
100523// AsSybaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100524func (xls XeroLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
100525	return nil, false
100526}
100527
100528// AsPostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100529func (xls XeroLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
100530	return nil, false
100531}
100532
100533// AsMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100534func (xls XeroLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
100535	return nil, false
100536}
100537
100538// AsAzureMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100539func (xls XeroLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
100540	return nil, false
100541}
100542
100543// AsOracleLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100544func (xls XeroLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
100545	return nil, false
100546}
100547
100548// AsFileServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100549func (xls XeroLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
100550	return nil, false
100551}
100552
100553// AsHDInsightLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100554func (xls XeroLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
100555	return nil, false
100556}
100557
100558// AsDynamicsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100559func (xls XeroLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
100560	return nil, false
100561}
100562
100563// AsCosmosDbLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100564func (xls XeroLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
100565	return nil, false
100566}
100567
100568// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100569func (xls XeroLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
100570	return nil, false
100571}
100572
100573// AsAzureBatchLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100574func (xls XeroLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
100575	return nil, false
100576}
100577
100578// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100579func (xls XeroLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
100580	return nil, false
100581}
100582
100583// AsSQLServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100584func (xls XeroLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
100585	return nil, false
100586}
100587
100588// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100589func (xls XeroLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
100590	return nil, false
100591}
100592
100593// AsAzureStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100594func (xls XeroLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
100595	return nil, false
100596}
100597
100598// AsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100599func (xls XeroLinkedService) AsLinkedService() (*LinkedService, bool) {
100600	return nil, false
100601}
100602
100603// AsBasicLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100604func (xls XeroLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
100605	return &xls, true
100606}
100607
100608// UnmarshalJSON is the custom unmarshaler for XeroLinkedService struct.
100609func (xls *XeroLinkedService) UnmarshalJSON(body []byte) error {
100610	var m map[string]*json.RawMessage
100611	err := json.Unmarshal(body, &m)
100612	if err != nil {
100613		return err
100614	}
100615	for k, v := range m {
100616		switch k {
100617		case "typeProperties":
100618			if v != nil {
100619				var xeroLinkedServiceTypeProperties XeroLinkedServiceTypeProperties
100620				err = json.Unmarshal(*v, &xeroLinkedServiceTypeProperties)
100621				if err != nil {
100622					return err
100623				}
100624				xls.XeroLinkedServiceTypeProperties = &xeroLinkedServiceTypeProperties
100625			}
100626		default:
100627			if v != nil {
100628				var additionalProperties interface{}
100629				err = json.Unmarshal(*v, &additionalProperties)
100630				if err != nil {
100631					return err
100632				}
100633				if xls.AdditionalProperties == nil {
100634					xls.AdditionalProperties = make(map[string]interface{})
100635				}
100636				xls.AdditionalProperties[k] = additionalProperties
100637			}
100638		case "connectVia":
100639			if v != nil {
100640				var connectVia IntegrationRuntimeReference
100641				err = json.Unmarshal(*v, &connectVia)
100642				if err != nil {
100643					return err
100644				}
100645				xls.ConnectVia = &connectVia
100646			}
100647		case "description":
100648			if v != nil {
100649				var description string
100650				err = json.Unmarshal(*v, &description)
100651				if err != nil {
100652					return err
100653				}
100654				xls.Description = &description
100655			}
100656		case "parameters":
100657			if v != nil {
100658				var parameters map[string]*ParameterSpecification
100659				err = json.Unmarshal(*v, &parameters)
100660				if err != nil {
100661					return err
100662				}
100663				xls.Parameters = parameters
100664			}
100665		case "annotations":
100666			if v != nil {
100667				var annotations []interface{}
100668				err = json.Unmarshal(*v, &annotations)
100669				if err != nil {
100670					return err
100671				}
100672				xls.Annotations = &annotations
100673			}
100674		case "type":
100675			if v != nil {
100676				var typeVar TypeBasicLinkedService
100677				err = json.Unmarshal(*v, &typeVar)
100678				if err != nil {
100679					return err
100680				}
100681				xls.Type = typeVar
100682			}
100683		}
100684	}
100685
100686	return nil
100687}
100688
100689// XeroLinkedServiceTypeProperties xero Service linked service properties.
100690type XeroLinkedServiceTypeProperties struct {
100691	// Host - The endpoint of the Xero server. (i.e. api.xero.com)
100692	Host interface{} `json:"host,omitempty"`
100693	// ConsumerKey - The consumer key associated with the Xero application.
100694	ConsumerKey BasicSecretBase `json:"consumerKey,omitempty"`
100695	// PrivateKey - The private key from the .pem file that was generated for your Xero private application. You must include all the text from the .pem file, including the Unix line endings(
100696	// ).
100697	PrivateKey BasicSecretBase `json:"privateKey,omitempty"`
100698	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
100699	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
100700	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
100701	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
100702	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
100703	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
100704	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
100705	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
100706}
100707
100708// UnmarshalJSON is the custom unmarshaler for XeroLinkedServiceTypeProperties struct.
100709func (xlstp *XeroLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
100710	var m map[string]*json.RawMessage
100711	err := json.Unmarshal(body, &m)
100712	if err != nil {
100713		return err
100714	}
100715	for k, v := range m {
100716		switch k {
100717		case "host":
100718			if v != nil {
100719				var host interface{}
100720				err = json.Unmarshal(*v, &host)
100721				if err != nil {
100722					return err
100723				}
100724				xlstp.Host = host
100725			}
100726		case "consumerKey":
100727			if v != nil {
100728				consumerKey, err := unmarshalBasicSecretBase(*v)
100729				if err != nil {
100730					return err
100731				}
100732				xlstp.ConsumerKey = consumerKey
100733			}
100734		case "privateKey":
100735			if v != nil {
100736				privateKey, err := unmarshalBasicSecretBase(*v)
100737				if err != nil {
100738					return err
100739				}
100740				xlstp.PrivateKey = privateKey
100741			}
100742		case "useEncryptedEndpoints":
100743			if v != nil {
100744				var useEncryptedEndpoints interface{}
100745				err = json.Unmarshal(*v, &useEncryptedEndpoints)
100746				if err != nil {
100747					return err
100748				}
100749				xlstp.UseEncryptedEndpoints = useEncryptedEndpoints
100750			}
100751		case "useHostVerification":
100752			if v != nil {
100753				var useHostVerification interface{}
100754				err = json.Unmarshal(*v, &useHostVerification)
100755				if err != nil {
100756					return err
100757				}
100758				xlstp.UseHostVerification = useHostVerification
100759			}
100760		case "usePeerVerification":
100761			if v != nil {
100762				var usePeerVerification interface{}
100763				err = json.Unmarshal(*v, &usePeerVerification)
100764				if err != nil {
100765					return err
100766				}
100767				xlstp.UsePeerVerification = usePeerVerification
100768			}
100769		case "encryptedCredential":
100770			if v != nil {
100771				var encryptedCredential interface{}
100772				err = json.Unmarshal(*v, &encryptedCredential)
100773				if err != nil {
100774					return err
100775				}
100776				xlstp.EncryptedCredential = encryptedCredential
100777			}
100778		}
100779	}
100780
100781	return nil
100782}
100783
100784// XeroObjectDataset xero Service dataset.
100785type XeroObjectDataset struct {
100786	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
100787	AdditionalProperties map[string]interface{} `json:""`
100788	// Description - Dataset description.
100789	Description *string `json:"description,omitempty"`
100790	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
100791	Structure interface{} `json:"structure,omitempty"`
100792	// LinkedServiceName - Linked service reference.
100793	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
100794	// Parameters - Parameters for dataset.
100795	Parameters map[string]*ParameterSpecification `json:"parameters"`
100796	// Annotations - List of tags that can be used for describing the Dataset.
100797	Annotations *[]interface{} `json:"annotations,omitempty"`
100798	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
100799	Type TypeBasicDataset `json:"type,omitempty"`
100800}
100801
100802// MarshalJSON is the custom marshaler for XeroObjectDataset.
100803func (xod XeroObjectDataset) MarshalJSON() ([]byte, error) {
100804	xod.Type = TypeXeroObject
100805	objectMap := make(map[string]interface{})
100806	if xod.Description != nil {
100807		objectMap["description"] = xod.Description
100808	}
100809	if xod.Structure != nil {
100810		objectMap["structure"] = xod.Structure
100811	}
100812	if xod.LinkedServiceName != nil {
100813		objectMap["linkedServiceName"] = xod.LinkedServiceName
100814	}
100815	if xod.Parameters != nil {
100816		objectMap["parameters"] = xod.Parameters
100817	}
100818	if xod.Annotations != nil {
100819		objectMap["annotations"] = xod.Annotations
100820	}
100821	if xod.Type != "" {
100822		objectMap["type"] = xod.Type
100823	}
100824	for k, v := range xod.AdditionalProperties {
100825		objectMap[k] = v
100826	}
100827	return json.Marshal(objectMap)
100828}
100829
100830// AsResponsysObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100831func (xod XeroObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
100832	return nil, false
100833}
100834
100835// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100836func (xod XeroObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
100837	return nil, false
100838}
100839
100840// AsVerticaTableDataset is the BasicDataset implementation for XeroObjectDataset.
100841func (xod XeroObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
100842	return nil, false
100843}
100844
100845// AsNetezzaTableDataset is the BasicDataset implementation for XeroObjectDataset.
100846func (xod XeroObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
100847	return nil, false
100848}
100849
100850// AsZohoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100851func (xod XeroObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
100852	return nil, false
100853}
100854
100855// AsXeroObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100856func (xod XeroObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
100857	return &xod, true
100858}
100859
100860// AsSquareObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100861func (xod XeroObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
100862	return nil, false
100863}
100864
100865// AsSparkObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100866func (xod XeroObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
100867	return nil, false
100868}
100869
100870// AsShopifyObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100871func (xod XeroObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
100872	return nil, false
100873}
100874
100875// AsServiceNowObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100876func (xod XeroObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
100877	return nil, false
100878}
100879
100880// AsQuickBooksObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100881func (xod XeroObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
100882	return nil, false
100883}
100884
100885// AsPrestoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100886func (xod XeroObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
100887	return nil, false
100888}
100889
100890// AsPhoenixObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100891func (xod XeroObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
100892	return nil, false
100893}
100894
100895// AsPaypalObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100896func (xod XeroObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
100897	return nil, false
100898}
100899
100900// AsMarketoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100901func (xod XeroObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
100902	return nil, false
100903}
100904
100905// AsMariaDBTableDataset is the BasicDataset implementation for XeroObjectDataset.
100906func (xod XeroObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
100907	return nil, false
100908}
100909
100910// AsMagentoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100911func (xod XeroObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
100912	return nil, false
100913}
100914
100915// AsJiraObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100916func (xod XeroObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
100917	return nil, false
100918}
100919
100920// AsImpalaObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100921func (xod XeroObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
100922	return nil, false
100923}
100924
100925// AsHubspotObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100926func (xod XeroObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
100927	return nil, false
100928}
100929
100930// AsHiveObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100931func (xod XeroObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
100932	return nil, false
100933}
100934
100935// AsHBaseObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100936func (xod XeroObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
100937	return nil, false
100938}
100939
100940// AsGreenplumTableDataset is the BasicDataset implementation for XeroObjectDataset.
100941func (xod XeroObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
100942	return nil, false
100943}
100944
100945// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100946func (xod XeroObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
100947	return nil, false
100948}
100949
100950// AsEloquaObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100951func (xod XeroObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
100952	return nil, false
100953}
100954
100955// AsDrillTableDataset is the BasicDataset implementation for XeroObjectDataset.
100956func (xod XeroObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
100957	return nil, false
100958}
100959
100960// AsCouchbaseTableDataset is the BasicDataset implementation for XeroObjectDataset.
100961func (xod XeroObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
100962	return nil, false
100963}
100964
100965// AsConcurObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100966func (xod XeroObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
100967	return nil, false
100968}
100969
100970// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
100971func (xod XeroObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
100972	return nil, false
100973}
100974
100975// AsAmazonMWSObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100976func (xod XeroObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
100977	return nil, false
100978}
100979
100980// AsHTTPDataset is the BasicDataset implementation for XeroObjectDataset.
100981func (xod XeroObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
100982	return nil, false
100983}
100984
100985// AsAzureSearchIndexDataset is the BasicDataset implementation for XeroObjectDataset.
100986func (xod XeroObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
100987	return nil, false
100988}
100989
100990// AsWebTableDataset is the BasicDataset implementation for XeroObjectDataset.
100991func (xod XeroObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
100992	return nil, false
100993}
100994
100995// AsSQLServerTableDataset is the BasicDataset implementation for XeroObjectDataset.
100996func (xod XeroObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
100997	return nil, false
100998}
100999
101000// AsSapEccResourceDataset is the BasicDataset implementation for XeroObjectDataset.
101001func (xod XeroObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
101002	return nil, false
101003}
101004
101005// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for XeroObjectDataset.
101006func (xod XeroObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
101007	return nil, false
101008}
101009
101010// AsSalesforceObjectDataset is the BasicDataset implementation for XeroObjectDataset.
101011func (xod XeroObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
101012	return nil, false
101013}
101014
101015// AsRelationalTableDataset is the BasicDataset implementation for XeroObjectDataset.
101016func (xod XeroObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
101017	return nil, false
101018}
101019
101020// AsAzureMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
101021func (xod XeroObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
101022	return nil, false
101023}
101024
101025// AsOracleTableDataset is the BasicDataset implementation for XeroObjectDataset.
101026func (xod XeroObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
101027	return nil, false
101028}
101029
101030// AsODataResourceDataset is the BasicDataset implementation for XeroObjectDataset.
101031func (xod XeroObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
101032	return nil, false
101033}
101034
101035// AsMongoDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset.
101036func (xod XeroObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
101037	return nil, false
101038}
101039
101040// AsFileShareDataset is the BasicDataset implementation for XeroObjectDataset.
101041func (xod XeroObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
101042	return nil, false
101043}
101044
101045// AsAzureDataLakeStoreDataset is the BasicDataset implementation for XeroObjectDataset.
101046func (xod XeroObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
101047	return nil, false
101048}
101049
101050// AsDynamicsEntityDataset is the BasicDataset implementation for XeroObjectDataset.
101051func (xod XeroObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
101052	return nil, false
101053}
101054
101055// AsDocumentDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset.
101056func (xod XeroObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
101057	return nil, false
101058}
101059
101060// AsCustomDataset is the BasicDataset implementation for XeroObjectDataset.
101061func (xod XeroObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
101062	return nil, false
101063}
101064
101065// AsCassandraTableDataset is the BasicDataset implementation for XeroObjectDataset.
101066func (xod XeroObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
101067	return nil, false
101068}
101069
101070// AsAzureSQLDWTableDataset is the BasicDataset implementation for XeroObjectDataset.
101071func (xod XeroObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
101072	return nil, false
101073}
101074
101075// AsAzureSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
101076func (xod XeroObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
101077	return nil, false
101078}
101079
101080// AsAzureTableDataset is the BasicDataset implementation for XeroObjectDataset.
101081func (xod XeroObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
101082	return nil, false
101083}
101084
101085// AsAzureBlobDataset is the BasicDataset implementation for XeroObjectDataset.
101086func (xod XeroObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
101087	return nil, false
101088}
101089
101090// AsAmazonS3Dataset is the BasicDataset implementation for XeroObjectDataset.
101091func (xod XeroObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
101092	return nil, false
101093}
101094
101095// AsDataset is the BasicDataset implementation for XeroObjectDataset.
101096func (xod XeroObjectDataset) AsDataset() (*Dataset, bool) {
101097	return nil, false
101098}
101099
101100// AsBasicDataset is the BasicDataset implementation for XeroObjectDataset.
101101func (xod XeroObjectDataset) AsBasicDataset() (BasicDataset, bool) {
101102	return &xod, true
101103}
101104
101105// UnmarshalJSON is the custom unmarshaler for XeroObjectDataset struct.
101106func (xod *XeroObjectDataset) UnmarshalJSON(body []byte) error {
101107	var m map[string]*json.RawMessage
101108	err := json.Unmarshal(body, &m)
101109	if err != nil {
101110		return err
101111	}
101112	for k, v := range m {
101113		switch k {
101114		default:
101115			if v != nil {
101116				var additionalProperties interface{}
101117				err = json.Unmarshal(*v, &additionalProperties)
101118				if err != nil {
101119					return err
101120				}
101121				if xod.AdditionalProperties == nil {
101122					xod.AdditionalProperties = make(map[string]interface{})
101123				}
101124				xod.AdditionalProperties[k] = additionalProperties
101125			}
101126		case "description":
101127			if v != nil {
101128				var description string
101129				err = json.Unmarshal(*v, &description)
101130				if err != nil {
101131					return err
101132				}
101133				xod.Description = &description
101134			}
101135		case "structure":
101136			if v != nil {
101137				var structure interface{}
101138				err = json.Unmarshal(*v, &structure)
101139				if err != nil {
101140					return err
101141				}
101142				xod.Structure = structure
101143			}
101144		case "linkedServiceName":
101145			if v != nil {
101146				var linkedServiceName LinkedServiceReference
101147				err = json.Unmarshal(*v, &linkedServiceName)
101148				if err != nil {
101149					return err
101150				}
101151				xod.LinkedServiceName = &linkedServiceName
101152			}
101153		case "parameters":
101154			if v != nil {
101155				var parameters map[string]*ParameterSpecification
101156				err = json.Unmarshal(*v, &parameters)
101157				if err != nil {
101158					return err
101159				}
101160				xod.Parameters = parameters
101161			}
101162		case "annotations":
101163			if v != nil {
101164				var annotations []interface{}
101165				err = json.Unmarshal(*v, &annotations)
101166				if err != nil {
101167					return err
101168				}
101169				xod.Annotations = &annotations
101170			}
101171		case "type":
101172			if v != nil {
101173				var typeVar TypeBasicDataset
101174				err = json.Unmarshal(*v, &typeVar)
101175				if err != nil {
101176					return err
101177				}
101178				xod.Type = typeVar
101179			}
101180		}
101181	}
101182
101183	return nil
101184}
101185
101186// XeroSource a copy activity Xero Service source.
101187type XeroSource struct {
101188	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
101189	Query interface{} `json:"query,omitempty"`
101190	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101191	AdditionalProperties map[string]interface{} `json:""`
101192	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
101193	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
101194	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
101195	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
101196	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
101197	Type TypeBasicCopySource `json:"type,omitempty"`
101198}
101199
101200// MarshalJSON is the custom marshaler for XeroSource.
101201func (xs XeroSource) MarshalJSON() ([]byte, error) {
101202	xs.Type = TypeXeroSource
101203	objectMap := make(map[string]interface{})
101204	if xs.Query != nil {
101205		objectMap["query"] = xs.Query
101206	}
101207	if xs.SourceRetryCount != nil {
101208		objectMap["sourceRetryCount"] = xs.SourceRetryCount
101209	}
101210	if xs.SourceRetryWait != nil {
101211		objectMap["sourceRetryWait"] = xs.SourceRetryWait
101212	}
101213	if xs.Type != "" {
101214		objectMap["type"] = xs.Type
101215	}
101216	for k, v := range xs.AdditionalProperties {
101217		objectMap[k] = v
101218	}
101219	return json.Marshal(objectMap)
101220}
101221
101222// AsAmazonRedshiftSource is the BasicCopySource implementation for XeroSource.
101223func (xs XeroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
101224	return nil, false
101225}
101226
101227// AsResponsysSource is the BasicCopySource implementation for XeroSource.
101228func (xs XeroSource) AsResponsysSource() (*ResponsysSource, bool) {
101229	return nil, false
101230}
101231
101232// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for XeroSource.
101233func (xs XeroSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
101234	return nil, false
101235}
101236
101237// AsVerticaSource is the BasicCopySource implementation for XeroSource.
101238func (xs XeroSource) AsVerticaSource() (*VerticaSource, bool) {
101239	return nil, false
101240}
101241
101242// AsNetezzaSource is the BasicCopySource implementation for XeroSource.
101243func (xs XeroSource) AsNetezzaSource() (*NetezzaSource, bool) {
101244	return nil, false
101245}
101246
101247// AsZohoSource is the BasicCopySource implementation for XeroSource.
101248func (xs XeroSource) AsZohoSource() (*ZohoSource, bool) {
101249	return nil, false
101250}
101251
101252// AsXeroSource is the BasicCopySource implementation for XeroSource.
101253func (xs XeroSource) AsXeroSource() (*XeroSource, bool) {
101254	return &xs, true
101255}
101256
101257// AsSquareSource is the BasicCopySource implementation for XeroSource.
101258func (xs XeroSource) AsSquareSource() (*SquareSource, bool) {
101259	return nil, false
101260}
101261
101262// AsSparkSource is the BasicCopySource implementation for XeroSource.
101263func (xs XeroSource) AsSparkSource() (*SparkSource, bool) {
101264	return nil, false
101265}
101266
101267// AsShopifySource is the BasicCopySource implementation for XeroSource.
101268func (xs XeroSource) AsShopifySource() (*ShopifySource, bool) {
101269	return nil, false
101270}
101271
101272// AsServiceNowSource is the BasicCopySource implementation for XeroSource.
101273func (xs XeroSource) AsServiceNowSource() (*ServiceNowSource, bool) {
101274	return nil, false
101275}
101276
101277// AsQuickBooksSource is the BasicCopySource implementation for XeroSource.
101278func (xs XeroSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
101279	return nil, false
101280}
101281
101282// AsPrestoSource is the BasicCopySource implementation for XeroSource.
101283func (xs XeroSource) AsPrestoSource() (*PrestoSource, bool) {
101284	return nil, false
101285}
101286
101287// AsPhoenixSource is the BasicCopySource implementation for XeroSource.
101288func (xs XeroSource) AsPhoenixSource() (*PhoenixSource, bool) {
101289	return nil, false
101290}
101291
101292// AsPaypalSource is the BasicCopySource implementation for XeroSource.
101293func (xs XeroSource) AsPaypalSource() (*PaypalSource, bool) {
101294	return nil, false
101295}
101296
101297// AsMarketoSource is the BasicCopySource implementation for XeroSource.
101298func (xs XeroSource) AsMarketoSource() (*MarketoSource, bool) {
101299	return nil, false
101300}
101301
101302// AsMariaDBSource is the BasicCopySource implementation for XeroSource.
101303func (xs XeroSource) AsMariaDBSource() (*MariaDBSource, bool) {
101304	return nil, false
101305}
101306
101307// AsMagentoSource is the BasicCopySource implementation for XeroSource.
101308func (xs XeroSource) AsMagentoSource() (*MagentoSource, bool) {
101309	return nil, false
101310}
101311
101312// AsJiraSource is the BasicCopySource implementation for XeroSource.
101313func (xs XeroSource) AsJiraSource() (*JiraSource, bool) {
101314	return nil, false
101315}
101316
101317// AsImpalaSource is the BasicCopySource implementation for XeroSource.
101318func (xs XeroSource) AsImpalaSource() (*ImpalaSource, bool) {
101319	return nil, false
101320}
101321
101322// AsHubspotSource is the BasicCopySource implementation for XeroSource.
101323func (xs XeroSource) AsHubspotSource() (*HubspotSource, bool) {
101324	return nil, false
101325}
101326
101327// AsHiveSource is the BasicCopySource implementation for XeroSource.
101328func (xs XeroSource) AsHiveSource() (*HiveSource, bool) {
101329	return nil, false
101330}
101331
101332// AsHBaseSource is the BasicCopySource implementation for XeroSource.
101333func (xs XeroSource) AsHBaseSource() (*HBaseSource, bool) {
101334	return nil, false
101335}
101336
101337// AsGreenplumSource is the BasicCopySource implementation for XeroSource.
101338func (xs XeroSource) AsGreenplumSource() (*GreenplumSource, bool) {
101339	return nil, false
101340}
101341
101342// AsGoogleBigQuerySource is the BasicCopySource implementation for XeroSource.
101343func (xs XeroSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
101344	return nil, false
101345}
101346
101347// AsEloquaSource is the BasicCopySource implementation for XeroSource.
101348func (xs XeroSource) AsEloquaSource() (*EloquaSource, bool) {
101349	return nil, false
101350}
101351
101352// AsDrillSource is the BasicCopySource implementation for XeroSource.
101353func (xs XeroSource) AsDrillSource() (*DrillSource, bool) {
101354	return nil, false
101355}
101356
101357// AsCouchbaseSource is the BasicCopySource implementation for XeroSource.
101358func (xs XeroSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
101359	return nil, false
101360}
101361
101362// AsConcurSource is the BasicCopySource implementation for XeroSource.
101363func (xs XeroSource) AsConcurSource() (*ConcurSource, bool) {
101364	return nil, false
101365}
101366
101367// AsAzurePostgreSQLSource is the BasicCopySource implementation for XeroSource.
101368func (xs XeroSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
101369	return nil, false
101370}
101371
101372// AsAmazonMWSSource is the BasicCopySource implementation for XeroSource.
101373func (xs XeroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
101374	return nil, false
101375}
101376
101377// AsHTTPSource is the BasicCopySource implementation for XeroSource.
101378func (xs XeroSource) AsHTTPSource() (*HTTPSource, bool) {
101379	return nil, false
101380}
101381
101382// AsAzureDataLakeStoreSource is the BasicCopySource implementation for XeroSource.
101383func (xs XeroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
101384	return nil, false
101385}
101386
101387// AsMongoDbSource is the BasicCopySource implementation for XeroSource.
101388func (xs XeroSource) AsMongoDbSource() (*MongoDbSource, bool) {
101389	return nil, false
101390}
101391
101392// AsCassandraSource is the BasicCopySource implementation for XeroSource.
101393func (xs XeroSource) AsCassandraSource() (*CassandraSource, bool) {
101394	return nil, false
101395}
101396
101397// AsWebSource is the BasicCopySource implementation for XeroSource.
101398func (xs XeroSource) AsWebSource() (*WebSource, bool) {
101399	return nil, false
101400}
101401
101402// AsOracleSource is the BasicCopySource implementation for XeroSource.
101403func (xs XeroSource) AsOracleSource() (*OracleSource, bool) {
101404	return nil, false
101405}
101406
101407// AsAzureMySQLSource is the BasicCopySource implementation for XeroSource.
101408func (xs XeroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
101409	return nil, false
101410}
101411
101412// AsHdfsSource is the BasicCopySource implementation for XeroSource.
101413func (xs XeroSource) AsHdfsSource() (*HdfsSource, bool) {
101414	return nil, false
101415}
101416
101417// AsFileSystemSource is the BasicCopySource implementation for XeroSource.
101418func (xs XeroSource) AsFileSystemSource() (*FileSystemSource, bool) {
101419	return nil, false
101420}
101421
101422// AsSQLDWSource is the BasicCopySource implementation for XeroSource.
101423func (xs XeroSource) AsSQLDWSource() (*SQLDWSource, bool) {
101424	return nil, false
101425}
101426
101427// AsSQLSource is the BasicCopySource implementation for XeroSource.
101428func (xs XeroSource) AsSQLSource() (*SQLSource, bool) {
101429	return nil, false
101430}
101431
101432// AsSapEccSource is the BasicCopySource implementation for XeroSource.
101433func (xs XeroSource) AsSapEccSource() (*SapEccSource, bool) {
101434	return nil, false
101435}
101436
101437// AsSapCloudForCustomerSource is the BasicCopySource implementation for XeroSource.
101438func (xs XeroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
101439	return nil, false
101440}
101441
101442// AsSalesforceSource is the BasicCopySource implementation for XeroSource.
101443func (xs XeroSource) AsSalesforceSource() (*SalesforceSource, bool) {
101444	return nil, false
101445}
101446
101447// AsRelationalSource is the BasicCopySource implementation for XeroSource.
101448func (xs XeroSource) AsRelationalSource() (*RelationalSource, bool) {
101449	return nil, false
101450}
101451
101452// AsDynamicsSource is the BasicCopySource implementation for XeroSource.
101453func (xs XeroSource) AsDynamicsSource() (*DynamicsSource, bool) {
101454	return nil, false
101455}
101456
101457// AsDocumentDbCollectionSource is the BasicCopySource implementation for XeroSource.
101458func (xs XeroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
101459	return nil, false
101460}
101461
101462// AsBlobSource is the BasicCopySource implementation for XeroSource.
101463func (xs XeroSource) AsBlobSource() (*BlobSource, bool) {
101464	return nil, false
101465}
101466
101467// AsAzureTableSource is the BasicCopySource implementation for XeroSource.
101468func (xs XeroSource) AsAzureTableSource() (*AzureTableSource, bool) {
101469	return nil, false
101470}
101471
101472// AsCopySource is the BasicCopySource implementation for XeroSource.
101473func (xs XeroSource) AsCopySource() (*CopySource, bool) {
101474	return nil, false
101475}
101476
101477// AsBasicCopySource is the BasicCopySource implementation for XeroSource.
101478func (xs XeroSource) AsBasicCopySource() (BasicCopySource, bool) {
101479	return &xs, true
101480}
101481
101482// UnmarshalJSON is the custom unmarshaler for XeroSource struct.
101483func (xs *XeroSource) UnmarshalJSON(body []byte) error {
101484	var m map[string]*json.RawMessage
101485	err := json.Unmarshal(body, &m)
101486	if err != nil {
101487		return err
101488	}
101489	for k, v := range m {
101490		switch k {
101491		case "query":
101492			if v != nil {
101493				var query interface{}
101494				err = json.Unmarshal(*v, &query)
101495				if err != nil {
101496					return err
101497				}
101498				xs.Query = query
101499			}
101500		default:
101501			if v != nil {
101502				var additionalProperties interface{}
101503				err = json.Unmarshal(*v, &additionalProperties)
101504				if err != nil {
101505					return err
101506				}
101507				if xs.AdditionalProperties == nil {
101508					xs.AdditionalProperties = make(map[string]interface{})
101509				}
101510				xs.AdditionalProperties[k] = additionalProperties
101511			}
101512		case "sourceRetryCount":
101513			if v != nil {
101514				var sourceRetryCount interface{}
101515				err = json.Unmarshal(*v, &sourceRetryCount)
101516				if err != nil {
101517					return err
101518				}
101519				xs.SourceRetryCount = sourceRetryCount
101520			}
101521		case "sourceRetryWait":
101522			if v != nil {
101523				var sourceRetryWait interface{}
101524				err = json.Unmarshal(*v, &sourceRetryWait)
101525				if err != nil {
101526					return err
101527				}
101528				xs.SourceRetryWait = sourceRetryWait
101529			}
101530		case "type":
101531			if v != nil {
101532				var typeVar TypeBasicCopySource
101533				err = json.Unmarshal(*v, &typeVar)
101534				if err != nil {
101535					return err
101536				}
101537				xs.Type = typeVar
101538			}
101539		}
101540	}
101541
101542	return nil
101543}
101544
101545// ZohoLinkedService zoho server linked service.
101546type ZohoLinkedService struct {
101547	// ZohoLinkedServiceTypeProperties - Zoho server linked service properties.
101548	*ZohoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
101549	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101550	AdditionalProperties map[string]interface{} `json:""`
101551	// ConnectVia - The integration runtime reference.
101552	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
101553	// Description - Linked service description.
101554	Description *string `json:"description,omitempty"`
101555	// Parameters - Parameters for linked service.
101556	Parameters map[string]*ParameterSpecification `json:"parameters"`
101557	// Annotations - List of tags that can be used for describing the Dataset.
101558	Annotations *[]interface{} `json:"annotations,omitempty"`
101559	// Type - Possible values include: 'TypeLinkedService', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforce', 'TypeAzureDataLakeStore', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureStorage'
101560	Type TypeBasicLinkedService `json:"type,omitempty"`
101561}
101562
101563// MarshalJSON is the custom marshaler for ZohoLinkedService.
101564func (zls ZohoLinkedService) MarshalJSON() ([]byte, error) {
101565	zls.Type = TypeZoho
101566	objectMap := make(map[string]interface{})
101567	if zls.ZohoLinkedServiceTypeProperties != nil {
101568		objectMap["typeProperties"] = zls.ZohoLinkedServiceTypeProperties
101569	}
101570	if zls.ConnectVia != nil {
101571		objectMap["connectVia"] = zls.ConnectVia
101572	}
101573	if zls.Description != nil {
101574		objectMap["description"] = zls.Description
101575	}
101576	if zls.Parameters != nil {
101577		objectMap["parameters"] = zls.Parameters
101578	}
101579	if zls.Annotations != nil {
101580		objectMap["annotations"] = zls.Annotations
101581	}
101582	if zls.Type != "" {
101583		objectMap["type"] = zls.Type
101584	}
101585	for k, v := range zls.AdditionalProperties {
101586		objectMap[k] = v
101587	}
101588	return json.Marshal(objectMap)
101589}
101590
101591// AsResponsysLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101592func (zls ZohoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
101593	return nil, false
101594}
101595
101596// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101597func (zls ZohoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
101598	return nil, false
101599}
101600
101601// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101602func (zls ZohoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
101603	return nil, false
101604}
101605
101606// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101607func (zls ZohoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
101608	return nil, false
101609}
101610
101611// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101612func (zls ZohoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
101613	return nil, false
101614}
101615
101616// AsNetezzaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101617func (zls ZohoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
101618	return nil, false
101619}
101620
101621// AsVerticaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101622func (zls ZohoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
101623	return nil, false
101624}
101625
101626// AsZohoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101627func (zls ZohoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
101628	return &zls, true
101629}
101630
101631// AsXeroLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101632func (zls ZohoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
101633	return nil, false
101634}
101635
101636// AsSquareLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101637func (zls ZohoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
101638	return nil, false
101639}
101640
101641// AsSparkLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101642func (zls ZohoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
101643	return nil, false
101644}
101645
101646// AsShopifyLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101647func (zls ZohoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
101648	return nil, false
101649}
101650
101651// AsServiceNowLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101652func (zls ZohoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
101653	return nil, false
101654}
101655
101656// AsQuickBooksLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101657func (zls ZohoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
101658	return nil, false
101659}
101660
101661// AsPrestoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101662func (zls ZohoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
101663	return nil, false
101664}
101665
101666// AsPhoenixLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101667func (zls ZohoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
101668	return nil, false
101669}
101670
101671// AsPaypalLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101672func (zls ZohoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
101673	return nil, false
101674}
101675
101676// AsMarketoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101677func (zls ZohoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
101678	return nil, false
101679}
101680
101681// AsMariaDBLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101682func (zls ZohoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
101683	return nil, false
101684}
101685
101686// AsMagentoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101687func (zls ZohoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
101688	return nil, false
101689}
101690
101691// AsJiraLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101692func (zls ZohoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
101693	return nil, false
101694}
101695
101696// AsImpalaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101697func (zls ZohoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
101698	return nil, false
101699}
101700
101701// AsHubspotLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101702func (zls ZohoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
101703	return nil, false
101704}
101705
101706// AsHiveLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101707func (zls ZohoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
101708	return nil, false
101709}
101710
101711// AsHBaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101712func (zls ZohoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
101713	return nil, false
101714}
101715
101716// AsGreenplumLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101717func (zls ZohoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
101718	return nil, false
101719}
101720
101721// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101722func (zls ZohoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
101723	return nil, false
101724}
101725
101726// AsEloquaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101727func (zls ZohoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
101728	return nil, false
101729}
101730
101731// AsDrillLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101732func (zls ZohoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
101733	return nil, false
101734}
101735
101736// AsCouchbaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101737func (zls ZohoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
101738	return nil, false
101739}
101740
101741// AsConcurLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101742func (zls ZohoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
101743	return nil, false
101744}
101745
101746// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101747func (zls ZohoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
101748	return nil, false
101749}
101750
101751// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101752func (zls ZohoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
101753	return nil, false
101754}
101755
101756// AsSapHanaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101757func (zls ZohoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
101758	return nil, false
101759}
101760
101761// AsSapBWLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101762func (zls ZohoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
101763	return nil, false
101764}
101765
101766// AsSftpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101767func (zls ZohoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
101768	return nil, false
101769}
101770
101771// AsFtpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101772func (zls ZohoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
101773	return nil, false
101774}
101775
101776// AsHTTPLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101777func (zls ZohoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
101778	return nil, false
101779}
101780
101781// AsAzureSearchLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101782func (zls ZohoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
101783	return nil, false
101784}
101785
101786// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101787func (zls ZohoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
101788	return nil, false
101789}
101790
101791// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101792func (zls ZohoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
101793	return nil, false
101794}
101795
101796// AsAmazonS3LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101797func (zls ZohoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
101798	return nil, false
101799}
101800
101801// AsSapEccLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101802func (zls ZohoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
101803	return nil, false
101804}
101805
101806// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101807func (zls ZohoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
101808	return nil, false
101809}
101810
101811// AsSalesforceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101812func (zls ZohoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
101813	return nil, false
101814}
101815
101816// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101817func (zls ZohoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
101818	return nil, false
101819}
101820
101821// AsMongoDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101822func (zls ZohoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
101823	return nil, false
101824}
101825
101826// AsCassandraLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101827func (zls ZohoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
101828	return nil, false
101829}
101830
101831// AsWebLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101832func (zls ZohoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
101833	return nil, false
101834}
101835
101836// AsODataLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101837func (zls ZohoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
101838	return nil, false
101839}
101840
101841// AsHdfsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101842func (zls ZohoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
101843	return nil, false
101844}
101845
101846// AsOdbcLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101847func (zls ZohoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
101848	return nil, false
101849}
101850
101851// AsAzureMLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101852func (zls ZohoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
101853	return nil, false
101854}
101855
101856// AsTeradataLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101857func (zls ZohoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
101858	return nil, false
101859}
101860
101861// AsDb2LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101862func (zls ZohoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
101863	return nil, false
101864}
101865
101866// AsSybaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101867func (zls ZohoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
101868	return nil, false
101869}
101870
101871// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101872func (zls ZohoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
101873	return nil, false
101874}
101875
101876// AsMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101877func (zls ZohoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
101878	return nil, false
101879}
101880
101881// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101882func (zls ZohoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
101883	return nil, false
101884}
101885
101886// AsOracleLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101887func (zls ZohoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
101888	return nil, false
101889}
101890
101891// AsFileServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101892func (zls ZohoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
101893	return nil, false
101894}
101895
101896// AsHDInsightLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101897func (zls ZohoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
101898	return nil, false
101899}
101900
101901// AsDynamicsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101902func (zls ZohoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
101903	return nil, false
101904}
101905
101906// AsCosmosDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101907func (zls ZohoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
101908	return nil, false
101909}
101910
101911// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101912func (zls ZohoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
101913	return nil, false
101914}
101915
101916// AsAzureBatchLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101917func (zls ZohoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
101918	return nil, false
101919}
101920
101921// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101922func (zls ZohoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
101923	return nil, false
101924}
101925
101926// AsSQLServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101927func (zls ZohoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
101928	return nil, false
101929}
101930
101931// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101932func (zls ZohoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
101933	return nil, false
101934}
101935
101936// AsAzureStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101937func (zls ZohoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
101938	return nil, false
101939}
101940
101941// AsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101942func (zls ZohoLinkedService) AsLinkedService() (*LinkedService, bool) {
101943	return nil, false
101944}
101945
101946// AsBasicLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101947func (zls ZohoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
101948	return &zls, true
101949}
101950
101951// UnmarshalJSON is the custom unmarshaler for ZohoLinkedService struct.
101952func (zls *ZohoLinkedService) UnmarshalJSON(body []byte) error {
101953	var m map[string]*json.RawMessage
101954	err := json.Unmarshal(body, &m)
101955	if err != nil {
101956		return err
101957	}
101958	for k, v := range m {
101959		switch k {
101960		case "typeProperties":
101961			if v != nil {
101962				var zohoLinkedServiceTypeProperties ZohoLinkedServiceTypeProperties
101963				err = json.Unmarshal(*v, &zohoLinkedServiceTypeProperties)
101964				if err != nil {
101965					return err
101966				}
101967				zls.ZohoLinkedServiceTypeProperties = &zohoLinkedServiceTypeProperties
101968			}
101969		default:
101970			if v != nil {
101971				var additionalProperties interface{}
101972				err = json.Unmarshal(*v, &additionalProperties)
101973				if err != nil {
101974					return err
101975				}
101976				if zls.AdditionalProperties == nil {
101977					zls.AdditionalProperties = make(map[string]interface{})
101978				}
101979				zls.AdditionalProperties[k] = additionalProperties
101980			}
101981		case "connectVia":
101982			if v != nil {
101983				var connectVia IntegrationRuntimeReference
101984				err = json.Unmarshal(*v, &connectVia)
101985				if err != nil {
101986					return err
101987				}
101988				zls.ConnectVia = &connectVia
101989			}
101990		case "description":
101991			if v != nil {
101992				var description string
101993				err = json.Unmarshal(*v, &description)
101994				if err != nil {
101995					return err
101996				}
101997				zls.Description = &description
101998			}
101999		case "parameters":
102000			if v != nil {
102001				var parameters map[string]*ParameterSpecification
102002				err = json.Unmarshal(*v, &parameters)
102003				if err != nil {
102004					return err
102005				}
102006				zls.Parameters = parameters
102007			}
102008		case "annotations":
102009			if v != nil {
102010				var annotations []interface{}
102011				err = json.Unmarshal(*v, &annotations)
102012				if err != nil {
102013					return err
102014				}
102015				zls.Annotations = &annotations
102016			}
102017		case "type":
102018			if v != nil {
102019				var typeVar TypeBasicLinkedService
102020				err = json.Unmarshal(*v, &typeVar)
102021				if err != nil {
102022					return err
102023				}
102024				zls.Type = typeVar
102025			}
102026		}
102027	}
102028
102029	return nil
102030}
102031
102032// ZohoLinkedServiceTypeProperties zoho server linked service properties.
102033type ZohoLinkedServiceTypeProperties struct {
102034	// Endpoint - The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private)
102035	Endpoint interface{} `json:"endpoint,omitempty"`
102036	// AccessToken - The access token for Zoho authentication.
102037	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
102038	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
102039	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
102040	// UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
102041	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
102042	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
102043	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
102044	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
102045	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
102046}
102047
102048// UnmarshalJSON is the custom unmarshaler for ZohoLinkedServiceTypeProperties struct.
102049func (zlstp *ZohoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
102050	var m map[string]*json.RawMessage
102051	err := json.Unmarshal(body, &m)
102052	if err != nil {
102053		return err
102054	}
102055	for k, v := range m {
102056		switch k {
102057		case "endpoint":
102058			if v != nil {
102059				var endpoint interface{}
102060				err = json.Unmarshal(*v, &endpoint)
102061				if err != nil {
102062					return err
102063				}
102064				zlstp.Endpoint = endpoint
102065			}
102066		case "accessToken":
102067			if v != nil {
102068				accessToken, err := unmarshalBasicSecretBase(*v)
102069				if err != nil {
102070					return err
102071				}
102072				zlstp.AccessToken = accessToken
102073			}
102074		case "useEncryptedEndpoints":
102075			if v != nil {
102076				var useEncryptedEndpoints interface{}
102077				err = json.Unmarshal(*v, &useEncryptedEndpoints)
102078				if err != nil {
102079					return err
102080				}
102081				zlstp.UseEncryptedEndpoints = useEncryptedEndpoints
102082			}
102083		case "useHostVerification":
102084			if v != nil {
102085				var useHostVerification interface{}
102086				err = json.Unmarshal(*v, &useHostVerification)
102087				if err != nil {
102088					return err
102089				}
102090				zlstp.UseHostVerification = useHostVerification
102091			}
102092		case "usePeerVerification":
102093			if v != nil {
102094				var usePeerVerification interface{}
102095				err = json.Unmarshal(*v, &usePeerVerification)
102096				if err != nil {
102097					return err
102098				}
102099				zlstp.UsePeerVerification = usePeerVerification
102100			}
102101		case "encryptedCredential":
102102			if v != nil {
102103				var encryptedCredential interface{}
102104				err = json.Unmarshal(*v, &encryptedCredential)
102105				if err != nil {
102106					return err
102107				}
102108				zlstp.EncryptedCredential = encryptedCredential
102109			}
102110		}
102111	}
102112
102113	return nil
102114}
102115
102116// ZohoObjectDataset zoho server dataset.
102117type ZohoObjectDataset struct {
102118	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
102119	AdditionalProperties map[string]interface{} `json:""`
102120	// Description - Dataset description.
102121	Description *string `json:"description,omitempty"`
102122	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
102123	Structure interface{} `json:"structure,omitempty"`
102124	// LinkedServiceName - Linked service reference.
102125	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
102126	// Parameters - Parameters for dataset.
102127	Parameters map[string]*ParameterSpecification `json:"parameters"`
102128	// Annotations - List of tags that can be used for describing the Dataset.
102129	Annotations *[]interface{} `json:"annotations,omitempty"`
102130	// Type - Possible values include: 'TypeDataset', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSQLServerTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceObject', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeOracleTable', 'TypeODataResource', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeAzureDataLakeStoreFile', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeAmazonS3Object'
102131	Type TypeBasicDataset `json:"type,omitempty"`
102132}
102133
102134// MarshalJSON is the custom marshaler for ZohoObjectDataset.
102135func (zod ZohoObjectDataset) MarshalJSON() ([]byte, error) {
102136	zod.Type = TypeZohoObject
102137	objectMap := make(map[string]interface{})
102138	if zod.Description != nil {
102139		objectMap["description"] = zod.Description
102140	}
102141	if zod.Structure != nil {
102142		objectMap["structure"] = zod.Structure
102143	}
102144	if zod.LinkedServiceName != nil {
102145		objectMap["linkedServiceName"] = zod.LinkedServiceName
102146	}
102147	if zod.Parameters != nil {
102148		objectMap["parameters"] = zod.Parameters
102149	}
102150	if zod.Annotations != nil {
102151		objectMap["annotations"] = zod.Annotations
102152	}
102153	if zod.Type != "" {
102154		objectMap["type"] = zod.Type
102155	}
102156	for k, v := range zod.AdditionalProperties {
102157		objectMap[k] = v
102158	}
102159	return json.Marshal(objectMap)
102160}
102161
102162// AsResponsysObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102163func (zod ZohoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
102164	return nil, false
102165}
102166
102167// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102168func (zod ZohoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
102169	return nil, false
102170}
102171
102172// AsVerticaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102173func (zod ZohoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
102174	return nil, false
102175}
102176
102177// AsNetezzaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102178func (zod ZohoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
102179	return nil, false
102180}
102181
102182// AsZohoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102183func (zod ZohoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
102184	return &zod, true
102185}
102186
102187// AsXeroObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102188func (zod ZohoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
102189	return nil, false
102190}
102191
102192// AsSquareObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102193func (zod ZohoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
102194	return nil, false
102195}
102196
102197// AsSparkObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102198func (zod ZohoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
102199	return nil, false
102200}
102201
102202// AsShopifyObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102203func (zod ZohoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
102204	return nil, false
102205}
102206
102207// AsServiceNowObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102208func (zod ZohoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
102209	return nil, false
102210}
102211
102212// AsQuickBooksObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102213func (zod ZohoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
102214	return nil, false
102215}
102216
102217// AsPrestoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102218func (zod ZohoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
102219	return nil, false
102220}
102221
102222// AsPhoenixObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102223func (zod ZohoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
102224	return nil, false
102225}
102226
102227// AsPaypalObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102228func (zod ZohoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
102229	return nil, false
102230}
102231
102232// AsMarketoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102233func (zod ZohoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
102234	return nil, false
102235}
102236
102237// AsMariaDBTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102238func (zod ZohoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
102239	return nil, false
102240}
102241
102242// AsMagentoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102243func (zod ZohoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
102244	return nil, false
102245}
102246
102247// AsJiraObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102248func (zod ZohoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
102249	return nil, false
102250}
102251
102252// AsImpalaObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102253func (zod ZohoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
102254	return nil, false
102255}
102256
102257// AsHubspotObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102258func (zod ZohoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
102259	return nil, false
102260}
102261
102262// AsHiveObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102263func (zod ZohoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
102264	return nil, false
102265}
102266
102267// AsHBaseObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102268func (zod ZohoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
102269	return nil, false
102270}
102271
102272// AsGreenplumTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102273func (zod ZohoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
102274	return nil, false
102275}
102276
102277// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102278func (zod ZohoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
102279	return nil, false
102280}
102281
102282// AsEloquaObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102283func (zod ZohoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
102284	return nil, false
102285}
102286
102287// AsDrillTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102288func (zod ZohoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
102289	return nil, false
102290}
102291
102292// AsCouchbaseTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102293func (zod ZohoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
102294	return nil, false
102295}
102296
102297// AsConcurObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102298func (zod ZohoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
102299	return nil, false
102300}
102301
102302// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102303func (zod ZohoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
102304	return nil, false
102305}
102306
102307// AsAmazonMWSObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102308func (zod ZohoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
102309	return nil, false
102310}
102311
102312// AsHTTPDataset is the BasicDataset implementation for ZohoObjectDataset.
102313func (zod ZohoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
102314	return nil, false
102315}
102316
102317// AsAzureSearchIndexDataset is the BasicDataset implementation for ZohoObjectDataset.
102318func (zod ZohoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
102319	return nil, false
102320}
102321
102322// AsWebTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102323func (zod ZohoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
102324	return nil, false
102325}
102326
102327// AsSQLServerTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102328func (zod ZohoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
102329	return nil, false
102330}
102331
102332// AsSapEccResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
102333func (zod ZohoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
102334	return nil, false
102335}
102336
102337// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
102338func (zod ZohoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
102339	return nil, false
102340}
102341
102342// AsSalesforceObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102343func (zod ZohoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
102344	return nil, false
102345}
102346
102347// AsRelationalTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102348func (zod ZohoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
102349	return nil, false
102350}
102351
102352// AsAzureMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102353func (zod ZohoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
102354	return nil, false
102355}
102356
102357// AsOracleTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102358func (zod ZohoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
102359	return nil, false
102360}
102361
102362// AsODataResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
102363func (zod ZohoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
102364	return nil, false
102365}
102366
102367// AsMongoDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
102368func (zod ZohoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
102369	return nil, false
102370}
102371
102372// AsFileShareDataset is the BasicDataset implementation for ZohoObjectDataset.
102373func (zod ZohoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
102374	return nil, false
102375}
102376
102377// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ZohoObjectDataset.
102378func (zod ZohoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
102379	return nil, false
102380}
102381
102382// AsDynamicsEntityDataset is the BasicDataset implementation for ZohoObjectDataset.
102383func (zod ZohoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
102384	return nil, false
102385}
102386
102387// AsDocumentDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
102388func (zod ZohoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
102389	return nil, false
102390}
102391
102392// AsCustomDataset is the BasicDataset implementation for ZohoObjectDataset.
102393func (zod ZohoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
102394	return nil, false
102395}
102396
102397// AsCassandraTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102398func (zod ZohoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
102399	return nil, false
102400}
102401
102402// AsAzureSQLDWTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102403func (zod ZohoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
102404	return nil, false
102405}
102406
102407// AsAzureSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102408func (zod ZohoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
102409	return nil, false
102410}
102411
102412// AsAzureTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102413func (zod ZohoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
102414	return nil, false
102415}
102416
102417// AsAzureBlobDataset is the BasicDataset implementation for ZohoObjectDataset.
102418func (zod ZohoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
102419	return nil, false
102420}
102421
102422// AsAmazonS3Dataset is the BasicDataset implementation for ZohoObjectDataset.
102423func (zod ZohoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
102424	return nil, false
102425}
102426
102427// AsDataset is the BasicDataset implementation for ZohoObjectDataset.
102428func (zod ZohoObjectDataset) AsDataset() (*Dataset, bool) {
102429	return nil, false
102430}
102431
102432// AsBasicDataset is the BasicDataset implementation for ZohoObjectDataset.
102433func (zod ZohoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
102434	return &zod, true
102435}
102436
102437// UnmarshalJSON is the custom unmarshaler for ZohoObjectDataset struct.
102438func (zod *ZohoObjectDataset) UnmarshalJSON(body []byte) error {
102439	var m map[string]*json.RawMessage
102440	err := json.Unmarshal(body, &m)
102441	if err != nil {
102442		return err
102443	}
102444	for k, v := range m {
102445		switch k {
102446		default:
102447			if v != nil {
102448				var additionalProperties interface{}
102449				err = json.Unmarshal(*v, &additionalProperties)
102450				if err != nil {
102451					return err
102452				}
102453				if zod.AdditionalProperties == nil {
102454					zod.AdditionalProperties = make(map[string]interface{})
102455				}
102456				zod.AdditionalProperties[k] = additionalProperties
102457			}
102458		case "description":
102459			if v != nil {
102460				var description string
102461				err = json.Unmarshal(*v, &description)
102462				if err != nil {
102463					return err
102464				}
102465				zod.Description = &description
102466			}
102467		case "structure":
102468			if v != nil {
102469				var structure interface{}
102470				err = json.Unmarshal(*v, &structure)
102471				if err != nil {
102472					return err
102473				}
102474				zod.Structure = structure
102475			}
102476		case "linkedServiceName":
102477			if v != nil {
102478				var linkedServiceName LinkedServiceReference
102479				err = json.Unmarshal(*v, &linkedServiceName)
102480				if err != nil {
102481					return err
102482				}
102483				zod.LinkedServiceName = &linkedServiceName
102484			}
102485		case "parameters":
102486			if v != nil {
102487				var parameters map[string]*ParameterSpecification
102488				err = json.Unmarshal(*v, &parameters)
102489				if err != nil {
102490					return err
102491				}
102492				zod.Parameters = parameters
102493			}
102494		case "annotations":
102495			if v != nil {
102496				var annotations []interface{}
102497				err = json.Unmarshal(*v, &annotations)
102498				if err != nil {
102499					return err
102500				}
102501				zod.Annotations = &annotations
102502			}
102503		case "type":
102504			if v != nil {
102505				var typeVar TypeBasicDataset
102506				err = json.Unmarshal(*v, &typeVar)
102507				if err != nil {
102508					return err
102509				}
102510				zod.Type = typeVar
102511			}
102512		}
102513	}
102514
102515	return nil
102516}
102517
102518// ZohoSource a copy activity Zoho server source.
102519type ZohoSource struct {
102520	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
102521	Query interface{} `json:"query,omitempty"`
102522	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
102523	AdditionalProperties map[string]interface{} `json:""`
102524	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
102525	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
102526	// SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
102527	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
102528	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureDataLakeStoreSource', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeRelationalSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource'
102529	Type TypeBasicCopySource `json:"type,omitempty"`
102530}
102531
102532// MarshalJSON is the custom marshaler for ZohoSource.
102533func (zs ZohoSource) MarshalJSON() ([]byte, error) {
102534	zs.Type = TypeZohoSource
102535	objectMap := make(map[string]interface{})
102536	if zs.Query != nil {
102537		objectMap["query"] = zs.Query
102538	}
102539	if zs.SourceRetryCount != nil {
102540		objectMap["sourceRetryCount"] = zs.SourceRetryCount
102541	}
102542	if zs.SourceRetryWait != nil {
102543		objectMap["sourceRetryWait"] = zs.SourceRetryWait
102544	}
102545	if zs.Type != "" {
102546		objectMap["type"] = zs.Type
102547	}
102548	for k, v := range zs.AdditionalProperties {
102549		objectMap[k] = v
102550	}
102551	return json.Marshal(objectMap)
102552}
102553
102554// AsAmazonRedshiftSource is the BasicCopySource implementation for ZohoSource.
102555func (zs ZohoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
102556	return nil, false
102557}
102558
102559// AsResponsysSource is the BasicCopySource implementation for ZohoSource.
102560func (zs ZohoSource) AsResponsysSource() (*ResponsysSource, bool) {
102561	return nil, false
102562}
102563
102564// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ZohoSource.
102565func (zs ZohoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
102566	return nil, false
102567}
102568
102569// AsVerticaSource is the BasicCopySource implementation for ZohoSource.
102570func (zs ZohoSource) AsVerticaSource() (*VerticaSource, bool) {
102571	return nil, false
102572}
102573
102574// AsNetezzaSource is the BasicCopySource implementation for ZohoSource.
102575func (zs ZohoSource) AsNetezzaSource() (*NetezzaSource, bool) {
102576	return nil, false
102577}
102578
102579// AsZohoSource is the BasicCopySource implementation for ZohoSource.
102580func (zs ZohoSource) AsZohoSource() (*ZohoSource, bool) {
102581	return &zs, true
102582}
102583
102584// AsXeroSource is the BasicCopySource implementation for ZohoSource.
102585func (zs ZohoSource) AsXeroSource() (*XeroSource, bool) {
102586	return nil, false
102587}
102588
102589// AsSquareSource is the BasicCopySource implementation for ZohoSource.
102590func (zs ZohoSource) AsSquareSource() (*SquareSource, bool) {
102591	return nil, false
102592}
102593
102594// AsSparkSource is the BasicCopySource implementation for ZohoSource.
102595func (zs ZohoSource) AsSparkSource() (*SparkSource, bool) {
102596	return nil, false
102597}
102598
102599// AsShopifySource is the BasicCopySource implementation for ZohoSource.
102600func (zs ZohoSource) AsShopifySource() (*ShopifySource, bool) {
102601	return nil, false
102602}
102603
102604// AsServiceNowSource is the BasicCopySource implementation for ZohoSource.
102605func (zs ZohoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
102606	return nil, false
102607}
102608
102609// AsQuickBooksSource is the BasicCopySource implementation for ZohoSource.
102610func (zs ZohoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
102611	return nil, false
102612}
102613
102614// AsPrestoSource is the BasicCopySource implementation for ZohoSource.
102615func (zs ZohoSource) AsPrestoSource() (*PrestoSource, bool) {
102616	return nil, false
102617}
102618
102619// AsPhoenixSource is the BasicCopySource implementation for ZohoSource.
102620func (zs ZohoSource) AsPhoenixSource() (*PhoenixSource, bool) {
102621	return nil, false
102622}
102623
102624// AsPaypalSource is the BasicCopySource implementation for ZohoSource.
102625func (zs ZohoSource) AsPaypalSource() (*PaypalSource, bool) {
102626	return nil, false
102627}
102628
102629// AsMarketoSource is the BasicCopySource implementation for ZohoSource.
102630func (zs ZohoSource) AsMarketoSource() (*MarketoSource, bool) {
102631	return nil, false
102632}
102633
102634// AsMariaDBSource is the BasicCopySource implementation for ZohoSource.
102635func (zs ZohoSource) AsMariaDBSource() (*MariaDBSource, bool) {
102636	return nil, false
102637}
102638
102639// AsMagentoSource is the BasicCopySource implementation for ZohoSource.
102640func (zs ZohoSource) AsMagentoSource() (*MagentoSource, bool) {
102641	return nil, false
102642}
102643
102644// AsJiraSource is the BasicCopySource implementation for ZohoSource.
102645func (zs ZohoSource) AsJiraSource() (*JiraSource, bool) {
102646	return nil, false
102647}
102648
102649// AsImpalaSource is the BasicCopySource implementation for ZohoSource.
102650func (zs ZohoSource) AsImpalaSource() (*ImpalaSource, bool) {
102651	return nil, false
102652}
102653
102654// AsHubspotSource is the BasicCopySource implementation for ZohoSource.
102655func (zs ZohoSource) AsHubspotSource() (*HubspotSource, bool) {
102656	return nil, false
102657}
102658
102659// AsHiveSource is the BasicCopySource implementation for ZohoSource.
102660func (zs ZohoSource) AsHiveSource() (*HiveSource, bool) {
102661	return nil, false
102662}
102663
102664// AsHBaseSource is the BasicCopySource implementation for ZohoSource.
102665func (zs ZohoSource) AsHBaseSource() (*HBaseSource, bool) {
102666	return nil, false
102667}
102668
102669// AsGreenplumSource is the BasicCopySource implementation for ZohoSource.
102670func (zs ZohoSource) AsGreenplumSource() (*GreenplumSource, bool) {
102671	return nil, false
102672}
102673
102674// AsGoogleBigQuerySource is the BasicCopySource implementation for ZohoSource.
102675func (zs ZohoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
102676	return nil, false
102677}
102678
102679// AsEloquaSource is the BasicCopySource implementation for ZohoSource.
102680func (zs ZohoSource) AsEloquaSource() (*EloquaSource, bool) {
102681	return nil, false
102682}
102683
102684// AsDrillSource is the BasicCopySource implementation for ZohoSource.
102685func (zs ZohoSource) AsDrillSource() (*DrillSource, bool) {
102686	return nil, false
102687}
102688
102689// AsCouchbaseSource is the BasicCopySource implementation for ZohoSource.
102690func (zs ZohoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
102691	return nil, false
102692}
102693
102694// AsConcurSource is the BasicCopySource implementation for ZohoSource.
102695func (zs ZohoSource) AsConcurSource() (*ConcurSource, bool) {
102696	return nil, false
102697}
102698
102699// AsAzurePostgreSQLSource is the BasicCopySource implementation for ZohoSource.
102700func (zs ZohoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
102701	return nil, false
102702}
102703
102704// AsAmazonMWSSource is the BasicCopySource implementation for ZohoSource.
102705func (zs ZohoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
102706	return nil, false
102707}
102708
102709// AsHTTPSource is the BasicCopySource implementation for ZohoSource.
102710func (zs ZohoSource) AsHTTPSource() (*HTTPSource, bool) {
102711	return nil, false
102712}
102713
102714// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ZohoSource.
102715func (zs ZohoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
102716	return nil, false
102717}
102718
102719// AsMongoDbSource is the BasicCopySource implementation for ZohoSource.
102720func (zs ZohoSource) AsMongoDbSource() (*MongoDbSource, bool) {
102721	return nil, false
102722}
102723
102724// AsCassandraSource is the BasicCopySource implementation for ZohoSource.
102725func (zs ZohoSource) AsCassandraSource() (*CassandraSource, bool) {
102726	return nil, false
102727}
102728
102729// AsWebSource is the BasicCopySource implementation for ZohoSource.
102730func (zs ZohoSource) AsWebSource() (*WebSource, bool) {
102731	return nil, false
102732}
102733
102734// AsOracleSource is the BasicCopySource implementation for ZohoSource.
102735func (zs ZohoSource) AsOracleSource() (*OracleSource, bool) {
102736	return nil, false
102737}
102738
102739// AsAzureMySQLSource is the BasicCopySource implementation for ZohoSource.
102740func (zs ZohoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
102741	return nil, false
102742}
102743
102744// AsHdfsSource is the BasicCopySource implementation for ZohoSource.
102745func (zs ZohoSource) AsHdfsSource() (*HdfsSource, bool) {
102746	return nil, false
102747}
102748
102749// AsFileSystemSource is the BasicCopySource implementation for ZohoSource.
102750func (zs ZohoSource) AsFileSystemSource() (*FileSystemSource, bool) {
102751	return nil, false
102752}
102753
102754// AsSQLDWSource is the BasicCopySource implementation for ZohoSource.
102755func (zs ZohoSource) AsSQLDWSource() (*SQLDWSource, bool) {
102756	return nil, false
102757}
102758
102759// AsSQLSource is the BasicCopySource implementation for ZohoSource.
102760func (zs ZohoSource) AsSQLSource() (*SQLSource, bool) {
102761	return nil, false
102762}
102763
102764// AsSapEccSource is the BasicCopySource implementation for ZohoSource.
102765func (zs ZohoSource) AsSapEccSource() (*SapEccSource, bool) {
102766	return nil, false
102767}
102768
102769// AsSapCloudForCustomerSource is the BasicCopySource implementation for ZohoSource.
102770func (zs ZohoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
102771	return nil, false
102772}
102773
102774// AsSalesforceSource is the BasicCopySource implementation for ZohoSource.
102775func (zs ZohoSource) AsSalesforceSource() (*SalesforceSource, bool) {
102776	return nil, false
102777}
102778
102779// AsRelationalSource is the BasicCopySource implementation for ZohoSource.
102780func (zs ZohoSource) AsRelationalSource() (*RelationalSource, bool) {
102781	return nil, false
102782}
102783
102784// AsDynamicsSource is the BasicCopySource implementation for ZohoSource.
102785func (zs ZohoSource) AsDynamicsSource() (*DynamicsSource, bool) {
102786	return nil, false
102787}
102788
102789// AsDocumentDbCollectionSource is the BasicCopySource implementation for ZohoSource.
102790func (zs ZohoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
102791	return nil, false
102792}
102793
102794// AsBlobSource is the BasicCopySource implementation for ZohoSource.
102795func (zs ZohoSource) AsBlobSource() (*BlobSource, bool) {
102796	return nil, false
102797}
102798
102799// AsAzureTableSource is the BasicCopySource implementation for ZohoSource.
102800func (zs ZohoSource) AsAzureTableSource() (*AzureTableSource, bool) {
102801	return nil, false
102802}
102803
102804// AsCopySource is the BasicCopySource implementation for ZohoSource.
102805func (zs ZohoSource) AsCopySource() (*CopySource, bool) {
102806	return nil, false
102807}
102808
102809// AsBasicCopySource is the BasicCopySource implementation for ZohoSource.
102810func (zs ZohoSource) AsBasicCopySource() (BasicCopySource, bool) {
102811	return &zs, true
102812}
102813
102814// UnmarshalJSON is the custom unmarshaler for ZohoSource struct.
102815func (zs *ZohoSource) UnmarshalJSON(body []byte) error {
102816	var m map[string]*json.RawMessage
102817	err := json.Unmarshal(body, &m)
102818	if err != nil {
102819		return err
102820	}
102821	for k, v := range m {
102822		switch k {
102823		case "query":
102824			if v != nil {
102825				var query interface{}
102826				err = json.Unmarshal(*v, &query)
102827				if err != nil {
102828					return err
102829				}
102830				zs.Query = query
102831			}
102832		default:
102833			if v != nil {
102834				var additionalProperties interface{}
102835				err = json.Unmarshal(*v, &additionalProperties)
102836				if err != nil {
102837					return err
102838				}
102839				if zs.AdditionalProperties == nil {
102840					zs.AdditionalProperties = make(map[string]interface{})
102841				}
102842				zs.AdditionalProperties[k] = additionalProperties
102843			}
102844		case "sourceRetryCount":
102845			if v != nil {
102846				var sourceRetryCount interface{}
102847				err = json.Unmarshal(*v, &sourceRetryCount)
102848				if err != nil {
102849					return err
102850				}
102851				zs.SourceRetryCount = sourceRetryCount
102852			}
102853		case "sourceRetryWait":
102854			if v != nil {
102855				var sourceRetryWait interface{}
102856				err = json.Unmarshal(*v, &sourceRetryWait)
102857				if err != nil {
102858					return err
102859				}
102860				zs.SourceRetryWait = sourceRetryWait
102861			}
102862		case "type":
102863			if v != nil {
102864				var typeVar TypeBasicCopySource
102865				err = json.Unmarshal(*v, &typeVar)
102866				if err != nil {
102867					return err
102868				}
102869				zs.Type = typeVar
102870			}
102871		}
102872	}
102873
102874	return nil
102875}
102876