1package datafactory
2
3// Copyright (c) Microsoft and contributors.  All rights reserved.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13//
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// Code generated by Microsoft (R) AutoRest Code Generator.
18// Changes may cause incorrect behavior and will be lost if the code is regenerated.
19
20import (
21	"context"
22	"encoding/json"
23	"github.com/Azure/go-autorest/autorest"
24	"github.com/Azure/go-autorest/autorest/azure"
25	"github.com/Azure/go-autorest/autorest/date"
26	"github.com/Azure/go-autorest/autorest/to"
27	"github.com/Azure/go-autorest/tracing"
28	"github.com/gofrs/uuid"
29	"net/http"
30)
31
32// The package's fully qualified name.
33const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory"
34
35// BasicActivity a pipeline activity.
36type BasicActivity interface {
37	AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool)
38	AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool)
39	AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool)
40	AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool)
41	AsGetMetadataActivity() (*GetMetadataActivity, bool)
42	AsWebActivity() (*WebActivity, bool)
43	AsLookupActivity() (*LookupActivity, bool)
44	AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool)
45	AsCustomActivity() (*CustomActivity, bool)
46	AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool)
47	AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool)
48	AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool)
49	AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool)
50	AsHDInsightPigActivity() (*HDInsightPigActivity, bool)
51	AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool)
52	AsCopyActivity() (*CopyActivity, bool)
53	AsExecutionActivity() (*ExecutionActivity, bool)
54	AsBasicExecutionActivity() (BasicExecutionActivity, bool)
55	AsFilterActivity() (*FilterActivity, bool)
56	AsUntilActivity() (*UntilActivity, bool)
57	AsWaitActivity() (*WaitActivity, bool)
58	AsForEachActivity() (*ForEachActivity, bool)
59	AsIfConditionActivity() (*IfConditionActivity, bool)
60	AsExecutePipelineActivity() (*ExecutePipelineActivity, bool)
61	AsControlActivity() (*ControlActivity, bool)
62	AsBasicControlActivity() (BasicControlActivity, bool)
63	AsActivity() (*Activity, bool)
64}
65
66// Activity a pipeline activity.
67type Activity struct {
68	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
69	AdditionalProperties map[string]interface{} `json:""`
70	// Name - Activity name.
71	Name *string `json:"name,omitempty"`
72	// Description - Activity description.
73	Description *string `json:"description,omitempty"`
74	// DependsOn - Activity depends on condition.
75	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
76	// 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'
77	Type TypeBasicActivity `json:"type,omitempty"`
78}
79
80func unmarshalBasicActivity(body []byte) (BasicActivity, error) {
81	var m map[string]interface{}
82	err := json.Unmarshal(body, &m)
83	if err != nil {
84		return nil, err
85	}
86
87	switch m["type"] {
88	case string(TypeDatabricksNotebook):
89		var dna DatabricksNotebookActivity
90		err := json.Unmarshal(body, &dna)
91		return dna, err
92	case string(TypeDataLakeAnalyticsUSQL):
93		var dlaua DataLakeAnalyticsUSQLActivity
94		err := json.Unmarshal(body, &dlaua)
95		return dlaua, err
96	case string(TypeAzureMLUpdateResource):
97		var amura AzureMLUpdateResourceActivity
98		err := json.Unmarshal(body, &amura)
99		return amura, err
100	case string(TypeAzureMLBatchExecution):
101		var ambea AzureMLBatchExecutionActivity
102		err := json.Unmarshal(body, &ambea)
103		return ambea, err
104	case string(TypeGetMetadata):
105		var gma GetMetadataActivity
106		err := json.Unmarshal(body, &gma)
107		return gma, err
108	case string(TypeWebActivity):
109		var wa WebActivity
110		err := json.Unmarshal(body, &wa)
111		return wa, err
112	case string(TypeLookup):
113		var la LookupActivity
114		err := json.Unmarshal(body, &la)
115		return la, err
116	case string(TypeSQLServerStoredProcedure):
117		var ssspa SQLServerStoredProcedureActivity
118		err := json.Unmarshal(body, &ssspa)
119		return ssspa, err
120	case string(TypeCustom):
121		var ca CustomActivity
122		err := json.Unmarshal(body, &ca)
123		return ca, err
124	case string(TypeExecuteSSISPackage):
125		var espa ExecuteSSISPackageActivity
126		err := json.Unmarshal(body, &espa)
127		return espa, err
128	case string(TypeHDInsightSpark):
129		var hisa HDInsightSparkActivity
130		err := json.Unmarshal(body, &hisa)
131		return hisa, err
132	case string(TypeHDInsightStreaming):
133		var hisa HDInsightStreamingActivity
134		err := json.Unmarshal(body, &hisa)
135		return hisa, err
136	case string(TypeHDInsightMapReduce):
137		var himra HDInsightMapReduceActivity
138		err := json.Unmarshal(body, &himra)
139		return himra, err
140	case string(TypeHDInsightPig):
141		var hipa HDInsightPigActivity
142		err := json.Unmarshal(body, &hipa)
143		return hipa, err
144	case string(TypeHDInsightHive):
145		var hiha HDInsightHiveActivity
146		err := json.Unmarshal(body, &hiha)
147		return hiha, err
148	case string(TypeCopy):
149		var ca CopyActivity
150		err := json.Unmarshal(body, &ca)
151		return ca, err
152	case string(TypeExecution):
153		var ea ExecutionActivity
154		err := json.Unmarshal(body, &ea)
155		return ea, err
156	case string(TypeFilter):
157		var fa FilterActivity
158		err := json.Unmarshal(body, &fa)
159		return fa, err
160	case string(TypeUntil):
161		var ua UntilActivity
162		err := json.Unmarshal(body, &ua)
163		return ua, err
164	case string(TypeWait):
165		var wa WaitActivity
166		err := json.Unmarshal(body, &wa)
167		return wa, err
168	case string(TypeForEach):
169		var fea ForEachActivity
170		err := json.Unmarshal(body, &fea)
171		return fea, err
172	case string(TypeIfCondition):
173		var ica IfConditionActivity
174		err := json.Unmarshal(body, &ica)
175		return ica, err
176	case string(TypeExecutePipeline):
177		var epa ExecutePipelineActivity
178		err := json.Unmarshal(body, &epa)
179		return epa, err
180	case string(TypeContainer):
181		var ca ControlActivity
182		err := json.Unmarshal(body, &ca)
183		return ca, err
184	default:
185		var a Activity
186		err := json.Unmarshal(body, &a)
187		return a, err
188	}
189}
190func unmarshalBasicActivityArray(body []byte) ([]BasicActivity, error) {
191	var rawMessages []*json.RawMessage
192	err := json.Unmarshal(body, &rawMessages)
193	if err != nil {
194		return nil, err
195	}
196
197	aArray := make([]BasicActivity, len(rawMessages))
198
199	for index, rawMessage := range rawMessages {
200		a, err := unmarshalBasicActivity(*rawMessage)
201		if err != nil {
202			return nil, err
203		}
204		aArray[index] = a
205	}
206	return aArray, nil
207}
208
209// MarshalJSON is the custom marshaler for Activity.
210func (a Activity) MarshalJSON() ([]byte, error) {
211	a.Type = TypeActivity
212	objectMap := make(map[string]interface{})
213	if a.Name != nil {
214		objectMap["name"] = a.Name
215	}
216	if a.Description != nil {
217		objectMap["description"] = a.Description
218	}
219	if a.DependsOn != nil {
220		objectMap["dependsOn"] = a.DependsOn
221	}
222	if a.Type != "" {
223		objectMap["type"] = a.Type
224	}
225	for k, v := range a.AdditionalProperties {
226		objectMap[k] = v
227	}
228	return json.Marshal(objectMap)
229}
230
231// AsDatabricksNotebookActivity is the BasicActivity implementation for Activity.
232func (a Activity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
233	return nil, false
234}
235
236// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for Activity.
237func (a Activity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
238	return nil, false
239}
240
241// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for Activity.
242func (a Activity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
243	return nil, false
244}
245
246// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for Activity.
247func (a Activity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
248	return nil, false
249}
250
251// AsGetMetadataActivity is the BasicActivity implementation for Activity.
252func (a Activity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
253	return nil, false
254}
255
256// AsWebActivity is the BasicActivity implementation for Activity.
257func (a Activity) AsWebActivity() (*WebActivity, bool) {
258	return nil, false
259}
260
261// AsLookupActivity is the BasicActivity implementation for Activity.
262func (a Activity) AsLookupActivity() (*LookupActivity, bool) {
263	return nil, false
264}
265
266// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for Activity.
267func (a Activity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
268	return nil, false
269}
270
271// AsCustomActivity is the BasicActivity implementation for Activity.
272func (a Activity) AsCustomActivity() (*CustomActivity, bool) {
273	return nil, false
274}
275
276// AsExecuteSSISPackageActivity is the BasicActivity implementation for Activity.
277func (a Activity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
278	return nil, false
279}
280
281// AsHDInsightSparkActivity is the BasicActivity implementation for Activity.
282func (a Activity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
283	return nil, false
284}
285
286// AsHDInsightStreamingActivity is the BasicActivity implementation for Activity.
287func (a Activity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
288	return nil, false
289}
290
291// AsHDInsightMapReduceActivity is the BasicActivity implementation for Activity.
292func (a Activity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
293	return nil, false
294}
295
296// AsHDInsightPigActivity is the BasicActivity implementation for Activity.
297func (a Activity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
298	return nil, false
299}
300
301// AsHDInsightHiveActivity is the BasicActivity implementation for Activity.
302func (a Activity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
303	return nil, false
304}
305
306// AsCopyActivity is the BasicActivity implementation for Activity.
307func (a Activity) AsCopyActivity() (*CopyActivity, bool) {
308	return nil, false
309}
310
311// AsExecutionActivity is the BasicActivity implementation for Activity.
312func (a Activity) AsExecutionActivity() (*ExecutionActivity, bool) {
313	return nil, false
314}
315
316// AsBasicExecutionActivity is the BasicActivity implementation for Activity.
317func (a Activity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
318	return nil, false
319}
320
321// AsFilterActivity is the BasicActivity implementation for Activity.
322func (a Activity) AsFilterActivity() (*FilterActivity, bool) {
323	return nil, false
324}
325
326// AsUntilActivity is the BasicActivity implementation for Activity.
327func (a Activity) AsUntilActivity() (*UntilActivity, bool) {
328	return nil, false
329}
330
331// AsWaitActivity is the BasicActivity implementation for Activity.
332func (a Activity) AsWaitActivity() (*WaitActivity, bool) {
333	return nil, false
334}
335
336// AsForEachActivity is the BasicActivity implementation for Activity.
337func (a Activity) AsForEachActivity() (*ForEachActivity, bool) {
338	return nil, false
339}
340
341// AsIfConditionActivity is the BasicActivity implementation for Activity.
342func (a Activity) AsIfConditionActivity() (*IfConditionActivity, bool) {
343	return nil, false
344}
345
346// AsExecutePipelineActivity is the BasicActivity implementation for Activity.
347func (a Activity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
348	return nil, false
349}
350
351// AsControlActivity is the BasicActivity implementation for Activity.
352func (a Activity) AsControlActivity() (*ControlActivity, bool) {
353	return nil, false
354}
355
356// AsBasicControlActivity is the BasicActivity implementation for Activity.
357func (a Activity) AsBasicControlActivity() (BasicControlActivity, bool) {
358	return nil, false
359}
360
361// AsActivity is the BasicActivity implementation for Activity.
362func (a Activity) AsActivity() (*Activity, bool) {
363	return &a, true
364}
365
366// AsBasicActivity is the BasicActivity implementation for Activity.
367func (a Activity) AsBasicActivity() (BasicActivity, bool) {
368	return &a, true
369}
370
371// UnmarshalJSON is the custom unmarshaler for Activity struct.
372func (a *Activity) UnmarshalJSON(body []byte) error {
373	var m map[string]*json.RawMessage
374	err := json.Unmarshal(body, &m)
375	if err != nil {
376		return err
377	}
378	for k, v := range m {
379		switch k {
380		default:
381			if v != nil {
382				var additionalProperties interface{}
383				err = json.Unmarshal(*v, &additionalProperties)
384				if err != nil {
385					return err
386				}
387				if a.AdditionalProperties == nil {
388					a.AdditionalProperties = make(map[string]interface{})
389				}
390				a.AdditionalProperties[k] = additionalProperties
391			}
392		case "name":
393			if v != nil {
394				var name string
395				err = json.Unmarshal(*v, &name)
396				if err != nil {
397					return err
398				}
399				a.Name = &name
400			}
401		case "description":
402			if v != nil {
403				var description string
404				err = json.Unmarshal(*v, &description)
405				if err != nil {
406					return err
407				}
408				a.Description = &description
409			}
410		case "dependsOn":
411			if v != nil {
412				var dependsOn []ActivityDependency
413				err = json.Unmarshal(*v, &dependsOn)
414				if err != nil {
415					return err
416				}
417				a.DependsOn = &dependsOn
418			}
419		case "type":
420			if v != nil {
421				var typeVar TypeBasicActivity
422				err = json.Unmarshal(*v, &typeVar)
423				if err != nil {
424					return err
425				}
426				a.Type = typeVar
427			}
428		}
429	}
430
431	return nil
432}
433
434// ActivityDependency activity dependency information.
435type ActivityDependency struct {
436	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
437	AdditionalProperties map[string]interface{} `json:""`
438	// Activity - Activity name.
439	Activity *string `json:"activity,omitempty"`
440	// DependencyConditions - Match-Condition for the dependency.
441	DependencyConditions *[]DependencyCondition `json:"dependencyConditions,omitempty"`
442}
443
444// MarshalJSON is the custom marshaler for ActivityDependency.
445func (ad ActivityDependency) MarshalJSON() ([]byte, error) {
446	objectMap := make(map[string]interface{})
447	if ad.Activity != nil {
448		objectMap["activity"] = ad.Activity
449	}
450	if ad.DependencyConditions != nil {
451		objectMap["dependencyConditions"] = ad.DependencyConditions
452	}
453	for k, v := range ad.AdditionalProperties {
454		objectMap[k] = v
455	}
456	return json.Marshal(objectMap)
457}
458
459// UnmarshalJSON is the custom unmarshaler for ActivityDependency struct.
460func (ad *ActivityDependency) UnmarshalJSON(body []byte) error {
461	var m map[string]*json.RawMessage
462	err := json.Unmarshal(body, &m)
463	if err != nil {
464		return err
465	}
466	for k, v := range m {
467		switch k {
468		default:
469			if v != nil {
470				var additionalProperties interface{}
471				err = json.Unmarshal(*v, &additionalProperties)
472				if err != nil {
473					return err
474				}
475				if ad.AdditionalProperties == nil {
476					ad.AdditionalProperties = make(map[string]interface{})
477				}
478				ad.AdditionalProperties[k] = additionalProperties
479			}
480		case "activity":
481			if v != nil {
482				var activity string
483				err = json.Unmarshal(*v, &activity)
484				if err != nil {
485					return err
486				}
487				ad.Activity = &activity
488			}
489		case "dependencyConditions":
490			if v != nil {
491				var dependencyConditions []DependencyCondition
492				err = json.Unmarshal(*v, &dependencyConditions)
493				if err != nil {
494					return err
495				}
496				ad.DependencyConditions = &dependencyConditions
497			}
498		}
499	}
500
501	return nil
502}
503
504// ActivityPolicy execution policy for an activity.
505type ActivityPolicy struct {
506	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
507	AdditionalProperties map[string]interface{} `json:""`
508	// 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])).
509	Timeout interface{} `json:"timeout,omitempty"`
510	// Retry - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
511	Retry interface{} `json:"retry,omitempty"`
512	// RetryIntervalInSeconds - Interval between each retry attempt (in seconds). The default is 30 sec.
513	RetryIntervalInSeconds *int32 `json:"retryIntervalInSeconds,omitempty"`
514	// SecureOutput - When set to true, Output from activity is considered as secure and will not be logged to monitoring.
515	SecureOutput *bool `json:"secureOutput,omitempty"`
516}
517
518// MarshalJSON is the custom marshaler for ActivityPolicy.
519func (ap ActivityPolicy) MarshalJSON() ([]byte, error) {
520	objectMap := make(map[string]interface{})
521	if ap.Timeout != nil {
522		objectMap["timeout"] = ap.Timeout
523	}
524	if ap.Retry != nil {
525		objectMap["retry"] = ap.Retry
526	}
527	if ap.RetryIntervalInSeconds != nil {
528		objectMap["retryIntervalInSeconds"] = ap.RetryIntervalInSeconds
529	}
530	if ap.SecureOutput != nil {
531		objectMap["secureOutput"] = ap.SecureOutput
532	}
533	for k, v := range ap.AdditionalProperties {
534		objectMap[k] = v
535	}
536	return json.Marshal(objectMap)
537}
538
539// UnmarshalJSON is the custom unmarshaler for ActivityPolicy struct.
540func (ap *ActivityPolicy) UnmarshalJSON(body []byte) error {
541	var m map[string]*json.RawMessage
542	err := json.Unmarshal(body, &m)
543	if err != nil {
544		return err
545	}
546	for k, v := range m {
547		switch k {
548		default:
549			if v != nil {
550				var additionalProperties interface{}
551				err = json.Unmarshal(*v, &additionalProperties)
552				if err != nil {
553					return err
554				}
555				if ap.AdditionalProperties == nil {
556					ap.AdditionalProperties = make(map[string]interface{})
557				}
558				ap.AdditionalProperties[k] = additionalProperties
559			}
560		case "timeout":
561			if v != nil {
562				var timeout interface{}
563				err = json.Unmarshal(*v, &timeout)
564				if err != nil {
565					return err
566				}
567				ap.Timeout = timeout
568			}
569		case "retry":
570			if v != nil {
571				var retry interface{}
572				err = json.Unmarshal(*v, &retry)
573				if err != nil {
574					return err
575				}
576				ap.Retry = retry
577			}
578		case "retryIntervalInSeconds":
579			if v != nil {
580				var retryIntervalInSeconds int32
581				err = json.Unmarshal(*v, &retryIntervalInSeconds)
582				if err != nil {
583					return err
584				}
585				ap.RetryIntervalInSeconds = &retryIntervalInSeconds
586			}
587		case "secureOutput":
588			if v != nil {
589				var secureOutput bool
590				err = json.Unmarshal(*v, &secureOutput)
591				if err != nil {
592					return err
593				}
594				ap.SecureOutput = &secureOutput
595			}
596		}
597	}
598
599	return nil
600}
601
602// ActivityRun information about an activity run in a pipeline.
603type ActivityRun struct {
604	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
605	AdditionalProperties map[string]interface{} `json:""`
606	// PipelineName - READ-ONLY; The name of the pipeline.
607	PipelineName *string `json:"pipelineName,omitempty"`
608	// PipelineRunID - READ-ONLY; The id of the pipeline run.
609	PipelineRunID *string `json:"pipelineRunId,omitempty"`
610	// ActivityName - READ-ONLY; The name of the activity.
611	ActivityName *string `json:"activityName,omitempty"`
612	// ActivityType - READ-ONLY; The type of the activity.
613	ActivityType *string `json:"activityType,omitempty"`
614	// ActivityRunID - READ-ONLY; The id of the activity run.
615	ActivityRunID *string `json:"activityRunId,omitempty"`
616	// LinkedServiceName - READ-ONLY; The name of the compute linked service.
617	LinkedServiceName *string `json:"linkedServiceName,omitempty"`
618	// Status - READ-ONLY; The status of the activity run.
619	Status *string `json:"status,omitempty"`
620	// ActivityRunStart - READ-ONLY; The start time of the activity run in 'ISO 8601' format.
621	ActivityRunStart *date.Time `json:"activityRunStart,omitempty"`
622	// ActivityRunEnd - READ-ONLY; The end time of the activity run in 'ISO 8601' format.
623	ActivityRunEnd *date.Time `json:"activityRunEnd,omitempty"`
624	// DurationInMs - READ-ONLY; The duration of the activity run.
625	DurationInMs *int32 `json:"durationInMs,omitempty"`
626	// Input - READ-ONLY; The input for the activity.
627	Input interface{} `json:"input,omitempty"`
628	// Output - READ-ONLY; The output for the activity.
629	Output interface{} `json:"output,omitempty"`
630	// Error - READ-ONLY; The error if any from the activity run.
631	Error interface{} `json:"error,omitempty"`
632}
633
634// MarshalJSON is the custom marshaler for ActivityRun.
635func (ar ActivityRun) MarshalJSON() ([]byte, error) {
636	objectMap := make(map[string]interface{})
637	for k, v := range ar.AdditionalProperties {
638		objectMap[k] = v
639	}
640	return json.Marshal(objectMap)
641}
642
643// UnmarshalJSON is the custom unmarshaler for ActivityRun struct.
644func (ar *ActivityRun) UnmarshalJSON(body []byte) error {
645	var m map[string]*json.RawMessage
646	err := json.Unmarshal(body, &m)
647	if err != nil {
648		return err
649	}
650	for k, v := range m {
651		switch k {
652		default:
653			if v != nil {
654				var additionalProperties interface{}
655				err = json.Unmarshal(*v, &additionalProperties)
656				if err != nil {
657					return err
658				}
659				if ar.AdditionalProperties == nil {
660					ar.AdditionalProperties = make(map[string]interface{})
661				}
662				ar.AdditionalProperties[k] = additionalProperties
663			}
664		case "pipelineName":
665			if v != nil {
666				var pipelineName string
667				err = json.Unmarshal(*v, &pipelineName)
668				if err != nil {
669					return err
670				}
671				ar.PipelineName = &pipelineName
672			}
673		case "pipelineRunId":
674			if v != nil {
675				var pipelineRunID string
676				err = json.Unmarshal(*v, &pipelineRunID)
677				if err != nil {
678					return err
679				}
680				ar.PipelineRunID = &pipelineRunID
681			}
682		case "activityName":
683			if v != nil {
684				var activityName string
685				err = json.Unmarshal(*v, &activityName)
686				if err != nil {
687					return err
688				}
689				ar.ActivityName = &activityName
690			}
691		case "activityType":
692			if v != nil {
693				var activityType string
694				err = json.Unmarshal(*v, &activityType)
695				if err != nil {
696					return err
697				}
698				ar.ActivityType = &activityType
699			}
700		case "activityRunId":
701			if v != nil {
702				var activityRunID string
703				err = json.Unmarshal(*v, &activityRunID)
704				if err != nil {
705					return err
706				}
707				ar.ActivityRunID = &activityRunID
708			}
709		case "linkedServiceName":
710			if v != nil {
711				var linkedServiceName string
712				err = json.Unmarshal(*v, &linkedServiceName)
713				if err != nil {
714					return err
715				}
716				ar.LinkedServiceName = &linkedServiceName
717			}
718		case "status":
719			if v != nil {
720				var status string
721				err = json.Unmarshal(*v, &status)
722				if err != nil {
723					return err
724				}
725				ar.Status = &status
726			}
727		case "activityRunStart":
728			if v != nil {
729				var activityRunStart date.Time
730				err = json.Unmarshal(*v, &activityRunStart)
731				if err != nil {
732					return err
733				}
734				ar.ActivityRunStart = &activityRunStart
735			}
736		case "activityRunEnd":
737			if v != nil {
738				var activityRunEnd date.Time
739				err = json.Unmarshal(*v, &activityRunEnd)
740				if err != nil {
741					return err
742				}
743				ar.ActivityRunEnd = &activityRunEnd
744			}
745		case "durationInMs":
746			if v != nil {
747				var durationInMs int32
748				err = json.Unmarshal(*v, &durationInMs)
749				if err != nil {
750					return err
751				}
752				ar.DurationInMs = &durationInMs
753			}
754		case "input":
755			if v != nil {
756				var input interface{}
757				err = json.Unmarshal(*v, &input)
758				if err != nil {
759					return err
760				}
761				ar.Input = input
762			}
763		case "output":
764			if v != nil {
765				var output interface{}
766				err = json.Unmarshal(*v, &output)
767				if err != nil {
768					return err
769				}
770				ar.Output = output
771			}
772		case "error":
773			if v != nil {
774				var errorVar interface{}
775				err = json.Unmarshal(*v, &errorVar)
776				if err != nil {
777					return err
778				}
779				ar.Error = errorVar
780			}
781		}
782	}
783
784	return nil
785}
786
787// ActivityRunsListResponse a list activity runs.
788type ActivityRunsListResponse struct {
789	autorest.Response `json:"-"`
790	// Value - List of activity runs.
791	Value *[]ActivityRun `json:"value,omitempty"`
792	// NextLink - The link to the next page of results, if any remaining results exist.
793	NextLink *string `json:"nextLink,omitempty"`
794}
795
796// ActivityRunsListResponseIterator provides access to a complete listing of ActivityRun values.
797type ActivityRunsListResponseIterator struct {
798	i    int
799	page ActivityRunsListResponsePage
800}
801
802// NextWithContext advances to the next value.  If there was an error making
803// the request the iterator does not advance and the error is returned.
804func (iter *ActivityRunsListResponseIterator) NextWithContext(ctx context.Context) (err error) {
805	if tracing.IsEnabled() {
806		ctx = tracing.StartSpan(ctx, fqdn+"/ActivityRunsListResponseIterator.NextWithContext")
807		defer func() {
808			sc := -1
809			if iter.Response().Response.Response != nil {
810				sc = iter.Response().Response.Response.StatusCode
811			}
812			tracing.EndSpan(ctx, sc, err)
813		}()
814	}
815	iter.i++
816	if iter.i < len(iter.page.Values()) {
817		return nil
818	}
819	err = iter.page.NextWithContext(ctx)
820	if err != nil {
821		iter.i--
822		return err
823	}
824	iter.i = 0
825	return nil
826}
827
828// Next advances to the next value.  If there was an error making
829// the request the iterator does not advance and the error is returned.
830// Deprecated: Use NextWithContext() instead.
831func (iter *ActivityRunsListResponseIterator) Next() error {
832	return iter.NextWithContext(context.Background())
833}
834
835// NotDone returns true if the enumeration should be started or is not yet complete.
836func (iter ActivityRunsListResponseIterator) NotDone() bool {
837	return iter.page.NotDone() && iter.i < len(iter.page.Values())
838}
839
840// Response returns the raw server response from the last page request.
841func (iter ActivityRunsListResponseIterator) Response() ActivityRunsListResponse {
842	return iter.page.Response()
843}
844
845// Value returns the current value or a zero-initialized value if the
846// iterator has advanced beyond the end of the collection.
847func (iter ActivityRunsListResponseIterator) Value() ActivityRun {
848	if !iter.page.NotDone() {
849		return ActivityRun{}
850	}
851	return iter.page.Values()[iter.i]
852}
853
854// Creates a new instance of the ActivityRunsListResponseIterator type.
855func NewActivityRunsListResponseIterator(page ActivityRunsListResponsePage) ActivityRunsListResponseIterator {
856	return ActivityRunsListResponseIterator{page: page}
857}
858
859// IsEmpty returns true if the ListResult contains no values.
860func (arlr ActivityRunsListResponse) IsEmpty() bool {
861	return arlr.Value == nil || len(*arlr.Value) == 0
862}
863
864// hasNextLink returns true if the NextLink is not empty.
865func (arlr ActivityRunsListResponse) hasNextLink() bool {
866	return arlr.NextLink != nil && len(*arlr.NextLink) != 0
867}
868
869// activityRunsListResponsePreparer prepares a request to retrieve the next set of results.
870// It returns nil if no more results exist.
871func (arlr ActivityRunsListResponse) activityRunsListResponsePreparer(ctx context.Context) (*http.Request, error) {
872	if !arlr.hasNextLink() {
873		return nil, nil
874	}
875	return autorest.Prepare((&http.Request{}).WithContext(ctx),
876		autorest.AsJSON(),
877		autorest.AsGet(),
878		autorest.WithBaseURL(to.String(arlr.NextLink)))
879}
880
881// ActivityRunsListResponsePage contains a page of ActivityRun values.
882type ActivityRunsListResponsePage struct {
883	fn   func(context.Context, ActivityRunsListResponse) (ActivityRunsListResponse, error)
884	arlr ActivityRunsListResponse
885}
886
887// NextWithContext advances to the next page of values.  If there was an error making
888// the request the page does not advance and the error is returned.
889func (page *ActivityRunsListResponsePage) NextWithContext(ctx context.Context) (err error) {
890	if tracing.IsEnabled() {
891		ctx = tracing.StartSpan(ctx, fqdn+"/ActivityRunsListResponsePage.NextWithContext")
892		defer func() {
893			sc := -1
894			if page.Response().Response.Response != nil {
895				sc = page.Response().Response.Response.StatusCode
896			}
897			tracing.EndSpan(ctx, sc, err)
898		}()
899	}
900	for {
901		next, err := page.fn(ctx, page.arlr)
902		if err != nil {
903			return err
904		}
905		page.arlr = next
906		if !next.hasNextLink() || !next.IsEmpty() {
907			break
908		}
909	}
910	return nil
911}
912
913// Next advances to the next page of values.  If there was an error making
914// the request the page does not advance and the error is returned.
915// Deprecated: Use NextWithContext() instead.
916func (page *ActivityRunsListResponsePage) Next() error {
917	return page.NextWithContext(context.Background())
918}
919
920// NotDone returns true if the page enumeration should be started or is not yet complete.
921func (page ActivityRunsListResponsePage) NotDone() bool {
922	return !page.arlr.IsEmpty()
923}
924
925// Response returns the raw server response from the last page request.
926func (page ActivityRunsListResponsePage) Response() ActivityRunsListResponse {
927	return page.arlr
928}
929
930// Values returns the slice of values for the current page or nil if there are no values.
931func (page ActivityRunsListResponsePage) Values() []ActivityRun {
932	if page.arlr.IsEmpty() {
933		return nil
934	}
935	return *page.arlr.Value
936}
937
938// Creates a new instance of the ActivityRunsListResponsePage type.
939func NewActivityRunsListResponsePage(cur ActivityRunsListResponse, getNextPage func(context.Context, ActivityRunsListResponse) (ActivityRunsListResponse, error)) ActivityRunsListResponsePage {
940	return ActivityRunsListResponsePage{
941		fn:   getNextPage,
942		arlr: cur,
943	}
944}
945
946// AmazonMWSLinkedService amazon Marketplace Web Service linked service.
947type AmazonMWSLinkedService struct {
948	// AmazonMWSLinkedServiceTypeProperties - Amazon Marketplace Web Service linked service properties.
949	*AmazonMWSLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
950	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
951	AdditionalProperties map[string]interface{} `json:""`
952	// ConnectVia - The integration runtime reference.
953	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
954	// Description - Linked service description.
955	Description *string `json:"description,omitempty"`
956	// Parameters - Parameters for linked service.
957	Parameters map[string]*ParameterSpecification `json:"parameters"`
958	// Annotations - List of tags that can be used for describing the Dataset.
959	Annotations *[]interface{} `json:"annotations,omitempty"`
960	// 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'
961	Type TypeBasicLinkedService `json:"type,omitempty"`
962}
963
964// MarshalJSON is the custom marshaler for AmazonMWSLinkedService.
965func (amls AmazonMWSLinkedService) MarshalJSON() ([]byte, error) {
966	amls.Type = TypeAmazonMWS
967	objectMap := make(map[string]interface{})
968	if amls.AmazonMWSLinkedServiceTypeProperties != nil {
969		objectMap["typeProperties"] = amls.AmazonMWSLinkedServiceTypeProperties
970	}
971	if amls.ConnectVia != nil {
972		objectMap["connectVia"] = amls.ConnectVia
973	}
974	if amls.Description != nil {
975		objectMap["description"] = amls.Description
976	}
977	if amls.Parameters != nil {
978		objectMap["parameters"] = amls.Parameters
979	}
980	if amls.Annotations != nil {
981		objectMap["annotations"] = amls.Annotations
982	}
983	if amls.Type != "" {
984		objectMap["type"] = amls.Type
985	}
986	for k, v := range amls.AdditionalProperties {
987		objectMap[k] = v
988	}
989	return json.Marshal(objectMap)
990}
991
992// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
993func (amls AmazonMWSLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
994	return nil, false
995}
996
997// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
998func (amls AmazonMWSLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
999	return nil, false
1000}
1001
1002// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1003func (amls AmazonMWSLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
1004	return nil, false
1005}
1006
1007// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1008func (amls AmazonMWSLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
1009	return nil, false
1010}
1011
1012// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1013func (amls AmazonMWSLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
1014	return nil, false
1015}
1016
1017// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1018func (amls AmazonMWSLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
1019	return nil, false
1020}
1021
1022// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1023func (amls AmazonMWSLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
1024	return nil, false
1025}
1026
1027// AsZohoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1028func (amls AmazonMWSLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
1029	return nil, false
1030}
1031
1032// AsXeroLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1033func (amls AmazonMWSLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
1034	return nil, false
1035}
1036
1037// AsSquareLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1038func (amls AmazonMWSLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
1039	return nil, false
1040}
1041
1042// AsSparkLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1043func (amls AmazonMWSLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
1044	return nil, false
1045}
1046
1047// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1048func (amls AmazonMWSLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
1049	return nil, false
1050}
1051
1052// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1053func (amls AmazonMWSLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
1054	return nil, false
1055}
1056
1057// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1058func (amls AmazonMWSLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
1059	return nil, false
1060}
1061
1062// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1063func (amls AmazonMWSLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
1064	return nil, false
1065}
1066
1067// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1068func (amls AmazonMWSLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
1069	return nil, false
1070}
1071
1072// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1073func (amls AmazonMWSLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
1074	return nil, false
1075}
1076
1077// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1078func (amls AmazonMWSLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
1079	return nil, false
1080}
1081
1082// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1083func (amls AmazonMWSLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
1084	return nil, false
1085}
1086
1087// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1088func (amls AmazonMWSLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
1089	return nil, false
1090}
1091
1092// AsJiraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1093func (amls AmazonMWSLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
1094	return nil, false
1095}
1096
1097// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1098func (amls AmazonMWSLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
1099	return nil, false
1100}
1101
1102// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1103func (amls AmazonMWSLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
1104	return nil, false
1105}
1106
1107// AsHiveLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1108func (amls AmazonMWSLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
1109	return nil, false
1110}
1111
1112// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1113func (amls AmazonMWSLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
1114	return nil, false
1115}
1116
1117// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1118func (amls AmazonMWSLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
1119	return nil, false
1120}
1121
1122// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1123func (amls AmazonMWSLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
1124	return nil, false
1125}
1126
1127// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1128func (amls AmazonMWSLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
1129	return nil, false
1130}
1131
1132// AsDrillLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1133func (amls AmazonMWSLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
1134	return nil, false
1135}
1136
1137// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1138func (amls AmazonMWSLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
1139	return nil, false
1140}
1141
1142// AsConcurLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1143func (amls AmazonMWSLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
1144	return nil, false
1145}
1146
1147// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1148func (amls AmazonMWSLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
1149	return nil, false
1150}
1151
1152// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1153func (amls AmazonMWSLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
1154	return &amls, true
1155}
1156
1157// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1158func (amls AmazonMWSLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
1159	return nil, false
1160}
1161
1162// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1163func (amls AmazonMWSLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
1164	return nil, false
1165}
1166
1167// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1168func (amls AmazonMWSLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
1169	return nil, false
1170}
1171
1172// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1173func (amls AmazonMWSLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
1174	return nil, false
1175}
1176
1177// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1178func (amls AmazonMWSLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
1179	return nil, false
1180}
1181
1182// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1183func (amls AmazonMWSLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
1184	return nil, false
1185}
1186
1187// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1188func (amls AmazonMWSLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
1189	return nil, false
1190}
1191
1192// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1193func (amls AmazonMWSLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
1194	return nil, false
1195}
1196
1197// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1198func (amls AmazonMWSLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
1199	return nil, false
1200}
1201
1202// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1203func (amls AmazonMWSLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
1204	return nil, false
1205}
1206
1207// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1208func (amls AmazonMWSLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
1209	return nil, false
1210}
1211
1212// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1213func (amls AmazonMWSLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
1214	return nil, false
1215}
1216
1217// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1218func (amls AmazonMWSLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
1219	return nil, false
1220}
1221
1222// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1223func (amls AmazonMWSLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
1224	return nil, false
1225}
1226
1227// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1228func (amls AmazonMWSLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
1229	return nil, false
1230}
1231
1232// AsWebLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1233func (amls AmazonMWSLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
1234	return nil, false
1235}
1236
1237// AsODataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1238func (amls AmazonMWSLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
1239	return nil, false
1240}
1241
1242// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1243func (amls AmazonMWSLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
1244	return nil, false
1245}
1246
1247// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1248func (amls AmazonMWSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
1249	return nil, false
1250}
1251
1252// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1253func (amls AmazonMWSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
1254	return nil, false
1255}
1256
1257// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1258func (amls AmazonMWSLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
1259	return nil, false
1260}
1261
1262// AsDb2LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1263func (amls AmazonMWSLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
1264	return nil, false
1265}
1266
1267// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1268func (amls AmazonMWSLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
1269	return nil, false
1270}
1271
1272// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1273func (amls AmazonMWSLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
1274	return nil, false
1275}
1276
1277// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1278func (amls AmazonMWSLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
1279	return nil, false
1280}
1281
1282// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1283func (amls AmazonMWSLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
1284	return nil, false
1285}
1286
1287// AsOracleLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1288func (amls AmazonMWSLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
1289	return nil, false
1290}
1291
1292// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1293func (amls AmazonMWSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
1294	return nil, false
1295}
1296
1297// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1298func (amls AmazonMWSLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
1299	return nil, false
1300}
1301
1302// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1303func (amls AmazonMWSLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
1304	return nil, false
1305}
1306
1307// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1308func (amls AmazonMWSLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
1309	return nil, false
1310}
1311
1312// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1313func (amls AmazonMWSLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
1314	return nil, false
1315}
1316
1317// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1318func (amls AmazonMWSLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
1319	return nil, false
1320}
1321
1322// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1323func (amls AmazonMWSLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
1324	return nil, false
1325}
1326
1327// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1328func (amls AmazonMWSLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
1329	return nil, false
1330}
1331
1332// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1333func (amls AmazonMWSLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
1334	return nil, false
1335}
1336
1337// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1338func (amls AmazonMWSLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
1339	return nil, false
1340}
1341
1342// AsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1343func (amls AmazonMWSLinkedService) AsLinkedService() (*LinkedService, bool) {
1344	return nil, false
1345}
1346
1347// AsBasicLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
1348func (amls AmazonMWSLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
1349	return &amls, true
1350}
1351
1352// UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedService struct.
1353func (amls *AmazonMWSLinkedService) UnmarshalJSON(body []byte) error {
1354	var m map[string]*json.RawMessage
1355	err := json.Unmarshal(body, &m)
1356	if err != nil {
1357		return err
1358	}
1359	for k, v := range m {
1360		switch k {
1361		case "typeProperties":
1362			if v != nil {
1363				var amazonMWSLinkedServiceTypeProperties AmazonMWSLinkedServiceTypeProperties
1364				err = json.Unmarshal(*v, &amazonMWSLinkedServiceTypeProperties)
1365				if err != nil {
1366					return err
1367				}
1368				amls.AmazonMWSLinkedServiceTypeProperties = &amazonMWSLinkedServiceTypeProperties
1369			}
1370		default:
1371			if v != nil {
1372				var additionalProperties interface{}
1373				err = json.Unmarshal(*v, &additionalProperties)
1374				if err != nil {
1375					return err
1376				}
1377				if amls.AdditionalProperties == nil {
1378					amls.AdditionalProperties = make(map[string]interface{})
1379				}
1380				amls.AdditionalProperties[k] = additionalProperties
1381			}
1382		case "connectVia":
1383			if v != nil {
1384				var connectVia IntegrationRuntimeReference
1385				err = json.Unmarshal(*v, &connectVia)
1386				if err != nil {
1387					return err
1388				}
1389				amls.ConnectVia = &connectVia
1390			}
1391		case "description":
1392			if v != nil {
1393				var description string
1394				err = json.Unmarshal(*v, &description)
1395				if err != nil {
1396					return err
1397				}
1398				amls.Description = &description
1399			}
1400		case "parameters":
1401			if v != nil {
1402				var parameters map[string]*ParameterSpecification
1403				err = json.Unmarshal(*v, &parameters)
1404				if err != nil {
1405					return err
1406				}
1407				amls.Parameters = parameters
1408			}
1409		case "annotations":
1410			if v != nil {
1411				var annotations []interface{}
1412				err = json.Unmarshal(*v, &annotations)
1413				if err != nil {
1414					return err
1415				}
1416				amls.Annotations = &annotations
1417			}
1418		case "type":
1419			if v != nil {
1420				var typeVar TypeBasicLinkedService
1421				err = json.Unmarshal(*v, &typeVar)
1422				if err != nil {
1423					return err
1424				}
1425				amls.Type = typeVar
1426			}
1427		}
1428	}
1429
1430	return nil
1431}
1432
1433// AmazonMWSLinkedServiceTypeProperties amazon Marketplace Web Service linked service properties.
1434type AmazonMWSLinkedServiceTypeProperties struct {
1435	// Endpoint - The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com)
1436	Endpoint interface{} `json:"endpoint,omitempty"`
1437	// 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)
1438	MarketplaceID interface{} `json:"marketplaceID,omitempty"`
1439	// SellerID - The Amazon seller ID.
1440	SellerID interface{} `json:"sellerID,omitempty"`
1441	// MwsAuthToken - The Amazon MWS authentication token.
1442	MwsAuthToken BasicSecretBase `json:"mwsAuthToken,omitempty"`
1443	// AccessKeyID - The access key id used to access data.
1444	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
1445	// SecretKey - The secret key used to access data.
1446	SecretKey BasicSecretBase `json:"secretKey,omitempty"`
1447	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
1448	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
1449	// 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.
1450	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
1451	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
1452	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
1453	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
1454	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
1455}
1456
1457// UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedServiceTypeProperties struct.
1458func (amlstp *AmazonMWSLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
1459	var m map[string]*json.RawMessage
1460	err := json.Unmarshal(body, &m)
1461	if err != nil {
1462		return err
1463	}
1464	for k, v := range m {
1465		switch k {
1466		case "endpoint":
1467			if v != nil {
1468				var endpoint interface{}
1469				err = json.Unmarshal(*v, &endpoint)
1470				if err != nil {
1471					return err
1472				}
1473				amlstp.Endpoint = endpoint
1474			}
1475		case "marketplaceID":
1476			if v != nil {
1477				var marketplaceID interface{}
1478				err = json.Unmarshal(*v, &marketplaceID)
1479				if err != nil {
1480					return err
1481				}
1482				amlstp.MarketplaceID = marketplaceID
1483			}
1484		case "sellerID":
1485			if v != nil {
1486				var sellerID interface{}
1487				err = json.Unmarshal(*v, &sellerID)
1488				if err != nil {
1489					return err
1490				}
1491				amlstp.SellerID = sellerID
1492			}
1493		case "mwsAuthToken":
1494			if v != nil {
1495				mwsAuthToken, err := unmarshalBasicSecretBase(*v)
1496				if err != nil {
1497					return err
1498				}
1499				amlstp.MwsAuthToken = mwsAuthToken
1500			}
1501		case "accessKeyId":
1502			if v != nil {
1503				var accessKeyID interface{}
1504				err = json.Unmarshal(*v, &accessKeyID)
1505				if err != nil {
1506					return err
1507				}
1508				amlstp.AccessKeyID = accessKeyID
1509			}
1510		case "secretKey":
1511			if v != nil {
1512				secretKey, err := unmarshalBasicSecretBase(*v)
1513				if err != nil {
1514					return err
1515				}
1516				amlstp.SecretKey = secretKey
1517			}
1518		case "useEncryptedEndpoints":
1519			if v != nil {
1520				var useEncryptedEndpoints interface{}
1521				err = json.Unmarshal(*v, &useEncryptedEndpoints)
1522				if err != nil {
1523					return err
1524				}
1525				amlstp.UseEncryptedEndpoints = useEncryptedEndpoints
1526			}
1527		case "useHostVerification":
1528			if v != nil {
1529				var useHostVerification interface{}
1530				err = json.Unmarshal(*v, &useHostVerification)
1531				if err != nil {
1532					return err
1533				}
1534				amlstp.UseHostVerification = useHostVerification
1535			}
1536		case "usePeerVerification":
1537			if v != nil {
1538				var usePeerVerification interface{}
1539				err = json.Unmarshal(*v, &usePeerVerification)
1540				if err != nil {
1541					return err
1542				}
1543				amlstp.UsePeerVerification = usePeerVerification
1544			}
1545		case "encryptedCredential":
1546			if v != nil {
1547				var encryptedCredential interface{}
1548				err = json.Unmarshal(*v, &encryptedCredential)
1549				if err != nil {
1550					return err
1551				}
1552				amlstp.EncryptedCredential = encryptedCredential
1553			}
1554		}
1555	}
1556
1557	return nil
1558}
1559
1560// AmazonMWSObjectDataset amazon Marketplace Web Service dataset.
1561type AmazonMWSObjectDataset struct {
1562	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
1563	AdditionalProperties map[string]interface{} `json:""`
1564	// Description - Dataset description.
1565	Description *string `json:"description,omitempty"`
1566	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
1567	Structure interface{} `json:"structure,omitempty"`
1568	// LinkedServiceName - Linked service reference.
1569	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
1570	// Parameters - Parameters for dataset.
1571	Parameters map[string]*ParameterSpecification `json:"parameters"`
1572	// Annotations - List of tags that can be used for describing the Dataset.
1573	Annotations *[]interface{} `json:"annotations,omitempty"`
1574	// 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'
1575	Type TypeBasicDataset `json:"type,omitempty"`
1576}
1577
1578// MarshalJSON is the custom marshaler for AmazonMWSObjectDataset.
1579func (amod AmazonMWSObjectDataset) MarshalJSON() ([]byte, error) {
1580	amod.Type = TypeAmazonMWSObject
1581	objectMap := make(map[string]interface{})
1582	if amod.Description != nil {
1583		objectMap["description"] = amod.Description
1584	}
1585	if amod.Structure != nil {
1586		objectMap["structure"] = amod.Structure
1587	}
1588	if amod.LinkedServiceName != nil {
1589		objectMap["linkedServiceName"] = amod.LinkedServiceName
1590	}
1591	if amod.Parameters != nil {
1592		objectMap["parameters"] = amod.Parameters
1593	}
1594	if amod.Annotations != nil {
1595		objectMap["annotations"] = amod.Annotations
1596	}
1597	if amod.Type != "" {
1598		objectMap["type"] = amod.Type
1599	}
1600	for k, v := range amod.AdditionalProperties {
1601		objectMap[k] = v
1602	}
1603	return json.Marshal(objectMap)
1604}
1605
1606// AsResponsysObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1607func (amod AmazonMWSObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
1608	return nil, false
1609}
1610
1611// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1612func (amod AmazonMWSObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
1613	return nil, false
1614}
1615
1616// AsVerticaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1617func (amod AmazonMWSObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
1618	return nil, false
1619}
1620
1621// AsNetezzaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1622func (amod AmazonMWSObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
1623	return nil, false
1624}
1625
1626// AsZohoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1627func (amod AmazonMWSObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
1628	return nil, false
1629}
1630
1631// AsXeroObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1632func (amod AmazonMWSObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
1633	return nil, false
1634}
1635
1636// AsSquareObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1637func (amod AmazonMWSObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
1638	return nil, false
1639}
1640
1641// AsSparkObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1642func (amod AmazonMWSObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
1643	return nil, false
1644}
1645
1646// AsShopifyObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1647func (amod AmazonMWSObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
1648	return nil, false
1649}
1650
1651// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1652func (amod AmazonMWSObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
1653	return nil, false
1654}
1655
1656// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1657func (amod AmazonMWSObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
1658	return nil, false
1659}
1660
1661// AsPrestoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1662func (amod AmazonMWSObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
1663	return nil, false
1664}
1665
1666// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1667func (amod AmazonMWSObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
1668	return nil, false
1669}
1670
1671// AsPaypalObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1672func (amod AmazonMWSObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
1673	return nil, false
1674}
1675
1676// AsMarketoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1677func (amod AmazonMWSObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
1678	return nil, false
1679}
1680
1681// AsMariaDBTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1682func (amod AmazonMWSObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
1683	return nil, false
1684}
1685
1686// AsMagentoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1687func (amod AmazonMWSObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
1688	return nil, false
1689}
1690
1691// AsJiraObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1692func (amod AmazonMWSObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
1693	return nil, false
1694}
1695
1696// AsImpalaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1697func (amod AmazonMWSObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
1698	return nil, false
1699}
1700
1701// AsHubspotObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1702func (amod AmazonMWSObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
1703	return nil, false
1704}
1705
1706// AsHiveObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1707func (amod AmazonMWSObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
1708	return nil, false
1709}
1710
1711// AsHBaseObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1712func (amod AmazonMWSObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
1713	return nil, false
1714}
1715
1716// AsGreenplumTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1717func (amod AmazonMWSObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
1718	return nil, false
1719}
1720
1721// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1722func (amod AmazonMWSObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
1723	return nil, false
1724}
1725
1726// AsEloquaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1727func (amod AmazonMWSObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
1728	return nil, false
1729}
1730
1731// AsDrillTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1732func (amod AmazonMWSObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
1733	return nil, false
1734}
1735
1736// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1737func (amod AmazonMWSObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
1738	return nil, false
1739}
1740
1741// AsConcurObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1742func (amod AmazonMWSObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
1743	return nil, false
1744}
1745
1746// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1747func (amod AmazonMWSObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
1748	return nil, false
1749}
1750
1751// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1752func (amod AmazonMWSObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
1753	return &amod, true
1754}
1755
1756// AsHTTPDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1757func (amod AmazonMWSObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
1758	return nil, false
1759}
1760
1761// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1762func (amod AmazonMWSObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
1763	return nil, false
1764}
1765
1766// AsWebTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1767func (amod AmazonMWSObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
1768	return nil, false
1769}
1770
1771// AsSQLServerTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1772func (amod AmazonMWSObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
1773	return nil, false
1774}
1775
1776// AsSapEccResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1777func (amod AmazonMWSObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
1778	return nil, false
1779}
1780
1781// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1782func (amod AmazonMWSObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
1783	return nil, false
1784}
1785
1786// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1787func (amod AmazonMWSObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
1788	return nil, false
1789}
1790
1791// AsRelationalTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1792func (amod AmazonMWSObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
1793	return nil, false
1794}
1795
1796// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1797func (amod AmazonMWSObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
1798	return nil, false
1799}
1800
1801// AsOracleTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1802func (amod AmazonMWSObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
1803	return nil, false
1804}
1805
1806// AsODataResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1807func (amod AmazonMWSObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
1808	return nil, false
1809}
1810
1811// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1812func (amod AmazonMWSObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
1813	return nil, false
1814}
1815
1816// AsFileShareDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1817func (amod AmazonMWSObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
1818	return nil, false
1819}
1820
1821// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1822func (amod AmazonMWSObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
1823	return nil, false
1824}
1825
1826// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1827func (amod AmazonMWSObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
1828	return nil, false
1829}
1830
1831// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1832func (amod AmazonMWSObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
1833	return nil, false
1834}
1835
1836// AsCustomDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1837func (amod AmazonMWSObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
1838	return nil, false
1839}
1840
1841// AsCassandraTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1842func (amod AmazonMWSObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
1843	return nil, false
1844}
1845
1846// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1847func (amod AmazonMWSObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
1848	return nil, false
1849}
1850
1851// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1852func (amod AmazonMWSObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
1853	return nil, false
1854}
1855
1856// AsAzureTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1857func (amod AmazonMWSObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
1858	return nil, false
1859}
1860
1861// AsAzureBlobDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1862func (amod AmazonMWSObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
1863	return nil, false
1864}
1865
1866// AsAmazonS3Dataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1867func (amod AmazonMWSObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
1868	return nil, false
1869}
1870
1871// AsDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1872func (amod AmazonMWSObjectDataset) AsDataset() (*Dataset, bool) {
1873	return nil, false
1874}
1875
1876// AsBasicDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
1877func (amod AmazonMWSObjectDataset) AsBasicDataset() (BasicDataset, bool) {
1878	return &amod, true
1879}
1880
1881// UnmarshalJSON is the custom unmarshaler for AmazonMWSObjectDataset struct.
1882func (amod *AmazonMWSObjectDataset) UnmarshalJSON(body []byte) error {
1883	var m map[string]*json.RawMessage
1884	err := json.Unmarshal(body, &m)
1885	if err != nil {
1886		return err
1887	}
1888	for k, v := range m {
1889		switch k {
1890		default:
1891			if v != nil {
1892				var additionalProperties interface{}
1893				err = json.Unmarshal(*v, &additionalProperties)
1894				if err != nil {
1895					return err
1896				}
1897				if amod.AdditionalProperties == nil {
1898					amod.AdditionalProperties = make(map[string]interface{})
1899				}
1900				amod.AdditionalProperties[k] = additionalProperties
1901			}
1902		case "description":
1903			if v != nil {
1904				var description string
1905				err = json.Unmarshal(*v, &description)
1906				if err != nil {
1907					return err
1908				}
1909				amod.Description = &description
1910			}
1911		case "structure":
1912			if v != nil {
1913				var structure interface{}
1914				err = json.Unmarshal(*v, &structure)
1915				if err != nil {
1916					return err
1917				}
1918				amod.Structure = structure
1919			}
1920		case "linkedServiceName":
1921			if v != nil {
1922				var linkedServiceName LinkedServiceReference
1923				err = json.Unmarshal(*v, &linkedServiceName)
1924				if err != nil {
1925					return err
1926				}
1927				amod.LinkedServiceName = &linkedServiceName
1928			}
1929		case "parameters":
1930			if v != nil {
1931				var parameters map[string]*ParameterSpecification
1932				err = json.Unmarshal(*v, &parameters)
1933				if err != nil {
1934					return err
1935				}
1936				amod.Parameters = parameters
1937			}
1938		case "annotations":
1939			if v != nil {
1940				var annotations []interface{}
1941				err = json.Unmarshal(*v, &annotations)
1942				if err != nil {
1943					return err
1944				}
1945				amod.Annotations = &annotations
1946			}
1947		case "type":
1948			if v != nil {
1949				var typeVar TypeBasicDataset
1950				err = json.Unmarshal(*v, &typeVar)
1951				if err != nil {
1952					return err
1953				}
1954				amod.Type = typeVar
1955			}
1956		}
1957	}
1958
1959	return nil
1960}
1961
1962// AmazonMWSSource a copy activity Amazon Marketplace Web Service source.
1963type AmazonMWSSource struct {
1964	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
1965	Query interface{} `json:"query,omitempty"`
1966	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
1967	AdditionalProperties map[string]interface{} `json:""`
1968	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
1969	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
1970	// 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])).
1971	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
1972	// 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'
1973	Type TypeBasicCopySource `json:"type,omitempty"`
1974}
1975
1976// MarshalJSON is the custom marshaler for AmazonMWSSource.
1977func (ams AmazonMWSSource) MarshalJSON() ([]byte, error) {
1978	ams.Type = TypeAmazonMWSSource
1979	objectMap := make(map[string]interface{})
1980	if ams.Query != nil {
1981		objectMap["query"] = ams.Query
1982	}
1983	if ams.SourceRetryCount != nil {
1984		objectMap["sourceRetryCount"] = ams.SourceRetryCount
1985	}
1986	if ams.SourceRetryWait != nil {
1987		objectMap["sourceRetryWait"] = ams.SourceRetryWait
1988	}
1989	if ams.Type != "" {
1990		objectMap["type"] = ams.Type
1991	}
1992	for k, v := range ams.AdditionalProperties {
1993		objectMap[k] = v
1994	}
1995	return json.Marshal(objectMap)
1996}
1997
1998// AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonMWSSource.
1999func (ams AmazonMWSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
2000	return nil, false
2001}
2002
2003// AsResponsysSource is the BasicCopySource implementation for AmazonMWSSource.
2004func (ams AmazonMWSSource) AsResponsysSource() (*ResponsysSource, bool) {
2005	return nil, false
2006}
2007
2008// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonMWSSource.
2009func (ams AmazonMWSSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
2010	return nil, false
2011}
2012
2013// AsVerticaSource is the BasicCopySource implementation for AmazonMWSSource.
2014func (ams AmazonMWSSource) AsVerticaSource() (*VerticaSource, bool) {
2015	return nil, false
2016}
2017
2018// AsNetezzaSource is the BasicCopySource implementation for AmazonMWSSource.
2019func (ams AmazonMWSSource) AsNetezzaSource() (*NetezzaSource, bool) {
2020	return nil, false
2021}
2022
2023// AsZohoSource is the BasicCopySource implementation for AmazonMWSSource.
2024func (ams AmazonMWSSource) AsZohoSource() (*ZohoSource, bool) {
2025	return nil, false
2026}
2027
2028// AsXeroSource is the BasicCopySource implementation for AmazonMWSSource.
2029func (ams AmazonMWSSource) AsXeroSource() (*XeroSource, bool) {
2030	return nil, false
2031}
2032
2033// AsSquareSource is the BasicCopySource implementation for AmazonMWSSource.
2034func (ams AmazonMWSSource) AsSquareSource() (*SquareSource, bool) {
2035	return nil, false
2036}
2037
2038// AsSparkSource is the BasicCopySource implementation for AmazonMWSSource.
2039func (ams AmazonMWSSource) AsSparkSource() (*SparkSource, bool) {
2040	return nil, false
2041}
2042
2043// AsShopifySource is the BasicCopySource implementation for AmazonMWSSource.
2044func (ams AmazonMWSSource) AsShopifySource() (*ShopifySource, bool) {
2045	return nil, false
2046}
2047
2048// AsServiceNowSource is the BasicCopySource implementation for AmazonMWSSource.
2049func (ams AmazonMWSSource) AsServiceNowSource() (*ServiceNowSource, bool) {
2050	return nil, false
2051}
2052
2053// AsQuickBooksSource is the BasicCopySource implementation for AmazonMWSSource.
2054func (ams AmazonMWSSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
2055	return nil, false
2056}
2057
2058// AsPrestoSource is the BasicCopySource implementation for AmazonMWSSource.
2059func (ams AmazonMWSSource) AsPrestoSource() (*PrestoSource, bool) {
2060	return nil, false
2061}
2062
2063// AsPhoenixSource is the BasicCopySource implementation for AmazonMWSSource.
2064func (ams AmazonMWSSource) AsPhoenixSource() (*PhoenixSource, bool) {
2065	return nil, false
2066}
2067
2068// AsPaypalSource is the BasicCopySource implementation for AmazonMWSSource.
2069func (ams AmazonMWSSource) AsPaypalSource() (*PaypalSource, bool) {
2070	return nil, false
2071}
2072
2073// AsMarketoSource is the BasicCopySource implementation for AmazonMWSSource.
2074func (ams AmazonMWSSource) AsMarketoSource() (*MarketoSource, bool) {
2075	return nil, false
2076}
2077
2078// AsMariaDBSource is the BasicCopySource implementation for AmazonMWSSource.
2079func (ams AmazonMWSSource) AsMariaDBSource() (*MariaDBSource, bool) {
2080	return nil, false
2081}
2082
2083// AsMagentoSource is the BasicCopySource implementation for AmazonMWSSource.
2084func (ams AmazonMWSSource) AsMagentoSource() (*MagentoSource, bool) {
2085	return nil, false
2086}
2087
2088// AsJiraSource is the BasicCopySource implementation for AmazonMWSSource.
2089func (ams AmazonMWSSource) AsJiraSource() (*JiraSource, bool) {
2090	return nil, false
2091}
2092
2093// AsImpalaSource is the BasicCopySource implementation for AmazonMWSSource.
2094func (ams AmazonMWSSource) AsImpalaSource() (*ImpalaSource, bool) {
2095	return nil, false
2096}
2097
2098// AsHubspotSource is the BasicCopySource implementation for AmazonMWSSource.
2099func (ams AmazonMWSSource) AsHubspotSource() (*HubspotSource, bool) {
2100	return nil, false
2101}
2102
2103// AsHiveSource is the BasicCopySource implementation for AmazonMWSSource.
2104func (ams AmazonMWSSource) AsHiveSource() (*HiveSource, bool) {
2105	return nil, false
2106}
2107
2108// AsHBaseSource is the BasicCopySource implementation for AmazonMWSSource.
2109func (ams AmazonMWSSource) AsHBaseSource() (*HBaseSource, bool) {
2110	return nil, false
2111}
2112
2113// AsGreenplumSource is the BasicCopySource implementation for AmazonMWSSource.
2114func (ams AmazonMWSSource) AsGreenplumSource() (*GreenplumSource, bool) {
2115	return nil, false
2116}
2117
2118// AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonMWSSource.
2119func (ams AmazonMWSSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
2120	return nil, false
2121}
2122
2123// AsEloquaSource is the BasicCopySource implementation for AmazonMWSSource.
2124func (ams AmazonMWSSource) AsEloquaSource() (*EloquaSource, bool) {
2125	return nil, false
2126}
2127
2128// AsDrillSource is the BasicCopySource implementation for AmazonMWSSource.
2129func (ams AmazonMWSSource) AsDrillSource() (*DrillSource, bool) {
2130	return nil, false
2131}
2132
2133// AsCouchbaseSource is the BasicCopySource implementation for AmazonMWSSource.
2134func (ams AmazonMWSSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
2135	return nil, false
2136}
2137
2138// AsConcurSource is the BasicCopySource implementation for AmazonMWSSource.
2139func (ams AmazonMWSSource) AsConcurSource() (*ConcurSource, bool) {
2140	return nil, false
2141}
2142
2143// AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonMWSSource.
2144func (ams AmazonMWSSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
2145	return nil, false
2146}
2147
2148// AsAmazonMWSSource is the BasicCopySource implementation for AmazonMWSSource.
2149func (ams AmazonMWSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
2150	return &ams, true
2151}
2152
2153// AsHTTPSource is the BasicCopySource implementation for AmazonMWSSource.
2154func (ams AmazonMWSSource) AsHTTPSource() (*HTTPSource, bool) {
2155	return nil, false
2156}
2157
2158// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonMWSSource.
2159func (ams AmazonMWSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
2160	return nil, false
2161}
2162
2163// AsMongoDbSource is the BasicCopySource implementation for AmazonMWSSource.
2164func (ams AmazonMWSSource) AsMongoDbSource() (*MongoDbSource, bool) {
2165	return nil, false
2166}
2167
2168// AsCassandraSource is the BasicCopySource implementation for AmazonMWSSource.
2169func (ams AmazonMWSSource) AsCassandraSource() (*CassandraSource, bool) {
2170	return nil, false
2171}
2172
2173// AsWebSource is the BasicCopySource implementation for AmazonMWSSource.
2174func (ams AmazonMWSSource) AsWebSource() (*WebSource, bool) {
2175	return nil, false
2176}
2177
2178// AsOracleSource is the BasicCopySource implementation for AmazonMWSSource.
2179func (ams AmazonMWSSource) AsOracleSource() (*OracleSource, bool) {
2180	return nil, false
2181}
2182
2183// AsAzureMySQLSource is the BasicCopySource implementation for AmazonMWSSource.
2184func (ams AmazonMWSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
2185	return nil, false
2186}
2187
2188// AsHdfsSource is the BasicCopySource implementation for AmazonMWSSource.
2189func (ams AmazonMWSSource) AsHdfsSource() (*HdfsSource, bool) {
2190	return nil, false
2191}
2192
2193// AsFileSystemSource is the BasicCopySource implementation for AmazonMWSSource.
2194func (ams AmazonMWSSource) AsFileSystemSource() (*FileSystemSource, bool) {
2195	return nil, false
2196}
2197
2198// AsSQLDWSource is the BasicCopySource implementation for AmazonMWSSource.
2199func (ams AmazonMWSSource) AsSQLDWSource() (*SQLDWSource, bool) {
2200	return nil, false
2201}
2202
2203// AsSQLSource is the BasicCopySource implementation for AmazonMWSSource.
2204func (ams AmazonMWSSource) AsSQLSource() (*SQLSource, bool) {
2205	return nil, false
2206}
2207
2208// AsSapEccSource is the BasicCopySource implementation for AmazonMWSSource.
2209func (ams AmazonMWSSource) AsSapEccSource() (*SapEccSource, bool) {
2210	return nil, false
2211}
2212
2213// AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonMWSSource.
2214func (ams AmazonMWSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
2215	return nil, false
2216}
2217
2218// AsSalesforceSource is the BasicCopySource implementation for AmazonMWSSource.
2219func (ams AmazonMWSSource) AsSalesforceSource() (*SalesforceSource, bool) {
2220	return nil, false
2221}
2222
2223// AsRelationalSource is the BasicCopySource implementation for AmazonMWSSource.
2224func (ams AmazonMWSSource) AsRelationalSource() (*RelationalSource, bool) {
2225	return nil, false
2226}
2227
2228// AsDynamicsSource is the BasicCopySource implementation for AmazonMWSSource.
2229func (ams AmazonMWSSource) AsDynamicsSource() (*DynamicsSource, bool) {
2230	return nil, false
2231}
2232
2233// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonMWSSource.
2234func (ams AmazonMWSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
2235	return nil, false
2236}
2237
2238// AsBlobSource is the BasicCopySource implementation for AmazonMWSSource.
2239func (ams AmazonMWSSource) AsBlobSource() (*BlobSource, bool) {
2240	return nil, false
2241}
2242
2243// AsAzureTableSource is the BasicCopySource implementation for AmazonMWSSource.
2244func (ams AmazonMWSSource) AsAzureTableSource() (*AzureTableSource, bool) {
2245	return nil, false
2246}
2247
2248// AsCopySource is the BasicCopySource implementation for AmazonMWSSource.
2249func (ams AmazonMWSSource) AsCopySource() (*CopySource, bool) {
2250	return nil, false
2251}
2252
2253// AsBasicCopySource is the BasicCopySource implementation for AmazonMWSSource.
2254func (ams AmazonMWSSource) AsBasicCopySource() (BasicCopySource, bool) {
2255	return &ams, true
2256}
2257
2258// UnmarshalJSON is the custom unmarshaler for AmazonMWSSource struct.
2259func (ams *AmazonMWSSource) UnmarshalJSON(body []byte) error {
2260	var m map[string]*json.RawMessage
2261	err := json.Unmarshal(body, &m)
2262	if err != nil {
2263		return err
2264	}
2265	for k, v := range m {
2266		switch k {
2267		case "query":
2268			if v != nil {
2269				var query interface{}
2270				err = json.Unmarshal(*v, &query)
2271				if err != nil {
2272					return err
2273				}
2274				ams.Query = query
2275			}
2276		default:
2277			if v != nil {
2278				var additionalProperties interface{}
2279				err = json.Unmarshal(*v, &additionalProperties)
2280				if err != nil {
2281					return err
2282				}
2283				if ams.AdditionalProperties == nil {
2284					ams.AdditionalProperties = make(map[string]interface{})
2285				}
2286				ams.AdditionalProperties[k] = additionalProperties
2287			}
2288		case "sourceRetryCount":
2289			if v != nil {
2290				var sourceRetryCount interface{}
2291				err = json.Unmarshal(*v, &sourceRetryCount)
2292				if err != nil {
2293					return err
2294				}
2295				ams.SourceRetryCount = sourceRetryCount
2296			}
2297		case "sourceRetryWait":
2298			if v != nil {
2299				var sourceRetryWait interface{}
2300				err = json.Unmarshal(*v, &sourceRetryWait)
2301				if err != nil {
2302					return err
2303				}
2304				ams.SourceRetryWait = sourceRetryWait
2305			}
2306		case "type":
2307			if v != nil {
2308				var typeVar TypeBasicCopySource
2309				err = json.Unmarshal(*v, &typeVar)
2310				if err != nil {
2311					return err
2312				}
2313				ams.Type = typeVar
2314			}
2315		}
2316	}
2317
2318	return nil
2319}
2320
2321// AmazonRedshiftLinkedService linked service for Amazon Redshift.
2322type AmazonRedshiftLinkedService struct {
2323	// AmazonRedshiftLinkedServiceTypeProperties - Amazon Redshift linked service properties.
2324	*AmazonRedshiftLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
2325	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2326	AdditionalProperties map[string]interface{} `json:""`
2327	// ConnectVia - The integration runtime reference.
2328	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
2329	// Description - Linked service description.
2330	Description *string `json:"description,omitempty"`
2331	// Parameters - Parameters for linked service.
2332	Parameters map[string]*ParameterSpecification `json:"parameters"`
2333	// Annotations - List of tags that can be used for describing the Dataset.
2334	Annotations *[]interface{} `json:"annotations,omitempty"`
2335	// 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'
2336	Type TypeBasicLinkedService `json:"type,omitempty"`
2337}
2338
2339// MarshalJSON is the custom marshaler for AmazonRedshiftLinkedService.
2340func (arls AmazonRedshiftLinkedService) MarshalJSON() ([]byte, error) {
2341	arls.Type = TypeAmazonRedshift
2342	objectMap := make(map[string]interface{})
2343	if arls.AmazonRedshiftLinkedServiceTypeProperties != nil {
2344		objectMap["typeProperties"] = arls.AmazonRedshiftLinkedServiceTypeProperties
2345	}
2346	if arls.ConnectVia != nil {
2347		objectMap["connectVia"] = arls.ConnectVia
2348	}
2349	if arls.Description != nil {
2350		objectMap["description"] = arls.Description
2351	}
2352	if arls.Parameters != nil {
2353		objectMap["parameters"] = arls.Parameters
2354	}
2355	if arls.Annotations != nil {
2356		objectMap["annotations"] = arls.Annotations
2357	}
2358	if arls.Type != "" {
2359		objectMap["type"] = arls.Type
2360	}
2361	for k, v := range arls.AdditionalProperties {
2362		objectMap[k] = v
2363	}
2364	return json.Marshal(objectMap)
2365}
2366
2367// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2368func (arls AmazonRedshiftLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
2369	return nil, false
2370}
2371
2372// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2373func (arls AmazonRedshiftLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
2374	return nil, false
2375}
2376
2377// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2378func (arls AmazonRedshiftLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
2379	return nil, false
2380}
2381
2382// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2383func (arls AmazonRedshiftLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
2384	return nil, false
2385}
2386
2387// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2388func (arls AmazonRedshiftLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
2389	return nil, false
2390}
2391
2392// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2393func (arls AmazonRedshiftLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
2394	return nil, false
2395}
2396
2397// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2398func (arls AmazonRedshiftLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
2399	return nil, false
2400}
2401
2402// AsZohoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2403func (arls AmazonRedshiftLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
2404	return nil, false
2405}
2406
2407// AsXeroLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2408func (arls AmazonRedshiftLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
2409	return nil, false
2410}
2411
2412// AsSquareLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2413func (arls AmazonRedshiftLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
2414	return nil, false
2415}
2416
2417// AsSparkLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2418func (arls AmazonRedshiftLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
2419	return nil, false
2420}
2421
2422// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2423func (arls AmazonRedshiftLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
2424	return nil, false
2425}
2426
2427// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2428func (arls AmazonRedshiftLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
2429	return nil, false
2430}
2431
2432// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2433func (arls AmazonRedshiftLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
2434	return nil, false
2435}
2436
2437// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2438func (arls AmazonRedshiftLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
2439	return nil, false
2440}
2441
2442// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2443func (arls AmazonRedshiftLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
2444	return nil, false
2445}
2446
2447// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2448func (arls AmazonRedshiftLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
2449	return nil, false
2450}
2451
2452// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2453func (arls AmazonRedshiftLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
2454	return nil, false
2455}
2456
2457// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2458func (arls AmazonRedshiftLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
2459	return nil, false
2460}
2461
2462// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2463func (arls AmazonRedshiftLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
2464	return nil, false
2465}
2466
2467// AsJiraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2468func (arls AmazonRedshiftLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
2469	return nil, false
2470}
2471
2472// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2473func (arls AmazonRedshiftLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
2474	return nil, false
2475}
2476
2477// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2478func (arls AmazonRedshiftLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
2479	return nil, false
2480}
2481
2482// AsHiveLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2483func (arls AmazonRedshiftLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
2484	return nil, false
2485}
2486
2487// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2488func (arls AmazonRedshiftLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
2489	return nil, false
2490}
2491
2492// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2493func (arls AmazonRedshiftLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
2494	return nil, false
2495}
2496
2497// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2498func (arls AmazonRedshiftLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
2499	return nil, false
2500}
2501
2502// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2503func (arls AmazonRedshiftLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
2504	return nil, false
2505}
2506
2507// AsDrillLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2508func (arls AmazonRedshiftLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
2509	return nil, false
2510}
2511
2512// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2513func (arls AmazonRedshiftLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
2514	return nil, false
2515}
2516
2517// AsConcurLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2518func (arls AmazonRedshiftLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
2519	return nil, false
2520}
2521
2522// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2523func (arls AmazonRedshiftLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
2524	return nil, false
2525}
2526
2527// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2528func (arls AmazonRedshiftLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
2529	return nil, false
2530}
2531
2532// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2533func (arls AmazonRedshiftLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
2534	return nil, false
2535}
2536
2537// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2538func (arls AmazonRedshiftLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
2539	return nil, false
2540}
2541
2542// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2543func (arls AmazonRedshiftLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
2544	return nil, false
2545}
2546
2547// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2548func (arls AmazonRedshiftLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
2549	return nil, false
2550}
2551
2552// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2553func (arls AmazonRedshiftLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
2554	return nil, false
2555}
2556
2557// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2558func (arls AmazonRedshiftLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
2559	return nil, false
2560}
2561
2562// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2563func (arls AmazonRedshiftLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
2564	return nil, false
2565}
2566
2567// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2568func (arls AmazonRedshiftLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
2569	return &arls, true
2570}
2571
2572// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2573func (arls AmazonRedshiftLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
2574	return nil, false
2575}
2576
2577// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2578func (arls AmazonRedshiftLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
2579	return nil, false
2580}
2581
2582// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2583func (arls AmazonRedshiftLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
2584	return nil, false
2585}
2586
2587// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2588func (arls AmazonRedshiftLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
2589	return nil, false
2590}
2591
2592// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2593func (arls AmazonRedshiftLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
2594	return nil, false
2595}
2596
2597// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2598func (arls AmazonRedshiftLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
2599	return nil, false
2600}
2601
2602// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2603func (arls AmazonRedshiftLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
2604	return nil, false
2605}
2606
2607// AsWebLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2608func (arls AmazonRedshiftLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
2609	return nil, false
2610}
2611
2612// AsODataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2613func (arls AmazonRedshiftLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
2614	return nil, false
2615}
2616
2617// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2618func (arls AmazonRedshiftLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
2619	return nil, false
2620}
2621
2622// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2623func (arls AmazonRedshiftLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
2624	return nil, false
2625}
2626
2627// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2628func (arls AmazonRedshiftLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
2629	return nil, false
2630}
2631
2632// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2633func (arls AmazonRedshiftLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
2634	return nil, false
2635}
2636
2637// AsDb2LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2638func (arls AmazonRedshiftLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
2639	return nil, false
2640}
2641
2642// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2643func (arls AmazonRedshiftLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
2644	return nil, false
2645}
2646
2647// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2648func (arls AmazonRedshiftLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
2649	return nil, false
2650}
2651
2652// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2653func (arls AmazonRedshiftLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
2654	return nil, false
2655}
2656
2657// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2658func (arls AmazonRedshiftLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
2659	return nil, false
2660}
2661
2662// AsOracleLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2663func (arls AmazonRedshiftLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
2664	return nil, false
2665}
2666
2667// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2668func (arls AmazonRedshiftLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
2669	return nil, false
2670}
2671
2672// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2673func (arls AmazonRedshiftLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
2674	return nil, false
2675}
2676
2677// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2678func (arls AmazonRedshiftLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
2679	return nil, false
2680}
2681
2682// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2683func (arls AmazonRedshiftLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
2684	return nil, false
2685}
2686
2687// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2688func (arls AmazonRedshiftLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
2689	return nil, false
2690}
2691
2692// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2693func (arls AmazonRedshiftLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
2694	return nil, false
2695}
2696
2697// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2698func (arls AmazonRedshiftLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
2699	return nil, false
2700}
2701
2702// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2703func (arls AmazonRedshiftLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
2704	return nil, false
2705}
2706
2707// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2708func (arls AmazonRedshiftLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
2709	return nil, false
2710}
2711
2712// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2713func (arls AmazonRedshiftLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
2714	return nil, false
2715}
2716
2717// AsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2718func (arls AmazonRedshiftLinkedService) AsLinkedService() (*LinkedService, bool) {
2719	return nil, false
2720}
2721
2722// AsBasicLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
2723func (arls AmazonRedshiftLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
2724	return &arls, true
2725}
2726
2727// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedService struct.
2728func (arls *AmazonRedshiftLinkedService) UnmarshalJSON(body []byte) error {
2729	var m map[string]*json.RawMessage
2730	err := json.Unmarshal(body, &m)
2731	if err != nil {
2732		return err
2733	}
2734	for k, v := range m {
2735		switch k {
2736		case "typeProperties":
2737			if v != nil {
2738				var amazonRedshiftLinkedServiceTypeProperties AmazonRedshiftLinkedServiceTypeProperties
2739				err = json.Unmarshal(*v, &amazonRedshiftLinkedServiceTypeProperties)
2740				if err != nil {
2741					return err
2742				}
2743				arls.AmazonRedshiftLinkedServiceTypeProperties = &amazonRedshiftLinkedServiceTypeProperties
2744			}
2745		default:
2746			if v != nil {
2747				var additionalProperties interface{}
2748				err = json.Unmarshal(*v, &additionalProperties)
2749				if err != nil {
2750					return err
2751				}
2752				if arls.AdditionalProperties == nil {
2753					arls.AdditionalProperties = make(map[string]interface{})
2754				}
2755				arls.AdditionalProperties[k] = additionalProperties
2756			}
2757		case "connectVia":
2758			if v != nil {
2759				var connectVia IntegrationRuntimeReference
2760				err = json.Unmarshal(*v, &connectVia)
2761				if err != nil {
2762					return err
2763				}
2764				arls.ConnectVia = &connectVia
2765			}
2766		case "description":
2767			if v != nil {
2768				var description string
2769				err = json.Unmarshal(*v, &description)
2770				if err != nil {
2771					return err
2772				}
2773				arls.Description = &description
2774			}
2775		case "parameters":
2776			if v != nil {
2777				var parameters map[string]*ParameterSpecification
2778				err = json.Unmarshal(*v, &parameters)
2779				if err != nil {
2780					return err
2781				}
2782				arls.Parameters = parameters
2783			}
2784		case "annotations":
2785			if v != nil {
2786				var annotations []interface{}
2787				err = json.Unmarshal(*v, &annotations)
2788				if err != nil {
2789					return err
2790				}
2791				arls.Annotations = &annotations
2792			}
2793		case "type":
2794			if v != nil {
2795				var typeVar TypeBasicLinkedService
2796				err = json.Unmarshal(*v, &typeVar)
2797				if err != nil {
2798					return err
2799				}
2800				arls.Type = typeVar
2801			}
2802		}
2803	}
2804
2805	return nil
2806}
2807
2808// AmazonRedshiftLinkedServiceTypeProperties amazon Redshift linked service properties.
2809type AmazonRedshiftLinkedServiceTypeProperties struct {
2810	// Server - The name of the Amazon Redshift server. Type: string (or Expression with resultType string).
2811	Server interface{} `json:"server,omitempty"`
2812	// Username - The username of the Amazon Redshift source. Type: string (or Expression with resultType string).
2813	Username interface{} `json:"username,omitempty"`
2814	// Password - The password of the Amazon Redshift source.
2815	Password BasicSecretBase `json:"password,omitempty"`
2816	// Database - The database name of the Amazon Redshift source. Type: string (or Expression with resultType string).
2817	Database interface{} `json:"database,omitempty"`
2818	// 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).
2819	Port interface{} `json:"port,omitempty"`
2820	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
2821	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
2822}
2823
2824// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedServiceTypeProperties struct.
2825func (arlstp *AmazonRedshiftLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
2826	var m map[string]*json.RawMessage
2827	err := json.Unmarshal(body, &m)
2828	if err != nil {
2829		return err
2830	}
2831	for k, v := range m {
2832		switch k {
2833		case "server":
2834			if v != nil {
2835				var server interface{}
2836				err = json.Unmarshal(*v, &server)
2837				if err != nil {
2838					return err
2839				}
2840				arlstp.Server = server
2841			}
2842		case "username":
2843			if v != nil {
2844				var username interface{}
2845				err = json.Unmarshal(*v, &username)
2846				if err != nil {
2847					return err
2848				}
2849				arlstp.Username = username
2850			}
2851		case "password":
2852			if v != nil {
2853				password, err := unmarshalBasicSecretBase(*v)
2854				if err != nil {
2855					return err
2856				}
2857				arlstp.Password = password
2858			}
2859		case "database":
2860			if v != nil {
2861				var databaseVar interface{}
2862				err = json.Unmarshal(*v, &databaseVar)
2863				if err != nil {
2864					return err
2865				}
2866				arlstp.Database = databaseVar
2867			}
2868		case "port":
2869			if v != nil {
2870				var port interface{}
2871				err = json.Unmarshal(*v, &port)
2872				if err != nil {
2873					return err
2874				}
2875				arlstp.Port = port
2876			}
2877		case "encryptedCredential":
2878			if v != nil {
2879				var encryptedCredential interface{}
2880				err = json.Unmarshal(*v, &encryptedCredential)
2881				if err != nil {
2882					return err
2883				}
2884				arlstp.EncryptedCredential = encryptedCredential
2885			}
2886		}
2887	}
2888
2889	return nil
2890}
2891
2892// AmazonRedshiftSource a copy activity source for Amazon Redshift Source.
2893type AmazonRedshiftSource struct {
2894	// Query - Database query. Type: string (or Expression with resultType string).
2895	Query interface{} `json:"query,omitempty"`
2896	// 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.
2897	RedshiftUnloadSettings *RedshiftUnloadSettings `json:"redshiftUnloadSettings,omitempty"`
2898	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2899	AdditionalProperties map[string]interface{} `json:""`
2900	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
2901	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
2902	// 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])).
2903	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
2904	// 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'
2905	Type TypeBasicCopySource `json:"type,omitempty"`
2906}
2907
2908// MarshalJSON is the custom marshaler for AmazonRedshiftSource.
2909func (ars AmazonRedshiftSource) MarshalJSON() ([]byte, error) {
2910	ars.Type = TypeAmazonRedshiftSource
2911	objectMap := make(map[string]interface{})
2912	if ars.Query != nil {
2913		objectMap["query"] = ars.Query
2914	}
2915	if ars.RedshiftUnloadSettings != nil {
2916		objectMap["redshiftUnloadSettings"] = ars.RedshiftUnloadSettings
2917	}
2918	if ars.SourceRetryCount != nil {
2919		objectMap["sourceRetryCount"] = ars.SourceRetryCount
2920	}
2921	if ars.SourceRetryWait != nil {
2922		objectMap["sourceRetryWait"] = ars.SourceRetryWait
2923	}
2924	if ars.Type != "" {
2925		objectMap["type"] = ars.Type
2926	}
2927	for k, v := range ars.AdditionalProperties {
2928		objectMap[k] = v
2929	}
2930	return json.Marshal(objectMap)
2931}
2932
2933// AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonRedshiftSource.
2934func (ars AmazonRedshiftSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
2935	return &ars, true
2936}
2937
2938// AsResponsysSource is the BasicCopySource implementation for AmazonRedshiftSource.
2939func (ars AmazonRedshiftSource) AsResponsysSource() (*ResponsysSource, bool) {
2940	return nil, false
2941}
2942
2943// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonRedshiftSource.
2944func (ars AmazonRedshiftSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
2945	return nil, false
2946}
2947
2948// AsVerticaSource is the BasicCopySource implementation for AmazonRedshiftSource.
2949func (ars AmazonRedshiftSource) AsVerticaSource() (*VerticaSource, bool) {
2950	return nil, false
2951}
2952
2953// AsNetezzaSource is the BasicCopySource implementation for AmazonRedshiftSource.
2954func (ars AmazonRedshiftSource) AsNetezzaSource() (*NetezzaSource, bool) {
2955	return nil, false
2956}
2957
2958// AsZohoSource is the BasicCopySource implementation for AmazonRedshiftSource.
2959func (ars AmazonRedshiftSource) AsZohoSource() (*ZohoSource, bool) {
2960	return nil, false
2961}
2962
2963// AsXeroSource is the BasicCopySource implementation for AmazonRedshiftSource.
2964func (ars AmazonRedshiftSource) AsXeroSource() (*XeroSource, bool) {
2965	return nil, false
2966}
2967
2968// AsSquareSource is the BasicCopySource implementation for AmazonRedshiftSource.
2969func (ars AmazonRedshiftSource) AsSquareSource() (*SquareSource, bool) {
2970	return nil, false
2971}
2972
2973// AsSparkSource is the BasicCopySource implementation for AmazonRedshiftSource.
2974func (ars AmazonRedshiftSource) AsSparkSource() (*SparkSource, bool) {
2975	return nil, false
2976}
2977
2978// AsShopifySource is the BasicCopySource implementation for AmazonRedshiftSource.
2979func (ars AmazonRedshiftSource) AsShopifySource() (*ShopifySource, bool) {
2980	return nil, false
2981}
2982
2983// AsServiceNowSource is the BasicCopySource implementation for AmazonRedshiftSource.
2984func (ars AmazonRedshiftSource) AsServiceNowSource() (*ServiceNowSource, bool) {
2985	return nil, false
2986}
2987
2988// AsQuickBooksSource is the BasicCopySource implementation for AmazonRedshiftSource.
2989func (ars AmazonRedshiftSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
2990	return nil, false
2991}
2992
2993// AsPrestoSource is the BasicCopySource implementation for AmazonRedshiftSource.
2994func (ars AmazonRedshiftSource) AsPrestoSource() (*PrestoSource, bool) {
2995	return nil, false
2996}
2997
2998// AsPhoenixSource is the BasicCopySource implementation for AmazonRedshiftSource.
2999func (ars AmazonRedshiftSource) AsPhoenixSource() (*PhoenixSource, bool) {
3000	return nil, false
3001}
3002
3003// AsPaypalSource is the BasicCopySource implementation for AmazonRedshiftSource.
3004func (ars AmazonRedshiftSource) AsPaypalSource() (*PaypalSource, bool) {
3005	return nil, false
3006}
3007
3008// AsMarketoSource is the BasicCopySource implementation for AmazonRedshiftSource.
3009func (ars AmazonRedshiftSource) AsMarketoSource() (*MarketoSource, bool) {
3010	return nil, false
3011}
3012
3013// AsMariaDBSource is the BasicCopySource implementation for AmazonRedshiftSource.
3014func (ars AmazonRedshiftSource) AsMariaDBSource() (*MariaDBSource, bool) {
3015	return nil, false
3016}
3017
3018// AsMagentoSource is the BasicCopySource implementation for AmazonRedshiftSource.
3019func (ars AmazonRedshiftSource) AsMagentoSource() (*MagentoSource, bool) {
3020	return nil, false
3021}
3022
3023// AsJiraSource is the BasicCopySource implementation for AmazonRedshiftSource.
3024func (ars AmazonRedshiftSource) AsJiraSource() (*JiraSource, bool) {
3025	return nil, false
3026}
3027
3028// AsImpalaSource is the BasicCopySource implementation for AmazonRedshiftSource.
3029func (ars AmazonRedshiftSource) AsImpalaSource() (*ImpalaSource, bool) {
3030	return nil, false
3031}
3032
3033// AsHubspotSource is the BasicCopySource implementation for AmazonRedshiftSource.
3034func (ars AmazonRedshiftSource) AsHubspotSource() (*HubspotSource, bool) {
3035	return nil, false
3036}
3037
3038// AsHiveSource is the BasicCopySource implementation for AmazonRedshiftSource.
3039func (ars AmazonRedshiftSource) AsHiveSource() (*HiveSource, bool) {
3040	return nil, false
3041}
3042
3043// AsHBaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
3044func (ars AmazonRedshiftSource) AsHBaseSource() (*HBaseSource, bool) {
3045	return nil, false
3046}
3047
3048// AsGreenplumSource is the BasicCopySource implementation for AmazonRedshiftSource.
3049func (ars AmazonRedshiftSource) AsGreenplumSource() (*GreenplumSource, bool) {
3050	return nil, false
3051}
3052
3053// AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonRedshiftSource.
3054func (ars AmazonRedshiftSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
3055	return nil, false
3056}
3057
3058// AsEloquaSource is the BasicCopySource implementation for AmazonRedshiftSource.
3059func (ars AmazonRedshiftSource) AsEloquaSource() (*EloquaSource, bool) {
3060	return nil, false
3061}
3062
3063// AsDrillSource is the BasicCopySource implementation for AmazonRedshiftSource.
3064func (ars AmazonRedshiftSource) AsDrillSource() (*DrillSource, bool) {
3065	return nil, false
3066}
3067
3068// AsCouchbaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
3069func (ars AmazonRedshiftSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
3070	return nil, false
3071}
3072
3073// AsConcurSource is the BasicCopySource implementation for AmazonRedshiftSource.
3074func (ars AmazonRedshiftSource) AsConcurSource() (*ConcurSource, bool) {
3075	return nil, false
3076}
3077
3078// AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
3079func (ars AmazonRedshiftSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
3080	return nil, false
3081}
3082
3083// AsAmazonMWSSource is the BasicCopySource implementation for AmazonRedshiftSource.
3084func (ars AmazonRedshiftSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
3085	return nil, false
3086}
3087
3088// AsHTTPSource is the BasicCopySource implementation for AmazonRedshiftSource.
3089func (ars AmazonRedshiftSource) AsHTTPSource() (*HTTPSource, bool) {
3090	return nil, false
3091}
3092
3093// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonRedshiftSource.
3094func (ars AmazonRedshiftSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
3095	return nil, false
3096}
3097
3098// AsMongoDbSource is the BasicCopySource implementation for AmazonRedshiftSource.
3099func (ars AmazonRedshiftSource) AsMongoDbSource() (*MongoDbSource, bool) {
3100	return nil, false
3101}
3102
3103// AsCassandraSource is the BasicCopySource implementation for AmazonRedshiftSource.
3104func (ars AmazonRedshiftSource) AsCassandraSource() (*CassandraSource, bool) {
3105	return nil, false
3106}
3107
3108// AsWebSource is the BasicCopySource implementation for AmazonRedshiftSource.
3109func (ars AmazonRedshiftSource) AsWebSource() (*WebSource, bool) {
3110	return nil, false
3111}
3112
3113// AsOracleSource is the BasicCopySource implementation for AmazonRedshiftSource.
3114func (ars AmazonRedshiftSource) AsOracleSource() (*OracleSource, bool) {
3115	return nil, false
3116}
3117
3118// AsAzureMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
3119func (ars AmazonRedshiftSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
3120	return nil, false
3121}
3122
3123// AsHdfsSource is the BasicCopySource implementation for AmazonRedshiftSource.
3124func (ars AmazonRedshiftSource) AsHdfsSource() (*HdfsSource, bool) {
3125	return nil, false
3126}
3127
3128// AsFileSystemSource is the BasicCopySource implementation for AmazonRedshiftSource.
3129func (ars AmazonRedshiftSource) AsFileSystemSource() (*FileSystemSource, bool) {
3130	return nil, false
3131}
3132
3133// AsSQLDWSource is the BasicCopySource implementation for AmazonRedshiftSource.
3134func (ars AmazonRedshiftSource) AsSQLDWSource() (*SQLDWSource, bool) {
3135	return nil, false
3136}
3137
3138// AsSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
3139func (ars AmazonRedshiftSource) AsSQLSource() (*SQLSource, bool) {
3140	return nil, false
3141}
3142
3143// AsSapEccSource is the BasicCopySource implementation for AmazonRedshiftSource.
3144func (ars AmazonRedshiftSource) AsSapEccSource() (*SapEccSource, bool) {
3145	return nil, false
3146}
3147
3148// AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonRedshiftSource.
3149func (ars AmazonRedshiftSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
3150	return nil, false
3151}
3152
3153// AsSalesforceSource is the BasicCopySource implementation for AmazonRedshiftSource.
3154func (ars AmazonRedshiftSource) AsSalesforceSource() (*SalesforceSource, bool) {
3155	return nil, false
3156}
3157
3158// AsRelationalSource is the BasicCopySource implementation for AmazonRedshiftSource.
3159func (ars AmazonRedshiftSource) AsRelationalSource() (*RelationalSource, bool) {
3160	return nil, false
3161}
3162
3163// AsDynamicsSource is the BasicCopySource implementation for AmazonRedshiftSource.
3164func (ars AmazonRedshiftSource) AsDynamicsSource() (*DynamicsSource, bool) {
3165	return nil, false
3166}
3167
3168// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonRedshiftSource.
3169func (ars AmazonRedshiftSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
3170	return nil, false
3171}
3172
3173// AsBlobSource is the BasicCopySource implementation for AmazonRedshiftSource.
3174func (ars AmazonRedshiftSource) AsBlobSource() (*BlobSource, bool) {
3175	return nil, false
3176}
3177
3178// AsAzureTableSource is the BasicCopySource implementation for AmazonRedshiftSource.
3179func (ars AmazonRedshiftSource) AsAzureTableSource() (*AzureTableSource, bool) {
3180	return nil, false
3181}
3182
3183// AsCopySource is the BasicCopySource implementation for AmazonRedshiftSource.
3184func (ars AmazonRedshiftSource) AsCopySource() (*CopySource, bool) {
3185	return nil, false
3186}
3187
3188// AsBasicCopySource is the BasicCopySource implementation for AmazonRedshiftSource.
3189func (ars AmazonRedshiftSource) AsBasicCopySource() (BasicCopySource, bool) {
3190	return &ars, true
3191}
3192
3193// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftSource struct.
3194func (ars *AmazonRedshiftSource) UnmarshalJSON(body []byte) error {
3195	var m map[string]*json.RawMessage
3196	err := json.Unmarshal(body, &m)
3197	if err != nil {
3198		return err
3199	}
3200	for k, v := range m {
3201		switch k {
3202		case "query":
3203			if v != nil {
3204				var query interface{}
3205				err = json.Unmarshal(*v, &query)
3206				if err != nil {
3207					return err
3208				}
3209				ars.Query = query
3210			}
3211		case "redshiftUnloadSettings":
3212			if v != nil {
3213				var redshiftUnloadSettings RedshiftUnloadSettings
3214				err = json.Unmarshal(*v, &redshiftUnloadSettings)
3215				if err != nil {
3216					return err
3217				}
3218				ars.RedshiftUnloadSettings = &redshiftUnloadSettings
3219			}
3220		default:
3221			if v != nil {
3222				var additionalProperties interface{}
3223				err = json.Unmarshal(*v, &additionalProperties)
3224				if err != nil {
3225					return err
3226				}
3227				if ars.AdditionalProperties == nil {
3228					ars.AdditionalProperties = make(map[string]interface{})
3229				}
3230				ars.AdditionalProperties[k] = additionalProperties
3231			}
3232		case "sourceRetryCount":
3233			if v != nil {
3234				var sourceRetryCount interface{}
3235				err = json.Unmarshal(*v, &sourceRetryCount)
3236				if err != nil {
3237					return err
3238				}
3239				ars.SourceRetryCount = sourceRetryCount
3240			}
3241		case "sourceRetryWait":
3242			if v != nil {
3243				var sourceRetryWait interface{}
3244				err = json.Unmarshal(*v, &sourceRetryWait)
3245				if err != nil {
3246					return err
3247				}
3248				ars.SourceRetryWait = sourceRetryWait
3249			}
3250		case "type":
3251			if v != nil {
3252				var typeVar TypeBasicCopySource
3253				err = json.Unmarshal(*v, &typeVar)
3254				if err != nil {
3255					return err
3256				}
3257				ars.Type = typeVar
3258			}
3259		}
3260	}
3261
3262	return nil
3263}
3264
3265// AmazonS3Dataset a single Amazon Simple Storage Service (S3) object or a set of S3 objects.
3266type AmazonS3Dataset struct {
3267	// AmazonS3DatasetTypeProperties - Amazon S3 dataset properties.
3268	*AmazonS3DatasetTypeProperties `json:"typeProperties,omitempty"`
3269	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
3270	AdditionalProperties map[string]interface{} `json:""`
3271	// Description - Dataset description.
3272	Description *string `json:"description,omitempty"`
3273	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
3274	Structure interface{} `json:"structure,omitempty"`
3275	// LinkedServiceName - Linked service reference.
3276	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
3277	// Parameters - Parameters for dataset.
3278	Parameters map[string]*ParameterSpecification `json:"parameters"`
3279	// Annotations - List of tags that can be used for describing the Dataset.
3280	Annotations *[]interface{} `json:"annotations,omitempty"`
3281	// 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'
3282	Type TypeBasicDataset `json:"type,omitempty"`
3283}
3284
3285// MarshalJSON is the custom marshaler for AmazonS3Dataset.
3286func (asd AmazonS3Dataset) MarshalJSON() ([]byte, error) {
3287	asd.Type = TypeAmazonS3Object
3288	objectMap := make(map[string]interface{})
3289	if asd.AmazonS3DatasetTypeProperties != nil {
3290		objectMap["typeProperties"] = asd.AmazonS3DatasetTypeProperties
3291	}
3292	if asd.Description != nil {
3293		objectMap["description"] = asd.Description
3294	}
3295	if asd.Structure != nil {
3296		objectMap["structure"] = asd.Structure
3297	}
3298	if asd.LinkedServiceName != nil {
3299		objectMap["linkedServiceName"] = asd.LinkedServiceName
3300	}
3301	if asd.Parameters != nil {
3302		objectMap["parameters"] = asd.Parameters
3303	}
3304	if asd.Annotations != nil {
3305		objectMap["annotations"] = asd.Annotations
3306	}
3307	if asd.Type != "" {
3308		objectMap["type"] = asd.Type
3309	}
3310	for k, v := range asd.AdditionalProperties {
3311		objectMap[k] = v
3312	}
3313	return json.Marshal(objectMap)
3314}
3315
3316// AsResponsysObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3317func (asd AmazonS3Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
3318	return nil, false
3319}
3320
3321// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3322func (asd AmazonS3Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
3323	return nil, false
3324}
3325
3326// AsVerticaTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3327func (asd AmazonS3Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
3328	return nil, false
3329}
3330
3331// AsNetezzaTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3332func (asd AmazonS3Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
3333	return nil, false
3334}
3335
3336// AsZohoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3337func (asd AmazonS3Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
3338	return nil, false
3339}
3340
3341// AsXeroObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3342func (asd AmazonS3Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
3343	return nil, false
3344}
3345
3346// AsSquareObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3347func (asd AmazonS3Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
3348	return nil, false
3349}
3350
3351// AsSparkObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3352func (asd AmazonS3Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
3353	return nil, false
3354}
3355
3356// AsShopifyObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3357func (asd AmazonS3Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
3358	return nil, false
3359}
3360
3361// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3362func (asd AmazonS3Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
3363	return nil, false
3364}
3365
3366// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3367func (asd AmazonS3Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
3368	return nil, false
3369}
3370
3371// AsPrestoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3372func (asd AmazonS3Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
3373	return nil, false
3374}
3375
3376// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3377func (asd AmazonS3Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
3378	return nil, false
3379}
3380
3381// AsPaypalObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3382func (asd AmazonS3Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
3383	return nil, false
3384}
3385
3386// AsMarketoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3387func (asd AmazonS3Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
3388	return nil, false
3389}
3390
3391// AsMariaDBTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3392func (asd AmazonS3Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
3393	return nil, false
3394}
3395
3396// AsMagentoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3397func (asd AmazonS3Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
3398	return nil, false
3399}
3400
3401// AsJiraObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3402func (asd AmazonS3Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
3403	return nil, false
3404}
3405
3406// AsImpalaObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3407func (asd AmazonS3Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
3408	return nil, false
3409}
3410
3411// AsHubspotObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3412func (asd AmazonS3Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
3413	return nil, false
3414}
3415
3416// AsHiveObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3417func (asd AmazonS3Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
3418	return nil, false
3419}
3420
3421// AsHBaseObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3422func (asd AmazonS3Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
3423	return nil, false
3424}
3425
3426// AsGreenplumTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3427func (asd AmazonS3Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
3428	return nil, false
3429}
3430
3431// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3432func (asd AmazonS3Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
3433	return nil, false
3434}
3435
3436// AsEloquaObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3437func (asd AmazonS3Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
3438	return nil, false
3439}
3440
3441// AsDrillTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3442func (asd AmazonS3Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
3443	return nil, false
3444}
3445
3446// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3447func (asd AmazonS3Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
3448	return nil, false
3449}
3450
3451// AsConcurObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3452func (asd AmazonS3Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
3453	return nil, false
3454}
3455
3456// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3457func (asd AmazonS3Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
3458	return nil, false
3459}
3460
3461// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3462func (asd AmazonS3Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
3463	return nil, false
3464}
3465
3466// AsHTTPDataset is the BasicDataset implementation for AmazonS3Dataset.
3467func (asd AmazonS3Dataset) AsHTTPDataset() (*HTTPDataset, bool) {
3468	return nil, false
3469}
3470
3471// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonS3Dataset.
3472func (asd AmazonS3Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
3473	return nil, false
3474}
3475
3476// AsWebTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3477func (asd AmazonS3Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
3478	return nil, false
3479}
3480
3481// AsSQLServerTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3482func (asd AmazonS3Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
3483	return nil, false
3484}
3485
3486// AsSapEccResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
3487func (asd AmazonS3Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
3488	return nil, false
3489}
3490
3491// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
3492func (asd AmazonS3Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
3493	return nil, false
3494}
3495
3496// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
3497func (asd AmazonS3Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
3498	return nil, false
3499}
3500
3501// AsRelationalTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3502func (asd AmazonS3Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
3503	return nil, false
3504}
3505
3506// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3507func (asd AmazonS3Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
3508	return nil, false
3509}
3510
3511// AsOracleTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3512func (asd AmazonS3Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
3513	return nil, false
3514}
3515
3516// AsODataResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
3517func (asd AmazonS3Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
3518	return nil, false
3519}
3520
3521// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonS3Dataset.
3522func (asd AmazonS3Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
3523	return nil, false
3524}
3525
3526// AsFileShareDataset is the BasicDataset implementation for AmazonS3Dataset.
3527func (asd AmazonS3Dataset) AsFileShareDataset() (*FileShareDataset, bool) {
3528	return nil, false
3529}
3530
3531// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AmazonS3Dataset.
3532func (asd AmazonS3Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
3533	return nil, false
3534}
3535
3536// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonS3Dataset.
3537func (asd AmazonS3Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
3538	return nil, false
3539}
3540
3541// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonS3Dataset.
3542func (asd AmazonS3Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
3543	return nil, false
3544}
3545
3546// AsCustomDataset is the BasicDataset implementation for AmazonS3Dataset.
3547func (asd AmazonS3Dataset) AsCustomDataset() (*CustomDataset, bool) {
3548	return nil, false
3549}
3550
3551// AsCassandraTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3552func (asd AmazonS3Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
3553	return nil, false
3554}
3555
3556// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3557func (asd AmazonS3Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
3558	return nil, false
3559}
3560
3561// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3562func (asd AmazonS3Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
3563	return nil, false
3564}
3565
3566// AsAzureTableDataset is the BasicDataset implementation for AmazonS3Dataset.
3567func (asd AmazonS3Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
3568	return nil, false
3569}
3570
3571// AsAzureBlobDataset is the BasicDataset implementation for AmazonS3Dataset.
3572func (asd AmazonS3Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
3573	return nil, false
3574}
3575
3576// AsAmazonS3Dataset is the BasicDataset implementation for AmazonS3Dataset.
3577func (asd AmazonS3Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
3578	return &asd, true
3579}
3580
3581// AsDataset is the BasicDataset implementation for AmazonS3Dataset.
3582func (asd AmazonS3Dataset) AsDataset() (*Dataset, bool) {
3583	return nil, false
3584}
3585
3586// AsBasicDataset is the BasicDataset implementation for AmazonS3Dataset.
3587func (asd AmazonS3Dataset) AsBasicDataset() (BasicDataset, bool) {
3588	return &asd, true
3589}
3590
3591// UnmarshalJSON is the custom unmarshaler for AmazonS3Dataset struct.
3592func (asd *AmazonS3Dataset) UnmarshalJSON(body []byte) error {
3593	var m map[string]*json.RawMessage
3594	err := json.Unmarshal(body, &m)
3595	if err != nil {
3596		return err
3597	}
3598	for k, v := range m {
3599		switch k {
3600		case "typeProperties":
3601			if v != nil {
3602				var amazonS3DatasetTypeProperties AmazonS3DatasetTypeProperties
3603				err = json.Unmarshal(*v, &amazonS3DatasetTypeProperties)
3604				if err != nil {
3605					return err
3606				}
3607				asd.AmazonS3DatasetTypeProperties = &amazonS3DatasetTypeProperties
3608			}
3609		default:
3610			if v != nil {
3611				var additionalProperties interface{}
3612				err = json.Unmarshal(*v, &additionalProperties)
3613				if err != nil {
3614					return err
3615				}
3616				if asd.AdditionalProperties == nil {
3617					asd.AdditionalProperties = make(map[string]interface{})
3618				}
3619				asd.AdditionalProperties[k] = additionalProperties
3620			}
3621		case "description":
3622			if v != nil {
3623				var description string
3624				err = json.Unmarshal(*v, &description)
3625				if err != nil {
3626					return err
3627				}
3628				asd.Description = &description
3629			}
3630		case "structure":
3631			if v != nil {
3632				var structure interface{}
3633				err = json.Unmarshal(*v, &structure)
3634				if err != nil {
3635					return err
3636				}
3637				asd.Structure = structure
3638			}
3639		case "linkedServiceName":
3640			if v != nil {
3641				var linkedServiceName LinkedServiceReference
3642				err = json.Unmarshal(*v, &linkedServiceName)
3643				if err != nil {
3644					return err
3645				}
3646				asd.LinkedServiceName = &linkedServiceName
3647			}
3648		case "parameters":
3649			if v != nil {
3650				var parameters map[string]*ParameterSpecification
3651				err = json.Unmarshal(*v, &parameters)
3652				if err != nil {
3653					return err
3654				}
3655				asd.Parameters = parameters
3656			}
3657		case "annotations":
3658			if v != nil {
3659				var annotations []interface{}
3660				err = json.Unmarshal(*v, &annotations)
3661				if err != nil {
3662					return err
3663				}
3664				asd.Annotations = &annotations
3665			}
3666		case "type":
3667			if v != nil {
3668				var typeVar TypeBasicDataset
3669				err = json.Unmarshal(*v, &typeVar)
3670				if err != nil {
3671					return err
3672				}
3673				asd.Type = typeVar
3674			}
3675		}
3676	}
3677
3678	return nil
3679}
3680
3681// AmazonS3DatasetTypeProperties amazon S3 dataset properties.
3682type AmazonS3DatasetTypeProperties struct {
3683	// BucketName - The name of the Amazon S3 bucket. Type: string (or Expression with resultType string).
3684	BucketName interface{} `json:"bucketName,omitempty"`
3685	// Key - The key of the Amazon S3 object. Type: string (or Expression with resultType string).
3686	Key interface{} `json:"key,omitempty"`
3687	// Prefix - The prefix filter for the S3 object name. Type: string (or Expression with resultType string).
3688	Prefix interface{} `json:"prefix,omitempty"`
3689	// Version - The version for the S3 object. Type: string (or Expression with resultType string).
3690	Version interface{} `json:"version,omitempty"`
3691	// Format - The format of files.
3692	Format BasicDatasetStorageFormat `json:"format,omitempty"`
3693	// Compression - The data compression method used for the Amazon S3 object.
3694	Compression BasicDatasetCompression `json:"compression,omitempty"`
3695}
3696
3697// UnmarshalJSON is the custom unmarshaler for AmazonS3DatasetTypeProperties struct.
3698func (asdtp *AmazonS3DatasetTypeProperties) UnmarshalJSON(body []byte) error {
3699	var m map[string]*json.RawMessage
3700	err := json.Unmarshal(body, &m)
3701	if err != nil {
3702		return err
3703	}
3704	for k, v := range m {
3705		switch k {
3706		case "bucketName":
3707			if v != nil {
3708				var bucketName interface{}
3709				err = json.Unmarshal(*v, &bucketName)
3710				if err != nil {
3711					return err
3712				}
3713				asdtp.BucketName = bucketName
3714			}
3715		case "key":
3716			if v != nil {
3717				var key interface{}
3718				err = json.Unmarshal(*v, &key)
3719				if err != nil {
3720					return err
3721				}
3722				asdtp.Key = key
3723			}
3724		case "prefix":
3725			if v != nil {
3726				var prefix interface{}
3727				err = json.Unmarshal(*v, &prefix)
3728				if err != nil {
3729					return err
3730				}
3731				asdtp.Prefix = prefix
3732			}
3733		case "version":
3734			if v != nil {
3735				var version interface{}
3736				err = json.Unmarshal(*v, &version)
3737				if err != nil {
3738					return err
3739				}
3740				asdtp.Version = version
3741			}
3742		case "format":
3743			if v != nil {
3744				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
3745				if err != nil {
3746					return err
3747				}
3748				asdtp.Format = formatVar
3749			}
3750		case "compression":
3751			if v != nil {
3752				compression, err := unmarshalBasicDatasetCompression(*v)
3753				if err != nil {
3754					return err
3755				}
3756				asdtp.Compression = compression
3757			}
3758		}
3759	}
3760
3761	return nil
3762}
3763
3764// AmazonS3LinkedService linked service for Amazon S3.
3765type AmazonS3LinkedService struct {
3766	// AmazonS3LinkedServiceTypeProperties - Amazon S3 linked service properties.
3767	*AmazonS3LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
3768	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
3769	AdditionalProperties map[string]interface{} `json:""`
3770	// ConnectVia - The integration runtime reference.
3771	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
3772	// Description - Linked service description.
3773	Description *string `json:"description,omitempty"`
3774	// Parameters - Parameters for linked service.
3775	Parameters map[string]*ParameterSpecification `json:"parameters"`
3776	// Annotations - List of tags that can be used for describing the Dataset.
3777	Annotations *[]interface{} `json:"annotations,omitempty"`
3778	// 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'
3779	Type TypeBasicLinkedService `json:"type,omitempty"`
3780}
3781
3782// MarshalJSON is the custom marshaler for AmazonS3LinkedService.
3783func (asls AmazonS3LinkedService) MarshalJSON() ([]byte, error) {
3784	asls.Type = TypeAmazonS3
3785	objectMap := make(map[string]interface{})
3786	if asls.AmazonS3LinkedServiceTypeProperties != nil {
3787		objectMap["typeProperties"] = asls.AmazonS3LinkedServiceTypeProperties
3788	}
3789	if asls.ConnectVia != nil {
3790		objectMap["connectVia"] = asls.ConnectVia
3791	}
3792	if asls.Description != nil {
3793		objectMap["description"] = asls.Description
3794	}
3795	if asls.Parameters != nil {
3796		objectMap["parameters"] = asls.Parameters
3797	}
3798	if asls.Annotations != nil {
3799		objectMap["annotations"] = asls.Annotations
3800	}
3801	if asls.Type != "" {
3802		objectMap["type"] = asls.Type
3803	}
3804	for k, v := range asls.AdditionalProperties {
3805		objectMap[k] = v
3806	}
3807	return json.Marshal(objectMap)
3808}
3809
3810// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3811func (asls AmazonS3LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
3812	return nil, false
3813}
3814
3815// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3816func (asls AmazonS3LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
3817	return nil, false
3818}
3819
3820// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3821func (asls AmazonS3LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
3822	return nil, false
3823}
3824
3825// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3826func (asls AmazonS3LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
3827	return nil, false
3828}
3829
3830// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3831func (asls AmazonS3LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
3832	return nil, false
3833}
3834
3835// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3836func (asls AmazonS3LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
3837	return nil, false
3838}
3839
3840// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3841func (asls AmazonS3LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
3842	return nil, false
3843}
3844
3845// AsZohoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3846func (asls AmazonS3LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
3847	return nil, false
3848}
3849
3850// AsXeroLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3851func (asls AmazonS3LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
3852	return nil, false
3853}
3854
3855// AsSquareLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3856func (asls AmazonS3LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
3857	return nil, false
3858}
3859
3860// AsSparkLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3861func (asls AmazonS3LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
3862	return nil, false
3863}
3864
3865// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3866func (asls AmazonS3LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
3867	return nil, false
3868}
3869
3870// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3871func (asls AmazonS3LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
3872	return nil, false
3873}
3874
3875// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3876func (asls AmazonS3LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
3877	return nil, false
3878}
3879
3880// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3881func (asls AmazonS3LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
3882	return nil, false
3883}
3884
3885// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3886func (asls AmazonS3LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
3887	return nil, false
3888}
3889
3890// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3891func (asls AmazonS3LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
3892	return nil, false
3893}
3894
3895// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3896func (asls AmazonS3LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
3897	return nil, false
3898}
3899
3900// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3901func (asls AmazonS3LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
3902	return nil, false
3903}
3904
3905// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3906func (asls AmazonS3LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
3907	return nil, false
3908}
3909
3910// AsJiraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3911func (asls AmazonS3LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
3912	return nil, false
3913}
3914
3915// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3916func (asls AmazonS3LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
3917	return nil, false
3918}
3919
3920// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3921func (asls AmazonS3LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
3922	return nil, false
3923}
3924
3925// AsHiveLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3926func (asls AmazonS3LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
3927	return nil, false
3928}
3929
3930// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3931func (asls AmazonS3LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
3932	return nil, false
3933}
3934
3935// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3936func (asls AmazonS3LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
3937	return nil, false
3938}
3939
3940// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3941func (asls AmazonS3LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
3942	return nil, false
3943}
3944
3945// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3946func (asls AmazonS3LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
3947	return nil, false
3948}
3949
3950// AsDrillLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3951func (asls AmazonS3LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
3952	return nil, false
3953}
3954
3955// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3956func (asls AmazonS3LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
3957	return nil, false
3958}
3959
3960// AsConcurLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3961func (asls AmazonS3LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
3962	return nil, false
3963}
3964
3965// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3966func (asls AmazonS3LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
3967	return nil, false
3968}
3969
3970// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3971func (asls AmazonS3LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
3972	return nil, false
3973}
3974
3975// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3976func (asls AmazonS3LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
3977	return nil, false
3978}
3979
3980// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3981func (asls AmazonS3LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
3982	return nil, false
3983}
3984
3985// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3986func (asls AmazonS3LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
3987	return nil, false
3988}
3989
3990// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3991func (asls AmazonS3LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
3992	return nil, false
3993}
3994
3995// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
3996func (asls AmazonS3LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
3997	return nil, false
3998}
3999
4000// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4001func (asls AmazonS3LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
4002	return nil, false
4003}
4004
4005// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4006func (asls AmazonS3LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
4007	return nil, false
4008}
4009
4010// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4011func (asls AmazonS3LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
4012	return nil, false
4013}
4014
4015// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4016func (asls AmazonS3LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
4017	return &asls, true
4018}
4019
4020// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4021func (asls AmazonS3LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
4022	return nil, false
4023}
4024
4025// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4026func (asls AmazonS3LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
4027	return nil, false
4028}
4029
4030// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4031func (asls AmazonS3LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
4032	return nil, false
4033}
4034
4035// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4036func (asls AmazonS3LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
4037	return nil, false
4038}
4039
4040// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4041func (asls AmazonS3LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
4042	return nil, false
4043}
4044
4045// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4046func (asls AmazonS3LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
4047	return nil, false
4048}
4049
4050// AsWebLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4051func (asls AmazonS3LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
4052	return nil, false
4053}
4054
4055// AsODataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4056func (asls AmazonS3LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
4057	return nil, false
4058}
4059
4060// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4061func (asls AmazonS3LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
4062	return nil, false
4063}
4064
4065// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4066func (asls AmazonS3LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
4067	return nil, false
4068}
4069
4070// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4071func (asls AmazonS3LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
4072	return nil, false
4073}
4074
4075// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4076func (asls AmazonS3LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
4077	return nil, false
4078}
4079
4080// AsDb2LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4081func (asls AmazonS3LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
4082	return nil, false
4083}
4084
4085// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4086func (asls AmazonS3LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
4087	return nil, false
4088}
4089
4090// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4091func (asls AmazonS3LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
4092	return nil, false
4093}
4094
4095// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4096func (asls AmazonS3LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
4097	return nil, false
4098}
4099
4100// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4101func (asls AmazonS3LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
4102	return nil, false
4103}
4104
4105// AsOracleLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4106func (asls AmazonS3LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
4107	return nil, false
4108}
4109
4110// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4111func (asls AmazonS3LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
4112	return nil, false
4113}
4114
4115// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4116func (asls AmazonS3LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
4117	return nil, false
4118}
4119
4120// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4121func (asls AmazonS3LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
4122	return nil, false
4123}
4124
4125// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4126func (asls AmazonS3LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
4127	return nil, false
4128}
4129
4130// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4131func (asls AmazonS3LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
4132	return nil, false
4133}
4134
4135// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4136func (asls AmazonS3LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
4137	return nil, false
4138}
4139
4140// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4141func (asls AmazonS3LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
4142	return nil, false
4143}
4144
4145// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4146func (asls AmazonS3LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
4147	return nil, false
4148}
4149
4150// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4151func (asls AmazonS3LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
4152	return nil, false
4153}
4154
4155// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4156func (asls AmazonS3LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
4157	return nil, false
4158}
4159
4160// AsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4161func (asls AmazonS3LinkedService) AsLinkedService() (*LinkedService, bool) {
4162	return nil, false
4163}
4164
4165// AsBasicLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
4166func (asls AmazonS3LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
4167	return &asls, true
4168}
4169
4170// UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedService struct.
4171func (asls *AmazonS3LinkedService) UnmarshalJSON(body []byte) error {
4172	var m map[string]*json.RawMessage
4173	err := json.Unmarshal(body, &m)
4174	if err != nil {
4175		return err
4176	}
4177	for k, v := range m {
4178		switch k {
4179		case "typeProperties":
4180			if v != nil {
4181				var amazonS3LinkedServiceTypeProperties AmazonS3LinkedServiceTypeProperties
4182				err = json.Unmarshal(*v, &amazonS3LinkedServiceTypeProperties)
4183				if err != nil {
4184					return err
4185				}
4186				asls.AmazonS3LinkedServiceTypeProperties = &amazonS3LinkedServiceTypeProperties
4187			}
4188		default:
4189			if v != nil {
4190				var additionalProperties interface{}
4191				err = json.Unmarshal(*v, &additionalProperties)
4192				if err != nil {
4193					return err
4194				}
4195				if asls.AdditionalProperties == nil {
4196					asls.AdditionalProperties = make(map[string]interface{})
4197				}
4198				asls.AdditionalProperties[k] = additionalProperties
4199			}
4200		case "connectVia":
4201			if v != nil {
4202				var connectVia IntegrationRuntimeReference
4203				err = json.Unmarshal(*v, &connectVia)
4204				if err != nil {
4205					return err
4206				}
4207				asls.ConnectVia = &connectVia
4208			}
4209		case "description":
4210			if v != nil {
4211				var description string
4212				err = json.Unmarshal(*v, &description)
4213				if err != nil {
4214					return err
4215				}
4216				asls.Description = &description
4217			}
4218		case "parameters":
4219			if v != nil {
4220				var parameters map[string]*ParameterSpecification
4221				err = json.Unmarshal(*v, &parameters)
4222				if err != nil {
4223					return err
4224				}
4225				asls.Parameters = parameters
4226			}
4227		case "annotations":
4228			if v != nil {
4229				var annotations []interface{}
4230				err = json.Unmarshal(*v, &annotations)
4231				if err != nil {
4232					return err
4233				}
4234				asls.Annotations = &annotations
4235			}
4236		case "type":
4237			if v != nil {
4238				var typeVar TypeBasicLinkedService
4239				err = json.Unmarshal(*v, &typeVar)
4240				if err != nil {
4241					return err
4242				}
4243				asls.Type = typeVar
4244			}
4245		}
4246	}
4247
4248	return nil
4249}
4250
4251// AmazonS3LinkedServiceTypeProperties amazon S3 linked service properties.
4252type AmazonS3LinkedServiceTypeProperties struct {
4253	// AccessKeyID - The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string).
4254	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
4255	// SecretAccessKey - The secret access key of the Amazon S3 Identity and Access Management (IAM) user.
4256	SecretAccessKey BasicSecretBase `json:"secretAccessKey,omitempty"`
4257	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
4258	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
4259}
4260
4261// UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedServiceTypeProperties struct.
4262func (aslstp *AmazonS3LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
4263	var m map[string]*json.RawMessage
4264	err := json.Unmarshal(body, &m)
4265	if err != nil {
4266		return err
4267	}
4268	for k, v := range m {
4269		switch k {
4270		case "accessKeyId":
4271			if v != nil {
4272				var accessKeyID interface{}
4273				err = json.Unmarshal(*v, &accessKeyID)
4274				if err != nil {
4275					return err
4276				}
4277				aslstp.AccessKeyID = accessKeyID
4278			}
4279		case "secretAccessKey":
4280			if v != nil {
4281				secretAccessKey, err := unmarshalBasicSecretBase(*v)
4282				if err != nil {
4283					return err
4284				}
4285				aslstp.SecretAccessKey = secretAccessKey
4286			}
4287		case "encryptedCredential":
4288			if v != nil {
4289				var encryptedCredential interface{}
4290				err = json.Unmarshal(*v, &encryptedCredential)
4291				if err != nil {
4292					return err
4293				}
4294				aslstp.EncryptedCredential = encryptedCredential
4295			}
4296		}
4297	}
4298
4299	return nil
4300}
4301
4302// AvroFormat the data stored in Avro format.
4303type AvroFormat struct {
4304	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
4305	AdditionalProperties map[string]interface{} `json:""`
4306	// Serializer - Serializer. Type: string (or Expression with resultType string).
4307	Serializer interface{} `json:"serializer,omitempty"`
4308	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
4309	Deserializer interface{} `json:"deserializer,omitempty"`
4310	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
4311	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
4312}
4313
4314// MarshalJSON is the custom marshaler for AvroFormat.
4315func (af AvroFormat) MarshalJSON() ([]byte, error) {
4316	af.Type = TypeAvroFormat
4317	objectMap := make(map[string]interface{})
4318	if af.Serializer != nil {
4319		objectMap["serializer"] = af.Serializer
4320	}
4321	if af.Deserializer != nil {
4322		objectMap["deserializer"] = af.Deserializer
4323	}
4324	if af.Type != "" {
4325		objectMap["type"] = af.Type
4326	}
4327	for k, v := range af.AdditionalProperties {
4328		objectMap[k] = v
4329	}
4330	return json.Marshal(objectMap)
4331}
4332
4333// AsParquetFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4334func (af AvroFormat) AsParquetFormat() (*ParquetFormat, bool) {
4335	return nil, false
4336}
4337
4338// AsOrcFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4339func (af AvroFormat) AsOrcFormat() (*OrcFormat, bool) {
4340	return nil, false
4341}
4342
4343// AsAvroFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4344func (af AvroFormat) AsAvroFormat() (*AvroFormat, bool) {
4345	return &af, true
4346}
4347
4348// AsJSONFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4349func (af AvroFormat) AsJSONFormat() (*JSONFormat, bool) {
4350	return nil, false
4351}
4352
4353// AsTextFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4354func (af AvroFormat) AsTextFormat() (*TextFormat, bool) {
4355	return nil, false
4356}
4357
4358// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4359func (af AvroFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
4360	return nil, false
4361}
4362
4363// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
4364func (af AvroFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
4365	return &af, true
4366}
4367
4368// UnmarshalJSON is the custom unmarshaler for AvroFormat struct.
4369func (af *AvroFormat) UnmarshalJSON(body []byte) error {
4370	var m map[string]*json.RawMessage
4371	err := json.Unmarshal(body, &m)
4372	if err != nil {
4373		return err
4374	}
4375	for k, v := range m {
4376		switch k {
4377		default:
4378			if v != nil {
4379				var additionalProperties interface{}
4380				err = json.Unmarshal(*v, &additionalProperties)
4381				if err != nil {
4382					return err
4383				}
4384				if af.AdditionalProperties == nil {
4385					af.AdditionalProperties = make(map[string]interface{})
4386				}
4387				af.AdditionalProperties[k] = additionalProperties
4388			}
4389		case "serializer":
4390			if v != nil {
4391				var serializer interface{}
4392				err = json.Unmarshal(*v, &serializer)
4393				if err != nil {
4394					return err
4395				}
4396				af.Serializer = serializer
4397			}
4398		case "deserializer":
4399			if v != nil {
4400				var deserializer interface{}
4401				err = json.Unmarshal(*v, &deserializer)
4402				if err != nil {
4403					return err
4404				}
4405				af.Deserializer = deserializer
4406			}
4407		case "type":
4408			if v != nil {
4409				var typeVar TypeBasicDatasetStorageFormat
4410				err = json.Unmarshal(*v, &typeVar)
4411				if err != nil {
4412					return err
4413				}
4414				af.Type = typeVar
4415			}
4416		}
4417	}
4418
4419	return nil
4420}
4421
4422// AzureBatchLinkedService azure Batch linked service.
4423type AzureBatchLinkedService struct {
4424	// AzureBatchLinkedServiceTypeProperties - Azure Batch linked service properties.
4425	*AzureBatchLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
4426	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
4427	AdditionalProperties map[string]interface{} `json:""`
4428	// ConnectVia - The integration runtime reference.
4429	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
4430	// Description - Linked service description.
4431	Description *string `json:"description,omitempty"`
4432	// Parameters - Parameters for linked service.
4433	Parameters map[string]*ParameterSpecification `json:"parameters"`
4434	// Annotations - List of tags that can be used for describing the Dataset.
4435	Annotations *[]interface{} `json:"annotations,omitempty"`
4436	// 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'
4437	Type TypeBasicLinkedService `json:"type,omitempty"`
4438}
4439
4440// MarshalJSON is the custom marshaler for AzureBatchLinkedService.
4441func (abls AzureBatchLinkedService) MarshalJSON() ([]byte, error) {
4442	abls.Type = TypeAzureBatch
4443	objectMap := make(map[string]interface{})
4444	if abls.AzureBatchLinkedServiceTypeProperties != nil {
4445		objectMap["typeProperties"] = abls.AzureBatchLinkedServiceTypeProperties
4446	}
4447	if abls.ConnectVia != nil {
4448		objectMap["connectVia"] = abls.ConnectVia
4449	}
4450	if abls.Description != nil {
4451		objectMap["description"] = abls.Description
4452	}
4453	if abls.Parameters != nil {
4454		objectMap["parameters"] = abls.Parameters
4455	}
4456	if abls.Annotations != nil {
4457		objectMap["annotations"] = abls.Annotations
4458	}
4459	if abls.Type != "" {
4460		objectMap["type"] = abls.Type
4461	}
4462	for k, v := range abls.AdditionalProperties {
4463		objectMap[k] = v
4464	}
4465	return json.Marshal(objectMap)
4466}
4467
4468// AsResponsysLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4469func (abls AzureBatchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
4470	return nil, false
4471}
4472
4473// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4474func (abls AzureBatchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
4475	return nil, false
4476}
4477
4478// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4479func (abls AzureBatchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
4480	return nil, false
4481}
4482
4483// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4484func (abls AzureBatchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
4485	return nil, false
4486}
4487
4488// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4489func (abls AzureBatchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
4490	return nil, false
4491}
4492
4493// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4494func (abls AzureBatchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
4495	return nil, false
4496}
4497
4498// AsVerticaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4499func (abls AzureBatchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
4500	return nil, false
4501}
4502
4503// AsZohoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4504func (abls AzureBatchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
4505	return nil, false
4506}
4507
4508// AsXeroLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4509func (abls AzureBatchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
4510	return nil, false
4511}
4512
4513// AsSquareLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4514func (abls AzureBatchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
4515	return nil, false
4516}
4517
4518// AsSparkLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4519func (abls AzureBatchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
4520	return nil, false
4521}
4522
4523// AsShopifyLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4524func (abls AzureBatchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
4525	return nil, false
4526}
4527
4528// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4529func (abls AzureBatchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
4530	return nil, false
4531}
4532
4533// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4534func (abls AzureBatchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
4535	return nil, false
4536}
4537
4538// AsPrestoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4539func (abls AzureBatchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
4540	return nil, false
4541}
4542
4543// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4544func (abls AzureBatchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
4545	return nil, false
4546}
4547
4548// AsPaypalLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4549func (abls AzureBatchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
4550	return nil, false
4551}
4552
4553// AsMarketoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4554func (abls AzureBatchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
4555	return nil, false
4556}
4557
4558// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4559func (abls AzureBatchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
4560	return nil, false
4561}
4562
4563// AsMagentoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4564func (abls AzureBatchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
4565	return nil, false
4566}
4567
4568// AsJiraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4569func (abls AzureBatchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
4570	return nil, false
4571}
4572
4573// AsImpalaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4574func (abls AzureBatchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
4575	return nil, false
4576}
4577
4578// AsHubspotLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4579func (abls AzureBatchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
4580	return nil, false
4581}
4582
4583// AsHiveLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4584func (abls AzureBatchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
4585	return nil, false
4586}
4587
4588// AsHBaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4589func (abls AzureBatchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
4590	return nil, false
4591}
4592
4593// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4594func (abls AzureBatchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
4595	return nil, false
4596}
4597
4598// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4599func (abls AzureBatchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
4600	return nil, false
4601}
4602
4603// AsEloquaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4604func (abls AzureBatchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
4605	return nil, false
4606}
4607
4608// AsDrillLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4609func (abls AzureBatchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
4610	return nil, false
4611}
4612
4613// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4614func (abls AzureBatchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
4615	return nil, false
4616}
4617
4618// AsConcurLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4619func (abls AzureBatchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
4620	return nil, false
4621}
4622
4623// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4624func (abls AzureBatchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
4625	return nil, false
4626}
4627
4628// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4629func (abls AzureBatchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
4630	return nil, false
4631}
4632
4633// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4634func (abls AzureBatchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
4635	return nil, false
4636}
4637
4638// AsSapBWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4639func (abls AzureBatchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
4640	return nil, false
4641}
4642
4643// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4644func (abls AzureBatchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
4645	return nil, false
4646}
4647
4648// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4649func (abls AzureBatchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
4650	return nil, false
4651}
4652
4653// AsHTTPLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4654func (abls AzureBatchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
4655	return nil, false
4656}
4657
4658// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4659func (abls AzureBatchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
4660	return nil, false
4661}
4662
4663// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4664func (abls AzureBatchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
4665	return nil, false
4666}
4667
4668// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4669func (abls AzureBatchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
4670	return nil, false
4671}
4672
4673// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4674func (abls AzureBatchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
4675	return nil, false
4676}
4677
4678// AsSapEccLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4679func (abls AzureBatchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
4680	return nil, false
4681}
4682
4683// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4684func (abls AzureBatchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
4685	return nil, false
4686}
4687
4688// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4689func (abls AzureBatchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
4690	return nil, false
4691}
4692
4693// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4694func (abls AzureBatchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
4695	return nil, false
4696}
4697
4698// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4699func (abls AzureBatchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
4700	return nil, false
4701}
4702
4703// AsCassandraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4704func (abls AzureBatchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
4705	return nil, false
4706}
4707
4708// AsWebLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4709func (abls AzureBatchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
4710	return nil, false
4711}
4712
4713// AsODataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4714func (abls AzureBatchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
4715	return nil, false
4716}
4717
4718// AsHdfsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4719func (abls AzureBatchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
4720	return nil, false
4721}
4722
4723// AsOdbcLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4724func (abls AzureBatchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
4725	return nil, false
4726}
4727
4728// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4729func (abls AzureBatchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
4730	return nil, false
4731}
4732
4733// AsTeradataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4734func (abls AzureBatchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
4735	return nil, false
4736}
4737
4738// AsDb2LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4739func (abls AzureBatchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
4740	return nil, false
4741}
4742
4743// AsSybaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4744func (abls AzureBatchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
4745	return nil, false
4746}
4747
4748// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4749func (abls AzureBatchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
4750	return nil, false
4751}
4752
4753// AsMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4754func (abls AzureBatchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
4755	return nil, false
4756}
4757
4758// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4759func (abls AzureBatchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
4760	return nil, false
4761}
4762
4763// AsOracleLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4764func (abls AzureBatchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
4765	return nil, false
4766}
4767
4768// AsFileServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4769func (abls AzureBatchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
4770	return nil, false
4771}
4772
4773// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4774func (abls AzureBatchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
4775	return nil, false
4776}
4777
4778// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4779func (abls AzureBatchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
4780	return nil, false
4781}
4782
4783// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4784func (abls AzureBatchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
4785	return nil, false
4786}
4787
4788// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4789func (abls AzureBatchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
4790	return nil, false
4791}
4792
4793// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4794func (abls AzureBatchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
4795	return &abls, true
4796}
4797
4798// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4799func (abls AzureBatchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
4800	return nil, false
4801}
4802
4803// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4804func (abls AzureBatchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
4805	return nil, false
4806}
4807
4808// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4809func (abls AzureBatchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
4810	return nil, false
4811}
4812
4813// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4814func (abls AzureBatchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
4815	return nil, false
4816}
4817
4818// AsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4819func (abls AzureBatchLinkedService) AsLinkedService() (*LinkedService, bool) {
4820	return nil, false
4821}
4822
4823// AsBasicLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
4824func (abls AzureBatchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
4825	return &abls, true
4826}
4827
4828// UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedService struct.
4829func (abls *AzureBatchLinkedService) UnmarshalJSON(body []byte) error {
4830	var m map[string]*json.RawMessage
4831	err := json.Unmarshal(body, &m)
4832	if err != nil {
4833		return err
4834	}
4835	for k, v := range m {
4836		switch k {
4837		case "typeProperties":
4838			if v != nil {
4839				var azureBatchLinkedServiceTypeProperties AzureBatchLinkedServiceTypeProperties
4840				err = json.Unmarshal(*v, &azureBatchLinkedServiceTypeProperties)
4841				if err != nil {
4842					return err
4843				}
4844				abls.AzureBatchLinkedServiceTypeProperties = &azureBatchLinkedServiceTypeProperties
4845			}
4846		default:
4847			if v != nil {
4848				var additionalProperties interface{}
4849				err = json.Unmarshal(*v, &additionalProperties)
4850				if err != nil {
4851					return err
4852				}
4853				if abls.AdditionalProperties == nil {
4854					abls.AdditionalProperties = make(map[string]interface{})
4855				}
4856				abls.AdditionalProperties[k] = additionalProperties
4857			}
4858		case "connectVia":
4859			if v != nil {
4860				var connectVia IntegrationRuntimeReference
4861				err = json.Unmarshal(*v, &connectVia)
4862				if err != nil {
4863					return err
4864				}
4865				abls.ConnectVia = &connectVia
4866			}
4867		case "description":
4868			if v != nil {
4869				var description string
4870				err = json.Unmarshal(*v, &description)
4871				if err != nil {
4872					return err
4873				}
4874				abls.Description = &description
4875			}
4876		case "parameters":
4877			if v != nil {
4878				var parameters map[string]*ParameterSpecification
4879				err = json.Unmarshal(*v, &parameters)
4880				if err != nil {
4881					return err
4882				}
4883				abls.Parameters = parameters
4884			}
4885		case "annotations":
4886			if v != nil {
4887				var annotations []interface{}
4888				err = json.Unmarshal(*v, &annotations)
4889				if err != nil {
4890					return err
4891				}
4892				abls.Annotations = &annotations
4893			}
4894		case "type":
4895			if v != nil {
4896				var typeVar TypeBasicLinkedService
4897				err = json.Unmarshal(*v, &typeVar)
4898				if err != nil {
4899					return err
4900				}
4901				abls.Type = typeVar
4902			}
4903		}
4904	}
4905
4906	return nil
4907}
4908
4909// AzureBatchLinkedServiceTypeProperties azure Batch linked service properties.
4910type AzureBatchLinkedServiceTypeProperties struct {
4911	// AccountName - The Azure Batch account name. Type: string (or Expression with resultType string).
4912	AccountName interface{} `json:"accountName,omitempty"`
4913	// AccessKey - The Azure Batch account access key.
4914	AccessKey BasicSecretBase `json:"accessKey,omitempty"`
4915	// BatchURI - The Azure Batch URI. Type: string (or Expression with resultType string).
4916	BatchURI interface{} `json:"batchUri,omitempty"`
4917	// PoolName - The Azure Batch pool name. Type: string (or Expression with resultType string).
4918	PoolName interface{} `json:"poolName,omitempty"`
4919	// LinkedServiceName - The Azure Storage linked service reference.
4920	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
4921	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
4922	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
4923}
4924
4925// UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedServiceTypeProperties struct.
4926func (ablstp *AzureBatchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
4927	var m map[string]*json.RawMessage
4928	err := json.Unmarshal(body, &m)
4929	if err != nil {
4930		return err
4931	}
4932	for k, v := range m {
4933		switch k {
4934		case "accountName":
4935			if v != nil {
4936				var accountName interface{}
4937				err = json.Unmarshal(*v, &accountName)
4938				if err != nil {
4939					return err
4940				}
4941				ablstp.AccountName = accountName
4942			}
4943		case "accessKey":
4944			if v != nil {
4945				accessKey, err := unmarshalBasicSecretBase(*v)
4946				if err != nil {
4947					return err
4948				}
4949				ablstp.AccessKey = accessKey
4950			}
4951		case "batchUri":
4952			if v != nil {
4953				var batchURI interface{}
4954				err = json.Unmarshal(*v, &batchURI)
4955				if err != nil {
4956					return err
4957				}
4958				ablstp.BatchURI = batchURI
4959			}
4960		case "poolName":
4961			if v != nil {
4962				var poolName interface{}
4963				err = json.Unmarshal(*v, &poolName)
4964				if err != nil {
4965					return err
4966				}
4967				ablstp.PoolName = poolName
4968			}
4969		case "linkedServiceName":
4970			if v != nil {
4971				var linkedServiceName LinkedServiceReference
4972				err = json.Unmarshal(*v, &linkedServiceName)
4973				if err != nil {
4974					return err
4975				}
4976				ablstp.LinkedServiceName = &linkedServiceName
4977			}
4978		case "encryptedCredential":
4979			if v != nil {
4980				var encryptedCredential interface{}
4981				err = json.Unmarshal(*v, &encryptedCredential)
4982				if err != nil {
4983					return err
4984				}
4985				ablstp.EncryptedCredential = encryptedCredential
4986			}
4987		}
4988	}
4989
4990	return nil
4991}
4992
4993// AzureBlobDataset the Azure Blob storage.
4994type AzureBlobDataset struct {
4995	// AzureBlobDatasetTypeProperties - Azure Blob dataset properties.
4996	*AzureBlobDatasetTypeProperties `json:"typeProperties,omitempty"`
4997	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
4998	AdditionalProperties map[string]interface{} `json:""`
4999	// Description - Dataset description.
5000	Description *string `json:"description,omitempty"`
5001	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
5002	Structure interface{} `json:"structure,omitempty"`
5003	// LinkedServiceName - Linked service reference.
5004	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
5005	// Parameters - Parameters for dataset.
5006	Parameters map[string]*ParameterSpecification `json:"parameters"`
5007	// Annotations - List of tags that can be used for describing the Dataset.
5008	Annotations *[]interface{} `json:"annotations,omitempty"`
5009	// 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'
5010	Type TypeBasicDataset `json:"type,omitempty"`
5011}
5012
5013// MarshalJSON is the custom marshaler for AzureBlobDataset.
5014func (abd AzureBlobDataset) MarshalJSON() ([]byte, error) {
5015	abd.Type = TypeAzureBlob
5016	objectMap := make(map[string]interface{})
5017	if abd.AzureBlobDatasetTypeProperties != nil {
5018		objectMap["typeProperties"] = abd.AzureBlobDatasetTypeProperties
5019	}
5020	if abd.Description != nil {
5021		objectMap["description"] = abd.Description
5022	}
5023	if abd.Structure != nil {
5024		objectMap["structure"] = abd.Structure
5025	}
5026	if abd.LinkedServiceName != nil {
5027		objectMap["linkedServiceName"] = abd.LinkedServiceName
5028	}
5029	if abd.Parameters != nil {
5030		objectMap["parameters"] = abd.Parameters
5031	}
5032	if abd.Annotations != nil {
5033		objectMap["annotations"] = abd.Annotations
5034	}
5035	if abd.Type != "" {
5036		objectMap["type"] = abd.Type
5037	}
5038	for k, v := range abd.AdditionalProperties {
5039		objectMap[k] = v
5040	}
5041	return json.Marshal(objectMap)
5042}
5043
5044// AsResponsysObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5045func (abd AzureBlobDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
5046	return nil, false
5047}
5048
5049// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5050func (abd AzureBlobDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
5051	return nil, false
5052}
5053
5054// AsVerticaTableDataset is the BasicDataset implementation for AzureBlobDataset.
5055func (abd AzureBlobDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
5056	return nil, false
5057}
5058
5059// AsNetezzaTableDataset is the BasicDataset implementation for AzureBlobDataset.
5060func (abd AzureBlobDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
5061	return nil, false
5062}
5063
5064// AsZohoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5065func (abd AzureBlobDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
5066	return nil, false
5067}
5068
5069// AsXeroObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5070func (abd AzureBlobDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
5071	return nil, false
5072}
5073
5074// AsSquareObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5075func (abd AzureBlobDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
5076	return nil, false
5077}
5078
5079// AsSparkObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5080func (abd AzureBlobDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
5081	return nil, false
5082}
5083
5084// AsShopifyObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5085func (abd AzureBlobDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
5086	return nil, false
5087}
5088
5089// AsServiceNowObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5090func (abd AzureBlobDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
5091	return nil, false
5092}
5093
5094// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5095func (abd AzureBlobDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
5096	return nil, false
5097}
5098
5099// AsPrestoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5100func (abd AzureBlobDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
5101	return nil, false
5102}
5103
5104// AsPhoenixObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5105func (abd AzureBlobDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
5106	return nil, false
5107}
5108
5109// AsPaypalObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5110func (abd AzureBlobDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
5111	return nil, false
5112}
5113
5114// AsMarketoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5115func (abd AzureBlobDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
5116	return nil, false
5117}
5118
5119// AsMariaDBTableDataset is the BasicDataset implementation for AzureBlobDataset.
5120func (abd AzureBlobDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
5121	return nil, false
5122}
5123
5124// AsMagentoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5125func (abd AzureBlobDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
5126	return nil, false
5127}
5128
5129// AsJiraObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5130func (abd AzureBlobDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
5131	return nil, false
5132}
5133
5134// AsImpalaObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5135func (abd AzureBlobDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
5136	return nil, false
5137}
5138
5139// AsHubspotObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5140func (abd AzureBlobDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
5141	return nil, false
5142}
5143
5144// AsHiveObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5145func (abd AzureBlobDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
5146	return nil, false
5147}
5148
5149// AsHBaseObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5150func (abd AzureBlobDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
5151	return nil, false
5152}
5153
5154// AsGreenplumTableDataset is the BasicDataset implementation for AzureBlobDataset.
5155func (abd AzureBlobDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
5156	return nil, false
5157}
5158
5159// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5160func (abd AzureBlobDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
5161	return nil, false
5162}
5163
5164// AsEloquaObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5165func (abd AzureBlobDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
5166	return nil, false
5167}
5168
5169// AsDrillTableDataset is the BasicDataset implementation for AzureBlobDataset.
5170func (abd AzureBlobDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
5171	return nil, false
5172}
5173
5174// AsCouchbaseTableDataset is the BasicDataset implementation for AzureBlobDataset.
5175func (abd AzureBlobDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
5176	return nil, false
5177}
5178
5179// AsConcurObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5180func (abd AzureBlobDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
5181	return nil, false
5182}
5183
5184// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
5185func (abd AzureBlobDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
5186	return nil, false
5187}
5188
5189// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5190func (abd AzureBlobDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
5191	return nil, false
5192}
5193
5194// AsHTTPDataset is the BasicDataset implementation for AzureBlobDataset.
5195func (abd AzureBlobDataset) AsHTTPDataset() (*HTTPDataset, bool) {
5196	return nil, false
5197}
5198
5199// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureBlobDataset.
5200func (abd AzureBlobDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
5201	return nil, false
5202}
5203
5204// AsWebTableDataset is the BasicDataset implementation for AzureBlobDataset.
5205func (abd AzureBlobDataset) AsWebTableDataset() (*WebTableDataset, bool) {
5206	return nil, false
5207}
5208
5209// AsSQLServerTableDataset is the BasicDataset implementation for AzureBlobDataset.
5210func (abd AzureBlobDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
5211	return nil, false
5212}
5213
5214// AsSapEccResourceDataset is the BasicDataset implementation for AzureBlobDataset.
5215func (abd AzureBlobDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
5216	return nil, false
5217}
5218
5219// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureBlobDataset.
5220func (abd AzureBlobDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
5221	return nil, false
5222}
5223
5224// AsSalesforceObjectDataset is the BasicDataset implementation for AzureBlobDataset.
5225func (abd AzureBlobDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
5226	return nil, false
5227}
5228
5229// AsRelationalTableDataset is the BasicDataset implementation for AzureBlobDataset.
5230func (abd AzureBlobDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
5231	return nil, false
5232}
5233
5234// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
5235func (abd AzureBlobDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
5236	return nil, false
5237}
5238
5239// AsOracleTableDataset is the BasicDataset implementation for AzureBlobDataset.
5240func (abd AzureBlobDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
5241	return nil, false
5242}
5243
5244// AsODataResourceDataset is the BasicDataset implementation for AzureBlobDataset.
5245func (abd AzureBlobDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
5246	return nil, false
5247}
5248
5249// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureBlobDataset.
5250func (abd AzureBlobDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
5251	return nil, false
5252}
5253
5254// AsFileShareDataset is the BasicDataset implementation for AzureBlobDataset.
5255func (abd AzureBlobDataset) AsFileShareDataset() (*FileShareDataset, bool) {
5256	return nil, false
5257}
5258
5259// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureBlobDataset.
5260func (abd AzureBlobDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
5261	return nil, false
5262}
5263
5264// AsDynamicsEntityDataset is the BasicDataset implementation for AzureBlobDataset.
5265func (abd AzureBlobDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
5266	return nil, false
5267}
5268
5269// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureBlobDataset.
5270func (abd AzureBlobDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
5271	return nil, false
5272}
5273
5274// AsCustomDataset is the BasicDataset implementation for AzureBlobDataset.
5275func (abd AzureBlobDataset) AsCustomDataset() (*CustomDataset, bool) {
5276	return nil, false
5277}
5278
5279// AsCassandraTableDataset is the BasicDataset implementation for AzureBlobDataset.
5280func (abd AzureBlobDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
5281	return nil, false
5282}
5283
5284// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureBlobDataset.
5285func (abd AzureBlobDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
5286	return nil, false
5287}
5288
5289// AsAzureSQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
5290func (abd AzureBlobDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
5291	return nil, false
5292}
5293
5294// AsAzureTableDataset is the BasicDataset implementation for AzureBlobDataset.
5295func (abd AzureBlobDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
5296	return nil, false
5297}
5298
5299// AsAzureBlobDataset is the BasicDataset implementation for AzureBlobDataset.
5300func (abd AzureBlobDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
5301	return &abd, true
5302}
5303
5304// AsAmazonS3Dataset is the BasicDataset implementation for AzureBlobDataset.
5305func (abd AzureBlobDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
5306	return nil, false
5307}
5308
5309// AsDataset is the BasicDataset implementation for AzureBlobDataset.
5310func (abd AzureBlobDataset) AsDataset() (*Dataset, bool) {
5311	return nil, false
5312}
5313
5314// AsBasicDataset is the BasicDataset implementation for AzureBlobDataset.
5315func (abd AzureBlobDataset) AsBasicDataset() (BasicDataset, bool) {
5316	return &abd, true
5317}
5318
5319// UnmarshalJSON is the custom unmarshaler for AzureBlobDataset struct.
5320func (abd *AzureBlobDataset) UnmarshalJSON(body []byte) error {
5321	var m map[string]*json.RawMessage
5322	err := json.Unmarshal(body, &m)
5323	if err != nil {
5324		return err
5325	}
5326	for k, v := range m {
5327		switch k {
5328		case "typeProperties":
5329			if v != nil {
5330				var azureBlobDatasetTypeProperties AzureBlobDatasetTypeProperties
5331				err = json.Unmarshal(*v, &azureBlobDatasetTypeProperties)
5332				if err != nil {
5333					return err
5334				}
5335				abd.AzureBlobDatasetTypeProperties = &azureBlobDatasetTypeProperties
5336			}
5337		default:
5338			if v != nil {
5339				var additionalProperties interface{}
5340				err = json.Unmarshal(*v, &additionalProperties)
5341				if err != nil {
5342					return err
5343				}
5344				if abd.AdditionalProperties == nil {
5345					abd.AdditionalProperties = make(map[string]interface{})
5346				}
5347				abd.AdditionalProperties[k] = additionalProperties
5348			}
5349		case "description":
5350			if v != nil {
5351				var description string
5352				err = json.Unmarshal(*v, &description)
5353				if err != nil {
5354					return err
5355				}
5356				abd.Description = &description
5357			}
5358		case "structure":
5359			if v != nil {
5360				var structure interface{}
5361				err = json.Unmarshal(*v, &structure)
5362				if err != nil {
5363					return err
5364				}
5365				abd.Structure = structure
5366			}
5367		case "linkedServiceName":
5368			if v != nil {
5369				var linkedServiceName LinkedServiceReference
5370				err = json.Unmarshal(*v, &linkedServiceName)
5371				if err != nil {
5372					return err
5373				}
5374				abd.LinkedServiceName = &linkedServiceName
5375			}
5376		case "parameters":
5377			if v != nil {
5378				var parameters map[string]*ParameterSpecification
5379				err = json.Unmarshal(*v, &parameters)
5380				if err != nil {
5381					return err
5382				}
5383				abd.Parameters = parameters
5384			}
5385		case "annotations":
5386			if v != nil {
5387				var annotations []interface{}
5388				err = json.Unmarshal(*v, &annotations)
5389				if err != nil {
5390					return err
5391				}
5392				abd.Annotations = &annotations
5393			}
5394		case "type":
5395			if v != nil {
5396				var typeVar TypeBasicDataset
5397				err = json.Unmarshal(*v, &typeVar)
5398				if err != nil {
5399					return err
5400				}
5401				abd.Type = typeVar
5402			}
5403		}
5404	}
5405
5406	return nil
5407}
5408
5409// AzureBlobDatasetTypeProperties azure Blob dataset properties.
5410type AzureBlobDatasetTypeProperties struct {
5411	// FolderPath - The path of the Azure Blob storage. Type: string (or Expression with resultType string).
5412	FolderPath interface{} `json:"folderPath,omitempty"`
5413	// TableRootLocation - The root of blob path. Type: string (or Expression with resultType string).
5414	TableRootLocation interface{} `json:"tableRootLocation,omitempty"`
5415	// FileName - The name of the Azure Blob. Type: string (or Expression with resultType string).
5416	FileName interface{} `json:"fileName,omitempty"`
5417	// Format - The format of the Azure Blob storage.
5418	Format BasicDatasetStorageFormat `json:"format,omitempty"`
5419	// Compression - The data compression method used for the blob storage.
5420	Compression BasicDatasetCompression `json:"compression,omitempty"`
5421}
5422
5423// UnmarshalJSON is the custom unmarshaler for AzureBlobDatasetTypeProperties struct.
5424func (abdtp *AzureBlobDatasetTypeProperties) UnmarshalJSON(body []byte) error {
5425	var m map[string]*json.RawMessage
5426	err := json.Unmarshal(body, &m)
5427	if err != nil {
5428		return err
5429	}
5430	for k, v := range m {
5431		switch k {
5432		case "folderPath":
5433			if v != nil {
5434				var folderPath interface{}
5435				err = json.Unmarshal(*v, &folderPath)
5436				if err != nil {
5437					return err
5438				}
5439				abdtp.FolderPath = folderPath
5440			}
5441		case "tableRootLocation":
5442			if v != nil {
5443				var tableRootLocation interface{}
5444				err = json.Unmarshal(*v, &tableRootLocation)
5445				if err != nil {
5446					return err
5447				}
5448				abdtp.TableRootLocation = tableRootLocation
5449			}
5450		case "fileName":
5451			if v != nil {
5452				var fileName interface{}
5453				err = json.Unmarshal(*v, &fileName)
5454				if err != nil {
5455					return err
5456				}
5457				abdtp.FileName = fileName
5458			}
5459		case "format":
5460			if v != nil {
5461				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
5462				if err != nil {
5463					return err
5464				}
5465				abdtp.Format = formatVar
5466			}
5467		case "compression":
5468			if v != nil {
5469				compression, err := unmarshalBasicDatasetCompression(*v)
5470				if err != nil {
5471					return err
5472				}
5473				abdtp.Compression = compression
5474			}
5475		}
5476	}
5477
5478	return nil
5479}
5480
5481// AzureDatabricksLinkedService azure Databricks linked service.
5482type AzureDatabricksLinkedService struct {
5483	// AzureDatabricksLinkedServiceTypeProperties - Azure Databricks linked service properties.
5484	*AzureDatabricksLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
5485	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
5486	AdditionalProperties map[string]interface{} `json:""`
5487	// ConnectVia - The integration runtime reference.
5488	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
5489	// Description - Linked service description.
5490	Description *string `json:"description,omitempty"`
5491	// Parameters - Parameters for linked service.
5492	Parameters map[string]*ParameterSpecification `json:"parameters"`
5493	// Annotations - List of tags that can be used for describing the Dataset.
5494	Annotations *[]interface{} `json:"annotations,omitempty"`
5495	// 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'
5496	Type TypeBasicLinkedService `json:"type,omitempty"`
5497}
5498
5499// MarshalJSON is the custom marshaler for AzureDatabricksLinkedService.
5500func (adls AzureDatabricksLinkedService) MarshalJSON() ([]byte, error) {
5501	adls.Type = TypeAzureDatabricks
5502	objectMap := make(map[string]interface{})
5503	if adls.AzureDatabricksLinkedServiceTypeProperties != nil {
5504		objectMap["typeProperties"] = adls.AzureDatabricksLinkedServiceTypeProperties
5505	}
5506	if adls.ConnectVia != nil {
5507		objectMap["connectVia"] = adls.ConnectVia
5508	}
5509	if adls.Description != nil {
5510		objectMap["description"] = adls.Description
5511	}
5512	if adls.Parameters != nil {
5513		objectMap["parameters"] = adls.Parameters
5514	}
5515	if adls.Annotations != nil {
5516		objectMap["annotations"] = adls.Annotations
5517	}
5518	if adls.Type != "" {
5519		objectMap["type"] = adls.Type
5520	}
5521	for k, v := range adls.AdditionalProperties {
5522		objectMap[k] = v
5523	}
5524	return json.Marshal(objectMap)
5525}
5526
5527// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5528func (adls AzureDatabricksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
5529	return nil, false
5530}
5531
5532// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5533func (adls AzureDatabricksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
5534	return &adls, true
5535}
5536
5537// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5538func (adls AzureDatabricksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
5539	return nil, false
5540}
5541
5542// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5543func (adls AzureDatabricksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
5544	return nil, false
5545}
5546
5547// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5548func (adls AzureDatabricksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
5549	return nil, false
5550}
5551
5552// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5553func (adls AzureDatabricksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
5554	return nil, false
5555}
5556
5557// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5558func (adls AzureDatabricksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
5559	return nil, false
5560}
5561
5562// AsZohoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5563func (adls AzureDatabricksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
5564	return nil, false
5565}
5566
5567// AsXeroLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5568func (adls AzureDatabricksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
5569	return nil, false
5570}
5571
5572// AsSquareLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5573func (adls AzureDatabricksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
5574	return nil, false
5575}
5576
5577// AsSparkLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5578func (adls AzureDatabricksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
5579	return nil, false
5580}
5581
5582// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5583func (adls AzureDatabricksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
5584	return nil, false
5585}
5586
5587// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5588func (adls AzureDatabricksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
5589	return nil, false
5590}
5591
5592// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5593func (adls AzureDatabricksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
5594	return nil, false
5595}
5596
5597// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5598func (adls AzureDatabricksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
5599	return nil, false
5600}
5601
5602// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5603func (adls AzureDatabricksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
5604	return nil, false
5605}
5606
5607// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5608func (adls AzureDatabricksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
5609	return nil, false
5610}
5611
5612// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5613func (adls AzureDatabricksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
5614	return nil, false
5615}
5616
5617// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5618func (adls AzureDatabricksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
5619	return nil, false
5620}
5621
5622// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5623func (adls AzureDatabricksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
5624	return nil, false
5625}
5626
5627// AsJiraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5628func (adls AzureDatabricksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
5629	return nil, false
5630}
5631
5632// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5633func (adls AzureDatabricksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
5634	return nil, false
5635}
5636
5637// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5638func (adls AzureDatabricksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
5639	return nil, false
5640}
5641
5642// AsHiveLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5643func (adls AzureDatabricksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
5644	return nil, false
5645}
5646
5647// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5648func (adls AzureDatabricksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
5649	return nil, false
5650}
5651
5652// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5653func (adls AzureDatabricksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
5654	return nil, false
5655}
5656
5657// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5658func (adls AzureDatabricksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
5659	return nil, false
5660}
5661
5662// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5663func (adls AzureDatabricksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
5664	return nil, false
5665}
5666
5667// AsDrillLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5668func (adls AzureDatabricksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
5669	return nil, false
5670}
5671
5672// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5673func (adls AzureDatabricksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
5674	return nil, false
5675}
5676
5677// AsConcurLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5678func (adls AzureDatabricksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
5679	return nil, false
5680}
5681
5682// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5683func (adls AzureDatabricksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
5684	return nil, false
5685}
5686
5687// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5688func (adls AzureDatabricksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
5689	return nil, false
5690}
5691
5692// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5693func (adls AzureDatabricksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
5694	return nil, false
5695}
5696
5697// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5698func (adls AzureDatabricksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
5699	return nil, false
5700}
5701
5702// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5703func (adls AzureDatabricksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
5704	return nil, false
5705}
5706
5707// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5708func (adls AzureDatabricksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
5709	return nil, false
5710}
5711
5712// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5713func (adls AzureDatabricksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
5714	return nil, false
5715}
5716
5717// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5718func (adls AzureDatabricksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
5719	return nil, false
5720}
5721
5722// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5723func (adls AzureDatabricksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
5724	return nil, false
5725}
5726
5727// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5728func (adls AzureDatabricksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
5729	return nil, false
5730}
5731
5732// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5733func (adls AzureDatabricksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
5734	return nil, false
5735}
5736
5737// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5738func (adls AzureDatabricksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
5739	return nil, false
5740}
5741
5742// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5743func (adls AzureDatabricksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
5744	return nil, false
5745}
5746
5747// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5748func (adls AzureDatabricksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
5749	return nil, false
5750}
5751
5752// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5753func (adls AzureDatabricksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
5754	return nil, false
5755}
5756
5757// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5758func (adls AzureDatabricksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
5759	return nil, false
5760}
5761
5762// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5763func (adls AzureDatabricksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
5764	return nil, false
5765}
5766
5767// AsWebLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5768func (adls AzureDatabricksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
5769	return nil, false
5770}
5771
5772// AsODataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5773func (adls AzureDatabricksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
5774	return nil, false
5775}
5776
5777// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5778func (adls AzureDatabricksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
5779	return nil, false
5780}
5781
5782// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5783func (adls AzureDatabricksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
5784	return nil, false
5785}
5786
5787// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5788func (adls AzureDatabricksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
5789	return nil, false
5790}
5791
5792// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5793func (adls AzureDatabricksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
5794	return nil, false
5795}
5796
5797// AsDb2LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5798func (adls AzureDatabricksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
5799	return nil, false
5800}
5801
5802// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5803func (adls AzureDatabricksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
5804	return nil, false
5805}
5806
5807// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5808func (adls AzureDatabricksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
5809	return nil, false
5810}
5811
5812// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5813func (adls AzureDatabricksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
5814	return nil, false
5815}
5816
5817// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5818func (adls AzureDatabricksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
5819	return nil, false
5820}
5821
5822// AsOracleLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5823func (adls AzureDatabricksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
5824	return nil, false
5825}
5826
5827// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5828func (adls AzureDatabricksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
5829	return nil, false
5830}
5831
5832// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5833func (adls AzureDatabricksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
5834	return nil, false
5835}
5836
5837// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5838func (adls AzureDatabricksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
5839	return nil, false
5840}
5841
5842// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5843func (adls AzureDatabricksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
5844	return nil, false
5845}
5846
5847// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5848func (adls AzureDatabricksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
5849	return nil, false
5850}
5851
5852// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5853func (adls AzureDatabricksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
5854	return nil, false
5855}
5856
5857// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5858func (adls AzureDatabricksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
5859	return nil, false
5860}
5861
5862// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5863func (adls AzureDatabricksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
5864	return nil, false
5865}
5866
5867// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5868func (adls AzureDatabricksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
5869	return nil, false
5870}
5871
5872// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5873func (adls AzureDatabricksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
5874	return nil, false
5875}
5876
5877// AsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5878func (adls AzureDatabricksLinkedService) AsLinkedService() (*LinkedService, bool) {
5879	return nil, false
5880}
5881
5882// AsBasicLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
5883func (adls AzureDatabricksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
5884	return &adls, true
5885}
5886
5887// UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedService struct.
5888func (adls *AzureDatabricksLinkedService) UnmarshalJSON(body []byte) error {
5889	var m map[string]*json.RawMessage
5890	err := json.Unmarshal(body, &m)
5891	if err != nil {
5892		return err
5893	}
5894	for k, v := range m {
5895		switch k {
5896		case "typeProperties":
5897			if v != nil {
5898				var azureDatabricksLinkedServiceTypeProperties AzureDatabricksLinkedServiceTypeProperties
5899				err = json.Unmarshal(*v, &azureDatabricksLinkedServiceTypeProperties)
5900				if err != nil {
5901					return err
5902				}
5903				adls.AzureDatabricksLinkedServiceTypeProperties = &azureDatabricksLinkedServiceTypeProperties
5904			}
5905		default:
5906			if v != nil {
5907				var additionalProperties interface{}
5908				err = json.Unmarshal(*v, &additionalProperties)
5909				if err != nil {
5910					return err
5911				}
5912				if adls.AdditionalProperties == nil {
5913					adls.AdditionalProperties = make(map[string]interface{})
5914				}
5915				adls.AdditionalProperties[k] = additionalProperties
5916			}
5917		case "connectVia":
5918			if v != nil {
5919				var connectVia IntegrationRuntimeReference
5920				err = json.Unmarshal(*v, &connectVia)
5921				if err != nil {
5922					return err
5923				}
5924				adls.ConnectVia = &connectVia
5925			}
5926		case "description":
5927			if v != nil {
5928				var description string
5929				err = json.Unmarshal(*v, &description)
5930				if err != nil {
5931					return err
5932				}
5933				adls.Description = &description
5934			}
5935		case "parameters":
5936			if v != nil {
5937				var parameters map[string]*ParameterSpecification
5938				err = json.Unmarshal(*v, &parameters)
5939				if err != nil {
5940					return err
5941				}
5942				adls.Parameters = parameters
5943			}
5944		case "annotations":
5945			if v != nil {
5946				var annotations []interface{}
5947				err = json.Unmarshal(*v, &annotations)
5948				if err != nil {
5949					return err
5950				}
5951				adls.Annotations = &annotations
5952			}
5953		case "type":
5954			if v != nil {
5955				var typeVar TypeBasicLinkedService
5956				err = json.Unmarshal(*v, &typeVar)
5957				if err != nil {
5958					return err
5959				}
5960				adls.Type = typeVar
5961			}
5962		}
5963	}
5964
5965	return nil
5966}
5967
5968// AzureDatabricksLinkedServiceTypeProperties azure Databricks linked service properties.
5969type AzureDatabricksLinkedServiceTypeProperties struct {
5970	// Domain - <REGION>.azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string).
5971	Domain interface{} `json:"domain,omitempty"`
5972	// AccessToken - Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string).
5973	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
5974	// ExistingClusterID - The id of an existing cluster that will be used for all runs of this job. Type: string (or Expression with resultType string).
5975	ExistingClusterID interface{} `json:"existingClusterId,omitempty"`
5976	// NewClusterVersion - The Spark version of new cluster. Type: string (or Expression with resultType string).
5977	NewClusterVersion interface{} `json:"newClusterVersion,omitempty"`
5978	// 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).
5979	NewClusterNumOfWorker interface{} `json:"newClusterNumOfWorker,omitempty"`
5980	// NewClusterNodeType - The node types of new cluster. Type: string (or Expression with resultType string).
5981	NewClusterNodeType interface{} `json:"newClusterNodeType,omitempty"`
5982	// NewClusterSparkConf - a set of optional, user-specified Spark configuration key-value pairs.
5983	NewClusterSparkConf map[string]interface{} `json:"newClusterSparkConf"`
5984	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
5985	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
5986}
5987
5988// MarshalJSON is the custom marshaler for AzureDatabricksLinkedServiceTypeProperties.
5989func (adlstp AzureDatabricksLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) {
5990	objectMap := make(map[string]interface{})
5991	if adlstp.Domain != nil {
5992		objectMap["domain"] = adlstp.Domain
5993	}
5994	objectMap["accessToken"] = adlstp.AccessToken
5995	if adlstp.ExistingClusterID != nil {
5996		objectMap["existingClusterId"] = adlstp.ExistingClusterID
5997	}
5998	if adlstp.NewClusterVersion != nil {
5999		objectMap["newClusterVersion"] = adlstp.NewClusterVersion
6000	}
6001	if adlstp.NewClusterNumOfWorker != nil {
6002		objectMap["newClusterNumOfWorker"] = adlstp.NewClusterNumOfWorker
6003	}
6004	if adlstp.NewClusterNodeType != nil {
6005		objectMap["newClusterNodeType"] = adlstp.NewClusterNodeType
6006	}
6007	if adlstp.NewClusterSparkConf != nil {
6008		objectMap["newClusterSparkConf"] = adlstp.NewClusterSparkConf
6009	}
6010	if adlstp.EncryptedCredential != nil {
6011		objectMap["encryptedCredential"] = adlstp.EncryptedCredential
6012	}
6013	return json.Marshal(objectMap)
6014}
6015
6016// UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedServiceTypeProperties struct.
6017func (adlstp *AzureDatabricksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
6018	var m map[string]*json.RawMessage
6019	err := json.Unmarshal(body, &m)
6020	if err != nil {
6021		return err
6022	}
6023	for k, v := range m {
6024		switch k {
6025		case "domain":
6026			if v != nil {
6027				var domain interface{}
6028				err = json.Unmarshal(*v, &domain)
6029				if err != nil {
6030					return err
6031				}
6032				adlstp.Domain = domain
6033			}
6034		case "accessToken":
6035			if v != nil {
6036				accessToken, err := unmarshalBasicSecretBase(*v)
6037				if err != nil {
6038					return err
6039				}
6040				adlstp.AccessToken = accessToken
6041			}
6042		case "existingClusterId":
6043			if v != nil {
6044				var existingClusterID interface{}
6045				err = json.Unmarshal(*v, &existingClusterID)
6046				if err != nil {
6047					return err
6048				}
6049				adlstp.ExistingClusterID = existingClusterID
6050			}
6051		case "newClusterVersion":
6052			if v != nil {
6053				var newClusterVersion interface{}
6054				err = json.Unmarshal(*v, &newClusterVersion)
6055				if err != nil {
6056					return err
6057				}
6058				adlstp.NewClusterVersion = newClusterVersion
6059			}
6060		case "newClusterNumOfWorker":
6061			if v != nil {
6062				var newClusterNumOfWorker interface{}
6063				err = json.Unmarshal(*v, &newClusterNumOfWorker)
6064				if err != nil {
6065					return err
6066				}
6067				adlstp.NewClusterNumOfWorker = newClusterNumOfWorker
6068			}
6069		case "newClusterNodeType":
6070			if v != nil {
6071				var newClusterNodeType interface{}
6072				err = json.Unmarshal(*v, &newClusterNodeType)
6073				if err != nil {
6074					return err
6075				}
6076				adlstp.NewClusterNodeType = newClusterNodeType
6077			}
6078		case "newClusterSparkConf":
6079			if v != nil {
6080				var newClusterSparkConf map[string]interface{}
6081				err = json.Unmarshal(*v, &newClusterSparkConf)
6082				if err != nil {
6083					return err
6084				}
6085				adlstp.NewClusterSparkConf = newClusterSparkConf
6086			}
6087		case "encryptedCredential":
6088			if v != nil {
6089				var encryptedCredential interface{}
6090				err = json.Unmarshal(*v, &encryptedCredential)
6091				if err != nil {
6092					return err
6093				}
6094				adlstp.EncryptedCredential = encryptedCredential
6095			}
6096		}
6097	}
6098
6099	return nil
6100}
6101
6102// AzureDataLakeAnalyticsLinkedService azure Data Lake Analytics linked service.
6103type AzureDataLakeAnalyticsLinkedService struct {
6104	// AzureDataLakeAnalyticsLinkedServiceTypeProperties - Azure Data Lake Analytics linked service properties.
6105	*AzureDataLakeAnalyticsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
6106	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
6107	AdditionalProperties map[string]interface{} `json:""`
6108	// ConnectVia - The integration runtime reference.
6109	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
6110	// Description - Linked service description.
6111	Description *string `json:"description,omitempty"`
6112	// Parameters - Parameters for linked service.
6113	Parameters map[string]*ParameterSpecification `json:"parameters"`
6114	// Annotations - List of tags that can be used for describing the Dataset.
6115	Annotations *[]interface{} `json:"annotations,omitempty"`
6116	// 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'
6117	Type TypeBasicLinkedService `json:"type,omitempty"`
6118}
6119
6120// MarshalJSON is the custom marshaler for AzureDataLakeAnalyticsLinkedService.
6121func (adlals AzureDataLakeAnalyticsLinkedService) MarshalJSON() ([]byte, error) {
6122	adlals.Type = TypeAzureDataLakeAnalytics
6123	objectMap := make(map[string]interface{})
6124	if adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties != nil {
6125		objectMap["typeProperties"] = adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties
6126	}
6127	if adlals.ConnectVia != nil {
6128		objectMap["connectVia"] = adlals.ConnectVia
6129	}
6130	if adlals.Description != nil {
6131		objectMap["description"] = adlals.Description
6132	}
6133	if adlals.Parameters != nil {
6134		objectMap["parameters"] = adlals.Parameters
6135	}
6136	if adlals.Annotations != nil {
6137		objectMap["annotations"] = adlals.Annotations
6138	}
6139	if adlals.Type != "" {
6140		objectMap["type"] = adlals.Type
6141	}
6142	for k, v := range adlals.AdditionalProperties {
6143		objectMap[k] = v
6144	}
6145	return json.Marshal(objectMap)
6146}
6147
6148// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6149func (adlals AzureDataLakeAnalyticsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
6150	return nil, false
6151}
6152
6153// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6154func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
6155	return nil, false
6156}
6157
6158// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6159func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
6160	return &adlals, true
6161}
6162
6163// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6164func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
6165	return nil, false
6166}
6167
6168// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6169func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
6170	return nil, false
6171}
6172
6173// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6174func (adlals AzureDataLakeAnalyticsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
6175	return nil, false
6176}
6177
6178// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6179func (adlals AzureDataLakeAnalyticsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
6180	return nil, false
6181}
6182
6183// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6184func (adlals AzureDataLakeAnalyticsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
6185	return nil, false
6186}
6187
6188// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6189func (adlals AzureDataLakeAnalyticsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
6190	return nil, false
6191}
6192
6193// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6194func (adlals AzureDataLakeAnalyticsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
6195	return nil, false
6196}
6197
6198// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6199func (adlals AzureDataLakeAnalyticsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
6200	return nil, false
6201}
6202
6203// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6204func (adlals AzureDataLakeAnalyticsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
6205	return nil, false
6206}
6207
6208// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6209func (adlals AzureDataLakeAnalyticsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
6210	return nil, false
6211}
6212
6213// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6214func (adlals AzureDataLakeAnalyticsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
6215	return nil, false
6216}
6217
6218// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6219func (adlals AzureDataLakeAnalyticsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
6220	return nil, false
6221}
6222
6223// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6224func (adlals AzureDataLakeAnalyticsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
6225	return nil, false
6226}
6227
6228// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6229func (adlals AzureDataLakeAnalyticsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
6230	return nil, false
6231}
6232
6233// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6234func (adlals AzureDataLakeAnalyticsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
6235	return nil, false
6236}
6237
6238// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6239func (adlals AzureDataLakeAnalyticsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
6240	return nil, false
6241}
6242
6243// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6244func (adlals AzureDataLakeAnalyticsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
6245	return nil, false
6246}
6247
6248// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6249func (adlals AzureDataLakeAnalyticsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
6250	return nil, false
6251}
6252
6253// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6254func (adlals AzureDataLakeAnalyticsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
6255	return nil, false
6256}
6257
6258// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6259func (adlals AzureDataLakeAnalyticsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
6260	return nil, false
6261}
6262
6263// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6264func (adlals AzureDataLakeAnalyticsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
6265	return nil, false
6266}
6267
6268// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6269func (adlals AzureDataLakeAnalyticsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
6270	return nil, false
6271}
6272
6273// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6274func (adlals AzureDataLakeAnalyticsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
6275	return nil, false
6276}
6277
6278// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6279func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
6280	return nil, false
6281}
6282
6283// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6284func (adlals AzureDataLakeAnalyticsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
6285	return nil, false
6286}
6287
6288// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6289func (adlals AzureDataLakeAnalyticsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
6290	return nil, false
6291}
6292
6293// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6294func (adlals AzureDataLakeAnalyticsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
6295	return nil, false
6296}
6297
6298// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6299func (adlals AzureDataLakeAnalyticsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
6300	return nil, false
6301}
6302
6303// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6304func (adlals AzureDataLakeAnalyticsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
6305	return nil, false
6306}
6307
6308// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6309func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
6310	return nil, false
6311}
6312
6313// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6314func (adlals AzureDataLakeAnalyticsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
6315	return nil, false
6316}
6317
6318// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6319func (adlals AzureDataLakeAnalyticsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
6320	return nil, false
6321}
6322
6323// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6324func (adlals AzureDataLakeAnalyticsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
6325	return nil, false
6326}
6327
6328// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6329func (adlals AzureDataLakeAnalyticsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
6330	return nil, false
6331}
6332
6333// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6334func (adlals AzureDataLakeAnalyticsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
6335	return nil, false
6336}
6337
6338// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6339func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
6340	return nil, false
6341}
6342
6343// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6344func (adlals AzureDataLakeAnalyticsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
6345	return nil, false
6346}
6347
6348// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6349func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
6350	return nil, false
6351}
6352
6353// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6354func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
6355	return nil, false
6356}
6357
6358// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6359func (adlals AzureDataLakeAnalyticsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
6360	return nil, false
6361}
6362
6363// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6364func (adlals AzureDataLakeAnalyticsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
6365	return nil, false
6366}
6367
6368// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6369func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
6370	return nil, false
6371}
6372
6373// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6374func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
6375	return nil, false
6376}
6377
6378// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6379func (adlals AzureDataLakeAnalyticsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
6380	return nil, false
6381}
6382
6383// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6384func (adlals AzureDataLakeAnalyticsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
6385	return nil, false
6386}
6387
6388// AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6389func (adlals AzureDataLakeAnalyticsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
6390	return nil, false
6391}
6392
6393// AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6394func (adlals AzureDataLakeAnalyticsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
6395	return nil, false
6396}
6397
6398// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6399func (adlals AzureDataLakeAnalyticsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
6400	return nil, false
6401}
6402
6403// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6404func (adlals AzureDataLakeAnalyticsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
6405	return nil, false
6406}
6407
6408// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6409func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
6410	return nil, false
6411}
6412
6413// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6414func (adlals AzureDataLakeAnalyticsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
6415	return nil, false
6416}
6417
6418// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6419func (adlals AzureDataLakeAnalyticsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
6420	return nil, false
6421}
6422
6423// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6424func (adlals AzureDataLakeAnalyticsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
6425	return nil, false
6426}
6427
6428// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6429func (adlals AzureDataLakeAnalyticsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
6430	return nil, false
6431}
6432
6433// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6434func (adlals AzureDataLakeAnalyticsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
6435	return nil, false
6436}
6437
6438// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6439func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
6440	return nil, false
6441}
6442
6443// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6444func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
6445	return nil, false
6446}
6447
6448// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6449func (adlals AzureDataLakeAnalyticsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
6450	return nil, false
6451}
6452
6453// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6454func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
6455	return nil, false
6456}
6457
6458// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6459func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
6460	return nil, false
6461}
6462
6463// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6464func (adlals AzureDataLakeAnalyticsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
6465	return nil, false
6466}
6467
6468// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6469func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
6470	return nil, false
6471}
6472
6473// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6474func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
6475	return nil, false
6476}
6477
6478// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6479func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
6480	return nil, false
6481}
6482
6483// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6484func (adlals AzureDataLakeAnalyticsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
6485	return nil, false
6486}
6487
6488// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6489func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
6490	return nil, false
6491}
6492
6493// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6494func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
6495	return nil, false
6496}
6497
6498// AsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6499func (adlals AzureDataLakeAnalyticsLinkedService) AsLinkedService() (*LinkedService, bool) {
6500	return nil, false
6501}
6502
6503// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
6504func (adlals AzureDataLakeAnalyticsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
6505	return &adlals, true
6506}
6507
6508// UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedService struct.
6509func (adlals *AzureDataLakeAnalyticsLinkedService) UnmarshalJSON(body []byte) error {
6510	var m map[string]*json.RawMessage
6511	err := json.Unmarshal(body, &m)
6512	if err != nil {
6513		return err
6514	}
6515	for k, v := range m {
6516		switch k {
6517		case "typeProperties":
6518			if v != nil {
6519				var azureDataLakeAnalyticsLinkedServiceTypeProperties AzureDataLakeAnalyticsLinkedServiceTypeProperties
6520				err = json.Unmarshal(*v, &azureDataLakeAnalyticsLinkedServiceTypeProperties)
6521				if err != nil {
6522					return err
6523				}
6524				adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties = &azureDataLakeAnalyticsLinkedServiceTypeProperties
6525			}
6526		default:
6527			if v != nil {
6528				var additionalProperties interface{}
6529				err = json.Unmarshal(*v, &additionalProperties)
6530				if err != nil {
6531					return err
6532				}
6533				if adlals.AdditionalProperties == nil {
6534					adlals.AdditionalProperties = make(map[string]interface{})
6535				}
6536				adlals.AdditionalProperties[k] = additionalProperties
6537			}
6538		case "connectVia":
6539			if v != nil {
6540				var connectVia IntegrationRuntimeReference
6541				err = json.Unmarshal(*v, &connectVia)
6542				if err != nil {
6543					return err
6544				}
6545				adlals.ConnectVia = &connectVia
6546			}
6547		case "description":
6548			if v != nil {
6549				var description string
6550				err = json.Unmarshal(*v, &description)
6551				if err != nil {
6552					return err
6553				}
6554				adlals.Description = &description
6555			}
6556		case "parameters":
6557			if v != nil {
6558				var parameters map[string]*ParameterSpecification
6559				err = json.Unmarshal(*v, &parameters)
6560				if err != nil {
6561					return err
6562				}
6563				adlals.Parameters = parameters
6564			}
6565		case "annotations":
6566			if v != nil {
6567				var annotations []interface{}
6568				err = json.Unmarshal(*v, &annotations)
6569				if err != nil {
6570					return err
6571				}
6572				adlals.Annotations = &annotations
6573			}
6574		case "type":
6575			if v != nil {
6576				var typeVar TypeBasicLinkedService
6577				err = json.Unmarshal(*v, &typeVar)
6578				if err != nil {
6579					return err
6580				}
6581				adlals.Type = typeVar
6582			}
6583		}
6584	}
6585
6586	return nil
6587}
6588
6589// AzureDataLakeAnalyticsLinkedServiceTypeProperties azure Data Lake Analytics linked service properties.
6590type AzureDataLakeAnalyticsLinkedServiceTypeProperties struct {
6591	// AccountName - The Azure Data Lake Analytics account name. Type: string (or Expression with resultType string).
6592	AccountName interface{} `json:"accountName,omitempty"`
6593	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Analytics account. Type: string (or Expression with resultType string).
6594	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
6595	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Analytics account.
6596	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
6597	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
6598	Tenant interface{} `json:"tenant,omitempty"`
6599	// SubscriptionID - Data Lake Analytics account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
6600	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
6601	// ResourceGroupName - Data Lake Analytics account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
6602	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
6603	// DataLakeAnalyticsURI - Azure Data Lake Analytics URI Type: string (or Expression with resultType string).
6604	DataLakeAnalyticsURI interface{} `json:"dataLakeAnalyticsUri,omitempty"`
6605	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
6606	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
6607}
6608
6609// UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedServiceTypeProperties struct.
6610func (adlalstp *AzureDataLakeAnalyticsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
6611	var m map[string]*json.RawMessage
6612	err := json.Unmarshal(body, &m)
6613	if err != nil {
6614		return err
6615	}
6616	for k, v := range m {
6617		switch k {
6618		case "accountName":
6619			if v != nil {
6620				var accountName interface{}
6621				err = json.Unmarshal(*v, &accountName)
6622				if err != nil {
6623					return err
6624				}
6625				adlalstp.AccountName = accountName
6626			}
6627		case "servicePrincipalId":
6628			if v != nil {
6629				var servicePrincipalID interface{}
6630				err = json.Unmarshal(*v, &servicePrincipalID)
6631				if err != nil {
6632					return err
6633				}
6634				adlalstp.ServicePrincipalID = servicePrincipalID
6635			}
6636		case "servicePrincipalKey":
6637			if v != nil {
6638				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
6639				if err != nil {
6640					return err
6641				}
6642				adlalstp.ServicePrincipalKey = servicePrincipalKey
6643			}
6644		case "tenant":
6645			if v != nil {
6646				var tenant interface{}
6647				err = json.Unmarshal(*v, &tenant)
6648				if err != nil {
6649					return err
6650				}
6651				adlalstp.Tenant = tenant
6652			}
6653		case "subscriptionId":
6654			if v != nil {
6655				var subscriptionID interface{}
6656				err = json.Unmarshal(*v, &subscriptionID)
6657				if err != nil {
6658					return err
6659				}
6660				adlalstp.SubscriptionID = subscriptionID
6661			}
6662		case "resourceGroupName":
6663			if v != nil {
6664				var resourceGroupName interface{}
6665				err = json.Unmarshal(*v, &resourceGroupName)
6666				if err != nil {
6667					return err
6668				}
6669				adlalstp.ResourceGroupName = resourceGroupName
6670			}
6671		case "dataLakeAnalyticsUri":
6672			if v != nil {
6673				var dataLakeAnalyticsURI interface{}
6674				err = json.Unmarshal(*v, &dataLakeAnalyticsURI)
6675				if err != nil {
6676					return err
6677				}
6678				adlalstp.DataLakeAnalyticsURI = dataLakeAnalyticsURI
6679			}
6680		case "encryptedCredential":
6681			if v != nil {
6682				var encryptedCredential interface{}
6683				err = json.Unmarshal(*v, &encryptedCredential)
6684				if err != nil {
6685					return err
6686				}
6687				adlalstp.EncryptedCredential = encryptedCredential
6688			}
6689		}
6690	}
6691
6692	return nil
6693}
6694
6695// AzureDataLakeStoreDataset azure Data Lake Store dataset.
6696type AzureDataLakeStoreDataset struct {
6697	// AzureDataLakeStoreDatasetTypeProperties - Azure Data Lake Store dataset properties.
6698	*AzureDataLakeStoreDatasetTypeProperties `json:"typeProperties,omitempty"`
6699	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
6700	AdditionalProperties map[string]interface{} `json:""`
6701	// Description - Dataset description.
6702	Description *string `json:"description,omitempty"`
6703	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
6704	Structure interface{} `json:"structure,omitempty"`
6705	// LinkedServiceName - Linked service reference.
6706	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
6707	// Parameters - Parameters for dataset.
6708	Parameters map[string]*ParameterSpecification `json:"parameters"`
6709	// Annotations - List of tags that can be used for describing the Dataset.
6710	Annotations *[]interface{} `json:"annotations,omitempty"`
6711	// 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'
6712	Type TypeBasicDataset `json:"type,omitempty"`
6713}
6714
6715// MarshalJSON is the custom marshaler for AzureDataLakeStoreDataset.
6716func (adlsd AzureDataLakeStoreDataset) MarshalJSON() ([]byte, error) {
6717	adlsd.Type = TypeAzureDataLakeStoreFile
6718	objectMap := make(map[string]interface{})
6719	if adlsd.AzureDataLakeStoreDatasetTypeProperties != nil {
6720		objectMap["typeProperties"] = adlsd.AzureDataLakeStoreDatasetTypeProperties
6721	}
6722	if adlsd.Description != nil {
6723		objectMap["description"] = adlsd.Description
6724	}
6725	if adlsd.Structure != nil {
6726		objectMap["structure"] = adlsd.Structure
6727	}
6728	if adlsd.LinkedServiceName != nil {
6729		objectMap["linkedServiceName"] = adlsd.LinkedServiceName
6730	}
6731	if adlsd.Parameters != nil {
6732		objectMap["parameters"] = adlsd.Parameters
6733	}
6734	if adlsd.Annotations != nil {
6735		objectMap["annotations"] = adlsd.Annotations
6736	}
6737	if adlsd.Type != "" {
6738		objectMap["type"] = adlsd.Type
6739	}
6740	for k, v := range adlsd.AdditionalProperties {
6741		objectMap[k] = v
6742	}
6743	return json.Marshal(objectMap)
6744}
6745
6746// AsResponsysObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6747func (adlsd AzureDataLakeStoreDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
6748	return nil, false
6749}
6750
6751// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6752func (adlsd AzureDataLakeStoreDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
6753	return nil, false
6754}
6755
6756// AsVerticaTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6757func (adlsd AzureDataLakeStoreDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
6758	return nil, false
6759}
6760
6761// AsNetezzaTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6762func (adlsd AzureDataLakeStoreDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
6763	return nil, false
6764}
6765
6766// AsZohoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6767func (adlsd AzureDataLakeStoreDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
6768	return nil, false
6769}
6770
6771// AsXeroObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6772func (adlsd AzureDataLakeStoreDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
6773	return nil, false
6774}
6775
6776// AsSquareObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6777func (adlsd AzureDataLakeStoreDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
6778	return nil, false
6779}
6780
6781// AsSparkObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6782func (adlsd AzureDataLakeStoreDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
6783	return nil, false
6784}
6785
6786// AsShopifyObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6787func (adlsd AzureDataLakeStoreDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
6788	return nil, false
6789}
6790
6791// AsServiceNowObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6792func (adlsd AzureDataLakeStoreDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
6793	return nil, false
6794}
6795
6796// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6797func (adlsd AzureDataLakeStoreDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
6798	return nil, false
6799}
6800
6801// AsPrestoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6802func (adlsd AzureDataLakeStoreDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
6803	return nil, false
6804}
6805
6806// AsPhoenixObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6807func (adlsd AzureDataLakeStoreDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
6808	return nil, false
6809}
6810
6811// AsPaypalObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6812func (adlsd AzureDataLakeStoreDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
6813	return nil, false
6814}
6815
6816// AsMarketoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6817func (adlsd AzureDataLakeStoreDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
6818	return nil, false
6819}
6820
6821// AsMariaDBTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6822func (adlsd AzureDataLakeStoreDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
6823	return nil, false
6824}
6825
6826// AsMagentoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6827func (adlsd AzureDataLakeStoreDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
6828	return nil, false
6829}
6830
6831// AsJiraObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6832func (adlsd AzureDataLakeStoreDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
6833	return nil, false
6834}
6835
6836// AsImpalaObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6837func (adlsd AzureDataLakeStoreDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
6838	return nil, false
6839}
6840
6841// AsHubspotObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6842func (adlsd AzureDataLakeStoreDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
6843	return nil, false
6844}
6845
6846// AsHiveObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6847func (adlsd AzureDataLakeStoreDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
6848	return nil, false
6849}
6850
6851// AsHBaseObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6852func (adlsd AzureDataLakeStoreDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
6853	return nil, false
6854}
6855
6856// AsGreenplumTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6857func (adlsd AzureDataLakeStoreDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
6858	return nil, false
6859}
6860
6861// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6862func (adlsd AzureDataLakeStoreDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
6863	return nil, false
6864}
6865
6866// AsEloquaObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6867func (adlsd AzureDataLakeStoreDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
6868	return nil, false
6869}
6870
6871// AsDrillTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6872func (adlsd AzureDataLakeStoreDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
6873	return nil, false
6874}
6875
6876// AsCouchbaseTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6877func (adlsd AzureDataLakeStoreDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
6878	return nil, false
6879}
6880
6881// AsConcurObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6882func (adlsd AzureDataLakeStoreDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
6883	return nil, false
6884}
6885
6886// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6887func (adlsd AzureDataLakeStoreDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
6888	return nil, false
6889}
6890
6891// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6892func (adlsd AzureDataLakeStoreDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
6893	return nil, false
6894}
6895
6896// AsHTTPDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6897func (adlsd AzureDataLakeStoreDataset) AsHTTPDataset() (*HTTPDataset, bool) {
6898	return nil, false
6899}
6900
6901// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6902func (adlsd AzureDataLakeStoreDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
6903	return nil, false
6904}
6905
6906// AsWebTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6907func (adlsd AzureDataLakeStoreDataset) AsWebTableDataset() (*WebTableDataset, bool) {
6908	return nil, false
6909}
6910
6911// AsSQLServerTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6912func (adlsd AzureDataLakeStoreDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
6913	return nil, false
6914}
6915
6916// AsSapEccResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6917func (adlsd AzureDataLakeStoreDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
6918	return nil, false
6919}
6920
6921// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6922func (adlsd AzureDataLakeStoreDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
6923	return nil, false
6924}
6925
6926// AsSalesforceObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6927func (adlsd AzureDataLakeStoreDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
6928	return nil, false
6929}
6930
6931// AsRelationalTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6932func (adlsd AzureDataLakeStoreDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
6933	return nil, false
6934}
6935
6936// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6937func (adlsd AzureDataLakeStoreDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
6938	return nil, false
6939}
6940
6941// AsOracleTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6942func (adlsd AzureDataLakeStoreDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
6943	return nil, false
6944}
6945
6946// AsODataResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6947func (adlsd AzureDataLakeStoreDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
6948	return nil, false
6949}
6950
6951// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6952func (adlsd AzureDataLakeStoreDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
6953	return nil, false
6954}
6955
6956// AsFileShareDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6957func (adlsd AzureDataLakeStoreDataset) AsFileShareDataset() (*FileShareDataset, bool) {
6958	return nil, false
6959}
6960
6961// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6962func (adlsd AzureDataLakeStoreDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
6963	return &adlsd, true
6964}
6965
6966// AsDynamicsEntityDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6967func (adlsd AzureDataLakeStoreDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
6968	return nil, false
6969}
6970
6971// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6972func (adlsd AzureDataLakeStoreDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
6973	return nil, false
6974}
6975
6976// AsCustomDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6977func (adlsd AzureDataLakeStoreDataset) AsCustomDataset() (*CustomDataset, bool) {
6978	return nil, false
6979}
6980
6981// AsCassandraTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6982func (adlsd AzureDataLakeStoreDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
6983	return nil, false
6984}
6985
6986// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6987func (adlsd AzureDataLakeStoreDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
6988	return nil, false
6989}
6990
6991// AsAzureSQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6992func (adlsd AzureDataLakeStoreDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
6993	return nil, false
6994}
6995
6996// AsAzureTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
6997func (adlsd AzureDataLakeStoreDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
6998	return nil, false
6999}
7000
7001// AsAzureBlobDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
7002func (adlsd AzureDataLakeStoreDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
7003	return nil, false
7004}
7005
7006// AsAmazonS3Dataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
7007func (adlsd AzureDataLakeStoreDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
7008	return nil, false
7009}
7010
7011// AsDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
7012func (adlsd AzureDataLakeStoreDataset) AsDataset() (*Dataset, bool) {
7013	return nil, false
7014}
7015
7016// AsBasicDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
7017func (adlsd AzureDataLakeStoreDataset) AsBasicDataset() (BasicDataset, bool) {
7018	return &adlsd, true
7019}
7020
7021// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreDataset struct.
7022func (adlsd *AzureDataLakeStoreDataset) UnmarshalJSON(body []byte) error {
7023	var m map[string]*json.RawMessage
7024	err := json.Unmarshal(body, &m)
7025	if err != nil {
7026		return err
7027	}
7028	for k, v := range m {
7029		switch k {
7030		case "typeProperties":
7031			if v != nil {
7032				var azureDataLakeStoreDatasetTypeProperties AzureDataLakeStoreDatasetTypeProperties
7033				err = json.Unmarshal(*v, &azureDataLakeStoreDatasetTypeProperties)
7034				if err != nil {
7035					return err
7036				}
7037				adlsd.AzureDataLakeStoreDatasetTypeProperties = &azureDataLakeStoreDatasetTypeProperties
7038			}
7039		default:
7040			if v != nil {
7041				var additionalProperties interface{}
7042				err = json.Unmarshal(*v, &additionalProperties)
7043				if err != nil {
7044					return err
7045				}
7046				if adlsd.AdditionalProperties == nil {
7047					adlsd.AdditionalProperties = make(map[string]interface{})
7048				}
7049				adlsd.AdditionalProperties[k] = additionalProperties
7050			}
7051		case "description":
7052			if v != nil {
7053				var description string
7054				err = json.Unmarshal(*v, &description)
7055				if err != nil {
7056					return err
7057				}
7058				adlsd.Description = &description
7059			}
7060		case "structure":
7061			if v != nil {
7062				var structure interface{}
7063				err = json.Unmarshal(*v, &structure)
7064				if err != nil {
7065					return err
7066				}
7067				adlsd.Structure = structure
7068			}
7069		case "linkedServiceName":
7070			if v != nil {
7071				var linkedServiceName LinkedServiceReference
7072				err = json.Unmarshal(*v, &linkedServiceName)
7073				if err != nil {
7074					return err
7075				}
7076				adlsd.LinkedServiceName = &linkedServiceName
7077			}
7078		case "parameters":
7079			if v != nil {
7080				var parameters map[string]*ParameterSpecification
7081				err = json.Unmarshal(*v, &parameters)
7082				if err != nil {
7083					return err
7084				}
7085				adlsd.Parameters = parameters
7086			}
7087		case "annotations":
7088			if v != nil {
7089				var annotations []interface{}
7090				err = json.Unmarshal(*v, &annotations)
7091				if err != nil {
7092					return err
7093				}
7094				adlsd.Annotations = &annotations
7095			}
7096		case "type":
7097			if v != nil {
7098				var typeVar TypeBasicDataset
7099				err = json.Unmarshal(*v, &typeVar)
7100				if err != nil {
7101					return err
7102				}
7103				adlsd.Type = typeVar
7104			}
7105		}
7106	}
7107
7108	return nil
7109}
7110
7111// AzureDataLakeStoreDatasetTypeProperties azure Data Lake Store dataset properties.
7112type AzureDataLakeStoreDatasetTypeProperties struct {
7113	// FolderPath - Path to the folder in the Azure Data Lake Store. Type: string (or Expression with resultType string).
7114	FolderPath interface{} `json:"folderPath,omitempty"`
7115	// FileName - The name of the file in the Azure Data Lake Store. Type: string (or Expression with resultType string).
7116	FileName interface{} `json:"fileName,omitempty"`
7117	// Format - The format of the Data Lake Store.
7118	Format BasicDatasetStorageFormat `json:"format,omitempty"`
7119	// Compression - The data compression method used for the item(s) in the Azure Data Lake Store.
7120	Compression BasicDatasetCompression `json:"compression,omitempty"`
7121}
7122
7123// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreDatasetTypeProperties struct.
7124func (adlsdtp *AzureDataLakeStoreDatasetTypeProperties) UnmarshalJSON(body []byte) error {
7125	var m map[string]*json.RawMessage
7126	err := json.Unmarshal(body, &m)
7127	if err != nil {
7128		return err
7129	}
7130	for k, v := range m {
7131		switch k {
7132		case "folderPath":
7133			if v != nil {
7134				var folderPath interface{}
7135				err = json.Unmarshal(*v, &folderPath)
7136				if err != nil {
7137					return err
7138				}
7139				adlsdtp.FolderPath = folderPath
7140			}
7141		case "fileName":
7142			if v != nil {
7143				var fileName interface{}
7144				err = json.Unmarshal(*v, &fileName)
7145				if err != nil {
7146					return err
7147				}
7148				adlsdtp.FileName = fileName
7149			}
7150		case "format":
7151			if v != nil {
7152				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
7153				if err != nil {
7154					return err
7155				}
7156				adlsdtp.Format = formatVar
7157			}
7158		case "compression":
7159			if v != nil {
7160				compression, err := unmarshalBasicDatasetCompression(*v)
7161				if err != nil {
7162					return err
7163				}
7164				adlsdtp.Compression = compression
7165			}
7166		}
7167	}
7168
7169	return nil
7170}
7171
7172// AzureDataLakeStoreLinkedService azure Data Lake Store linked service.
7173type AzureDataLakeStoreLinkedService struct {
7174	// AzureDataLakeStoreLinkedServiceTypeProperties - Azure Data Lake Store linked service properties.
7175	*AzureDataLakeStoreLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
7176	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7177	AdditionalProperties map[string]interface{} `json:""`
7178	// ConnectVia - The integration runtime reference.
7179	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
7180	// Description - Linked service description.
7181	Description *string `json:"description,omitempty"`
7182	// Parameters - Parameters for linked service.
7183	Parameters map[string]*ParameterSpecification `json:"parameters"`
7184	// Annotations - List of tags that can be used for describing the Dataset.
7185	Annotations *[]interface{} `json:"annotations,omitempty"`
7186	// 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'
7187	Type TypeBasicLinkedService `json:"type,omitempty"`
7188}
7189
7190// MarshalJSON is the custom marshaler for AzureDataLakeStoreLinkedService.
7191func (adlsls AzureDataLakeStoreLinkedService) MarshalJSON() ([]byte, error) {
7192	adlsls.Type = TypeAzureDataLakeStore
7193	objectMap := make(map[string]interface{})
7194	if adlsls.AzureDataLakeStoreLinkedServiceTypeProperties != nil {
7195		objectMap["typeProperties"] = adlsls.AzureDataLakeStoreLinkedServiceTypeProperties
7196	}
7197	if adlsls.ConnectVia != nil {
7198		objectMap["connectVia"] = adlsls.ConnectVia
7199	}
7200	if adlsls.Description != nil {
7201		objectMap["description"] = adlsls.Description
7202	}
7203	if adlsls.Parameters != nil {
7204		objectMap["parameters"] = adlsls.Parameters
7205	}
7206	if adlsls.Annotations != nil {
7207		objectMap["annotations"] = adlsls.Annotations
7208	}
7209	if adlsls.Type != "" {
7210		objectMap["type"] = adlsls.Type
7211	}
7212	for k, v := range adlsls.AdditionalProperties {
7213		objectMap[k] = v
7214	}
7215	return json.Marshal(objectMap)
7216}
7217
7218// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7219func (adlsls AzureDataLakeStoreLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
7220	return nil, false
7221}
7222
7223// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7224func (adlsls AzureDataLakeStoreLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
7225	return nil, false
7226}
7227
7228// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7229func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
7230	return nil, false
7231}
7232
7233// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7234func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
7235	return nil, false
7236}
7237
7238// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7239func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
7240	return nil, false
7241}
7242
7243// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7244func (adlsls AzureDataLakeStoreLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
7245	return nil, false
7246}
7247
7248// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7249func (adlsls AzureDataLakeStoreLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
7250	return nil, false
7251}
7252
7253// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7254func (adlsls AzureDataLakeStoreLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
7255	return nil, false
7256}
7257
7258// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7259func (adlsls AzureDataLakeStoreLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
7260	return nil, false
7261}
7262
7263// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7264func (adlsls AzureDataLakeStoreLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
7265	return nil, false
7266}
7267
7268// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7269func (adlsls AzureDataLakeStoreLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
7270	return nil, false
7271}
7272
7273// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7274func (adlsls AzureDataLakeStoreLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
7275	return nil, false
7276}
7277
7278// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7279func (adlsls AzureDataLakeStoreLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
7280	return nil, false
7281}
7282
7283// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7284func (adlsls AzureDataLakeStoreLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
7285	return nil, false
7286}
7287
7288// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7289func (adlsls AzureDataLakeStoreLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
7290	return nil, false
7291}
7292
7293// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7294func (adlsls AzureDataLakeStoreLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
7295	return nil, false
7296}
7297
7298// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7299func (adlsls AzureDataLakeStoreLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
7300	return nil, false
7301}
7302
7303// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7304func (adlsls AzureDataLakeStoreLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
7305	return nil, false
7306}
7307
7308// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7309func (adlsls AzureDataLakeStoreLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
7310	return nil, false
7311}
7312
7313// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7314func (adlsls AzureDataLakeStoreLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
7315	return nil, false
7316}
7317
7318// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7319func (adlsls AzureDataLakeStoreLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
7320	return nil, false
7321}
7322
7323// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7324func (adlsls AzureDataLakeStoreLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
7325	return nil, false
7326}
7327
7328// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7329func (adlsls AzureDataLakeStoreLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
7330	return nil, false
7331}
7332
7333// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7334func (adlsls AzureDataLakeStoreLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
7335	return nil, false
7336}
7337
7338// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7339func (adlsls AzureDataLakeStoreLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
7340	return nil, false
7341}
7342
7343// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7344func (adlsls AzureDataLakeStoreLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
7345	return nil, false
7346}
7347
7348// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7349func (adlsls AzureDataLakeStoreLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
7350	return nil, false
7351}
7352
7353// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7354func (adlsls AzureDataLakeStoreLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
7355	return nil, false
7356}
7357
7358// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7359func (adlsls AzureDataLakeStoreLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
7360	return nil, false
7361}
7362
7363// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7364func (adlsls AzureDataLakeStoreLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
7365	return nil, false
7366}
7367
7368// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7369func (adlsls AzureDataLakeStoreLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
7370	return nil, false
7371}
7372
7373// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7374func (adlsls AzureDataLakeStoreLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
7375	return nil, false
7376}
7377
7378// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7379func (adlsls AzureDataLakeStoreLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
7380	return nil, false
7381}
7382
7383// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7384func (adlsls AzureDataLakeStoreLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
7385	return nil, false
7386}
7387
7388// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7389func (adlsls AzureDataLakeStoreLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
7390	return nil, false
7391}
7392
7393// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7394func (adlsls AzureDataLakeStoreLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
7395	return nil, false
7396}
7397
7398// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7399func (adlsls AzureDataLakeStoreLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
7400	return nil, false
7401}
7402
7403// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7404func (adlsls AzureDataLakeStoreLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
7405	return nil, false
7406}
7407
7408// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7409func (adlsls AzureDataLakeStoreLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
7410	return nil, false
7411}
7412
7413// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7414func (adlsls AzureDataLakeStoreLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
7415	return nil, false
7416}
7417
7418// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7419func (adlsls AzureDataLakeStoreLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
7420	return nil, false
7421}
7422
7423// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7424func (adlsls AzureDataLakeStoreLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
7425	return nil, false
7426}
7427
7428// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7429func (adlsls AzureDataLakeStoreLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
7430	return nil, false
7431}
7432
7433// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7434func (adlsls AzureDataLakeStoreLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
7435	return nil, false
7436}
7437
7438// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7439func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
7440	return nil, false
7441}
7442
7443// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7444func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
7445	return &adlsls, true
7446}
7447
7448// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7449func (adlsls AzureDataLakeStoreLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
7450	return nil, false
7451}
7452
7453// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7454func (adlsls AzureDataLakeStoreLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
7455	return nil, false
7456}
7457
7458// AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7459func (adlsls AzureDataLakeStoreLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
7460	return nil, false
7461}
7462
7463// AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7464func (adlsls AzureDataLakeStoreLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
7465	return nil, false
7466}
7467
7468// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7469func (adlsls AzureDataLakeStoreLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
7470	return nil, false
7471}
7472
7473// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7474func (adlsls AzureDataLakeStoreLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
7475	return nil, false
7476}
7477
7478// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7479func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
7480	return nil, false
7481}
7482
7483// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7484func (adlsls AzureDataLakeStoreLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
7485	return nil, false
7486}
7487
7488// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7489func (adlsls AzureDataLakeStoreLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
7490	return nil, false
7491}
7492
7493// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7494func (adlsls AzureDataLakeStoreLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
7495	return nil, false
7496}
7497
7498// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7499func (adlsls AzureDataLakeStoreLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
7500	return nil, false
7501}
7502
7503// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7504func (adlsls AzureDataLakeStoreLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
7505	return nil, false
7506}
7507
7508// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7509func (adlsls AzureDataLakeStoreLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
7510	return nil, false
7511}
7512
7513// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7514func (adlsls AzureDataLakeStoreLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
7515	return nil, false
7516}
7517
7518// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7519func (adlsls AzureDataLakeStoreLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
7520	return nil, false
7521}
7522
7523// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7524func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
7525	return nil, false
7526}
7527
7528// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7529func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
7530	return nil, false
7531}
7532
7533// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7534func (adlsls AzureDataLakeStoreLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
7535	return nil, false
7536}
7537
7538// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7539func (adlsls AzureDataLakeStoreLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
7540	return nil, false
7541}
7542
7543// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7544func (adlsls AzureDataLakeStoreLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
7545	return nil, false
7546}
7547
7548// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7549func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
7550	return nil, false
7551}
7552
7553// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7554func (adlsls AzureDataLakeStoreLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
7555	return nil, false
7556}
7557
7558// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7559func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
7560	return nil, false
7561}
7562
7563// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7564func (adlsls AzureDataLakeStoreLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
7565	return nil, false
7566}
7567
7568// AsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7569func (adlsls AzureDataLakeStoreLinkedService) AsLinkedService() (*LinkedService, bool) {
7570	return nil, false
7571}
7572
7573// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
7574func (adlsls AzureDataLakeStoreLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
7575	return &adlsls, true
7576}
7577
7578// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedService struct.
7579func (adlsls *AzureDataLakeStoreLinkedService) UnmarshalJSON(body []byte) error {
7580	var m map[string]*json.RawMessage
7581	err := json.Unmarshal(body, &m)
7582	if err != nil {
7583		return err
7584	}
7585	for k, v := range m {
7586		switch k {
7587		case "typeProperties":
7588			if v != nil {
7589				var azureDataLakeStoreLinkedServiceTypeProperties AzureDataLakeStoreLinkedServiceTypeProperties
7590				err = json.Unmarshal(*v, &azureDataLakeStoreLinkedServiceTypeProperties)
7591				if err != nil {
7592					return err
7593				}
7594				adlsls.AzureDataLakeStoreLinkedServiceTypeProperties = &azureDataLakeStoreLinkedServiceTypeProperties
7595			}
7596		default:
7597			if v != nil {
7598				var additionalProperties interface{}
7599				err = json.Unmarshal(*v, &additionalProperties)
7600				if err != nil {
7601					return err
7602				}
7603				if adlsls.AdditionalProperties == nil {
7604					adlsls.AdditionalProperties = make(map[string]interface{})
7605				}
7606				adlsls.AdditionalProperties[k] = additionalProperties
7607			}
7608		case "connectVia":
7609			if v != nil {
7610				var connectVia IntegrationRuntimeReference
7611				err = json.Unmarshal(*v, &connectVia)
7612				if err != nil {
7613					return err
7614				}
7615				adlsls.ConnectVia = &connectVia
7616			}
7617		case "description":
7618			if v != nil {
7619				var description string
7620				err = json.Unmarshal(*v, &description)
7621				if err != nil {
7622					return err
7623				}
7624				adlsls.Description = &description
7625			}
7626		case "parameters":
7627			if v != nil {
7628				var parameters map[string]*ParameterSpecification
7629				err = json.Unmarshal(*v, &parameters)
7630				if err != nil {
7631					return err
7632				}
7633				adlsls.Parameters = parameters
7634			}
7635		case "annotations":
7636			if v != nil {
7637				var annotations []interface{}
7638				err = json.Unmarshal(*v, &annotations)
7639				if err != nil {
7640					return err
7641				}
7642				adlsls.Annotations = &annotations
7643			}
7644		case "type":
7645			if v != nil {
7646				var typeVar TypeBasicLinkedService
7647				err = json.Unmarshal(*v, &typeVar)
7648				if err != nil {
7649					return err
7650				}
7651				adlsls.Type = typeVar
7652			}
7653		}
7654	}
7655
7656	return nil
7657}
7658
7659// AzureDataLakeStoreLinkedServiceTypeProperties azure Data Lake Store linked service properties.
7660type AzureDataLakeStoreLinkedServiceTypeProperties struct {
7661	// DataLakeStoreURI - Data Lake Store service URI. Type: string (or Expression with resultType string).
7662	DataLakeStoreURI interface{} `json:"dataLakeStoreUri,omitempty"`
7663	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Store account. Type: string (or Expression with resultType string).
7664	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
7665	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Store account.
7666	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
7667	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
7668	Tenant interface{} `json:"tenant,omitempty"`
7669	// AccountName - Data Lake Store account name. Type: string (or Expression with resultType string).
7670	AccountName interface{} `json:"accountName,omitempty"`
7671	// SubscriptionID - Data Lake Store account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
7672	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
7673	// ResourceGroupName - Data Lake Store account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
7674	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
7675	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
7676	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
7677}
7678
7679// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedServiceTypeProperties struct.
7680func (adlslstp *AzureDataLakeStoreLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
7681	var m map[string]*json.RawMessage
7682	err := json.Unmarshal(body, &m)
7683	if err != nil {
7684		return err
7685	}
7686	for k, v := range m {
7687		switch k {
7688		case "dataLakeStoreUri":
7689			if v != nil {
7690				var dataLakeStoreURI interface{}
7691				err = json.Unmarshal(*v, &dataLakeStoreURI)
7692				if err != nil {
7693					return err
7694				}
7695				adlslstp.DataLakeStoreURI = dataLakeStoreURI
7696			}
7697		case "servicePrincipalId":
7698			if v != nil {
7699				var servicePrincipalID interface{}
7700				err = json.Unmarshal(*v, &servicePrincipalID)
7701				if err != nil {
7702					return err
7703				}
7704				adlslstp.ServicePrincipalID = servicePrincipalID
7705			}
7706		case "servicePrincipalKey":
7707			if v != nil {
7708				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
7709				if err != nil {
7710					return err
7711				}
7712				adlslstp.ServicePrincipalKey = servicePrincipalKey
7713			}
7714		case "tenant":
7715			if v != nil {
7716				var tenant interface{}
7717				err = json.Unmarshal(*v, &tenant)
7718				if err != nil {
7719					return err
7720				}
7721				adlslstp.Tenant = tenant
7722			}
7723		case "accountName":
7724			if v != nil {
7725				var accountName interface{}
7726				err = json.Unmarshal(*v, &accountName)
7727				if err != nil {
7728					return err
7729				}
7730				adlslstp.AccountName = accountName
7731			}
7732		case "subscriptionId":
7733			if v != nil {
7734				var subscriptionID interface{}
7735				err = json.Unmarshal(*v, &subscriptionID)
7736				if err != nil {
7737					return err
7738				}
7739				adlslstp.SubscriptionID = subscriptionID
7740			}
7741		case "resourceGroupName":
7742			if v != nil {
7743				var resourceGroupName interface{}
7744				err = json.Unmarshal(*v, &resourceGroupName)
7745				if err != nil {
7746					return err
7747				}
7748				adlslstp.ResourceGroupName = resourceGroupName
7749			}
7750		case "encryptedCredential":
7751			if v != nil {
7752				var encryptedCredential interface{}
7753				err = json.Unmarshal(*v, &encryptedCredential)
7754				if err != nil {
7755					return err
7756				}
7757				adlslstp.EncryptedCredential = encryptedCredential
7758			}
7759		}
7760	}
7761
7762	return nil
7763}
7764
7765// AzureDataLakeStoreSink a copy activity Azure Data Lake Store sink.
7766type AzureDataLakeStoreSink struct {
7767	// CopyBehavior - The type of copy behavior for copy sink.
7768	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
7769	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7770	AdditionalProperties map[string]interface{} `json:""`
7771	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
7772	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
7773	// 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])).
7774	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
7775	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
7776	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
7777	// 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])).
7778	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
7779	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
7780	Type TypeBasicCopySink `json:"type,omitempty"`
7781}
7782
7783// MarshalJSON is the custom marshaler for AzureDataLakeStoreSink.
7784func (adlss AzureDataLakeStoreSink) MarshalJSON() ([]byte, error) {
7785	adlss.Type = TypeAzureDataLakeStoreSink
7786	objectMap := make(map[string]interface{})
7787	if adlss.CopyBehavior != nil {
7788		objectMap["copyBehavior"] = adlss.CopyBehavior
7789	}
7790	if adlss.WriteBatchSize != nil {
7791		objectMap["writeBatchSize"] = adlss.WriteBatchSize
7792	}
7793	if adlss.WriteBatchTimeout != nil {
7794		objectMap["writeBatchTimeout"] = adlss.WriteBatchTimeout
7795	}
7796	if adlss.SinkRetryCount != nil {
7797		objectMap["sinkRetryCount"] = adlss.SinkRetryCount
7798	}
7799	if adlss.SinkRetryWait != nil {
7800		objectMap["sinkRetryWait"] = adlss.SinkRetryWait
7801	}
7802	if adlss.Type != "" {
7803		objectMap["type"] = adlss.Type
7804	}
7805	for k, v := range adlss.AdditionalProperties {
7806		objectMap[k] = v
7807	}
7808	return json.Marshal(objectMap)
7809}
7810
7811// AsSalesforceSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7812func (adlss AzureDataLakeStoreSink) AsSalesforceSink() (*SalesforceSink, bool) {
7813	return nil, false
7814}
7815
7816// AsDynamicsSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7817func (adlss AzureDataLakeStoreSink) AsDynamicsSink() (*DynamicsSink, bool) {
7818	return nil, false
7819}
7820
7821// AsOdbcSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7822func (adlss AzureDataLakeStoreSink) AsOdbcSink() (*OdbcSink, bool) {
7823	return nil, false
7824}
7825
7826// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7827func (adlss AzureDataLakeStoreSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
7828	return nil, false
7829}
7830
7831// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7832func (adlss AzureDataLakeStoreSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
7833	return &adlss, true
7834}
7835
7836// AsOracleSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7837func (adlss AzureDataLakeStoreSink) AsOracleSink() (*OracleSink, bool) {
7838	return nil, false
7839}
7840
7841// AsSQLDWSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7842func (adlss AzureDataLakeStoreSink) AsSQLDWSink() (*SQLDWSink, bool) {
7843	return nil, false
7844}
7845
7846// AsSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7847func (adlss AzureDataLakeStoreSink) AsSQLSink() (*SQLSink, bool) {
7848	return nil, false
7849}
7850
7851// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7852func (adlss AzureDataLakeStoreSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
7853	return nil, false
7854}
7855
7856// AsFileSystemSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7857func (adlss AzureDataLakeStoreSink) AsFileSystemSink() (*FileSystemSink, bool) {
7858	return nil, false
7859}
7860
7861// AsBlobSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7862func (adlss AzureDataLakeStoreSink) AsBlobSink() (*BlobSink, bool) {
7863	return nil, false
7864}
7865
7866// AsAzureTableSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7867func (adlss AzureDataLakeStoreSink) AsAzureTableSink() (*AzureTableSink, bool) {
7868	return nil, false
7869}
7870
7871// AsAzureQueueSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7872func (adlss AzureDataLakeStoreSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
7873	return nil, false
7874}
7875
7876// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7877func (adlss AzureDataLakeStoreSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
7878	return nil, false
7879}
7880
7881// AsCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7882func (adlss AzureDataLakeStoreSink) AsCopySink() (*CopySink, bool) {
7883	return nil, false
7884}
7885
7886// AsBasicCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
7887func (adlss AzureDataLakeStoreSink) AsBasicCopySink() (BasicCopySink, bool) {
7888	return &adlss, true
7889}
7890
7891// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSink struct.
7892func (adlss *AzureDataLakeStoreSink) UnmarshalJSON(body []byte) error {
7893	var m map[string]*json.RawMessage
7894	err := json.Unmarshal(body, &m)
7895	if err != nil {
7896		return err
7897	}
7898	for k, v := range m {
7899		switch k {
7900		case "copyBehavior":
7901			if v != nil {
7902				var copyBehavior interface{}
7903				err = json.Unmarshal(*v, &copyBehavior)
7904				if err != nil {
7905					return err
7906				}
7907				adlss.CopyBehavior = copyBehavior
7908			}
7909		default:
7910			if v != nil {
7911				var additionalProperties interface{}
7912				err = json.Unmarshal(*v, &additionalProperties)
7913				if err != nil {
7914					return err
7915				}
7916				if adlss.AdditionalProperties == nil {
7917					adlss.AdditionalProperties = make(map[string]interface{})
7918				}
7919				adlss.AdditionalProperties[k] = additionalProperties
7920			}
7921		case "writeBatchSize":
7922			if v != nil {
7923				var writeBatchSize interface{}
7924				err = json.Unmarshal(*v, &writeBatchSize)
7925				if err != nil {
7926					return err
7927				}
7928				adlss.WriteBatchSize = writeBatchSize
7929			}
7930		case "writeBatchTimeout":
7931			if v != nil {
7932				var writeBatchTimeout interface{}
7933				err = json.Unmarshal(*v, &writeBatchTimeout)
7934				if err != nil {
7935					return err
7936				}
7937				adlss.WriteBatchTimeout = writeBatchTimeout
7938			}
7939		case "sinkRetryCount":
7940			if v != nil {
7941				var sinkRetryCount interface{}
7942				err = json.Unmarshal(*v, &sinkRetryCount)
7943				if err != nil {
7944					return err
7945				}
7946				adlss.SinkRetryCount = sinkRetryCount
7947			}
7948		case "sinkRetryWait":
7949			if v != nil {
7950				var sinkRetryWait interface{}
7951				err = json.Unmarshal(*v, &sinkRetryWait)
7952				if err != nil {
7953					return err
7954				}
7955				adlss.SinkRetryWait = sinkRetryWait
7956			}
7957		case "type":
7958			if v != nil {
7959				var typeVar TypeBasicCopySink
7960				err = json.Unmarshal(*v, &typeVar)
7961				if err != nil {
7962					return err
7963				}
7964				adlss.Type = typeVar
7965			}
7966		}
7967	}
7968
7969	return nil
7970}
7971
7972// AzureDataLakeStoreSource a copy activity Azure Data Lake source.
7973type AzureDataLakeStoreSource struct {
7974	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
7975	Recursive interface{} `json:"recursive,omitempty"`
7976	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7977	AdditionalProperties map[string]interface{} `json:""`
7978	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
7979	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
7980	// 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])).
7981	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
7982	// 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'
7983	Type TypeBasicCopySource `json:"type,omitempty"`
7984}
7985
7986// MarshalJSON is the custom marshaler for AzureDataLakeStoreSource.
7987func (adlss AzureDataLakeStoreSource) MarshalJSON() ([]byte, error) {
7988	adlss.Type = TypeAzureDataLakeStoreSource
7989	objectMap := make(map[string]interface{})
7990	if adlss.Recursive != nil {
7991		objectMap["recursive"] = adlss.Recursive
7992	}
7993	if adlss.SourceRetryCount != nil {
7994		objectMap["sourceRetryCount"] = adlss.SourceRetryCount
7995	}
7996	if adlss.SourceRetryWait != nil {
7997		objectMap["sourceRetryWait"] = adlss.SourceRetryWait
7998	}
7999	if adlss.Type != "" {
8000		objectMap["type"] = adlss.Type
8001	}
8002	for k, v := range adlss.AdditionalProperties {
8003		objectMap[k] = v
8004	}
8005	return json.Marshal(objectMap)
8006}
8007
8008// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8009func (adlss AzureDataLakeStoreSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
8010	return nil, false
8011}
8012
8013// AsResponsysSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8014func (adlss AzureDataLakeStoreSource) AsResponsysSource() (*ResponsysSource, bool) {
8015	return nil, false
8016}
8017
8018// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8019func (adlss AzureDataLakeStoreSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
8020	return nil, false
8021}
8022
8023// AsVerticaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8024func (adlss AzureDataLakeStoreSource) AsVerticaSource() (*VerticaSource, bool) {
8025	return nil, false
8026}
8027
8028// AsNetezzaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8029func (adlss AzureDataLakeStoreSource) AsNetezzaSource() (*NetezzaSource, bool) {
8030	return nil, false
8031}
8032
8033// AsZohoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8034func (adlss AzureDataLakeStoreSource) AsZohoSource() (*ZohoSource, bool) {
8035	return nil, false
8036}
8037
8038// AsXeroSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8039func (adlss AzureDataLakeStoreSource) AsXeroSource() (*XeroSource, bool) {
8040	return nil, false
8041}
8042
8043// AsSquareSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8044func (adlss AzureDataLakeStoreSource) AsSquareSource() (*SquareSource, bool) {
8045	return nil, false
8046}
8047
8048// AsSparkSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8049func (adlss AzureDataLakeStoreSource) AsSparkSource() (*SparkSource, bool) {
8050	return nil, false
8051}
8052
8053// AsShopifySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8054func (adlss AzureDataLakeStoreSource) AsShopifySource() (*ShopifySource, bool) {
8055	return nil, false
8056}
8057
8058// AsServiceNowSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8059func (adlss AzureDataLakeStoreSource) AsServiceNowSource() (*ServiceNowSource, bool) {
8060	return nil, false
8061}
8062
8063// AsQuickBooksSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8064func (adlss AzureDataLakeStoreSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
8065	return nil, false
8066}
8067
8068// AsPrestoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8069func (adlss AzureDataLakeStoreSource) AsPrestoSource() (*PrestoSource, bool) {
8070	return nil, false
8071}
8072
8073// AsPhoenixSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8074func (adlss AzureDataLakeStoreSource) AsPhoenixSource() (*PhoenixSource, bool) {
8075	return nil, false
8076}
8077
8078// AsPaypalSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8079func (adlss AzureDataLakeStoreSource) AsPaypalSource() (*PaypalSource, bool) {
8080	return nil, false
8081}
8082
8083// AsMarketoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8084func (adlss AzureDataLakeStoreSource) AsMarketoSource() (*MarketoSource, bool) {
8085	return nil, false
8086}
8087
8088// AsMariaDBSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8089func (adlss AzureDataLakeStoreSource) AsMariaDBSource() (*MariaDBSource, bool) {
8090	return nil, false
8091}
8092
8093// AsMagentoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8094func (adlss AzureDataLakeStoreSource) AsMagentoSource() (*MagentoSource, bool) {
8095	return nil, false
8096}
8097
8098// AsJiraSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8099func (adlss AzureDataLakeStoreSource) AsJiraSource() (*JiraSource, bool) {
8100	return nil, false
8101}
8102
8103// AsImpalaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8104func (adlss AzureDataLakeStoreSource) AsImpalaSource() (*ImpalaSource, bool) {
8105	return nil, false
8106}
8107
8108// AsHubspotSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8109func (adlss AzureDataLakeStoreSource) AsHubspotSource() (*HubspotSource, bool) {
8110	return nil, false
8111}
8112
8113// AsHiveSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8114func (adlss AzureDataLakeStoreSource) AsHiveSource() (*HiveSource, bool) {
8115	return nil, false
8116}
8117
8118// AsHBaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8119func (adlss AzureDataLakeStoreSource) AsHBaseSource() (*HBaseSource, bool) {
8120	return nil, false
8121}
8122
8123// AsGreenplumSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8124func (adlss AzureDataLakeStoreSource) AsGreenplumSource() (*GreenplumSource, bool) {
8125	return nil, false
8126}
8127
8128// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8129func (adlss AzureDataLakeStoreSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
8130	return nil, false
8131}
8132
8133// AsEloquaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8134func (adlss AzureDataLakeStoreSource) AsEloquaSource() (*EloquaSource, bool) {
8135	return nil, false
8136}
8137
8138// AsDrillSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8139func (adlss AzureDataLakeStoreSource) AsDrillSource() (*DrillSource, bool) {
8140	return nil, false
8141}
8142
8143// AsCouchbaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8144func (adlss AzureDataLakeStoreSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
8145	return nil, false
8146}
8147
8148// AsConcurSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8149func (adlss AzureDataLakeStoreSource) AsConcurSource() (*ConcurSource, bool) {
8150	return nil, false
8151}
8152
8153// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8154func (adlss AzureDataLakeStoreSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
8155	return nil, false
8156}
8157
8158// AsAmazonMWSSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8159func (adlss AzureDataLakeStoreSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
8160	return nil, false
8161}
8162
8163// AsHTTPSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8164func (adlss AzureDataLakeStoreSource) AsHTTPSource() (*HTTPSource, bool) {
8165	return nil, false
8166}
8167
8168// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8169func (adlss AzureDataLakeStoreSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
8170	return &adlss, true
8171}
8172
8173// AsMongoDbSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8174func (adlss AzureDataLakeStoreSource) AsMongoDbSource() (*MongoDbSource, bool) {
8175	return nil, false
8176}
8177
8178// AsCassandraSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8179func (adlss AzureDataLakeStoreSource) AsCassandraSource() (*CassandraSource, bool) {
8180	return nil, false
8181}
8182
8183// AsWebSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8184func (adlss AzureDataLakeStoreSource) AsWebSource() (*WebSource, bool) {
8185	return nil, false
8186}
8187
8188// AsOracleSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8189func (adlss AzureDataLakeStoreSource) AsOracleSource() (*OracleSource, bool) {
8190	return nil, false
8191}
8192
8193// AsAzureMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8194func (adlss AzureDataLakeStoreSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
8195	return nil, false
8196}
8197
8198// AsHdfsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8199func (adlss AzureDataLakeStoreSource) AsHdfsSource() (*HdfsSource, bool) {
8200	return nil, false
8201}
8202
8203// AsFileSystemSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8204func (adlss AzureDataLakeStoreSource) AsFileSystemSource() (*FileSystemSource, bool) {
8205	return nil, false
8206}
8207
8208// AsSQLDWSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8209func (adlss AzureDataLakeStoreSource) AsSQLDWSource() (*SQLDWSource, bool) {
8210	return nil, false
8211}
8212
8213// AsSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8214func (adlss AzureDataLakeStoreSource) AsSQLSource() (*SQLSource, bool) {
8215	return nil, false
8216}
8217
8218// AsSapEccSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8219func (adlss AzureDataLakeStoreSource) AsSapEccSource() (*SapEccSource, bool) {
8220	return nil, false
8221}
8222
8223// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8224func (adlss AzureDataLakeStoreSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
8225	return nil, false
8226}
8227
8228// AsSalesforceSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8229func (adlss AzureDataLakeStoreSource) AsSalesforceSource() (*SalesforceSource, bool) {
8230	return nil, false
8231}
8232
8233// AsRelationalSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8234func (adlss AzureDataLakeStoreSource) AsRelationalSource() (*RelationalSource, bool) {
8235	return nil, false
8236}
8237
8238// AsDynamicsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8239func (adlss AzureDataLakeStoreSource) AsDynamicsSource() (*DynamicsSource, bool) {
8240	return nil, false
8241}
8242
8243// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8244func (adlss AzureDataLakeStoreSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
8245	return nil, false
8246}
8247
8248// AsBlobSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8249func (adlss AzureDataLakeStoreSource) AsBlobSource() (*BlobSource, bool) {
8250	return nil, false
8251}
8252
8253// AsAzureTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8254func (adlss AzureDataLakeStoreSource) AsAzureTableSource() (*AzureTableSource, bool) {
8255	return nil, false
8256}
8257
8258// AsCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8259func (adlss AzureDataLakeStoreSource) AsCopySource() (*CopySource, bool) {
8260	return nil, false
8261}
8262
8263// AsBasicCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
8264func (adlss AzureDataLakeStoreSource) AsBasicCopySource() (BasicCopySource, bool) {
8265	return &adlss, true
8266}
8267
8268// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSource struct.
8269func (adlss *AzureDataLakeStoreSource) UnmarshalJSON(body []byte) error {
8270	var m map[string]*json.RawMessage
8271	err := json.Unmarshal(body, &m)
8272	if err != nil {
8273		return err
8274	}
8275	for k, v := range m {
8276		switch k {
8277		case "recursive":
8278			if v != nil {
8279				var recursive interface{}
8280				err = json.Unmarshal(*v, &recursive)
8281				if err != nil {
8282					return err
8283				}
8284				adlss.Recursive = recursive
8285			}
8286		default:
8287			if v != nil {
8288				var additionalProperties interface{}
8289				err = json.Unmarshal(*v, &additionalProperties)
8290				if err != nil {
8291					return err
8292				}
8293				if adlss.AdditionalProperties == nil {
8294					adlss.AdditionalProperties = make(map[string]interface{})
8295				}
8296				adlss.AdditionalProperties[k] = additionalProperties
8297			}
8298		case "sourceRetryCount":
8299			if v != nil {
8300				var sourceRetryCount interface{}
8301				err = json.Unmarshal(*v, &sourceRetryCount)
8302				if err != nil {
8303					return err
8304				}
8305				adlss.SourceRetryCount = sourceRetryCount
8306			}
8307		case "sourceRetryWait":
8308			if v != nil {
8309				var sourceRetryWait interface{}
8310				err = json.Unmarshal(*v, &sourceRetryWait)
8311				if err != nil {
8312					return err
8313				}
8314				adlss.SourceRetryWait = sourceRetryWait
8315			}
8316		case "type":
8317			if v != nil {
8318				var typeVar TypeBasicCopySource
8319				err = json.Unmarshal(*v, &typeVar)
8320				if err != nil {
8321					return err
8322				}
8323				adlss.Type = typeVar
8324			}
8325		}
8326	}
8327
8328	return nil
8329}
8330
8331// AzureKeyVaultLinkedService azure Key Vault linked service.
8332type AzureKeyVaultLinkedService struct {
8333	// AzureKeyVaultLinkedServiceTypeProperties - Azure Key Vault linked service properties.
8334	*AzureKeyVaultLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
8335	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
8336	AdditionalProperties map[string]interface{} `json:""`
8337	// ConnectVia - The integration runtime reference.
8338	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
8339	// Description - Linked service description.
8340	Description *string `json:"description,omitempty"`
8341	// Parameters - Parameters for linked service.
8342	Parameters map[string]*ParameterSpecification `json:"parameters"`
8343	// Annotations - List of tags that can be used for describing the Dataset.
8344	Annotations *[]interface{} `json:"annotations,omitempty"`
8345	// 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'
8346	Type TypeBasicLinkedService `json:"type,omitempty"`
8347}
8348
8349// MarshalJSON is the custom marshaler for AzureKeyVaultLinkedService.
8350func (akvls AzureKeyVaultLinkedService) MarshalJSON() ([]byte, error) {
8351	akvls.Type = TypeAzureKeyVault
8352	objectMap := make(map[string]interface{})
8353	if akvls.AzureKeyVaultLinkedServiceTypeProperties != nil {
8354		objectMap["typeProperties"] = akvls.AzureKeyVaultLinkedServiceTypeProperties
8355	}
8356	if akvls.ConnectVia != nil {
8357		objectMap["connectVia"] = akvls.ConnectVia
8358	}
8359	if akvls.Description != nil {
8360		objectMap["description"] = akvls.Description
8361	}
8362	if akvls.Parameters != nil {
8363		objectMap["parameters"] = akvls.Parameters
8364	}
8365	if akvls.Annotations != nil {
8366		objectMap["annotations"] = akvls.Annotations
8367	}
8368	if akvls.Type != "" {
8369		objectMap["type"] = akvls.Type
8370	}
8371	for k, v := range akvls.AdditionalProperties {
8372		objectMap[k] = v
8373	}
8374	return json.Marshal(objectMap)
8375}
8376
8377// AsResponsysLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8378func (akvls AzureKeyVaultLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
8379	return nil, false
8380}
8381
8382// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8383func (akvls AzureKeyVaultLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
8384	return nil, false
8385}
8386
8387// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8388func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
8389	return nil, false
8390}
8391
8392// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8393func (akvls AzureKeyVaultLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
8394	return nil, false
8395}
8396
8397// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8398func (akvls AzureKeyVaultLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
8399	return nil, false
8400}
8401
8402// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8403func (akvls AzureKeyVaultLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
8404	return nil, false
8405}
8406
8407// AsVerticaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8408func (akvls AzureKeyVaultLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
8409	return nil, false
8410}
8411
8412// AsZohoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8413func (akvls AzureKeyVaultLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
8414	return nil, false
8415}
8416
8417// AsXeroLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8418func (akvls AzureKeyVaultLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
8419	return nil, false
8420}
8421
8422// AsSquareLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8423func (akvls AzureKeyVaultLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
8424	return nil, false
8425}
8426
8427// AsSparkLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8428func (akvls AzureKeyVaultLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
8429	return nil, false
8430}
8431
8432// AsShopifyLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8433func (akvls AzureKeyVaultLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
8434	return nil, false
8435}
8436
8437// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8438func (akvls AzureKeyVaultLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
8439	return nil, false
8440}
8441
8442// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8443func (akvls AzureKeyVaultLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
8444	return nil, false
8445}
8446
8447// AsPrestoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8448func (akvls AzureKeyVaultLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
8449	return nil, false
8450}
8451
8452// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8453func (akvls AzureKeyVaultLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
8454	return nil, false
8455}
8456
8457// AsPaypalLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8458func (akvls AzureKeyVaultLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
8459	return nil, false
8460}
8461
8462// AsMarketoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8463func (akvls AzureKeyVaultLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
8464	return nil, false
8465}
8466
8467// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8468func (akvls AzureKeyVaultLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
8469	return nil, false
8470}
8471
8472// AsMagentoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8473func (akvls AzureKeyVaultLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
8474	return nil, false
8475}
8476
8477// AsJiraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8478func (akvls AzureKeyVaultLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
8479	return nil, false
8480}
8481
8482// AsImpalaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8483func (akvls AzureKeyVaultLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
8484	return nil, false
8485}
8486
8487// AsHubspotLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8488func (akvls AzureKeyVaultLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
8489	return nil, false
8490}
8491
8492// AsHiveLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8493func (akvls AzureKeyVaultLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
8494	return nil, false
8495}
8496
8497// AsHBaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8498func (akvls AzureKeyVaultLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
8499	return nil, false
8500}
8501
8502// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8503func (akvls AzureKeyVaultLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
8504	return nil, false
8505}
8506
8507// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8508func (akvls AzureKeyVaultLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
8509	return nil, false
8510}
8511
8512// AsEloquaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8513func (akvls AzureKeyVaultLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
8514	return nil, false
8515}
8516
8517// AsDrillLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8518func (akvls AzureKeyVaultLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
8519	return nil, false
8520}
8521
8522// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8523func (akvls AzureKeyVaultLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
8524	return nil, false
8525}
8526
8527// AsConcurLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8528func (akvls AzureKeyVaultLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
8529	return nil, false
8530}
8531
8532// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8533func (akvls AzureKeyVaultLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
8534	return nil, false
8535}
8536
8537// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8538func (akvls AzureKeyVaultLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
8539	return nil, false
8540}
8541
8542// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8543func (akvls AzureKeyVaultLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
8544	return nil, false
8545}
8546
8547// AsSapBWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8548func (akvls AzureKeyVaultLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
8549	return nil, false
8550}
8551
8552// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8553func (akvls AzureKeyVaultLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
8554	return nil, false
8555}
8556
8557// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8558func (akvls AzureKeyVaultLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
8559	return nil, false
8560}
8561
8562// AsHTTPLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8563func (akvls AzureKeyVaultLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
8564	return nil, false
8565}
8566
8567// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8568func (akvls AzureKeyVaultLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
8569	return nil, false
8570}
8571
8572// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8573func (akvls AzureKeyVaultLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
8574	return nil, false
8575}
8576
8577// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8578func (akvls AzureKeyVaultLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
8579	return nil, false
8580}
8581
8582// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8583func (akvls AzureKeyVaultLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
8584	return nil, false
8585}
8586
8587// AsSapEccLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8588func (akvls AzureKeyVaultLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
8589	return nil, false
8590}
8591
8592// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8593func (akvls AzureKeyVaultLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
8594	return nil, false
8595}
8596
8597// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8598func (akvls AzureKeyVaultLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
8599	return nil, false
8600}
8601
8602// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8603func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
8604	return nil, false
8605}
8606
8607// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8608func (akvls AzureKeyVaultLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
8609	return nil, false
8610}
8611
8612// AsCassandraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8613func (akvls AzureKeyVaultLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
8614	return nil, false
8615}
8616
8617// AsWebLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8618func (akvls AzureKeyVaultLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
8619	return nil, false
8620}
8621
8622// AsODataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8623func (akvls AzureKeyVaultLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
8624	return nil, false
8625}
8626
8627// AsHdfsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8628func (akvls AzureKeyVaultLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
8629	return nil, false
8630}
8631
8632// AsOdbcLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8633func (akvls AzureKeyVaultLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
8634	return nil, false
8635}
8636
8637// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8638func (akvls AzureKeyVaultLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
8639	return nil, false
8640}
8641
8642// AsTeradataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8643func (akvls AzureKeyVaultLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
8644	return nil, false
8645}
8646
8647// AsDb2LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8648func (akvls AzureKeyVaultLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
8649	return nil, false
8650}
8651
8652// AsSybaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8653func (akvls AzureKeyVaultLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
8654	return nil, false
8655}
8656
8657// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8658func (akvls AzureKeyVaultLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
8659	return nil, false
8660}
8661
8662// AsMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8663func (akvls AzureKeyVaultLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
8664	return nil, false
8665}
8666
8667// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8668func (akvls AzureKeyVaultLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
8669	return nil, false
8670}
8671
8672// AsOracleLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8673func (akvls AzureKeyVaultLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
8674	return nil, false
8675}
8676
8677// AsFileServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8678func (akvls AzureKeyVaultLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
8679	return nil, false
8680}
8681
8682// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8683func (akvls AzureKeyVaultLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
8684	return nil, false
8685}
8686
8687// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8688func (akvls AzureKeyVaultLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
8689	return nil, false
8690}
8691
8692// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8693func (akvls AzureKeyVaultLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
8694	return nil, false
8695}
8696
8697// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8698func (akvls AzureKeyVaultLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
8699	return &akvls, true
8700}
8701
8702// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8703func (akvls AzureKeyVaultLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
8704	return nil, false
8705}
8706
8707// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8708func (akvls AzureKeyVaultLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
8709	return nil, false
8710}
8711
8712// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8713func (akvls AzureKeyVaultLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
8714	return nil, false
8715}
8716
8717// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8718func (akvls AzureKeyVaultLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
8719	return nil, false
8720}
8721
8722// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8723func (akvls AzureKeyVaultLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
8724	return nil, false
8725}
8726
8727// AsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8728func (akvls AzureKeyVaultLinkedService) AsLinkedService() (*LinkedService, bool) {
8729	return nil, false
8730}
8731
8732// AsBasicLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
8733func (akvls AzureKeyVaultLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
8734	return &akvls, true
8735}
8736
8737// UnmarshalJSON is the custom unmarshaler for AzureKeyVaultLinkedService struct.
8738func (akvls *AzureKeyVaultLinkedService) UnmarshalJSON(body []byte) error {
8739	var m map[string]*json.RawMessage
8740	err := json.Unmarshal(body, &m)
8741	if err != nil {
8742		return err
8743	}
8744	for k, v := range m {
8745		switch k {
8746		case "typeProperties":
8747			if v != nil {
8748				var azureKeyVaultLinkedServiceTypeProperties AzureKeyVaultLinkedServiceTypeProperties
8749				err = json.Unmarshal(*v, &azureKeyVaultLinkedServiceTypeProperties)
8750				if err != nil {
8751					return err
8752				}
8753				akvls.AzureKeyVaultLinkedServiceTypeProperties = &azureKeyVaultLinkedServiceTypeProperties
8754			}
8755		default:
8756			if v != nil {
8757				var additionalProperties interface{}
8758				err = json.Unmarshal(*v, &additionalProperties)
8759				if err != nil {
8760					return err
8761				}
8762				if akvls.AdditionalProperties == nil {
8763					akvls.AdditionalProperties = make(map[string]interface{})
8764				}
8765				akvls.AdditionalProperties[k] = additionalProperties
8766			}
8767		case "connectVia":
8768			if v != nil {
8769				var connectVia IntegrationRuntimeReference
8770				err = json.Unmarshal(*v, &connectVia)
8771				if err != nil {
8772					return err
8773				}
8774				akvls.ConnectVia = &connectVia
8775			}
8776		case "description":
8777			if v != nil {
8778				var description string
8779				err = json.Unmarshal(*v, &description)
8780				if err != nil {
8781					return err
8782				}
8783				akvls.Description = &description
8784			}
8785		case "parameters":
8786			if v != nil {
8787				var parameters map[string]*ParameterSpecification
8788				err = json.Unmarshal(*v, &parameters)
8789				if err != nil {
8790					return err
8791				}
8792				akvls.Parameters = parameters
8793			}
8794		case "annotations":
8795			if v != nil {
8796				var annotations []interface{}
8797				err = json.Unmarshal(*v, &annotations)
8798				if err != nil {
8799					return err
8800				}
8801				akvls.Annotations = &annotations
8802			}
8803		case "type":
8804			if v != nil {
8805				var typeVar TypeBasicLinkedService
8806				err = json.Unmarshal(*v, &typeVar)
8807				if err != nil {
8808					return err
8809				}
8810				akvls.Type = typeVar
8811			}
8812		}
8813	}
8814
8815	return nil
8816}
8817
8818// AzureKeyVaultLinkedServiceTypeProperties azure Key Vault linked service properties.
8819type AzureKeyVaultLinkedServiceTypeProperties struct {
8820	// BaseURL - The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string).
8821	BaseURL interface{} `json:"baseUrl,omitempty"`
8822}
8823
8824// AzureKeyVaultSecretReference azure Key Vault secret reference.
8825type AzureKeyVaultSecretReference struct {
8826	// Store - The Azure Key Vault linked service reference.
8827	Store *LinkedServiceReference `json:"store,omitempty"`
8828	// SecretName - The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string).
8829	SecretName interface{} `json:"secretName,omitempty"`
8830	// 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).
8831	SecretVersion interface{} `json:"secretVersion,omitempty"`
8832	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
8833	Type Type `json:"type,omitempty"`
8834}
8835
8836// MarshalJSON is the custom marshaler for AzureKeyVaultSecretReference.
8837func (akvsr AzureKeyVaultSecretReference) MarshalJSON() ([]byte, error) {
8838	akvsr.Type = TypeAzureKeyVaultSecret
8839	objectMap := make(map[string]interface{})
8840	if akvsr.Store != nil {
8841		objectMap["store"] = akvsr.Store
8842	}
8843	if akvsr.SecretName != nil {
8844		objectMap["secretName"] = akvsr.SecretName
8845	}
8846	if akvsr.SecretVersion != nil {
8847		objectMap["secretVersion"] = akvsr.SecretVersion
8848	}
8849	if akvsr.Type != "" {
8850		objectMap["type"] = akvsr.Type
8851	}
8852	return json.Marshal(objectMap)
8853}
8854
8855// AsSecureString is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
8856func (akvsr AzureKeyVaultSecretReference) AsSecureString() (*SecureString, bool) {
8857	return nil, false
8858}
8859
8860// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
8861func (akvsr AzureKeyVaultSecretReference) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
8862	return &akvsr, true
8863}
8864
8865// AsSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
8866func (akvsr AzureKeyVaultSecretReference) AsSecretBase() (*SecretBase, bool) {
8867	return nil, false
8868}
8869
8870// AsBasicSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
8871func (akvsr AzureKeyVaultSecretReference) AsBasicSecretBase() (BasicSecretBase, bool) {
8872	return &akvsr, true
8873}
8874
8875// AzureMLBatchExecutionActivity azure ML Batch Execution activity.
8876type AzureMLBatchExecutionActivity struct {
8877	// AzureMLBatchExecutionActivityTypeProperties - Azure ML Batch Execution activity properties.
8878	*AzureMLBatchExecutionActivityTypeProperties `json:"typeProperties,omitempty"`
8879	// LinkedServiceName - Linked service reference.
8880	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
8881	// Policy - Activity policy.
8882	Policy *ActivityPolicy `json:"policy,omitempty"`
8883	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
8884	AdditionalProperties map[string]interface{} `json:""`
8885	// Name - Activity name.
8886	Name *string `json:"name,omitempty"`
8887	// Description - Activity description.
8888	Description *string `json:"description,omitempty"`
8889	// DependsOn - Activity depends on condition.
8890	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
8891	// 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'
8892	Type TypeBasicActivity `json:"type,omitempty"`
8893}
8894
8895// MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivity.
8896func (ambea AzureMLBatchExecutionActivity) MarshalJSON() ([]byte, error) {
8897	ambea.Type = TypeAzureMLBatchExecution
8898	objectMap := make(map[string]interface{})
8899	if ambea.AzureMLBatchExecutionActivityTypeProperties != nil {
8900		objectMap["typeProperties"] = ambea.AzureMLBatchExecutionActivityTypeProperties
8901	}
8902	if ambea.LinkedServiceName != nil {
8903		objectMap["linkedServiceName"] = ambea.LinkedServiceName
8904	}
8905	if ambea.Policy != nil {
8906		objectMap["policy"] = ambea.Policy
8907	}
8908	if ambea.Name != nil {
8909		objectMap["name"] = ambea.Name
8910	}
8911	if ambea.Description != nil {
8912		objectMap["description"] = ambea.Description
8913	}
8914	if ambea.DependsOn != nil {
8915		objectMap["dependsOn"] = ambea.DependsOn
8916	}
8917	if ambea.Type != "" {
8918		objectMap["type"] = ambea.Type
8919	}
8920	for k, v := range ambea.AdditionalProperties {
8921		objectMap[k] = v
8922	}
8923	return json.Marshal(objectMap)
8924}
8925
8926// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8927func (ambea AzureMLBatchExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
8928	return nil, false
8929}
8930
8931// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8932func (ambea AzureMLBatchExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
8933	return nil, false
8934}
8935
8936// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8937func (ambea AzureMLBatchExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
8938	return nil, false
8939}
8940
8941// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8942func (ambea AzureMLBatchExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
8943	return &ambea, true
8944}
8945
8946// AsGetMetadataActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8947func (ambea AzureMLBatchExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
8948	return nil, false
8949}
8950
8951// AsWebActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8952func (ambea AzureMLBatchExecutionActivity) AsWebActivity() (*WebActivity, bool) {
8953	return nil, false
8954}
8955
8956// AsLookupActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8957func (ambea AzureMLBatchExecutionActivity) AsLookupActivity() (*LookupActivity, bool) {
8958	return nil, false
8959}
8960
8961// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8962func (ambea AzureMLBatchExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
8963	return nil, false
8964}
8965
8966// AsCustomActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8967func (ambea AzureMLBatchExecutionActivity) AsCustomActivity() (*CustomActivity, bool) {
8968	return nil, false
8969}
8970
8971// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8972func (ambea AzureMLBatchExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
8973	return nil, false
8974}
8975
8976// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8977func (ambea AzureMLBatchExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
8978	return nil, false
8979}
8980
8981// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8982func (ambea AzureMLBatchExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
8983	return nil, false
8984}
8985
8986// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8987func (ambea AzureMLBatchExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
8988	return nil, false
8989}
8990
8991// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8992func (ambea AzureMLBatchExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
8993	return nil, false
8994}
8995
8996// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
8997func (ambea AzureMLBatchExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
8998	return nil, false
8999}
9000
9001// AsCopyActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9002func (ambea AzureMLBatchExecutionActivity) AsCopyActivity() (*CopyActivity, bool) {
9003	return nil, false
9004}
9005
9006// AsExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9007func (ambea AzureMLBatchExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
9008	return nil, false
9009}
9010
9011// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9012func (ambea AzureMLBatchExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
9013	return &ambea, true
9014}
9015
9016// AsFilterActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9017func (ambea AzureMLBatchExecutionActivity) AsFilterActivity() (*FilterActivity, bool) {
9018	return nil, false
9019}
9020
9021// AsUntilActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9022func (ambea AzureMLBatchExecutionActivity) AsUntilActivity() (*UntilActivity, bool) {
9023	return nil, false
9024}
9025
9026// AsWaitActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9027func (ambea AzureMLBatchExecutionActivity) AsWaitActivity() (*WaitActivity, bool) {
9028	return nil, false
9029}
9030
9031// AsForEachActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9032func (ambea AzureMLBatchExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) {
9033	return nil, false
9034}
9035
9036// AsIfConditionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9037func (ambea AzureMLBatchExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
9038	return nil, false
9039}
9040
9041// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9042func (ambea AzureMLBatchExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
9043	return nil, false
9044}
9045
9046// AsControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9047func (ambea AzureMLBatchExecutionActivity) AsControlActivity() (*ControlActivity, bool) {
9048	return nil, false
9049}
9050
9051// AsBasicControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9052func (ambea AzureMLBatchExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
9053	return nil, false
9054}
9055
9056// AsActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9057func (ambea AzureMLBatchExecutionActivity) AsActivity() (*Activity, bool) {
9058	return nil, false
9059}
9060
9061// AsBasicActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
9062func (ambea AzureMLBatchExecutionActivity) AsBasicActivity() (BasicActivity, bool) {
9063	return &ambea, true
9064}
9065
9066// UnmarshalJSON is the custom unmarshaler for AzureMLBatchExecutionActivity struct.
9067func (ambea *AzureMLBatchExecutionActivity) UnmarshalJSON(body []byte) error {
9068	var m map[string]*json.RawMessage
9069	err := json.Unmarshal(body, &m)
9070	if err != nil {
9071		return err
9072	}
9073	for k, v := range m {
9074		switch k {
9075		case "typeProperties":
9076			if v != nil {
9077				var azureMLBatchExecutionActivityTypeProperties AzureMLBatchExecutionActivityTypeProperties
9078				err = json.Unmarshal(*v, &azureMLBatchExecutionActivityTypeProperties)
9079				if err != nil {
9080					return err
9081				}
9082				ambea.AzureMLBatchExecutionActivityTypeProperties = &azureMLBatchExecutionActivityTypeProperties
9083			}
9084		case "linkedServiceName":
9085			if v != nil {
9086				var linkedServiceName LinkedServiceReference
9087				err = json.Unmarshal(*v, &linkedServiceName)
9088				if err != nil {
9089					return err
9090				}
9091				ambea.LinkedServiceName = &linkedServiceName
9092			}
9093		case "policy":
9094			if v != nil {
9095				var policy ActivityPolicy
9096				err = json.Unmarshal(*v, &policy)
9097				if err != nil {
9098					return err
9099				}
9100				ambea.Policy = &policy
9101			}
9102		default:
9103			if v != nil {
9104				var additionalProperties interface{}
9105				err = json.Unmarshal(*v, &additionalProperties)
9106				if err != nil {
9107					return err
9108				}
9109				if ambea.AdditionalProperties == nil {
9110					ambea.AdditionalProperties = make(map[string]interface{})
9111				}
9112				ambea.AdditionalProperties[k] = additionalProperties
9113			}
9114		case "name":
9115			if v != nil {
9116				var name string
9117				err = json.Unmarshal(*v, &name)
9118				if err != nil {
9119					return err
9120				}
9121				ambea.Name = &name
9122			}
9123		case "description":
9124			if v != nil {
9125				var description string
9126				err = json.Unmarshal(*v, &description)
9127				if err != nil {
9128					return err
9129				}
9130				ambea.Description = &description
9131			}
9132		case "dependsOn":
9133			if v != nil {
9134				var dependsOn []ActivityDependency
9135				err = json.Unmarshal(*v, &dependsOn)
9136				if err != nil {
9137					return err
9138				}
9139				ambea.DependsOn = &dependsOn
9140			}
9141		case "type":
9142			if v != nil {
9143				var typeVar TypeBasicActivity
9144				err = json.Unmarshal(*v, &typeVar)
9145				if err != nil {
9146					return err
9147				}
9148				ambea.Type = typeVar
9149			}
9150		}
9151	}
9152
9153	return nil
9154}
9155
9156// AzureMLBatchExecutionActivityTypeProperties azure ML Batch Execution activity properties.
9157type AzureMLBatchExecutionActivityTypeProperties struct {
9158	// 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.
9159	GlobalParameters map[string]interface{} `json:"globalParameters"`
9160	// 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.
9161	WebServiceOutputs map[string]*AzureMLWebServiceFile `json:"webServiceOutputs"`
9162	// 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.
9163	WebServiceInputs map[string]*AzureMLWebServiceFile `json:"webServiceInputs"`
9164}
9165
9166// MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivityTypeProperties.
9167func (ambeatp AzureMLBatchExecutionActivityTypeProperties) MarshalJSON() ([]byte, error) {
9168	objectMap := make(map[string]interface{})
9169	if ambeatp.GlobalParameters != nil {
9170		objectMap["globalParameters"] = ambeatp.GlobalParameters
9171	}
9172	if ambeatp.WebServiceOutputs != nil {
9173		objectMap["webServiceOutputs"] = ambeatp.WebServiceOutputs
9174	}
9175	if ambeatp.WebServiceInputs != nil {
9176		objectMap["webServiceInputs"] = ambeatp.WebServiceInputs
9177	}
9178	return json.Marshal(objectMap)
9179}
9180
9181// AzureMLLinkedService azure ML Web Service linked service.
9182type AzureMLLinkedService struct {
9183	// AzureMLLinkedServiceTypeProperties - Azure ML Web Service linked service properties.
9184	*AzureMLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
9185	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
9186	AdditionalProperties map[string]interface{} `json:""`
9187	// ConnectVia - The integration runtime reference.
9188	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
9189	// Description - Linked service description.
9190	Description *string `json:"description,omitempty"`
9191	// Parameters - Parameters for linked service.
9192	Parameters map[string]*ParameterSpecification `json:"parameters"`
9193	// Annotations - List of tags that can be used for describing the Dataset.
9194	Annotations *[]interface{} `json:"annotations,omitempty"`
9195	// 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'
9196	Type TypeBasicLinkedService `json:"type,omitempty"`
9197}
9198
9199// MarshalJSON is the custom marshaler for AzureMLLinkedService.
9200func (amls AzureMLLinkedService) MarshalJSON() ([]byte, error) {
9201	amls.Type = TypeAzureML
9202	objectMap := make(map[string]interface{})
9203	if amls.AzureMLLinkedServiceTypeProperties != nil {
9204		objectMap["typeProperties"] = amls.AzureMLLinkedServiceTypeProperties
9205	}
9206	if amls.ConnectVia != nil {
9207		objectMap["connectVia"] = amls.ConnectVia
9208	}
9209	if amls.Description != nil {
9210		objectMap["description"] = amls.Description
9211	}
9212	if amls.Parameters != nil {
9213		objectMap["parameters"] = amls.Parameters
9214	}
9215	if amls.Annotations != nil {
9216		objectMap["annotations"] = amls.Annotations
9217	}
9218	if amls.Type != "" {
9219		objectMap["type"] = amls.Type
9220	}
9221	for k, v := range amls.AdditionalProperties {
9222		objectMap[k] = v
9223	}
9224	return json.Marshal(objectMap)
9225}
9226
9227// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9228func (amls AzureMLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
9229	return nil, false
9230}
9231
9232// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9233func (amls AzureMLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
9234	return nil, false
9235}
9236
9237// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9238func (amls AzureMLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
9239	return nil, false
9240}
9241
9242// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9243func (amls AzureMLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
9244	return nil, false
9245}
9246
9247// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9248func (amls AzureMLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
9249	return nil, false
9250}
9251
9252// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9253func (amls AzureMLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
9254	return nil, false
9255}
9256
9257// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9258func (amls AzureMLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
9259	return nil, false
9260}
9261
9262// AsZohoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9263func (amls AzureMLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
9264	return nil, false
9265}
9266
9267// AsXeroLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9268func (amls AzureMLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
9269	return nil, false
9270}
9271
9272// AsSquareLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9273func (amls AzureMLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
9274	return nil, false
9275}
9276
9277// AsSparkLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9278func (amls AzureMLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
9279	return nil, false
9280}
9281
9282// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9283func (amls AzureMLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
9284	return nil, false
9285}
9286
9287// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9288func (amls AzureMLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
9289	return nil, false
9290}
9291
9292// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9293func (amls AzureMLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
9294	return nil, false
9295}
9296
9297// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9298func (amls AzureMLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
9299	return nil, false
9300}
9301
9302// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9303func (amls AzureMLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
9304	return nil, false
9305}
9306
9307// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9308func (amls AzureMLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
9309	return nil, false
9310}
9311
9312// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9313func (amls AzureMLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
9314	return nil, false
9315}
9316
9317// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9318func (amls AzureMLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
9319	return nil, false
9320}
9321
9322// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9323func (amls AzureMLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
9324	return nil, false
9325}
9326
9327// AsJiraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9328func (amls AzureMLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
9329	return nil, false
9330}
9331
9332// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9333func (amls AzureMLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
9334	return nil, false
9335}
9336
9337// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9338func (amls AzureMLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
9339	return nil, false
9340}
9341
9342// AsHiveLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9343func (amls AzureMLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
9344	return nil, false
9345}
9346
9347// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9348func (amls AzureMLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
9349	return nil, false
9350}
9351
9352// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9353func (amls AzureMLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
9354	return nil, false
9355}
9356
9357// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9358func (amls AzureMLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
9359	return nil, false
9360}
9361
9362// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9363func (amls AzureMLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
9364	return nil, false
9365}
9366
9367// AsDrillLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9368func (amls AzureMLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
9369	return nil, false
9370}
9371
9372// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9373func (amls AzureMLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
9374	return nil, false
9375}
9376
9377// AsConcurLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9378func (amls AzureMLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
9379	return nil, false
9380}
9381
9382// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9383func (amls AzureMLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
9384	return nil, false
9385}
9386
9387// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9388func (amls AzureMLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
9389	return nil, false
9390}
9391
9392// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9393func (amls AzureMLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
9394	return nil, false
9395}
9396
9397// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9398func (amls AzureMLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
9399	return nil, false
9400}
9401
9402// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9403func (amls AzureMLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
9404	return nil, false
9405}
9406
9407// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9408func (amls AzureMLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
9409	return nil, false
9410}
9411
9412// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9413func (amls AzureMLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
9414	return nil, false
9415}
9416
9417// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9418func (amls AzureMLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
9419	return nil, false
9420}
9421
9422// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9423func (amls AzureMLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
9424	return nil, false
9425}
9426
9427// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9428func (amls AzureMLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
9429	return nil, false
9430}
9431
9432// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9433func (amls AzureMLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
9434	return nil, false
9435}
9436
9437// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9438func (amls AzureMLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
9439	return nil, false
9440}
9441
9442// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9443func (amls AzureMLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
9444	return nil, false
9445}
9446
9447// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9448func (amls AzureMLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
9449	return nil, false
9450}
9451
9452// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9453func (amls AzureMLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
9454	return nil, false
9455}
9456
9457// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9458func (amls AzureMLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
9459	return nil, false
9460}
9461
9462// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9463func (amls AzureMLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
9464	return nil, false
9465}
9466
9467// AsWebLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9468func (amls AzureMLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
9469	return nil, false
9470}
9471
9472// AsODataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9473func (amls AzureMLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
9474	return nil, false
9475}
9476
9477// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9478func (amls AzureMLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
9479	return nil, false
9480}
9481
9482// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9483func (amls AzureMLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
9484	return nil, false
9485}
9486
9487// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9488func (amls AzureMLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
9489	return &amls, true
9490}
9491
9492// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9493func (amls AzureMLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
9494	return nil, false
9495}
9496
9497// AsDb2LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9498func (amls AzureMLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
9499	return nil, false
9500}
9501
9502// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9503func (amls AzureMLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
9504	return nil, false
9505}
9506
9507// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9508func (amls AzureMLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
9509	return nil, false
9510}
9511
9512// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9513func (amls AzureMLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
9514	return nil, false
9515}
9516
9517// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9518func (amls AzureMLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
9519	return nil, false
9520}
9521
9522// AsOracleLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9523func (amls AzureMLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
9524	return nil, false
9525}
9526
9527// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9528func (amls AzureMLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
9529	return nil, false
9530}
9531
9532// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9533func (amls AzureMLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
9534	return nil, false
9535}
9536
9537// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9538func (amls AzureMLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
9539	return nil, false
9540}
9541
9542// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9543func (amls AzureMLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
9544	return nil, false
9545}
9546
9547// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9548func (amls AzureMLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
9549	return nil, false
9550}
9551
9552// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9553func (amls AzureMLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
9554	return nil, false
9555}
9556
9557// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9558func (amls AzureMLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
9559	return nil, false
9560}
9561
9562// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9563func (amls AzureMLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
9564	return nil, false
9565}
9566
9567// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9568func (amls AzureMLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
9569	return nil, false
9570}
9571
9572// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9573func (amls AzureMLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
9574	return nil, false
9575}
9576
9577// AsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9578func (amls AzureMLLinkedService) AsLinkedService() (*LinkedService, bool) {
9579	return nil, false
9580}
9581
9582// AsBasicLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
9583func (amls AzureMLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
9584	return &amls, true
9585}
9586
9587// UnmarshalJSON is the custom unmarshaler for AzureMLLinkedService struct.
9588func (amls *AzureMLLinkedService) UnmarshalJSON(body []byte) error {
9589	var m map[string]*json.RawMessage
9590	err := json.Unmarshal(body, &m)
9591	if err != nil {
9592		return err
9593	}
9594	for k, v := range m {
9595		switch k {
9596		case "typeProperties":
9597			if v != nil {
9598				var azureMLLinkedServiceTypeProperties AzureMLLinkedServiceTypeProperties
9599				err = json.Unmarshal(*v, &azureMLLinkedServiceTypeProperties)
9600				if err != nil {
9601					return err
9602				}
9603				amls.AzureMLLinkedServiceTypeProperties = &azureMLLinkedServiceTypeProperties
9604			}
9605		default:
9606			if v != nil {
9607				var additionalProperties interface{}
9608				err = json.Unmarshal(*v, &additionalProperties)
9609				if err != nil {
9610					return err
9611				}
9612				if amls.AdditionalProperties == nil {
9613					amls.AdditionalProperties = make(map[string]interface{})
9614				}
9615				amls.AdditionalProperties[k] = additionalProperties
9616			}
9617		case "connectVia":
9618			if v != nil {
9619				var connectVia IntegrationRuntimeReference
9620				err = json.Unmarshal(*v, &connectVia)
9621				if err != nil {
9622					return err
9623				}
9624				amls.ConnectVia = &connectVia
9625			}
9626		case "description":
9627			if v != nil {
9628				var description string
9629				err = json.Unmarshal(*v, &description)
9630				if err != nil {
9631					return err
9632				}
9633				amls.Description = &description
9634			}
9635		case "parameters":
9636			if v != nil {
9637				var parameters map[string]*ParameterSpecification
9638				err = json.Unmarshal(*v, &parameters)
9639				if err != nil {
9640					return err
9641				}
9642				amls.Parameters = parameters
9643			}
9644		case "annotations":
9645			if v != nil {
9646				var annotations []interface{}
9647				err = json.Unmarshal(*v, &annotations)
9648				if err != nil {
9649					return err
9650				}
9651				amls.Annotations = &annotations
9652			}
9653		case "type":
9654			if v != nil {
9655				var typeVar TypeBasicLinkedService
9656				err = json.Unmarshal(*v, &typeVar)
9657				if err != nil {
9658					return err
9659				}
9660				amls.Type = typeVar
9661			}
9662		}
9663	}
9664
9665	return nil
9666}
9667
9668// AzureMLLinkedServiceTypeProperties azure ML Web Service linked service properties.
9669type AzureMLLinkedServiceTypeProperties struct {
9670	// MlEndpoint - The Batch Execution REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
9671	MlEndpoint interface{} `json:"mlEndpoint,omitempty"`
9672	// APIKey - The API key for accessing the Azure ML model endpoint.
9673	APIKey BasicSecretBase `json:"apiKey,omitempty"`
9674	// UpdateResourceEndpoint - The Update Resource REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
9675	UpdateResourceEndpoint interface{} `json:"updateResourceEndpoint,omitempty"`
9676	// 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).
9677	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
9678	// ServicePrincipalKey - The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service.
9679	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
9680	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
9681	Tenant interface{} `json:"tenant,omitempty"`
9682	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
9683	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
9684}
9685
9686// UnmarshalJSON is the custom unmarshaler for AzureMLLinkedServiceTypeProperties struct.
9687func (amlstp *AzureMLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
9688	var m map[string]*json.RawMessage
9689	err := json.Unmarshal(body, &m)
9690	if err != nil {
9691		return err
9692	}
9693	for k, v := range m {
9694		switch k {
9695		case "mlEndpoint":
9696			if v != nil {
9697				var mlEndpoint interface{}
9698				err = json.Unmarshal(*v, &mlEndpoint)
9699				if err != nil {
9700					return err
9701				}
9702				amlstp.MlEndpoint = mlEndpoint
9703			}
9704		case "apiKey":
9705			if v != nil {
9706				APIKey, err := unmarshalBasicSecretBase(*v)
9707				if err != nil {
9708					return err
9709				}
9710				amlstp.APIKey = APIKey
9711			}
9712		case "updateResourceEndpoint":
9713			if v != nil {
9714				var updateResourceEndpoint interface{}
9715				err = json.Unmarshal(*v, &updateResourceEndpoint)
9716				if err != nil {
9717					return err
9718				}
9719				amlstp.UpdateResourceEndpoint = updateResourceEndpoint
9720			}
9721		case "servicePrincipalId":
9722			if v != nil {
9723				var servicePrincipalID interface{}
9724				err = json.Unmarshal(*v, &servicePrincipalID)
9725				if err != nil {
9726					return err
9727				}
9728				amlstp.ServicePrincipalID = servicePrincipalID
9729			}
9730		case "servicePrincipalKey":
9731			if v != nil {
9732				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
9733				if err != nil {
9734					return err
9735				}
9736				amlstp.ServicePrincipalKey = servicePrincipalKey
9737			}
9738		case "tenant":
9739			if v != nil {
9740				var tenant interface{}
9741				err = json.Unmarshal(*v, &tenant)
9742				if err != nil {
9743					return err
9744				}
9745				amlstp.Tenant = tenant
9746			}
9747		case "encryptedCredential":
9748			if v != nil {
9749				var encryptedCredential interface{}
9750				err = json.Unmarshal(*v, &encryptedCredential)
9751				if err != nil {
9752					return err
9753				}
9754				amlstp.EncryptedCredential = encryptedCredential
9755			}
9756		}
9757	}
9758
9759	return nil
9760}
9761
9762// AzureMLUpdateResourceActivity azure ML Update Resource management activity.
9763type AzureMLUpdateResourceActivity struct {
9764	// AzureMLUpdateResourceActivityTypeProperties - Azure ML Update Resource management activity properties.
9765	*AzureMLUpdateResourceActivityTypeProperties `json:"typeProperties,omitempty"`
9766	// LinkedServiceName - Linked service reference.
9767	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
9768	// Policy - Activity policy.
9769	Policy *ActivityPolicy `json:"policy,omitempty"`
9770	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
9771	AdditionalProperties map[string]interface{} `json:""`
9772	// Name - Activity name.
9773	Name *string `json:"name,omitempty"`
9774	// Description - Activity description.
9775	Description *string `json:"description,omitempty"`
9776	// DependsOn - Activity depends on condition.
9777	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
9778	// 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'
9779	Type TypeBasicActivity `json:"type,omitempty"`
9780}
9781
9782// MarshalJSON is the custom marshaler for AzureMLUpdateResourceActivity.
9783func (amura AzureMLUpdateResourceActivity) MarshalJSON() ([]byte, error) {
9784	amura.Type = TypeAzureMLUpdateResource
9785	objectMap := make(map[string]interface{})
9786	if amura.AzureMLUpdateResourceActivityTypeProperties != nil {
9787		objectMap["typeProperties"] = amura.AzureMLUpdateResourceActivityTypeProperties
9788	}
9789	if amura.LinkedServiceName != nil {
9790		objectMap["linkedServiceName"] = amura.LinkedServiceName
9791	}
9792	if amura.Policy != nil {
9793		objectMap["policy"] = amura.Policy
9794	}
9795	if amura.Name != nil {
9796		objectMap["name"] = amura.Name
9797	}
9798	if amura.Description != nil {
9799		objectMap["description"] = amura.Description
9800	}
9801	if amura.DependsOn != nil {
9802		objectMap["dependsOn"] = amura.DependsOn
9803	}
9804	if amura.Type != "" {
9805		objectMap["type"] = amura.Type
9806	}
9807	for k, v := range amura.AdditionalProperties {
9808		objectMap[k] = v
9809	}
9810	return json.Marshal(objectMap)
9811}
9812
9813// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9814func (amura AzureMLUpdateResourceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
9815	return nil, false
9816}
9817
9818// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9819func (amura AzureMLUpdateResourceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
9820	return nil, false
9821}
9822
9823// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9824func (amura AzureMLUpdateResourceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
9825	return &amura, true
9826}
9827
9828// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9829func (amura AzureMLUpdateResourceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
9830	return nil, false
9831}
9832
9833// AsGetMetadataActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9834func (amura AzureMLUpdateResourceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
9835	return nil, false
9836}
9837
9838// AsWebActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9839func (amura AzureMLUpdateResourceActivity) AsWebActivity() (*WebActivity, bool) {
9840	return nil, false
9841}
9842
9843// AsLookupActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9844func (amura AzureMLUpdateResourceActivity) AsLookupActivity() (*LookupActivity, bool) {
9845	return nil, false
9846}
9847
9848// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9849func (amura AzureMLUpdateResourceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
9850	return nil, false
9851}
9852
9853// AsCustomActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9854func (amura AzureMLUpdateResourceActivity) AsCustomActivity() (*CustomActivity, bool) {
9855	return nil, false
9856}
9857
9858// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9859func (amura AzureMLUpdateResourceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
9860	return nil, false
9861}
9862
9863// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9864func (amura AzureMLUpdateResourceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
9865	return nil, false
9866}
9867
9868// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9869func (amura AzureMLUpdateResourceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
9870	return nil, false
9871}
9872
9873// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9874func (amura AzureMLUpdateResourceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
9875	return nil, false
9876}
9877
9878// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9879func (amura AzureMLUpdateResourceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
9880	return nil, false
9881}
9882
9883// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9884func (amura AzureMLUpdateResourceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
9885	return nil, false
9886}
9887
9888// AsCopyActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9889func (amura AzureMLUpdateResourceActivity) AsCopyActivity() (*CopyActivity, bool) {
9890	return nil, false
9891}
9892
9893// AsExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9894func (amura AzureMLUpdateResourceActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
9895	return nil, false
9896}
9897
9898// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9899func (amura AzureMLUpdateResourceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
9900	return &amura, true
9901}
9902
9903// AsFilterActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9904func (amura AzureMLUpdateResourceActivity) AsFilterActivity() (*FilterActivity, bool) {
9905	return nil, false
9906}
9907
9908// AsUntilActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9909func (amura AzureMLUpdateResourceActivity) AsUntilActivity() (*UntilActivity, bool) {
9910	return nil, false
9911}
9912
9913// AsWaitActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9914func (amura AzureMLUpdateResourceActivity) AsWaitActivity() (*WaitActivity, bool) {
9915	return nil, false
9916}
9917
9918// AsForEachActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9919func (amura AzureMLUpdateResourceActivity) AsForEachActivity() (*ForEachActivity, bool) {
9920	return nil, false
9921}
9922
9923// AsIfConditionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9924func (amura AzureMLUpdateResourceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
9925	return nil, false
9926}
9927
9928// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9929func (amura AzureMLUpdateResourceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
9930	return nil, false
9931}
9932
9933// AsControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9934func (amura AzureMLUpdateResourceActivity) AsControlActivity() (*ControlActivity, bool) {
9935	return nil, false
9936}
9937
9938// AsBasicControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9939func (amura AzureMLUpdateResourceActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
9940	return nil, false
9941}
9942
9943// AsActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9944func (amura AzureMLUpdateResourceActivity) AsActivity() (*Activity, bool) {
9945	return nil, false
9946}
9947
9948// AsBasicActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
9949func (amura AzureMLUpdateResourceActivity) AsBasicActivity() (BasicActivity, bool) {
9950	return &amura, true
9951}
9952
9953// UnmarshalJSON is the custom unmarshaler for AzureMLUpdateResourceActivity struct.
9954func (amura *AzureMLUpdateResourceActivity) UnmarshalJSON(body []byte) error {
9955	var m map[string]*json.RawMessage
9956	err := json.Unmarshal(body, &m)
9957	if err != nil {
9958		return err
9959	}
9960	for k, v := range m {
9961		switch k {
9962		case "typeProperties":
9963			if v != nil {
9964				var azureMLUpdateResourceActivityTypeProperties AzureMLUpdateResourceActivityTypeProperties
9965				err = json.Unmarshal(*v, &azureMLUpdateResourceActivityTypeProperties)
9966				if err != nil {
9967					return err
9968				}
9969				amura.AzureMLUpdateResourceActivityTypeProperties = &azureMLUpdateResourceActivityTypeProperties
9970			}
9971		case "linkedServiceName":
9972			if v != nil {
9973				var linkedServiceName LinkedServiceReference
9974				err = json.Unmarshal(*v, &linkedServiceName)
9975				if err != nil {
9976					return err
9977				}
9978				amura.LinkedServiceName = &linkedServiceName
9979			}
9980		case "policy":
9981			if v != nil {
9982				var policy ActivityPolicy
9983				err = json.Unmarshal(*v, &policy)
9984				if err != nil {
9985					return err
9986				}
9987				amura.Policy = &policy
9988			}
9989		default:
9990			if v != nil {
9991				var additionalProperties interface{}
9992				err = json.Unmarshal(*v, &additionalProperties)
9993				if err != nil {
9994					return err
9995				}
9996				if amura.AdditionalProperties == nil {
9997					amura.AdditionalProperties = make(map[string]interface{})
9998				}
9999				amura.AdditionalProperties[k] = additionalProperties
10000			}
10001		case "name":
10002			if v != nil {
10003				var name string
10004				err = json.Unmarshal(*v, &name)
10005				if err != nil {
10006					return err
10007				}
10008				amura.Name = &name
10009			}
10010		case "description":
10011			if v != nil {
10012				var description string
10013				err = json.Unmarshal(*v, &description)
10014				if err != nil {
10015					return err
10016				}
10017				amura.Description = &description
10018			}
10019		case "dependsOn":
10020			if v != nil {
10021				var dependsOn []ActivityDependency
10022				err = json.Unmarshal(*v, &dependsOn)
10023				if err != nil {
10024					return err
10025				}
10026				amura.DependsOn = &dependsOn
10027			}
10028		case "type":
10029			if v != nil {
10030				var typeVar TypeBasicActivity
10031				err = json.Unmarshal(*v, &typeVar)
10032				if err != nil {
10033					return err
10034				}
10035				amura.Type = typeVar
10036			}
10037		}
10038	}
10039
10040	return nil
10041}
10042
10043// AzureMLUpdateResourceActivityTypeProperties azure ML Update Resource activity properties.
10044type AzureMLUpdateResourceActivityTypeProperties struct {
10045	// TrainedModelName - Name of the Trained Model module in the Web Service experiment to be updated. Type: string (or Expression with resultType string).
10046	TrainedModelName interface{} `json:"trainedModelName,omitempty"`
10047	// TrainedModelLinkedServiceName - Name of Azure Storage linked service holding the .ilearner file that will be uploaded by the update operation.
10048	TrainedModelLinkedServiceName *LinkedServiceReference `json:"trainedModelLinkedServiceName,omitempty"`
10049	// 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).
10050	TrainedModelFilePath interface{} `json:"trainedModelFilePath,omitempty"`
10051}
10052
10053// AzureMLWebServiceFile azure ML WebService Input/Output file
10054type AzureMLWebServiceFile struct {
10055	// FilePath - The relative file path, including container name, in the Azure Blob Storage specified by the LinkedService. Type: string (or Expression with resultType string).
10056	FilePath interface{} `json:"filePath,omitempty"`
10057	// LinkedServiceName - Reference to an Azure Storage LinkedService, where Azure ML WebService Input/Output file located.
10058	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
10059}
10060
10061// AzureMySQLLinkedService azure MySQL database linked service.
10062type AzureMySQLLinkedService struct {
10063	// AzureMySQLLinkedServiceTypeProperties - Azure MySQL database linked service properties.
10064	*AzureMySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
10065	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10066	AdditionalProperties map[string]interface{} `json:""`
10067	// ConnectVia - The integration runtime reference.
10068	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
10069	// Description - Linked service description.
10070	Description *string `json:"description,omitempty"`
10071	// Parameters - Parameters for linked service.
10072	Parameters map[string]*ParameterSpecification `json:"parameters"`
10073	// Annotations - List of tags that can be used for describing the Dataset.
10074	Annotations *[]interface{} `json:"annotations,omitempty"`
10075	// 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'
10076	Type TypeBasicLinkedService `json:"type,omitempty"`
10077}
10078
10079// MarshalJSON is the custom marshaler for AzureMySQLLinkedService.
10080func (amsls AzureMySQLLinkedService) MarshalJSON() ([]byte, error) {
10081	amsls.Type = TypeAzureMySQL
10082	objectMap := make(map[string]interface{})
10083	if amsls.AzureMySQLLinkedServiceTypeProperties != nil {
10084		objectMap["typeProperties"] = amsls.AzureMySQLLinkedServiceTypeProperties
10085	}
10086	if amsls.ConnectVia != nil {
10087		objectMap["connectVia"] = amsls.ConnectVia
10088	}
10089	if amsls.Description != nil {
10090		objectMap["description"] = amsls.Description
10091	}
10092	if amsls.Parameters != nil {
10093		objectMap["parameters"] = amsls.Parameters
10094	}
10095	if amsls.Annotations != nil {
10096		objectMap["annotations"] = amsls.Annotations
10097	}
10098	if amsls.Type != "" {
10099		objectMap["type"] = amsls.Type
10100	}
10101	for k, v := range amsls.AdditionalProperties {
10102		objectMap[k] = v
10103	}
10104	return json.Marshal(objectMap)
10105}
10106
10107// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10108func (amsls AzureMySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
10109	return nil, false
10110}
10111
10112// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10113func (amsls AzureMySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
10114	return nil, false
10115}
10116
10117// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10118func (amsls AzureMySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
10119	return nil, false
10120}
10121
10122// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10123func (amsls AzureMySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
10124	return nil, false
10125}
10126
10127// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10128func (amsls AzureMySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
10129	return nil, false
10130}
10131
10132// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10133func (amsls AzureMySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
10134	return nil, false
10135}
10136
10137// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10138func (amsls AzureMySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
10139	return nil, false
10140}
10141
10142// AsZohoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10143func (amsls AzureMySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
10144	return nil, false
10145}
10146
10147// AsXeroLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10148func (amsls AzureMySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
10149	return nil, false
10150}
10151
10152// AsSquareLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10153func (amsls AzureMySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
10154	return nil, false
10155}
10156
10157// AsSparkLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10158func (amsls AzureMySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
10159	return nil, false
10160}
10161
10162// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10163func (amsls AzureMySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
10164	return nil, false
10165}
10166
10167// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10168func (amsls AzureMySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
10169	return nil, false
10170}
10171
10172// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10173func (amsls AzureMySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
10174	return nil, false
10175}
10176
10177// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10178func (amsls AzureMySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
10179	return nil, false
10180}
10181
10182// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10183func (amsls AzureMySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
10184	return nil, false
10185}
10186
10187// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10188func (amsls AzureMySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
10189	return nil, false
10190}
10191
10192// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10193func (amsls AzureMySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
10194	return nil, false
10195}
10196
10197// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10198func (amsls AzureMySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
10199	return nil, false
10200}
10201
10202// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10203func (amsls AzureMySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
10204	return nil, false
10205}
10206
10207// AsJiraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10208func (amsls AzureMySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
10209	return nil, false
10210}
10211
10212// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10213func (amsls AzureMySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
10214	return nil, false
10215}
10216
10217// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10218func (amsls AzureMySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
10219	return nil, false
10220}
10221
10222// AsHiveLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10223func (amsls AzureMySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
10224	return nil, false
10225}
10226
10227// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10228func (amsls AzureMySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
10229	return nil, false
10230}
10231
10232// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10233func (amsls AzureMySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
10234	return nil, false
10235}
10236
10237// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10238func (amsls AzureMySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
10239	return nil, false
10240}
10241
10242// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10243func (amsls AzureMySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
10244	return nil, false
10245}
10246
10247// AsDrillLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10248func (amsls AzureMySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
10249	return nil, false
10250}
10251
10252// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10253func (amsls AzureMySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
10254	return nil, false
10255}
10256
10257// AsConcurLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10258func (amsls AzureMySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
10259	return nil, false
10260}
10261
10262// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10263func (amsls AzureMySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
10264	return nil, false
10265}
10266
10267// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10268func (amsls AzureMySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
10269	return nil, false
10270}
10271
10272// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10273func (amsls AzureMySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
10274	return nil, false
10275}
10276
10277// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10278func (amsls AzureMySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
10279	return nil, false
10280}
10281
10282// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10283func (amsls AzureMySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
10284	return nil, false
10285}
10286
10287// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10288func (amsls AzureMySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
10289	return nil, false
10290}
10291
10292// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10293func (amsls AzureMySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
10294	return nil, false
10295}
10296
10297// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10298func (amsls AzureMySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
10299	return nil, false
10300}
10301
10302// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10303func (amsls AzureMySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
10304	return nil, false
10305}
10306
10307// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10308func (amsls AzureMySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
10309	return nil, false
10310}
10311
10312// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10313func (amsls AzureMySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
10314	return nil, false
10315}
10316
10317// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10318func (amsls AzureMySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
10319	return nil, false
10320}
10321
10322// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10323func (amsls AzureMySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
10324	return nil, false
10325}
10326
10327// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10328func (amsls AzureMySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
10329	return nil, false
10330}
10331
10332// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10333func (amsls AzureMySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
10334	return nil, false
10335}
10336
10337// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10338func (amsls AzureMySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
10339	return nil, false
10340}
10341
10342// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10343func (amsls AzureMySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
10344	return nil, false
10345}
10346
10347// AsWebLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10348func (amsls AzureMySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
10349	return nil, false
10350}
10351
10352// AsODataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10353func (amsls AzureMySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
10354	return nil, false
10355}
10356
10357// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10358func (amsls AzureMySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
10359	return nil, false
10360}
10361
10362// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10363func (amsls AzureMySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
10364	return nil, false
10365}
10366
10367// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10368func (amsls AzureMySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
10369	return nil, false
10370}
10371
10372// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10373func (amsls AzureMySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
10374	return nil, false
10375}
10376
10377// AsDb2LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10378func (amsls AzureMySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
10379	return nil, false
10380}
10381
10382// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10383func (amsls AzureMySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
10384	return nil, false
10385}
10386
10387// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10388func (amsls AzureMySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
10389	return nil, false
10390}
10391
10392// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10393func (amsls AzureMySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
10394	return nil, false
10395}
10396
10397// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10398func (amsls AzureMySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
10399	return &amsls, true
10400}
10401
10402// AsOracleLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10403func (amsls AzureMySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
10404	return nil, false
10405}
10406
10407// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10408func (amsls AzureMySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
10409	return nil, false
10410}
10411
10412// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10413func (amsls AzureMySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
10414	return nil, false
10415}
10416
10417// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10418func (amsls AzureMySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
10419	return nil, false
10420}
10421
10422// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10423func (amsls AzureMySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
10424	return nil, false
10425}
10426
10427// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10428func (amsls AzureMySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
10429	return nil, false
10430}
10431
10432// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10433func (amsls AzureMySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
10434	return nil, false
10435}
10436
10437// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10438func (amsls AzureMySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
10439	return nil, false
10440}
10441
10442// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10443func (amsls AzureMySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
10444	return nil, false
10445}
10446
10447// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10448func (amsls AzureMySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
10449	return nil, false
10450}
10451
10452// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10453func (amsls AzureMySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
10454	return nil, false
10455}
10456
10457// AsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10458func (amsls AzureMySQLLinkedService) AsLinkedService() (*LinkedService, bool) {
10459	return nil, false
10460}
10461
10462// AsBasicLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
10463func (amsls AzureMySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
10464	return &amsls, true
10465}
10466
10467// UnmarshalJSON is the custom unmarshaler for AzureMySQLLinkedService struct.
10468func (amsls *AzureMySQLLinkedService) UnmarshalJSON(body []byte) error {
10469	var m map[string]*json.RawMessage
10470	err := json.Unmarshal(body, &m)
10471	if err != nil {
10472		return err
10473	}
10474	for k, v := range m {
10475		switch k {
10476		case "typeProperties":
10477			if v != nil {
10478				var azureMySQLLinkedServiceTypeProperties AzureMySQLLinkedServiceTypeProperties
10479				err = json.Unmarshal(*v, &azureMySQLLinkedServiceTypeProperties)
10480				if err != nil {
10481					return err
10482				}
10483				amsls.AzureMySQLLinkedServiceTypeProperties = &azureMySQLLinkedServiceTypeProperties
10484			}
10485		default:
10486			if v != nil {
10487				var additionalProperties interface{}
10488				err = json.Unmarshal(*v, &additionalProperties)
10489				if err != nil {
10490					return err
10491				}
10492				if amsls.AdditionalProperties == nil {
10493					amsls.AdditionalProperties = make(map[string]interface{})
10494				}
10495				amsls.AdditionalProperties[k] = additionalProperties
10496			}
10497		case "connectVia":
10498			if v != nil {
10499				var connectVia IntegrationRuntimeReference
10500				err = json.Unmarshal(*v, &connectVia)
10501				if err != nil {
10502					return err
10503				}
10504				amsls.ConnectVia = &connectVia
10505			}
10506		case "description":
10507			if v != nil {
10508				var description string
10509				err = json.Unmarshal(*v, &description)
10510				if err != nil {
10511					return err
10512				}
10513				amsls.Description = &description
10514			}
10515		case "parameters":
10516			if v != nil {
10517				var parameters map[string]*ParameterSpecification
10518				err = json.Unmarshal(*v, &parameters)
10519				if err != nil {
10520					return err
10521				}
10522				amsls.Parameters = parameters
10523			}
10524		case "annotations":
10525			if v != nil {
10526				var annotations []interface{}
10527				err = json.Unmarshal(*v, &annotations)
10528				if err != nil {
10529					return err
10530				}
10531				amsls.Annotations = &annotations
10532			}
10533		case "type":
10534			if v != nil {
10535				var typeVar TypeBasicLinkedService
10536				err = json.Unmarshal(*v, &typeVar)
10537				if err != nil {
10538					return err
10539				}
10540				amsls.Type = typeVar
10541			}
10542		}
10543	}
10544
10545	return nil
10546}
10547
10548// AzureMySQLLinkedServiceTypeProperties azure MySQL database linked service properties.
10549type AzureMySQLLinkedServiceTypeProperties struct {
10550	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
10551	ConnectionString interface{} `json:"connectionString,omitempty"`
10552	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
10553	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
10554}
10555
10556// AzureMySQLSource a copy activity Azure MySQL source.
10557type AzureMySQLSource struct {
10558	// Query - Database query. Type: string (or Expression with resultType string).
10559	Query interface{} `json:"query,omitempty"`
10560	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10561	AdditionalProperties map[string]interface{} `json:""`
10562	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
10563	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
10564	// 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])).
10565	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
10566	// 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'
10567	Type TypeBasicCopySource `json:"type,omitempty"`
10568}
10569
10570// MarshalJSON is the custom marshaler for AzureMySQLSource.
10571func (amss AzureMySQLSource) MarshalJSON() ([]byte, error) {
10572	amss.Type = TypeAzureMySQLSource
10573	objectMap := make(map[string]interface{})
10574	if amss.Query != nil {
10575		objectMap["query"] = amss.Query
10576	}
10577	if amss.SourceRetryCount != nil {
10578		objectMap["sourceRetryCount"] = amss.SourceRetryCount
10579	}
10580	if amss.SourceRetryWait != nil {
10581		objectMap["sourceRetryWait"] = amss.SourceRetryWait
10582	}
10583	if amss.Type != "" {
10584		objectMap["type"] = amss.Type
10585	}
10586	for k, v := range amss.AdditionalProperties {
10587		objectMap[k] = v
10588	}
10589	return json.Marshal(objectMap)
10590}
10591
10592// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMySQLSource.
10593func (amss AzureMySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
10594	return nil, false
10595}
10596
10597// AsResponsysSource is the BasicCopySource implementation for AzureMySQLSource.
10598func (amss AzureMySQLSource) AsResponsysSource() (*ResponsysSource, bool) {
10599	return nil, false
10600}
10601
10602// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureMySQLSource.
10603func (amss AzureMySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
10604	return nil, false
10605}
10606
10607// AsVerticaSource is the BasicCopySource implementation for AzureMySQLSource.
10608func (amss AzureMySQLSource) AsVerticaSource() (*VerticaSource, bool) {
10609	return nil, false
10610}
10611
10612// AsNetezzaSource is the BasicCopySource implementation for AzureMySQLSource.
10613func (amss AzureMySQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
10614	return nil, false
10615}
10616
10617// AsZohoSource is the BasicCopySource implementation for AzureMySQLSource.
10618func (amss AzureMySQLSource) AsZohoSource() (*ZohoSource, bool) {
10619	return nil, false
10620}
10621
10622// AsXeroSource is the BasicCopySource implementation for AzureMySQLSource.
10623func (amss AzureMySQLSource) AsXeroSource() (*XeroSource, bool) {
10624	return nil, false
10625}
10626
10627// AsSquareSource is the BasicCopySource implementation for AzureMySQLSource.
10628func (amss AzureMySQLSource) AsSquareSource() (*SquareSource, bool) {
10629	return nil, false
10630}
10631
10632// AsSparkSource is the BasicCopySource implementation for AzureMySQLSource.
10633func (amss AzureMySQLSource) AsSparkSource() (*SparkSource, bool) {
10634	return nil, false
10635}
10636
10637// AsShopifySource is the BasicCopySource implementation for AzureMySQLSource.
10638func (amss AzureMySQLSource) AsShopifySource() (*ShopifySource, bool) {
10639	return nil, false
10640}
10641
10642// AsServiceNowSource is the BasicCopySource implementation for AzureMySQLSource.
10643func (amss AzureMySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
10644	return nil, false
10645}
10646
10647// AsQuickBooksSource is the BasicCopySource implementation for AzureMySQLSource.
10648func (amss AzureMySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
10649	return nil, false
10650}
10651
10652// AsPrestoSource is the BasicCopySource implementation for AzureMySQLSource.
10653func (amss AzureMySQLSource) AsPrestoSource() (*PrestoSource, bool) {
10654	return nil, false
10655}
10656
10657// AsPhoenixSource is the BasicCopySource implementation for AzureMySQLSource.
10658func (amss AzureMySQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
10659	return nil, false
10660}
10661
10662// AsPaypalSource is the BasicCopySource implementation for AzureMySQLSource.
10663func (amss AzureMySQLSource) AsPaypalSource() (*PaypalSource, bool) {
10664	return nil, false
10665}
10666
10667// AsMarketoSource is the BasicCopySource implementation for AzureMySQLSource.
10668func (amss AzureMySQLSource) AsMarketoSource() (*MarketoSource, bool) {
10669	return nil, false
10670}
10671
10672// AsMariaDBSource is the BasicCopySource implementation for AzureMySQLSource.
10673func (amss AzureMySQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
10674	return nil, false
10675}
10676
10677// AsMagentoSource is the BasicCopySource implementation for AzureMySQLSource.
10678func (amss AzureMySQLSource) AsMagentoSource() (*MagentoSource, bool) {
10679	return nil, false
10680}
10681
10682// AsJiraSource is the BasicCopySource implementation for AzureMySQLSource.
10683func (amss AzureMySQLSource) AsJiraSource() (*JiraSource, bool) {
10684	return nil, false
10685}
10686
10687// AsImpalaSource is the BasicCopySource implementation for AzureMySQLSource.
10688func (amss AzureMySQLSource) AsImpalaSource() (*ImpalaSource, bool) {
10689	return nil, false
10690}
10691
10692// AsHubspotSource is the BasicCopySource implementation for AzureMySQLSource.
10693func (amss AzureMySQLSource) AsHubspotSource() (*HubspotSource, bool) {
10694	return nil, false
10695}
10696
10697// AsHiveSource is the BasicCopySource implementation for AzureMySQLSource.
10698func (amss AzureMySQLSource) AsHiveSource() (*HiveSource, bool) {
10699	return nil, false
10700}
10701
10702// AsHBaseSource is the BasicCopySource implementation for AzureMySQLSource.
10703func (amss AzureMySQLSource) AsHBaseSource() (*HBaseSource, bool) {
10704	return nil, false
10705}
10706
10707// AsGreenplumSource is the BasicCopySource implementation for AzureMySQLSource.
10708func (amss AzureMySQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
10709	return nil, false
10710}
10711
10712// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureMySQLSource.
10713func (amss AzureMySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
10714	return nil, false
10715}
10716
10717// AsEloquaSource is the BasicCopySource implementation for AzureMySQLSource.
10718func (amss AzureMySQLSource) AsEloquaSource() (*EloquaSource, bool) {
10719	return nil, false
10720}
10721
10722// AsDrillSource is the BasicCopySource implementation for AzureMySQLSource.
10723func (amss AzureMySQLSource) AsDrillSource() (*DrillSource, bool) {
10724	return nil, false
10725}
10726
10727// AsCouchbaseSource is the BasicCopySource implementation for AzureMySQLSource.
10728func (amss AzureMySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
10729	return nil, false
10730}
10731
10732// AsConcurSource is the BasicCopySource implementation for AzureMySQLSource.
10733func (amss AzureMySQLSource) AsConcurSource() (*ConcurSource, bool) {
10734	return nil, false
10735}
10736
10737// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureMySQLSource.
10738func (amss AzureMySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
10739	return nil, false
10740}
10741
10742// AsAmazonMWSSource is the BasicCopySource implementation for AzureMySQLSource.
10743func (amss AzureMySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
10744	return nil, false
10745}
10746
10747// AsHTTPSource is the BasicCopySource implementation for AzureMySQLSource.
10748func (amss AzureMySQLSource) AsHTTPSource() (*HTTPSource, bool) {
10749	return nil, false
10750}
10751
10752// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMySQLSource.
10753func (amss AzureMySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
10754	return nil, false
10755}
10756
10757// AsMongoDbSource is the BasicCopySource implementation for AzureMySQLSource.
10758func (amss AzureMySQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
10759	return nil, false
10760}
10761
10762// AsCassandraSource is the BasicCopySource implementation for AzureMySQLSource.
10763func (amss AzureMySQLSource) AsCassandraSource() (*CassandraSource, bool) {
10764	return nil, false
10765}
10766
10767// AsWebSource is the BasicCopySource implementation for AzureMySQLSource.
10768func (amss AzureMySQLSource) AsWebSource() (*WebSource, bool) {
10769	return nil, false
10770}
10771
10772// AsOracleSource is the BasicCopySource implementation for AzureMySQLSource.
10773func (amss AzureMySQLSource) AsOracleSource() (*OracleSource, bool) {
10774	return nil, false
10775}
10776
10777// AsAzureMySQLSource is the BasicCopySource implementation for AzureMySQLSource.
10778func (amss AzureMySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
10779	return &amss, true
10780}
10781
10782// AsHdfsSource is the BasicCopySource implementation for AzureMySQLSource.
10783func (amss AzureMySQLSource) AsHdfsSource() (*HdfsSource, bool) {
10784	return nil, false
10785}
10786
10787// AsFileSystemSource is the BasicCopySource implementation for AzureMySQLSource.
10788func (amss AzureMySQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
10789	return nil, false
10790}
10791
10792// AsSQLDWSource is the BasicCopySource implementation for AzureMySQLSource.
10793func (amss AzureMySQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
10794	return nil, false
10795}
10796
10797// AsSQLSource is the BasicCopySource implementation for AzureMySQLSource.
10798func (amss AzureMySQLSource) AsSQLSource() (*SQLSource, bool) {
10799	return nil, false
10800}
10801
10802// AsSapEccSource is the BasicCopySource implementation for AzureMySQLSource.
10803func (amss AzureMySQLSource) AsSapEccSource() (*SapEccSource, bool) {
10804	return nil, false
10805}
10806
10807// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureMySQLSource.
10808func (amss AzureMySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
10809	return nil, false
10810}
10811
10812// AsSalesforceSource is the BasicCopySource implementation for AzureMySQLSource.
10813func (amss AzureMySQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
10814	return nil, false
10815}
10816
10817// AsRelationalSource is the BasicCopySource implementation for AzureMySQLSource.
10818func (amss AzureMySQLSource) AsRelationalSource() (*RelationalSource, bool) {
10819	return nil, false
10820}
10821
10822// AsDynamicsSource is the BasicCopySource implementation for AzureMySQLSource.
10823func (amss AzureMySQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
10824	return nil, false
10825}
10826
10827// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMySQLSource.
10828func (amss AzureMySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
10829	return nil, false
10830}
10831
10832// AsBlobSource is the BasicCopySource implementation for AzureMySQLSource.
10833func (amss AzureMySQLSource) AsBlobSource() (*BlobSource, bool) {
10834	return nil, false
10835}
10836
10837// AsAzureTableSource is the BasicCopySource implementation for AzureMySQLSource.
10838func (amss AzureMySQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
10839	return nil, false
10840}
10841
10842// AsCopySource is the BasicCopySource implementation for AzureMySQLSource.
10843func (amss AzureMySQLSource) AsCopySource() (*CopySource, bool) {
10844	return nil, false
10845}
10846
10847// AsBasicCopySource is the BasicCopySource implementation for AzureMySQLSource.
10848func (amss AzureMySQLSource) AsBasicCopySource() (BasicCopySource, bool) {
10849	return &amss, true
10850}
10851
10852// UnmarshalJSON is the custom unmarshaler for AzureMySQLSource struct.
10853func (amss *AzureMySQLSource) UnmarshalJSON(body []byte) error {
10854	var m map[string]*json.RawMessage
10855	err := json.Unmarshal(body, &m)
10856	if err != nil {
10857		return err
10858	}
10859	for k, v := range m {
10860		switch k {
10861		case "query":
10862			if v != nil {
10863				var query interface{}
10864				err = json.Unmarshal(*v, &query)
10865				if err != nil {
10866					return err
10867				}
10868				amss.Query = query
10869			}
10870		default:
10871			if v != nil {
10872				var additionalProperties interface{}
10873				err = json.Unmarshal(*v, &additionalProperties)
10874				if err != nil {
10875					return err
10876				}
10877				if amss.AdditionalProperties == nil {
10878					amss.AdditionalProperties = make(map[string]interface{})
10879				}
10880				amss.AdditionalProperties[k] = additionalProperties
10881			}
10882		case "sourceRetryCount":
10883			if v != nil {
10884				var sourceRetryCount interface{}
10885				err = json.Unmarshal(*v, &sourceRetryCount)
10886				if err != nil {
10887					return err
10888				}
10889				amss.SourceRetryCount = sourceRetryCount
10890			}
10891		case "sourceRetryWait":
10892			if v != nil {
10893				var sourceRetryWait interface{}
10894				err = json.Unmarshal(*v, &sourceRetryWait)
10895				if err != nil {
10896					return err
10897				}
10898				amss.SourceRetryWait = sourceRetryWait
10899			}
10900		case "type":
10901			if v != nil {
10902				var typeVar TypeBasicCopySource
10903				err = json.Unmarshal(*v, &typeVar)
10904				if err != nil {
10905					return err
10906				}
10907				amss.Type = typeVar
10908			}
10909		}
10910	}
10911
10912	return nil
10913}
10914
10915// AzureMySQLTableDataset the Azure MySQL database dataset.
10916type AzureMySQLTableDataset struct {
10917	// AzureMySQLTableDatasetTypeProperties - Azure MySQL database dataset properties.
10918	*AzureMySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
10919	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10920	AdditionalProperties map[string]interface{} `json:""`
10921	// Description - Dataset description.
10922	Description *string `json:"description,omitempty"`
10923	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
10924	Structure interface{} `json:"structure,omitempty"`
10925	// LinkedServiceName - Linked service reference.
10926	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
10927	// Parameters - Parameters for dataset.
10928	Parameters map[string]*ParameterSpecification `json:"parameters"`
10929	// Annotations - List of tags that can be used for describing the Dataset.
10930	Annotations *[]interface{} `json:"annotations,omitempty"`
10931	// 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'
10932	Type TypeBasicDataset `json:"type,omitempty"`
10933}
10934
10935// MarshalJSON is the custom marshaler for AzureMySQLTableDataset.
10936func (amstd AzureMySQLTableDataset) MarshalJSON() ([]byte, error) {
10937	amstd.Type = TypeAzureMySQLTable
10938	objectMap := make(map[string]interface{})
10939	if amstd.AzureMySQLTableDatasetTypeProperties != nil {
10940		objectMap["typeProperties"] = amstd.AzureMySQLTableDatasetTypeProperties
10941	}
10942	if amstd.Description != nil {
10943		objectMap["description"] = amstd.Description
10944	}
10945	if amstd.Structure != nil {
10946		objectMap["structure"] = amstd.Structure
10947	}
10948	if amstd.LinkedServiceName != nil {
10949		objectMap["linkedServiceName"] = amstd.LinkedServiceName
10950	}
10951	if amstd.Parameters != nil {
10952		objectMap["parameters"] = amstd.Parameters
10953	}
10954	if amstd.Annotations != nil {
10955		objectMap["annotations"] = amstd.Annotations
10956	}
10957	if amstd.Type != "" {
10958		objectMap["type"] = amstd.Type
10959	}
10960	for k, v := range amstd.AdditionalProperties {
10961		objectMap[k] = v
10962	}
10963	return json.Marshal(objectMap)
10964}
10965
10966// AsResponsysObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10967func (amstd AzureMySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
10968	return nil, false
10969}
10970
10971// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10972func (amstd AzureMySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
10973	return nil, false
10974}
10975
10976// AsVerticaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10977func (amstd AzureMySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
10978	return nil, false
10979}
10980
10981// AsNetezzaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10982func (amstd AzureMySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
10983	return nil, false
10984}
10985
10986// AsZohoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10987func (amstd AzureMySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
10988	return nil, false
10989}
10990
10991// AsXeroObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10992func (amstd AzureMySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
10993	return nil, false
10994}
10995
10996// AsSquareObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
10997func (amstd AzureMySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
10998	return nil, false
10999}
11000
11001// AsSparkObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11002func (amstd AzureMySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
11003	return nil, false
11004}
11005
11006// AsShopifyObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11007func (amstd AzureMySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
11008	return nil, false
11009}
11010
11011// AsServiceNowObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11012func (amstd AzureMySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
11013	return nil, false
11014}
11015
11016// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11017func (amstd AzureMySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
11018	return nil, false
11019}
11020
11021// AsPrestoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11022func (amstd AzureMySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
11023	return nil, false
11024}
11025
11026// AsPhoenixObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11027func (amstd AzureMySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
11028	return nil, false
11029}
11030
11031// AsPaypalObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11032func (amstd AzureMySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
11033	return nil, false
11034}
11035
11036// AsMarketoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11037func (amstd AzureMySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
11038	return nil, false
11039}
11040
11041// AsMariaDBTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11042func (amstd AzureMySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
11043	return nil, false
11044}
11045
11046// AsMagentoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11047func (amstd AzureMySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
11048	return nil, false
11049}
11050
11051// AsJiraObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11052func (amstd AzureMySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
11053	return nil, false
11054}
11055
11056// AsImpalaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11057func (amstd AzureMySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
11058	return nil, false
11059}
11060
11061// AsHubspotObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11062func (amstd AzureMySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
11063	return nil, false
11064}
11065
11066// AsHiveObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11067func (amstd AzureMySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
11068	return nil, false
11069}
11070
11071// AsHBaseObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11072func (amstd AzureMySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
11073	return nil, false
11074}
11075
11076// AsGreenplumTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11077func (amstd AzureMySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
11078	return nil, false
11079}
11080
11081// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11082func (amstd AzureMySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
11083	return nil, false
11084}
11085
11086// AsEloquaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11087func (amstd AzureMySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
11088	return nil, false
11089}
11090
11091// AsDrillTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11092func (amstd AzureMySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
11093	return nil, false
11094}
11095
11096// AsCouchbaseTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11097func (amstd AzureMySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
11098	return nil, false
11099}
11100
11101// AsConcurObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11102func (amstd AzureMySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
11103	return nil, false
11104}
11105
11106// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11107func (amstd AzureMySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
11108	return nil, false
11109}
11110
11111// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11112func (amstd AzureMySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
11113	return nil, false
11114}
11115
11116// AsHTTPDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11117func (amstd AzureMySQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
11118	return nil, false
11119}
11120
11121// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11122func (amstd AzureMySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
11123	return nil, false
11124}
11125
11126// AsWebTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11127func (amstd AzureMySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
11128	return nil, false
11129}
11130
11131// AsSQLServerTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11132func (amstd AzureMySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
11133	return nil, false
11134}
11135
11136// AsSapEccResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11137func (amstd AzureMySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
11138	return nil, false
11139}
11140
11141// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11142func (amstd AzureMySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
11143	return nil, false
11144}
11145
11146// AsSalesforceObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11147func (amstd AzureMySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
11148	return nil, false
11149}
11150
11151// AsRelationalTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11152func (amstd AzureMySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
11153	return nil, false
11154}
11155
11156// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11157func (amstd AzureMySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
11158	return &amstd, true
11159}
11160
11161// AsOracleTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11162func (amstd AzureMySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
11163	return nil, false
11164}
11165
11166// AsODataResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11167func (amstd AzureMySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
11168	return nil, false
11169}
11170
11171// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11172func (amstd AzureMySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
11173	return nil, false
11174}
11175
11176// AsFileShareDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11177func (amstd AzureMySQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
11178	return nil, false
11179}
11180
11181// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11182func (amstd AzureMySQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
11183	return nil, false
11184}
11185
11186// AsDynamicsEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11187func (amstd AzureMySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
11188	return nil, false
11189}
11190
11191// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11192func (amstd AzureMySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
11193	return nil, false
11194}
11195
11196// AsCustomDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11197func (amstd AzureMySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
11198	return nil, false
11199}
11200
11201// AsCassandraTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11202func (amstd AzureMySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
11203	return nil, false
11204}
11205
11206// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11207func (amstd AzureMySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
11208	return nil, false
11209}
11210
11211// AsAzureSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11212func (amstd AzureMySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
11213	return nil, false
11214}
11215
11216// AsAzureTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11217func (amstd AzureMySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
11218	return nil, false
11219}
11220
11221// AsAzureBlobDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11222func (amstd AzureMySQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
11223	return nil, false
11224}
11225
11226// AsAmazonS3Dataset is the BasicDataset implementation for AzureMySQLTableDataset.
11227func (amstd AzureMySQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
11228	return nil, false
11229}
11230
11231// AsDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11232func (amstd AzureMySQLTableDataset) AsDataset() (*Dataset, bool) {
11233	return nil, false
11234}
11235
11236// AsBasicDataset is the BasicDataset implementation for AzureMySQLTableDataset.
11237func (amstd AzureMySQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
11238	return &amstd, true
11239}
11240
11241// UnmarshalJSON is the custom unmarshaler for AzureMySQLTableDataset struct.
11242func (amstd *AzureMySQLTableDataset) UnmarshalJSON(body []byte) error {
11243	var m map[string]*json.RawMessage
11244	err := json.Unmarshal(body, &m)
11245	if err != nil {
11246		return err
11247	}
11248	for k, v := range m {
11249		switch k {
11250		case "typeProperties":
11251			if v != nil {
11252				var azureMySQLTableDatasetTypeProperties AzureMySQLTableDatasetTypeProperties
11253				err = json.Unmarshal(*v, &azureMySQLTableDatasetTypeProperties)
11254				if err != nil {
11255					return err
11256				}
11257				amstd.AzureMySQLTableDatasetTypeProperties = &azureMySQLTableDatasetTypeProperties
11258			}
11259		default:
11260			if v != nil {
11261				var additionalProperties interface{}
11262				err = json.Unmarshal(*v, &additionalProperties)
11263				if err != nil {
11264					return err
11265				}
11266				if amstd.AdditionalProperties == nil {
11267					amstd.AdditionalProperties = make(map[string]interface{})
11268				}
11269				amstd.AdditionalProperties[k] = additionalProperties
11270			}
11271		case "description":
11272			if v != nil {
11273				var description string
11274				err = json.Unmarshal(*v, &description)
11275				if err != nil {
11276					return err
11277				}
11278				amstd.Description = &description
11279			}
11280		case "structure":
11281			if v != nil {
11282				var structure interface{}
11283				err = json.Unmarshal(*v, &structure)
11284				if err != nil {
11285					return err
11286				}
11287				amstd.Structure = structure
11288			}
11289		case "linkedServiceName":
11290			if v != nil {
11291				var linkedServiceName LinkedServiceReference
11292				err = json.Unmarshal(*v, &linkedServiceName)
11293				if err != nil {
11294					return err
11295				}
11296				amstd.LinkedServiceName = &linkedServiceName
11297			}
11298		case "parameters":
11299			if v != nil {
11300				var parameters map[string]*ParameterSpecification
11301				err = json.Unmarshal(*v, &parameters)
11302				if err != nil {
11303					return err
11304				}
11305				amstd.Parameters = parameters
11306			}
11307		case "annotations":
11308			if v != nil {
11309				var annotations []interface{}
11310				err = json.Unmarshal(*v, &annotations)
11311				if err != nil {
11312					return err
11313				}
11314				amstd.Annotations = &annotations
11315			}
11316		case "type":
11317			if v != nil {
11318				var typeVar TypeBasicDataset
11319				err = json.Unmarshal(*v, &typeVar)
11320				if err != nil {
11321					return err
11322				}
11323				amstd.Type = typeVar
11324			}
11325		}
11326	}
11327
11328	return nil
11329}
11330
11331// AzureMySQLTableDatasetTypeProperties azure MySQL database dataset properties.
11332type AzureMySQLTableDatasetTypeProperties struct {
11333	// TableName - The Azure MySQL database table name. Type: string (or Expression with resultType string).
11334	TableName interface{} `json:"tableName,omitempty"`
11335}
11336
11337// AzurePostgreSQLLinkedService azure PostgreSQL linked service.
11338type AzurePostgreSQLLinkedService struct {
11339	// AzurePostgreSQLLinkedServiceTypeProperties - Azure PostgreSQL linked service properties.
11340	*AzurePostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
11341	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
11342	AdditionalProperties map[string]interface{} `json:""`
11343	// ConnectVia - The integration runtime reference.
11344	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
11345	// Description - Linked service description.
11346	Description *string `json:"description,omitempty"`
11347	// Parameters - Parameters for linked service.
11348	Parameters map[string]*ParameterSpecification `json:"parameters"`
11349	// Annotations - List of tags that can be used for describing the Dataset.
11350	Annotations *[]interface{} `json:"annotations,omitempty"`
11351	// 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'
11352	Type TypeBasicLinkedService `json:"type,omitempty"`
11353}
11354
11355// MarshalJSON is the custom marshaler for AzurePostgreSQLLinkedService.
11356func (apsls AzurePostgreSQLLinkedService) MarshalJSON() ([]byte, error) {
11357	apsls.Type = TypeAzurePostgreSQL
11358	objectMap := make(map[string]interface{})
11359	if apsls.AzurePostgreSQLLinkedServiceTypeProperties != nil {
11360		objectMap["typeProperties"] = apsls.AzurePostgreSQLLinkedServiceTypeProperties
11361	}
11362	if apsls.ConnectVia != nil {
11363		objectMap["connectVia"] = apsls.ConnectVia
11364	}
11365	if apsls.Description != nil {
11366		objectMap["description"] = apsls.Description
11367	}
11368	if apsls.Parameters != nil {
11369		objectMap["parameters"] = apsls.Parameters
11370	}
11371	if apsls.Annotations != nil {
11372		objectMap["annotations"] = apsls.Annotations
11373	}
11374	if apsls.Type != "" {
11375		objectMap["type"] = apsls.Type
11376	}
11377	for k, v := range apsls.AdditionalProperties {
11378		objectMap[k] = v
11379	}
11380	return json.Marshal(objectMap)
11381}
11382
11383// AsResponsysLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11384func (apsls AzurePostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
11385	return nil, false
11386}
11387
11388// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11389func (apsls AzurePostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
11390	return nil, false
11391}
11392
11393// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11394func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
11395	return nil, false
11396}
11397
11398// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11399func (apsls AzurePostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
11400	return nil, false
11401}
11402
11403// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11404func (apsls AzurePostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
11405	return nil, false
11406}
11407
11408// AsNetezzaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11409func (apsls AzurePostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
11410	return nil, false
11411}
11412
11413// AsVerticaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11414func (apsls AzurePostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
11415	return nil, false
11416}
11417
11418// AsZohoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11419func (apsls AzurePostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
11420	return nil, false
11421}
11422
11423// AsXeroLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11424func (apsls AzurePostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
11425	return nil, false
11426}
11427
11428// AsSquareLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11429func (apsls AzurePostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
11430	return nil, false
11431}
11432
11433// AsSparkLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11434func (apsls AzurePostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
11435	return nil, false
11436}
11437
11438// AsShopifyLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11439func (apsls AzurePostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
11440	return nil, false
11441}
11442
11443// AsServiceNowLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11444func (apsls AzurePostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
11445	return nil, false
11446}
11447
11448// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11449func (apsls AzurePostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
11450	return nil, false
11451}
11452
11453// AsPrestoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11454func (apsls AzurePostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
11455	return nil, false
11456}
11457
11458// AsPhoenixLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11459func (apsls AzurePostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
11460	return nil, false
11461}
11462
11463// AsPaypalLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11464func (apsls AzurePostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
11465	return nil, false
11466}
11467
11468// AsMarketoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11469func (apsls AzurePostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
11470	return nil, false
11471}
11472
11473// AsMariaDBLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11474func (apsls AzurePostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
11475	return nil, false
11476}
11477
11478// AsMagentoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11479func (apsls AzurePostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
11480	return nil, false
11481}
11482
11483// AsJiraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11484func (apsls AzurePostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
11485	return nil, false
11486}
11487
11488// AsImpalaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11489func (apsls AzurePostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
11490	return nil, false
11491}
11492
11493// AsHubspotLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11494func (apsls AzurePostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
11495	return nil, false
11496}
11497
11498// AsHiveLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11499func (apsls AzurePostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
11500	return nil, false
11501}
11502
11503// AsHBaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11504func (apsls AzurePostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
11505	return nil, false
11506}
11507
11508// AsGreenplumLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11509func (apsls AzurePostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
11510	return nil, false
11511}
11512
11513// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11514func (apsls AzurePostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
11515	return nil, false
11516}
11517
11518// AsEloquaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11519func (apsls AzurePostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
11520	return nil, false
11521}
11522
11523// AsDrillLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11524func (apsls AzurePostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
11525	return nil, false
11526}
11527
11528// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11529func (apsls AzurePostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
11530	return nil, false
11531}
11532
11533// AsConcurLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11534func (apsls AzurePostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
11535	return nil, false
11536}
11537
11538// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11539func (apsls AzurePostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
11540	return &apsls, true
11541}
11542
11543// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11544func (apsls AzurePostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
11545	return nil, false
11546}
11547
11548// AsSapHanaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11549func (apsls AzurePostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
11550	return nil, false
11551}
11552
11553// AsSapBWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11554func (apsls AzurePostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
11555	return nil, false
11556}
11557
11558// AsSftpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11559func (apsls AzurePostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
11560	return nil, false
11561}
11562
11563// AsFtpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11564func (apsls AzurePostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
11565	return nil, false
11566}
11567
11568// AsHTTPLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11569func (apsls AzurePostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
11570	return nil, false
11571}
11572
11573// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11574func (apsls AzurePostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
11575	return nil, false
11576}
11577
11578// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11579func (apsls AzurePostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
11580	return nil, false
11581}
11582
11583// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11584func (apsls AzurePostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
11585	return nil, false
11586}
11587
11588// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11589func (apsls AzurePostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
11590	return nil, false
11591}
11592
11593// AsSapEccLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11594func (apsls AzurePostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
11595	return nil, false
11596}
11597
11598// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11599func (apsls AzurePostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
11600	return nil, false
11601}
11602
11603// AsSalesforceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11604func (apsls AzurePostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
11605	return nil, false
11606}
11607
11608// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11609func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
11610	return nil, false
11611}
11612
11613// AsMongoDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11614func (apsls AzurePostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
11615	return nil, false
11616}
11617
11618// AsCassandraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11619func (apsls AzurePostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
11620	return nil, false
11621}
11622
11623// AsWebLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11624func (apsls AzurePostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
11625	return nil, false
11626}
11627
11628// AsODataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11629func (apsls AzurePostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
11630	return nil, false
11631}
11632
11633// AsHdfsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11634func (apsls AzurePostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
11635	return nil, false
11636}
11637
11638// AsOdbcLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11639func (apsls AzurePostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
11640	return nil, false
11641}
11642
11643// AsAzureMLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11644func (apsls AzurePostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
11645	return nil, false
11646}
11647
11648// AsTeradataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11649func (apsls AzurePostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
11650	return nil, false
11651}
11652
11653// AsDb2LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11654func (apsls AzurePostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
11655	return nil, false
11656}
11657
11658// AsSybaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11659func (apsls AzurePostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
11660	return nil, false
11661}
11662
11663// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11664func (apsls AzurePostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
11665	return nil, false
11666}
11667
11668// AsMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11669func (apsls AzurePostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
11670	return nil, false
11671}
11672
11673// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11674func (apsls AzurePostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
11675	return nil, false
11676}
11677
11678// AsOracleLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11679func (apsls AzurePostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
11680	return nil, false
11681}
11682
11683// AsFileServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11684func (apsls AzurePostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
11685	return nil, false
11686}
11687
11688// AsHDInsightLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11689func (apsls AzurePostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
11690	return nil, false
11691}
11692
11693// AsDynamicsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11694func (apsls AzurePostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
11695	return nil, false
11696}
11697
11698// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11699func (apsls AzurePostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
11700	return nil, false
11701}
11702
11703// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11704func (apsls AzurePostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
11705	return nil, false
11706}
11707
11708// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11709func (apsls AzurePostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
11710	return nil, false
11711}
11712
11713// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11714func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
11715	return nil, false
11716}
11717
11718// AsSQLServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11719func (apsls AzurePostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
11720	return nil, false
11721}
11722
11723// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11724func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
11725	return nil, false
11726}
11727
11728// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11729func (apsls AzurePostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
11730	return nil, false
11731}
11732
11733// AsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11734func (apsls AzurePostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) {
11735	return nil, false
11736}
11737
11738// AsBasicLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
11739func (apsls AzurePostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
11740	return &apsls, true
11741}
11742
11743// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLLinkedService struct.
11744func (apsls *AzurePostgreSQLLinkedService) UnmarshalJSON(body []byte) error {
11745	var m map[string]*json.RawMessage
11746	err := json.Unmarshal(body, &m)
11747	if err != nil {
11748		return err
11749	}
11750	for k, v := range m {
11751		switch k {
11752		case "typeProperties":
11753			if v != nil {
11754				var azurePostgreSQLLinkedServiceTypeProperties AzurePostgreSQLLinkedServiceTypeProperties
11755				err = json.Unmarshal(*v, &azurePostgreSQLLinkedServiceTypeProperties)
11756				if err != nil {
11757					return err
11758				}
11759				apsls.AzurePostgreSQLLinkedServiceTypeProperties = &azurePostgreSQLLinkedServiceTypeProperties
11760			}
11761		default:
11762			if v != nil {
11763				var additionalProperties interface{}
11764				err = json.Unmarshal(*v, &additionalProperties)
11765				if err != nil {
11766					return err
11767				}
11768				if apsls.AdditionalProperties == nil {
11769					apsls.AdditionalProperties = make(map[string]interface{})
11770				}
11771				apsls.AdditionalProperties[k] = additionalProperties
11772			}
11773		case "connectVia":
11774			if v != nil {
11775				var connectVia IntegrationRuntimeReference
11776				err = json.Unmarshal(*v, &connectVia)
11777				if err != nil {
11778					return err
11779				}
11780				apsls.ConnectVia = &connectVia
11781			}
11782		case "description":
11783			if v != nil {
11784				var description string
11785				err = json.Unmarshal(*v, &description)
11786				if err != nil {
11787					return err
11788				}
11789				apsls.Description = &description
11790			}
11791		case "parameters":
11792			if v != nil {
11793				var parameters map[string]*ParameterSpecification
11794				err = json.Unmarshal(*v, &parameters)
11795				if err != nil {
11796					return err
11797				}
11798				apsls.Parameters = parameters
11799			}
11800		case "annotations":
11801			if v != nil {
11802				var annotations []interface{}
11803				err = json.Unmarshal(*v, &annotations)
11804				if err != nil {
11805					return err
11806				}
11807				apsls.Annotations = &annotations
11808			}
11809		case "type":
11810			if v != nil {
11811				var typeVar TypeBasicLinkedService
11812				err = json.Unmarshal(*v, &typeVar)
11813				if err != nil {
11814					return err
11815				}
11816				apsls.Type = typeVar
11817			}
11818		}
11819	}
11820
11821	return nil
11822}
11823
11824// AzurePostgreSQLLinkedServiceTypeProperties azure PostgreSQL linked service properties.
11825type AzurePostgreSQLLinkedServiceTypeProperties struct {
11826	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
11827	ConnectionString interface{} `json:"connectionString,omitempty"`
11828	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
11829	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
11830}
11831
11832// AzurePostgreSQLSource a copy activity Azure PostgreSQL source.
11833type AzurePostgreSQLSource struct {
11834	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
11835	Query interface{} `json:"query,omitempty"`
11836	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
11837	AdditionalProperties map[string]interface{} `json:""`
11838	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
11839	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
11840	// 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])).
11841	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
11842	// 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'
11843	Type TypeBasicCopySource `json:"type,omitempty"`
11844}
11845
11846// MarshalJSON is the custom marshaler for AzurePostgreSQLSource.
11847func (apss AzurePostgreSQLSource) MarshalJSON() ([]byte, error) {
11848	apss.Type = TypeAzurePostgreSQLSource
11849	objectMap := make(map[string]interface{})
11850	if apss.Query != nil {
11851		objectMap["query"] = apss.Query
11852	}
11853	if apss.SourceRetryCount != nil {
11854		objectMap["sourceRetryCount"] = apss.SourceRetryCount
11855	}
11856	if apss.SourceRetryWait != nil {
11857		objectMap["sourceRetryWait"] = apss.SourceRetryWait
11858	}
11859	if apss.Type != "" {
11860		objectMap["type"] = apss.Type
11861	}
11862	for k, v := range apss.AdditionalProperties {
11863		objectMap[k] = v
11864	}
11865	return json.Marshal(objectMap)
11866}
11867
11868// AsAmazonRedshiftSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11869func (apss AzurePostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
11870	return nil, false
11871}
11872
11873// AsResponsysSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11874func (apss AzurePostgreSQLSource) AsResponsysSource() (*ResponsysSource, bool) {
11875	return nil, false
11876}
11877
11878// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11879func (apss AzurePostgreSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
11880	return nil, false
11881}
11882
11883// AsVerticaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11884func (apss AzurePostgreSQLSource) AsVerticaSource() (*VerticaSource, bool) {
11885	return nil, false
11886}
11887
11888// AsNetezzaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11889func (apss AzurePostgreSQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
11890	return nil, false
11891}
11892
11893// AsZohoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11894func (apss AzurePostgreSQLSource) AsZohoSource() (*ZohoSource, bool) {
11895	return nil, false
11896}
11897
11898// AsXeroSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11899func (apss AzurePostgreSQLSource) AsXeroSource() (*XeroSource, bool) {
11900	return nil, false
11901}
11902
11903// AsSquareSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11904func (apss AzurePostgreSQLSource) AsSquareSource() (*SquareSource, bool) {
11905	return nil, false
11906}
11907
11908// AsSparkSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11909func (apss AzurePostgreSQLSource) AsSparkSource() (*SparkSource, bool) {
11910	return nil, false
11911}
11912
11913// AsShopifySource is the BasicCopySource implementation for AzurePostgreSQLSource.
11914func (apss AzurePostgreSQLSource) AsShopifySource() (*ShopifySource, bool) {
11915	return nil, false
11916}
11917
11918// AsServiceNowSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11919func (apss AzurePostgreSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
11920	return nil, false
11921}
11922
11923// AsQuickBooksSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11924func (apss AzurePostgreSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
11925	return nil, false
11926}
11927
11928// AsPrestoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11929func (apss AzurePostgreSQLSource) AsPrestoSource() (*PrestoSource, bool) {
11930	return nil, false
11931}
11932
11933// AsPhoenixSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11934func (apss AzurePostgreSQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
11935	return nil, false
11936}
11937
11938// AsPaypalSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11939func (apss AzurePostgreSQLSource) AsPaypalSource() (*PaypalSource, bool) {
11940	return nil, false
11941}
11942
11943// AsMarketoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11944func (apss AzurePostgreSQLSource) AsMarketoSource() (*MarketoSource, bool) {
11945	return nil, false
11946}
11947
11948// AsMariaDBSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11949func (apss AzurePostgreSQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
11950	return nil, false
11951}
11952
11953// AsMagentoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11954func (apss AzurePostgreSQLSource) AsMagentoSource() (*MagentoSource, bool) {
11955	return nil, false
11956}
11957
11958// AsJiraSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11959func (apss AzurePostgreSQLSource) AsJiraSource() (*JiraSource, bool) {
11960	return nil, false
11961}
11962
11963// AsImpalaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11964func (apss AzurePostgreSQLSource) AsImpalaSource() (*ImpalaSource, bool) {
11965	return nil, false
11966}
11967
11968// AsHubspotSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11969func (apss AzurePostgreSQLSource) AsHubspotSource() (*HubspotSource, bool) {
11970	return nil, false
11971}
11972
11973// AsHiveSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11974func (apss AzurePostgreSQLSource) AsHiveSource() (*HiveSource, bool) {
11975	return nil, false
11976}
11977
11978// AsHBaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11979func (apss AzurePostgreSQLSource) AsHBaseSource() (*HBaseSource, bool) {
11980	return nil, false
11981}
11982
11983// AsGreenplumSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11984func (apss AzurePostgreSQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
11985	return nil, false
11986}
11987
11988// AsGoogleBigQuerySource is the BasicCopySource implementation for AzurePostgreSQLSource.
11989func (apss AzurePostgreSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
11990	return nil, false
11991}
11992
11993// AsEloquaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11994func (apss AzurePostgreSQLSource) AsEloquaSource() (*EloquaSource, bool) {
11995	return nil, false
11996}
11997
11998// AsDrillSource is the BasicCopySource implementation for AzurePostgreSQLSource.
11999func (apss AzurePostgreSQLSource) AsDrillSource() (*DrillSource, bool) {
12000	return nil, false
12001}
12002
12003// AsCouchbaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12004func (apss AzurePostgreSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
12005	return nil, false
12006}
12007
12008// AsConcurSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12009func (apss AzurePostgreSQLSource) AsConcurSource() (*ConcurSource, bool) {
12010	return nil, false
12011}
12012
12013// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12014func (apss AzurePostgreSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
12015	return &apss, true
12016}
12017
12018// AsAmazonMWSSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12019func (apss AzurePostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
12020	return nil, false
12021}
12022
12023// AsHTTPSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12024func (apss AzurePostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) {
12025	return nil, false
12026}
12027
12028// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12029func (apss AzurePostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
12030	return nil, false
12031}
12032
12033// AsMongoDbSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12034func (apss AzurePostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
12035	return nil, false
12036}
12037
12038// AsCassandraSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12039func (apss AzurePostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) {
12040	return nil, false
12041}
12042
12043// AsWebSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12044func (apss AzurePostgreSQLSource) AsWebSource() (*WebSource, bool) {
12045	return nil, false
12046}
12047
12048// AsOracleSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12049func (apss AzurePostgreSQLSource) AsOracleSource() (*OracleSource, bool) {
12050	return nil, false
12051}
12052
12053// AsAzureMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12054func (apss AzurePostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
12055	return nil, false
12056}
12057
12058// AsHdfsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12059func (apss AzurePostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) {
12060	return nil, false
12061}
12062
12063// AsFileSystemSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12064func (apss AzurePostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
12065	return nil, false
12066}
12067
12068// AsSQLDWSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12069func (apss AzurePostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
12070	return nil, false
12071}
12072
12073// AsSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12074func (apss AzurePostgreSQLSource) AsSQLSource() (*SQLSource, bool) {
12075	return nil, false
12076}
12077
12078// AsSapEccSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12079func (apss AzurePostgreSQLSource) AsSapEccSource() (*SapEccSource, bool) {
12080	return nil, false
12081}
12082
12083// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12084func (apss AzurePostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
12085	return nil, false
12086}
12087
12088// AsSalesforceSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12089func (apss AzurePostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
12090	return nil, false
12091}
12092
12093// AsRelationalSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12094func (apss AzurePostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) {
12095	return nil, false
12096}
12097
12098// AsDynamicsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12099func (apss AzurePostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
12100	return nil, false
12101}
12102
12103// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12104func (apss AzurePostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
12105	return nil, false
12106}
12107
12108// AsBlobSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12109func (apss AzurePostgreSQLSource) AsBlobSource() (*BlobSource, bool) {
12110	return nil, false
12111}
12112
12113// AsAzureTableSource is the BasicCopySource implementation for AzurePostgreSQLSource.
12114func (apss AzurePostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
12115	return nil, false
12116}
12117
12118// AsCopySource is the BasicCopySource implementation for AzurePostgreSQLSource.
12119func (apss AzurePostgreSQLSource) AsCopySource() (*CopySource, bool) {
12120	return nil, false
12121}
12122
12123// AsBasicCopySource is the BasicCopySource implementation for AzurePostgreSQLSource.
12124func (apss AzurePostgreSQLSource) AsBasicCopySource() (BasicCopySource, bool) {
12125	return &apss, true
12126}
12127
12128// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLSource struct.
12129func (apss *AzurePostgreSQLSource) UnmarshalJSON(body []byte) error {
12130	var m map[string]*json.RawMessage
12131	err := json.Unmarshal(body, &m)
12132	if err != nil {
12133		return err
12134	}
12135	for k, v := range m {
12136		switch k {
12137		case "query":
12138			if v != nil {
12139				var query interface{}
12140				err = json.Unmarshal(*v, &query)
12141				if err != nil {
12142					return err
12143				}
12144				apss.Query = query
12145			}
12146		default:
12147			if v != nil {
12148				var additionalProperties interface{}
12149				err = json.Unmarshal(*v, &additionalProperties)
12150				if err != nil {
12151					return err
12152				}
12153				if apss.AdditionalProperties == nil {
12154					apss.AdditionalProperties = make(map[string]interface{})
12155				}
12156				apss.AdditionalProperties[k] = additionalProperties
12157			}
12158		case "sourceRetryCount":
12159			if v != nil {
12160				var sourceRetryCount interface{}
12161				err = json.Unmarshal(*v, &sourceRetryCount)
12162				if err != nil {
12163					return err
12164				}
12165				apss.SourceRetryCount = sourceRetryCount
12166			}
12167		case "sourceRetryWait":
12168			if v != nil {
12169				var sourceRetryWait interface{}
12170				err = json.Unmarshal(*v, &sourceRetryWait)
12171				if err != nil {
12172					return err
12173				}
12174				apss.SourceRetryWait = sourceRetryWait
12175			}
12176		case "type":
12177			if v != nil {
12178				var typeVar TypeBasicCopySource
12179				err = json.Unmarshal(*v, &typeVar)
12180				if err != nil {
12181					return err
12182				}
12183				apss.Type = typeVar
12184			}
12185		}
12186	}
12187
12188	return nil
12189}
12190
12191// AzurePostgreSQLTableDataset azure PostgreSQL dataset.
12192type AzurePostgreSQLTableDataset struct {
12193	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12194	AdditionalProperties map[string]interface{} `json:""`
12195	// Description - Dataset description.
12196	Description *string `json:"description,omitempty"`
12197	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
12198	Structure interface{} `json:"structure,omitempty"`
12199	// LinkedServiceName - Linked service reference.
12200	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
12201	// Parameters - Parameters for dataset.
12202	Parameters map[string]*ParameterSpecification `json:"parameters"`
12203	// Annotations - List of tags that can be used for describing the Dataset.
12204	Annotations *[]interface{} `json:"annotations,omitempty"`
12205	// 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'
12206	Type TypeBasicDataset `json:"type,omitempty"`
12207}
12208
12209// MarshalJSON is the custom marshaler for AzurePostgreSQLTableDataset.
12210func (apstd AzurePostgreSQLTableDataset) MarshalJSON() ([]byte, error) {
12211	apstd.Type = TypeAzurePostgreSQLTable
12212	objectMap := make(map[string]interface{})
12213	if apstd.Description != nil {
12214		objectMap["description"] = apstd.Description
12215	}
12216	if apstd.Structure != nil {
12217		objectMap["structure"] = apstd.Structure
12218	}
12219	if apstd.LinkedServiceName != nil {
12220		objectMap["linkedServiceName"] = apstd.LinkedServiceName
12221	}
12222	if apstd.Parameters != nil {
12223		objectMap["parameters"] = apstd.Parameters
12224	}
12225	if apstd.Annotations != nil {
12226		objectMap["annotations"] = apstd.Annotations
12227	}
12228	if apstd.Type != "" {
12229		objectMap["type"] = apstd.Type
12230	}
12231	for k, v := range apstd.AdditionalProperties {
12232		objectMap[k] = v
12233	}
12234	return json.Marshal(objectMap)
12235}
12236
12237// AsResponsysObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12238func (apstd AzurePostgreSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
12239	return nil, false
12240}
12241
12242// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12243func (apstd AzurePostgreSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
12244	return nil, false
12245}
12246
12247// AsVerticaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12248func (apstd AzurePostgreSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
12249	return nil, false
12250}
12251
12252// AsNetezzaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12253func (apstd AzurePostgreSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
12254	return nil, false
12255}
12256
12257// AsZohoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12258func (apstd AzurePostgreSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
12259	return nil, false
12260}
12261
12262// AsXeroObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12263func (apstd AzurePostgreSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
12264	return nil, false
12265}
12266
12267// AsSquareObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12268func (apstd AzurePostgreSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
12269	return nil, false
12270}
12271
12272// AsSparkObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12273func (apstd AzurePostgreSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
12274	return nil, false
12275}
12276
12277// AsShopifyObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12278func (apstd AzurePostgreSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
12279	return nil, false
12280}
12281
12282// AsServiceNowObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12283func (apstd AzurePostgreSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
12284	return nil, false
12285}
12286
12287// AsQuickBooksObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12288func (apstd AzurePostgreSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
12289	return nil, false
12290}
12291
12292// AsPrestoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12293func (apstd AzurePostgreSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
12294	return nil, false
12295}
12296
12297// AsPhoenixObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12298func (apstd AzurePostgreSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
12299	return nil, false
12300}
12301
12302// AsPaypalObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12303func (apstd AzurePostgreSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
12304	return nil, false
12305}
12306
12307// AsMarketoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12308func (apstd AzurePostgreSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
12309	return nil, false
12310}
12311
12312// AsMariaDBTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12313func (apstd AzurePostgreSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
12314	return nil, false
12315}
12316
12317// AsMagentoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12318func (apstd AzurePostgreSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
12319	return nil, false
12320}
12321
12322// AsJiraObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12323func (apstd AzurePostgreSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
12324	return nil, false
12325}
12326
12327// AsImpalaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12328func (apstd AzurePostgreSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
12329	return nil, false
12330}
12331
12332// AsHubspotObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12333func (apstd AzurePostgreSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
12334	return nil, false
12335}
12336
12337// AsHiveObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12338func (apstd AzurePostgreSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
12339	return nil, false
12340}
12341
12342// AsHBaseObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12343func (apstd AzurePostgreSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
12344	return nil, false
12345}
12346
12347// AsGreenplumTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12348func (apstd AzurePostgreSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
12349	return nil, false
12350}
12351
12352// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12353func (apstd AzurePostgreSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
12354	return nil, false
12355}
12356
12357// AsEloquaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12358func (apstd AzurePostgreSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
12359	return nil, false
12360}
12361
12362// AsDrillTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12363func (apstd AzurePostgreSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
12364	return nil, false
12365}
12366
12367// AsCouchbaseTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12368func (apstd AzurePostgreSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
12369	return nil, false
12370}
12371
12372// AsConcurObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12373func (apstd AzurePostgreSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
12374	return nil, false
12375}
12376
12377// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12378func (apstd AzurePostgreSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
12379	return &apstd, true
12380}
12381
12382// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12383func (apstd AzurePostgreSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
12384	return nil, false
12385}
12386
12387// AsHTTPDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12388func (apstd AzurePostgreSQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
12389	return nil, false
12390}
12391
12392// AsAzureSearchIndexDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12393func (apstd AzurePostgreSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
12394	return nil, false
12395}
12396
12397// AsWebTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12398func (apstd AzurePostgreSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
12399	return nil, false
12400}
12401
12402// AsSQLServerTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12403func (apstd AzurePostgreSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
12404	return nil, false
12405}
12406
12407// AsSapEccResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12408func (apstd AzurePostgreSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
12409	return nil, false
12410}
12411
12412// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12413func (apstd AzurePostgreSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
12414	return nil, false
12415}
12416
12417// AsSalesforceObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12418func (apstd AzurePostgreSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
12419	return nil, false
12420}
12421
12422// AsRelationalTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12423func (apstd AzurePostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
12424	return nil, false
12425}
12426
12427// AsAzureMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12428func (apstd AzurePostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
12429	return nil, false
12430}
12431
12432// AsOracleTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12433func (apstd AzurePostgreSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
12434	return nil, false
12435}
12436
12437// AsODataResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12438func (apstd AzurePostgreSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
12439	return nil, false
12440}
12441
12442// AsMongoDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12443func (apstd AzurePostgreSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
12444	return nil, false
12445}
12446
12447// AsFileShareDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12448func (apstd AzurePostgreSQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
12449	return nil, false
12450}
12451
12452// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12453func (apstd AzurePostgreSQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
12454	return nil, false
12455}
12456
12457// AsDynamicsEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12458func (apstd AzurePostgreSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
12459	return nil, false
12460}
12461
12462// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12463func (apstd AzurePostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
12464	return nil, false
12465}
12466
12467// AsCustomDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12468func (apstd AzurePostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
12469	return nil, false
12470}
12471
12472// AsCassandraTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12473func (apstd AzurePostgreSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
12474	return nil, false
12475}
12476
12477// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12478func (apstd AzurePostgreSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
12479	return nil, false
12480}
12481
12482// AsAzureSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12483func (apstd AzurePostgreSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
12484	return nil, false
12485}
12486
12487// AsAzureTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12488func (apstd AzurePostgreSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
12489	return nil, false
12490}
12491
12492// AsAzureBlobDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12493func (apstd AzurePostgreSQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
12494	return nil, false
12495}
12496
12497// AsAmazonS3Dataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12498func (apstd AzurePostgreSQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
12499	return nil, false
12500}
12501
12502// AsDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12503func (apstd AzurePostgreSQLTableDataset) AsDataset() (*Dataset, bool) {
12504	return nil, false
12505}
12506
12507// AsBasicDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
12508func (apstd AzurePostgreSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
12509	return &apstd, true
12510}
12511
12512// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLTableDataset struct.
12513func (apstd *AzurePostgreSQLTableDataset) UnmarshalJSON(body []byte) error {
12514	var m map[string]*json.RawMessage
12515	err := json.Unmarshal(body, &m)
12516	if err != nil {
12517		return err
12518	}
12519	for k, v := range m {
12520		switch k {
12521		default:
12522			if v != nil {
12523				var additionalProperties interface{}
12524				err = json.Unmarshal(*v, &additionalProperties)
12525				if err != nil {
12526					return err
12527				}
12528				if apstd.AdditionalProperties == nil {
12529					apstd.AdditionalProperties = make(map[string]interface{})
12530				}
12531				apstd.AdditionalProperties[k] = additionalProperties
12532			}
12533		case "description":
12534			if v != nil {
12535				var description string
12536				err = json.Unmarshal(*v, &description)
12537				if err != nil {
12538					return err
12539				}
12540				apstd.Description = &description
12541			}
12542		case "structure":
12543			if v != nil {
12544				var structure interface{}
12545				err = json.Unmarshal(*v, &structure)
12546				if err != nil {
12547					return err
12548				}
12549				apstd.Structure = structure
12550			}
12551		case "linkedServiceName":
12552			if v != nil {
12553				var linkedServiceName LinkedServiceReference
12554				err = json.Unmarshal(*v, &linkedServiceName)
12555				if err != nil {
12556					return err
12557				}
12558				apstd.LinkedServiceName = &linkedServiceName
12559			}
12560		case "parameters":
12561			if v != nil {
12562				var parameters map[string]*ParameterSpecification
12563				err = json.Unmarshal(*v, &parameters)
12564				if err != nil {
12565					return err
12566				}
12567				apstd.Parameters = parameters
12568			}
12569		case "annotations":
12570			if v != nil {
12571				var annotations []interface{}
12572				err = json.Unmarshal(*v, &annotations)
12573				if err != nil {
12574					return err
12575				}
12576				apstd.Annotations = &annotations
12577			}
12578		case "type":
12579			if v != nil {
12580				var typeVar TypeBasicDataset
12581				err = json.Unmarshal(*v, &typeVar)
12582				if err != nil {
12583					return err
12584				}
12585				apstd.Type = typeVar
12586			}
12587		}
12588	}
12589
12590	return nil
12591}
12592
12593// AzureQueueSink a copy activity Azure Queue sink.
12594type AzureQueueSink struct {
12595	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12596	AdditionalProperties map[string]interface{} `json:""`
12597	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
12598	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
12599	// 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])).
12600	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
12601	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
12602	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
12603	// 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])).
12604	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
12605	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
12606	Type TypeBasicCopySink `json:"type,omitempty"`
12607}
12608
12609// MarshalJSON is the custom marshaler for AzureQueueSink.
12610func (aqs AzureQueueSink) MarshalJSON() ([]byte, error) {
12611	aqs.Type = TypeAzureQueueSink
12612	objectMap := make(map[string]interface{})
12613	if aqs.WriteBatchSize != nil {
12614		objectMap["writeBatchSize"] = aqs.WriteBatchSize
12615	}
12616	if aqs.WriteBatchTimeout != nil {
12617		objectMap["writeBatchTimeout"] = aqs.WriteBatchTimeout
12618	}
12619	if aqs.SinkRetryCount != nil {
12620		objectMap["sinkRetryCount"] = aqs.SinkRetryCount
12621	}
12622	if aqs.SinkRetryWait != nil {
12623		objectMap["sinkRetryWait"] = aqs.SinkRetryWait
12624	}
12625	if aqs.Type != "" {
12626		objectMap["type"] = aqs.Type
12627	}
12628	for k, v := range aqs.AdditionalProperties {
12629		objectMap[k] = v
12630	}
12631	return json.Marshal(objectMap)
12632}
12633
12634// AsSalesforceSink is the BasicCopySink implementation for AzureQueueSink.
12635func (aqs AzureQueueSink) AsSalesforceSink() (*SalesforceSink, bool) {
12636	return nil, false
12637}
12638
12639// AsDynamicsSink is the BasicCopySink implementation for AzureQueueSink.
12640func (aqs AzureQueueSink) AsDynamicsSink() (*DynamicsSink, bool) {
12641	return nil, false
12642}
12643
12644// AsOdbcSink is the BasicCopySink implementation for AzureQueueSink.
12645func (aqs AzureQueueSink) AsOdbcSink() (*OdbcSink, bool) {
12646	return nil, false
12647}
12648
12649// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureQueueSink.
12650func (aqs AzureQueueSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
12651	return nil, false
12652}
12653
12654// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureQueueSink.
12655func (aqs AzureQueueSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
12656	return nil, false
12657}
12658
12659// AsOracleSink is the BasicCopySink implementation for AzureQueueSink.
12660func (aqs AzureQueueSink) AsOracleSink() (*OracleSink, bool) {
12661	return nil, false
12662}
12663
12664// AsSQLDWSink is the BasicCopySink implementation for AzureQueueSink.
12665func (aqs AzureQueueSink) AsSQLDWSink() (*SQLDWSink, bool) {
12666	return nil, false
12667}
12668
12669// AsSQLSink is the BasicCopySink implementation for AzureQueueSink.
12670func (aqs AzureQueueSink) AsSQLSink() (*SQLSink, bool) {
12671	return nil, false
12672}
12673
12674// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureQueueSink.
12675func (aqs AzureQueueSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
12676	return nil, false
12677}
12678
12679// AsFileSystemSink is the BasicCopySink implementation for AzureQueueSink.
12680func (aqs AzureQueueSink) AsFileSystemSink() (*FileSystemSink, bool) {
12681	return nil, false
12682}
12683
12684// AsBlobSink is the BasicCopySink implementation for AzureQueueSink.
12685func (aqs AzureQueueSink) AsBlobSink() (*BlobSink, bool) {
12686	return nil, false
12687}
12688
12689// AsAzureTableSink is the BasicCopySink implementation for AzureQueueSink.
12690func (aqs AzureQueueSink) AsAzureTableSink() (*AzureTableSink, bool) {
12691	return nil, false
12692}
12693
12694// AsAzureQueueSink is the BasicCopySink implementation for AzureQueueSink.
12695func (aqs AzureQueueSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
12696	return &aqs, true
12697}
12698
12699// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureQueueSink.
12700func (aqs AzureQueueSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
12701	return nil, false
12702}
12703
12704// AsCopySink is the BasicCopySink implementation for AzureQueueSink.
12705func (aqs AzureQueueSink) AsCopySink() (*CopySink, bool) {
12706	return nil, false
12707}
12708
12709// AsBasicCopySink is the BasicCopySink implementation for AzureQueueSink.
12710func (aqs AzureQueueSink) AsBasicCopySink() (BasicCopySink, bool) {
12711	return &aqs, true
12712}
12713
12714// UnmarshalJSON is the custom unmarshaler for AzureQueueSink struct.
12715func (aqs *AzureQueueSink) UnmarshalJSON(body []byte) error {
12716	var m map[string]*json.RawMessage
12717	err := json.Unmarshal(body, &m)
12718	if err != nil {
12719		return err
12720	}
12721	for k, v := range m {
12722		switch k {
12723		default:
12724			if v != nil {
12725				var additionalProperties interface{}
12726				err = json.Unmarshal(*v, &additionalProperties)
12727				if err != nil {
12728					return err
12729				}
12730				if aqs.AdditionalProperties == nil {
12731					aqs.AdditionalProperties = make(map[string]interface{})
12732				}
12733				aqs.AdditionalProperties[k] = additionalProperties
12734			}
12735		case "writeBatchSize":
12736			if v != nil {
12737				var writeBatchSize interface{}
12738				err = json.Unmarshal(*v, &writeBatchSize)
12739				if err != nil {
12740					return err
12741				}
12742				aqs.WriteBatchSize = writeBatchSize
12743			}
12744		case "writeBatchTimeout":
12745			if v != nil {
12746				var writeBatchTimeout interface{}
12747				err = json.Unmarshal(*v, &writeBatchTimeout)
12748				if err != nil {
12749					return err
12750				}
12751				aqs.WriteBatchTimeout = writeBatchTimeout
12752			}
12753		case "sinkRetryCount":
12754			if v != nil {
12755				var sinkRetryCount interface{}
12756				err = json.Unmarshal(*v, &sinkRetryCount)
12757				if err != nil {
12758					return err
12759				}
12760				aqs.SinkRetryCount = sinkRetryCount
12761			}
12762		case "sinkRetryWait":
12763			if v != nil {
12764				var sinkRetryWait interface{}
12765				err = json.Unmarshal(*v, &sinkRetryWait)
12766				if err != nil {
12767					return err
12768				}
12769				aqs.SinkRetryWait = sinkRetryWait
12770			}
12771		case "type":
12772			if v != nil {
12773				var typeVar TypeBasicCopySink
12774				err = json.Unmarshal(*v, &typeVar)
12775				if err != nil {
12776					return err
12777				}
12778				aqs.Type = typeVar
12779			}
12780		}
12781	}
12782
12783	return nil
12784}
12785
12786// AzureSearchIndexDataset the Azure Search Index.
12787type AzureSearchIndexDataset struct {
12788	// AzureSearchIndexDatasetTypeProperties - Properties specific to this dataset type.
12789	*AzureSearchIndexDatasetTypeProperties `json:"typeProperties,omitempty"`
12790	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12791	AdditionalProperties map[string]interface{} `json:""`
12792	// Description - Dataset description.
12793	Description *string `json:"description,omitempty"`
12794	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
12795	Structure interface{} `json:"structure,omitempty"`
12796	// LinkedServiceName - Linked service reference.
12797	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
12798	// Parameters - Parameters for dataset.
12799	Parameters map[string]*ParameterSpecification `json:"parameters"`
12800	// Annotations - List of tags that can be used for describing the Dataset.
12801	Annotations *[]interface{} `json:"annotations,omitempty"`
12802	// 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'
12803	Type TypeBasicDataset `json:"type,omitempty"`
12804}
12805
12806// MarshalJSON is the custom marshaler for AzureSearchIndexDataset.
12807func (asid AzureSearchIndexDataset) MarshalJSON() ([]byte, error) {
12808	asid.Type = TypeAzureSearchIndex
12809	objectMap := make(map[string]interface{})
12810	if asid.AzureSearchIndexDatasetTypeProperties != nil {
12811		objectMap["typeProperties"] = asid.AzureSearchIndexDatasetTypeProperties
12812	}
12813	if asid.Description != nil {
12814		objectMap["description"] = asid.Description
12815	}
12816	if asid.Structure != nil {
12817		objectMap["structure"] = asid.Structure
12818	}
12819	if asid.LinkedServiceName != nil {
12820		objectMap["linkedServiceName"] = asid.LinkedServiceName
12821	}
12822	if asid.Parameters != nil {
12823		objectMap["parameters"] = asid.Parameters
12824	}
12825	if asid.Annotations != nil {
12826		objectMap["annotations"] = asid.Annotations
12827	}
12828	if asid.Type != "" {
12829		objectMap["type"] = asid.Type
12830	}
12831	for k, v := range asid.AdditionalProperties {
12832		objectMap[k] = v
12833	}
12834	return json.Marshal(objectMap)
12835}
12836
12837// AsResponsysObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12838func (asid AzureSearchIndexDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
12839	return nil, false
12840}
12841
12842// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12843func (asid AzureSearchIndexDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
12844	return nil, false
12845}
12846
12847// AsVerticaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12848func (asid AzureSearchIndexDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
12849	return nil, false
12850}
12851
12852// AsNetezzaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12853func (asid AzureSearchIndexDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
12854	return nil, false
12855}
12856
12857// AsZohoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12858func (asid AzureSearchIndexDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
12859	return nil, false
12860}
12861
12862// AsXeroObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12863func (asid AzureSearchIndexDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
12864	return nil, false
12865}
12866
12867// AsSquareObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12868func (asid AzureSearchIndexDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
12869	return nil, false
12870}
12871
12872// AsSparkObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12873func (asid AzureSearchIndexDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
12874	return nil, false
12875}
12876
12877// AsShopifyObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12878func (asid AzureSearchIndexDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
12879	return nil, false
12880}
12881
12882// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12883func (asid AzureSearchIndexDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
12884	return nil, false
12885}
12886
12887// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12888func (asid AzureSearchIndexDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
12889	return nil, false
12890}
12891
12892// AsPrestoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12893func (asid AzureSearchIndexDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
12894	return nil, false
12895}
12896
12897// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12898func (asid AzureSearchIndexDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
12899	return nil, false
12900}
12901
12902// AsPaypalObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12903func (asid AzureSearchIndexDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
12904	return nil, false
12905}
12906
12907// AsMarketoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12908func (asid AzureSearchIndexDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
12909	return nil, false
12910}
12911
12912// AsMariaDBTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12913func (asid AzureSearchIndexDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
12914	return nil, false
12915}
12916
12917// AsMagentoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12918func (asid AzureSearchIndexDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
12919	return nil, false
12920}
12921
12922// AsJiraObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12923func (asid AzureSearchIndexDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
12924	return nil, false
12925}
12926
12927// AsImpalaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12928func (asid AzureSearchIndexDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
12929	return nil, false
12930}
12931
12932// AsHubspotObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12933func (asid AzureSearchIndexDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
12934	return nil, false
12935}
12936
12937// AsHiveObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12938func (asid AzureSearchIndexDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
12939	return nil, false
12940}
12941
12942// AsHBaseObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12943func (asid AzureSearchIndexDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
12944	return nil, false
12945}
12946
12947// AsGreenplumTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12948func (asid AzureSearchIndexDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
12949	return nil, false
12950}
12951
12952// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12953func (asid AzureSearchIndexDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
12954	return nil, false
12955}
12956
12957// AsEloquaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12958func (asid AzureSearchIndexDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
12959	return nil, false
12960}
12961
12962// AsDrillTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12963func (asid AzureSearchIndexDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
12964	return nil, false
12965}
12966
12967// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12968func (asid AzureSearchIndexDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
12969	return nil, false
12970}
12971
12972// AsConcurObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12973func (asid AzureSearchIndexDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
12974	return nil, false
12975}
12976
12977// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12978func (asid AzureSearchIndexDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
12979	return nil, false
12980}
12981
12982// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12983func (asid AzureSearchIndexDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
12984	return nil, false
12985}
12986
12987// AsHTTPDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12988func (asid AzureSearchIndexDataset) AsHTTPDataset() (*HTTPDataset, bool) {
12989	return nil, false
12990}
12991
12992// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12993func (asid AzureSearchIndexDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
12994	return &asid, true
12995}
12996
12997// AsWebTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
12998func (asid AzureSearchIndexDataset) AsWebTableDataset() (*WebTableDataset, bool) {
12999	return nil, false
13000}
13001
13002// AsSQLServerTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13003func (asid AzureSearchIndexDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
13004	return nil, false
13005}
13006
13007// AsSapEccResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13008func (asid AzureSearchIndexDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
13009	return nil, false
13010}
13011
13012// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13013func (asid AzureSearchIndexDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
13014	return nil, false
13015}
13016
13017// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13018func (asid AzureSearchIndexDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
13019	return nil, false
13020}
13021
13022// AsRelationalTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13023func (asid AzureSearchIndexDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
13024	return nil, false
13025}
13026
13027// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13028func (asid AzureSearchIndexDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
13029	return nil, false
13030}
13031
13032// AsOracleTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13033func (asid AzureSearchIndexDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
13034	return nil, false
13035}
13036
13037// AsODataResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13038func (asid AzureSearchIndexDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
13039	return nil, false
13040}
13041
13042// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13043func (asid AzureSearchIndexDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
13044	return nil, false
13045}
13046
13047// AsFileShareDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13048func (asid AzureSearchIndexDataset) AsFileShareDataset() (*FileShareDataset, bool) {
13049	return nil, false
13050}
13051
13052// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13053func (asid AzureSearchIndexDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
13054	return nil, false
13055}
13056
13057// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13058func (asid AzureSearchIndexDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
13059	return nil, false
13060}
13061
13062// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13063func (asid AzureSearchIndexDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
13064	return nil, false
13065}
13066
13067// AsCustomDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13068func (asid AzureSearchIndexDataset) AsCustomDataset() (*CustomDataset, bool) {
13069	return nil, false
13070}
13071
13072// AsCassandraTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13073func (asid AzureSearchIndexDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
13074	return nil, false
13075}
13076
13077// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13078func (asid AzureSearchIndexDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
13079	return nil, false
13080}
13081
13082// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13083func (asid AzureSearchIndexDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
13084	return nil, false
13085}
13086
13087// AsAzureTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13088func (asid AzureSearchIndexDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
13089	return nil, false
13090}
13091
13092// AsAzureBlobDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13093func (asid AzureSearchIndexDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
13094	return nil, false
13095}
13096
13097// AsAmazonS3Dataset is the BasicDataset implementation for AzureSearchIndexDataset.
13098func (asid AzureSearchIndexDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
13099	return nil, false
13100}
13101
13102// AsDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13103func (asid AzureSearchIndexDataset) AsDataset() (*Dataset, bool) {
13104	return nil, false
13105}
13106
13107// AsBasicDataset is the BasicDataset implementation for AzureSearchIndexDataset.
13108func (asid AzureSearchIndexDataset) AsBasicDataset() (BasicDataset, bool) {
13109	return &asid, true
13110}
13111
13112// UnmarshalJSON is the custom unmarshaler for AzureSearchIndexDataset struct.
13113func (asid *AzureSearchIndexDataset) UnmarshalJSON(body []byte) error {
13114	var m map[string]*json.RawMessage
13115	err := json.Unmarshal(body, &m)
13116	if err != nil {
13117		return err
13118	}
13119	for k, v := range m {
13120		switch k {
13121		case "typeProperties":
13122			if v != nil {
13123				var azureSearchIndexDatasetTypeProperties AzureSearchIndexDatasetTypeProperties
13124				err = json.Unmarshal(*v, &azureSearchIndexDatasetTypeProperties)
13125				if err != nil {
13126					return err
13127				}
13128				asid.AzureSearchIndexDatasetTypeProperties = &azureSearchIndexDatasetTypeProperties
13129			}
13130		default:
13131			if v != nil {
13132				var additionalProperties interface{}
13133				err = json.Unmarshal(*v, &additionalProperties)
13134				if err != nil {
13135					return err
13136				}
13137				if asid.AdditionalProperties == nil {
13138					asid.AdditionalProperties = make(map[string]interface{})
13139				}
13140				asid.AdditionalProperties[k] = additionalProperties
13141			}
13142		case "description":
13143			if v != nil {
13144				var description string
13145				err = json.Unmarshal(*v, &description)
13146				if err != nil {
13147					return err
13148				}
13149				asid.Description = &description
13150			}
13151		case "structure":
13152			if v != nil {
13153				var structure interface{}
13154				err = json.Unmarshal(*v, &structure)
13155				if err != nil {
13156					return err
13157				}
13158				asid.Structure = structure
13159			}
13160		case "linkedServiceName":
13161			if v != nil {
13162				var linkedServiceName LinkedServiceReference
13163				err = json.Unmarshal(*v, &linkedServiceName)
13164				if err != nil {
13165					return err
13166				}
13167				asid.LinkedServiceName = &linkedServiceName
13168			}
13169		case "parameters":
13170			if v != nil {
13171				var parameters map[string]*ParameterSpecification
13172				err = json.Unmarshal(*v, &parameters)
13173				if err != nil {
13174					return err
13175				}
13176				asid.Parameters = parameters
13177			}
13178		case "annotations":
13179			if v != nil {
13180				var annotations []interface{}
13181				err = json.Unmarshal(*v, &annotations)
13182				if err != nil {
13183					return err
13184				}
13185				asid.Annotations = &annotations
13186			}
13187		case "type":
13188			if v != nil {
13189				var typeVar TypeBasicDataset
13190				err = json.Unmarshal(*v, &typeVar)
13191				if err != nil {
13192					return err
13193				}
13194				asid.Type = typeVar
13195			}
13196		}
13197	}
13198
13199	return nil
13200}
13201
13202// AzureSearchIndexDatasetTypeProperties properties specific to this dataset type.
13203type AzureSearchIndexDatasetTypeProperties struct {
13204	// IndexName - The name of the Azure Search Index. Type: string (or Expression with resultType string).
13205	IndexName interface{} `json:"indexName,omitempty"`
13206}
13207
13208// AzureSearchIndexSink a copy activity Azure Search Index sink.
13209type AzureSearchIndexSink struct {
13210	// WriteBehavior - Specify the write behavior when upserting documents into Azure Search Index.
13211	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
13212	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
13213	AdditionalProperties map[string]interface{} `json:""`
13214	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
13215	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
13216	// 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])).
13217	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
13218	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
13219	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
13220	// 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])).
13221	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
13222	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
13223	Type TypeBasicCopySink `json:"type,omitempty"`
13224}
13225
13226// MarshalJSON is the custom marshaler for AzureSearchIndexSink.
13227func (asis AzureSearchIndexSink) MarshalJSON() ([]byte, error) {
13228	asis.Type = TypeAzureSearchIndexSink
13229	objectMap := make(map[string]interface{})
13230	if asis.WriteBehavior != nil {
13231		objectMap["writeBehavior"] = asis.WriteBehavior
13232	}
13233	if asis.WriteBatchSize != nil {
13234		objectMap["writeBatchSize"] = asis.WriteBatchSize
13235	}
13236	if asis.WriteBatchTimeout != nil {
13237		objectMap["writeBatchTimeout"] = asis.WriteBatchTimeout
13238	}
13239	if asis.SinkRetryCount != nil {
13240		objectMap["sinkRetryCount"] = asis.SinkRetryCount
13241	}
13242	if asis.SinkRetryWait != nil {
13243		objectMap["sinkRetryWait"] = asis.SinkRetryWait
13244	}
13245	if asis.Type != "" {
13246		objectMap["type"] = asis.Type
13247	}
13248	for k, v := range asis.AdditionalProperties {
13249		objectMap[k] = v
13250	}
13251	return json.Marshal(objectMap)
13252}
13253
13254// AsSalesforceSink is the BasicCopySink implementation for AzureSearchIndexSink.
13255func (asis AzureSearchIndexSink) AsSalesforceSink() (*SalesforceSink, bool) {
13256	return nil, false
13257}
13258
13259// AsDynamicsSink is the BasicCopySink implementation for AzureSearchIndexSink.
13260func (asis AzureSearchIndexSink) AsDynamicsSink() (*DynamicsSink, bool) {
13261	return nil, false
13262}
13263
13264// AsOdbcSink is the BasicCopySink implementation for AzureSearchIndexSink.
13265func (asis AzureSearchIndexSink) AsOdbcSink() (*OdbcSink, bool) {
13266	return nil, false
13267}
13268
13269// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureSearchIndexSink.
13270func (asis AzureSearchIndexSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
13271	return &asis, true
13272}
13273
13274// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureSearchIndexSink.
13275func (asis AzureSearchIndexSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
13276	return nil, false
13277}
13278
13279// AsOracleSink is the BasicCopySink implementation for AzureSearchIndexSink.
13280func (asis AzureSearchIndexSink) AsOracleSink() (*OracleSink, bool) {
13281	return nil, false
13282}
13283
13284// AsSQLDWSink is the BasicCopySink implementation for AzureSearchIndexSink.
13285func (asis AzureSearchIndexSink) AsSQLDWSink() (*SQLDWSink, bool) {
13286	return nil, false
13287}
13288
13289// AsSQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
13290func (asis AzureSearchIndexSink) AsSQLSink() (*SQLSink, bool) {
13291	return nil, false
13292}
13293
13294// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSearchIndexSink.
13295func (asis AzureSearchIndexSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
13296	return nil, false
13297}
13298
13299// AsFileSystemSink is the BasicCopySink implementation for AzureSearchIndexSink.
13300func (asis AzureSearchIndexSink) AsFileSystemSink() (*FileSystemSink, bool) {
13301	return nil, false
13302}
13303
13304// AsBlobSink is the BasicCopySink implementation for AzureSearchIndexSink.
13305func (asis AzureSearchIndexSink) AsBlobSink() (*BlobSink, bool) {
13306	return nil, false
13307}
13308
13309// AsAzureTableSink is the BasicCopySink implementation for AzureSearchIndexSink.
13310func (asis AzureSearchIndexSink) AsAzureTableSink() (*AzureTableSink, bool) {
13311	return nil, false
13312}
13313
13314// AsAzureQueueSink is the BasicCopySink implementation for AzureSearchIndexSink.
13315func (asis AzureSearchIndexSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
13316	return nil, false
13317}
13318
13319// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureSearchIndexSink.
13320func (asis AzureSearchIndexSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
13321	return nil, false
13322}
13323
13324// AsCopySink is the BasicCopySink implementation for AzureSearchIndexSink.
13325func (asis AzureSearchIndexSink) AsCopySink() (*CopySink, bool) {
13326	return nil, false
13327}
13328
13329// AsBasicCopySink is the BasicCopySink implementation for AzureSearchIndexSink.
13330func (asis AzureSearchIndexSink) AsBasicCopySink() (BasicCopySink, bool) {
13331	return &asis, true
13332}
13333
13334// UnmarshalJSON is the custom unmarshaler for AzureSearchIndexSink struct.
13335func (asis *AzureSearchIndexSink) UnmarshalJSON(body []byte) error {
13336	var m map[string]*json.RawMessage
13337	err := json.Unmarshal(body, &m)
13338	if err != nil {
13339		return err
13340	}
13341	for k, v := range m {
13342		switch k {
13343		case "writeBehavior":
13344			if v != nil {
13345				var writeBehavior interface{}
13346				err = json.Unmarshal(*v, &writeBehavior)
13347				if err != nil {
13348					return err
13349				}
13350				asis.WriteBehavior = writeBehavior
13351			}
13352		default:
13353			if v != nil {
13354				var additionalProperties interface{}
13355				err = json.Unmarshal(*v, &additionalProperties)
13356				if err != nil {
13357					return err
13358				}
13359				if asis.AdditionalProperties == nil {
13360					asis.AdditionalProperties = make(map[string]interface{})
13361				}
13362				asis.AdditionalProperties[k] = additionalProperties
13363			}
13364		case "writeBatchSize":
13365			if v != nil {
13366				var writeBatchSize interface{}
13367				err = json.Unmarshal(*v, &writeBatchSize)
13368				if err != nil {
13369					return err
13370				}
13371				asis.WriteBatchSize = writeBatchSize
13372			}
13373		case "writeBatchTimeout":
13374			if v != nil {
13375				var writeBatchTimeout interface{}
13376				err = json.Unmarshal(*v, &writeBatchTimeout)
13377				if err != nil {
13378					return err
13379				}
13380				asis.WriteBatchTimeout = writeBatchTimeout
13381			}
13382		case "sinkRetryCount":
13383			if v != nil {
13384				var sinkRetryCount interface{}
13385				err = json.Unmarshal(*v, &sinkRetryCount)
13386				if err != nil {
13387					return err
13388				}
13389				asis.SinkRetryCount = sinkRetryCount
13390			}
13391		case "sinkRetryWait":
13392			if v != nil {
13393				var sinkRetryWait interface{}
13394				err = json.Unmarshal(*v, &sinkRetryWait)
13395				if err != nil {
13396					return err
13397				}
13398				asis.SinkRetryWait = sinkRetryWait
13399			}
13400		case "type":
13401			if v != nil {
13402				var typeVar TypeBasicCopySink
13403				err = json.Unmarshal(*v, &typeVar)
13404				if err != nil {
13405					return err
13406				}
13407				asis.Type = typeVar
13408			}
13409		}
13410	}
13411
13412	return nil
13413}
13414
13415// AzureSearchLinkedService linked service for Windows Azure Search Service.
13416type AzureSearchLinkedService struct {
13417	// AzureSearchLinkedServiceTypeProperties - Windows Azure Search Service linked service properties.
13418	*AzureSearchLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
13419	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
13420	AdditionalProperties map[string]interface{} `json:""`
13421	// ConnectVia - The integration runtime reference.
13422	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
13423	// Description - Linked service description.
13424	Description *string `json:"description,omitempty"`
13425	// Parameters - Parameters for linked service.
13426	Parameters map[string]*ParameterSpecification `json:"parameters"`
13427	// Annotations - List of tags that can be used for describing the Dataset.
13428	Annotations *[]interface{} `json:"annotations,omitempty"`
13429	// 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'
13430	Type TypeBasicLinkedService `json:"type,omitempty"`
13431}
13432
13433// MarshalJSON is the custom marshaler for AzureSearchLinkedService.
13434func (asls AzureSearchLinkedService) MarshalJSON() ([]byte, error) {
13435	asls.Type = TypeAzureSearch
13436	objectMap := make(map[string]interface{})
13437	if asls.AzureSearchLinkedServiceTypeProperties != nil {
13438		objectMap["typeProperties"] = asls.AzureSearchLinkedServiceTypeProperties
13439	}
13440	if asls.ConnectVia != nil {
13441		objectMap["connectVia"] = asls.ConnectVia
13442	}
13443	if asls.Description != nil {
13444		objectMap["description"] = asls.Description
13445	}
13446	if asls.Parameters != nil {
13447		objectMap["parameters"] = asls.Parameters
13448	}
13449	if asls.Annotations != nil {
13450		objectMap["annotations"] = asls.Annotations
13451	}
13452	if asls.Type != "" {
13453		objectMap["type"] = asls.Type
13454	}
13455	for k, v := range asls.AdditionalProperties {
13456		objectMap[k] = v
13457	}
13458	return json.Marshal(objectMap)
13459}
13460
13461// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13462func (asls AzureSearchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
13463	return nil, false
13464}
13465
13466// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13467func (asls AzureSearchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
13468	return nil, false
13469}
13470
13471// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13472func (asls AzureSearchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
13473	return nil, false
13474}
13475
13476// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13477func (asls AzureSearchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
13478	return nil, false
13479}
13480
13481// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13482func (asls AzureSearchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
13483	return nil, false
13484}
13485
13486// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13487func (asls AzureSearchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
13488	return nil, false
13489}
13490
13491// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13492func (asls AzureSearchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
13493	return nil, false
13494}
13495
13496// AsZohoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13497func (asls AzureSearchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
13498	return nil, false
13499}
13500
13501// AsXeroLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13502func (asls AzureSearchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
13503	return nil, false
13504}
13505
13506// AsSquareLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13507func (asls AzureSearchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
13508	return nil, false
13509}
13510
13511// AsSparkLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13512func (asls AzureSearchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
13513	return nil, false
13514}
13515
13516// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13517func (asls AzureSearchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
13518	return nil, false
13519}
13520
13521// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13522func (asls AzureSearchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
13523	return nil, false
13524}
13525
13526// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13527func (asls AzureSearchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
13528	return nil, false
13529}
13530
13531// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13532func (asls AzureSearchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
13533	return nil, false
13534}
13535
13536// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13537func (asls AzureSearchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
13538	return nil, false
13539}
13540
13541// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13542func (asls AzureSearchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
13543	return nil, false
13544}
13545
13546// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13547func (asls AzureSearchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
13548	return nil, false
13549}
13550
13551// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13552func (asls AzureSearchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
13553	return nil, false
13554}
13555
13556// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13557func (asls AzureSearchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
13558	return nil, false
13559}
13560
13561// AsJiraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13562func (asls AzureSearchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
13563	return nil, false
13564}
13565
13566// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13567func (asls AzureSearchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
13568	return nil, false
13569}
13570
13571// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13572func (asls AzureSearchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
13573	return nil, false
13574}
13575
13576// AsHiveLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13577func (asls AzureSearchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
13578	return nil, false
13579}
13580
13581// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13582func (asls AzureSearchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
13583	return nil, false
13584}
13585
13586// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13587func (asls AzureSearchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
13588	return nil, false
13589}
13590
13591// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13592func (asls AzureSearchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
13593	return nil, false
13594}
13595
13596// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13597func (asls AzureSearchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
13598	return nil, false
13599}
13600
13601// AsDrillLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13602func (asls AzureSearchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
13603	return nil, false
13604}
13605
13606// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13607func (asls AzureSearchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
13608	return nil, false
13609}
13610
13611// AsConcurLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13612func (asls AzureSearchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
13613	return nil, false
13614}
13615
13616// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13617func (asls AzureSearchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
13618	return nil, false
13619}
13620
13621// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13622func (asls AzureSearchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
13623	return nil, false
13624}
13625
13626// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13627func (asls AzureSearchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
13628	return nil, false
13629}
13630
13631// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13632func (asls AzureSearchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
13633	return nil, false
13634}
13635
13636// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13637func (asls AzureSearchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
13638	return nil, false
13639}
13640
13641// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13642func (asls AzureSearchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
13643	return nil, false
13644}
13645
13646// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13647func (asls AzureSearchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
13648	return nil, false
13649}
13650
13651// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13652func (asls AzureSearchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
13653	return &asls, true
13654}
13655
13656// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13657func (asls AzureSearchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
13658	return nil, false
13659}
13660
13661// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13662func (asls AzureSearchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
13663	return nil, false
13664}
13665
13666// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13667func (asls AzureSearchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
13668	return nil, false
13669}
13670
13671// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13672func (asls AzureSearchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
13673	return nil, false
13674}
13675
13676// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13677func (asls AzureSearchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
13678	return nil, false
13679}
13680
13681// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13682func (asls AzureSearchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
13683	return nil, false
13684}
13685
13686// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13687func (asls AzureSearchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
13688	return nil, false
13689}
13690
13691// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13692func (asls AzureSearchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
13693	return nil, false
13694}
13695
13696// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13697func (asls AzureSearchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
13698	return nil, false
13699}
13700
13701// AsWebLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13702func (asls AzureSearchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
13703	return nil, false
13704}
13705
13706// AsODataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13707func (asls AzureSearchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
13708	return nil, false
13709}
13710
13711// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13712func (asls AzureSearchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
13713	return nil, false
13714}
13715
13716// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13717func (asls AzureSearchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
13718	return nil, false
13719}
13720
13721// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13722func (asls AzureSearchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
13723	return nil, false
13724}
13725
13726// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13727func (asls AzureSearchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
13728	return nil, false
13729}
13730
13731// AsDb2LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13732func (asls AzureSearchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
13733	return nil, false
13734}
13735
13736// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13737func (asls AzureSearchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
13738	return nil, false
13739}
13740
13741// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13742func (asls AzureSearchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
13743	return nil, false
13744}
13745
13746// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13747func (asls AzureSearchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
13748	return nil, false
13749}
13750
13751// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13752func (asls AzureSearchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
13753	return nil, false
13754}
13755
13756// AsOracleLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13757func (asls AzureSearchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
13758	return nil, false
13759}
13760
13761// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13762func (asls AzureSearchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
13763	return nil, false
13764}
13765
13766// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13767func (asls AzureSearchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
13768	return nil, false
13769}
13770
13771// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13772func (asls AzureSearchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
13773	return nil, false
13774}
13775
13776// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13777func (asls AzureSearchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
13778	return nil, false
13779}
13780
13781// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13782func (asls AzureSearchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
13783	return nil, false
13784}
13785
13786// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13787func (asls AzureSearchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
13788	return nil, false
13789}
13790
13791// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13792func (asls AzureSearchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
13793	return nil, false
13794}
13795
13796// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13797func (asls AzureSearchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
13798	return nil, false
13799}
13800
13801// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13802func (asls AzureSearchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
13803	return nil, false
13804}
13805
13806// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13807func (asls AzureSearchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
13808	return nil, false
13809}
13810
13811// AsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13812func (asls AzureSearchLinkedService) AsLinkedService() (*LinkedService, bool) {
13813	return nil, false
13814}
13815
13816// AsBasicLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
13817func (asls AzureSearchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
13818	return &asls, true
13819}
13820
13821// UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedService struct.
13822func (asls *AzureSearchLinkedService) UnmarshalJSON(body []byte) error {
13823	var m map[string]*json.RawMessage
13824	err := json.Unmarshal(body, &m)
13825	if err != nil {
13826		return err
13827	}
13828	for k, v := range m {
13829		switch k {
13830		case "typeProperties":
13831			if v != nil {
13832				var azureSearchLinkedServiceTypeProperties AzureSearchLinkedServiceTypeProperties
13833				err = json.Unmarshal(*v, &azureSearchLinkedServiceTypeProperties)
13834				if err != nil {
13835					return err
13836				}
13837				asls.AzureSearchLinkedServiceTypeProperties = &azureSearchLinkedServiceTypeProperties
13838			}
13839		default:
13840			if v != nil {
13841				var additionalProperties interface{}
13842				err = json.Unmarshal(*v, &additionalProperties)
13843				if err != nil {
13844					return err
13845				}
13846				if asls.AdditionalProperties == nil {
13847					asls.AdditionalProperties = make(map[string]interface{})
13848				}
13849				asls.AdditionalProperties[k] = additionalProperties
13850			}
13851		case "connectVia":
13852			if v != nil {
13853				var connectVia IntegrationRuntimeReference
13854				err = json.Unmarshal(*v, &connectVia)
13855				if err != nil {
13856					return err
13857				}
13858				asls.ConnectVia = &connectVia
13859			}
13860		case "description":
13861			if v != nil {
13862				var description string
13863				err = json.Unmarshal(*v, &description)
13864				if err != nil {
13865					return err
13866				}
13867				asls.Description = &description
13868			}
13869		case "parameters":
13870			if v != nil {
13871				var parameters map[string]*ParameterSpecification
13872				err = json.Unmarshal(*v, &parameters)
13873				if err != nil {
13874					return err
13875				}
13876				asls.Parameters = parameters
13877			}
13878		case "annotations":
13879			if v != nil {
13880				var annotations []interface{}
13881				err = json.Unmarshal(*v, &annotations)
13882				if err != nil {
13883					return err
13884				}
13885				asls.Annotations = &annotations
13886			}
13887		case "type":
13888			if v != nil {
13889				var typeVar TypeBasicLinkedService
13890				err = json.Unmarshal(*v, &typeVar)
13891				if err != nil {
13892					return err
13893				}
13894				asls.Type = typeVar
13895			}
13896		}
13897	}
13898
13899	return nil
13900}
13901
13902// AzureSearchLinkedServiceTypeProperties windows Azure Search Service linked service properties.
13903type AzureSearchLinkedServiceTypeProperties struct {
13904	// URL - URL for Azure Search service. Type: string (or Expression with resultType string).
13905	URL interface{} `json:"url,omitempty"`
13906	// Key - Admin Key for Azure Search service
13907	Key BasicSecretBase `json:"key,omitempty"`
13908	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
13909	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
13910}
13911
13912// UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedServiceTypeProperties struct.
13913func (aslstp *AzureSearchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
13914	var m map[string]*json.RawMessage
13915	err := json.Unmarshal(body, &m)
13916	if err != nil {
13917		return err
13918	}
13919	for k, v := range m {
13920		switch k {
13921		case "url":
13922			if v != nil {
13923				var URL interface{}
13924				err = json.Unmarshal(*v, &URL)
13925				if err != nil {
13926					return err
13927				}
13928				aslstp.URL = URL
13929			}
13930		case "key":
13931			if v != nil {
13932				key, err := unmarshalBasicSecretBase(*v)
13933				if err != nil {
13934					return err
13935				}
13936				aslstp.Key = key
13937			}
13938		case "encryptedCredential":
13939			if v != nil {
13940				var encryptedCredential interface{}
13941				err = json.Unmarshal(*v, &encryptedCredential)
13942				if err != nil {
13943					return err
13944				}
13945				aslstp.EncryptedCredential = encryptedCredential
13946			}
13947		}
13948	}
13949
13950	return nil
13951}
13952
13953// AzureSQLDatabaseLinkedService microsoft Azure SQL Database linked service.
13954type AzureSQLDatabaseLinkedService struct {
13955	// AzureSQLDatabaseLinkedServiceTypeProperties - Azure SQL Database linked service properties.
13956	*AzureSQLDatabaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
13957	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
13958	AdditionalProperties map[string]interface{} `json:""`
13959	// ConnectVia - The integration runtime reference.
13960	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
13961	// Description - Linked service description.
13962	Description *string `json:"description,omitempty"`
13963	// Parameters - Parameters for linked service.
13964	Parameters map[string]*ParameterSpecification `json:"parameters"`
13965	// Annotations - List of tags that can be used for describing the Dataset.
13966	Annotations *[]interface{} `json:"annotations,omitempty"`
13967	// 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'
13968	Type TypeBasicLinkedService `json:"type,omitempty"`
13969}
13970
13971// MarshalJSON is the custom marshaler for AzureSQLDatabaseLinkedService.
13972func (asdls AzureSQLDatabaseLinkedService) MarshalJSON() ([]byte, error) {
13973	asdls.Type = TypeAzureSQLDatabase
13974	objectMap := make(map[string]interface{})
13975	if asdls.AzureSQLDatabaseLinkedServiceTypeProperties != nil {
13976		objectMap["typeProperties"] = asdls.AzureSQLDatabaseLinkedServiceTypeProperties
13977	}
13978	if asdls.ConnectVia != nil {
13979		objectMap["connectVia"] = asdls.ConnectVia
13980	}
13981	if asdls.Description != nil {
13982		objectMap["description"] = asdls.Description
13983	}
13984	if asdls.Parameters != nil {
13985		objectMap["parameters"] = asdls.Parameters
13986	}
13987	if asdls.Annotations != nil {
13988		objectMap["annotations"] = asdls.Annotations
13989	}
13990	if asdls.Type != "" {
13991		objectMap["type"] = asdls.Type
13992	}
13993	for k, v := range asdls.AdditionalProperties {
13994		objectMap[k] = v
13995	}
13996	return json.Marshal(objectMap)
13997}
13998
13999// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14000func (asdls AzureSQLDatabaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
14001	return nil, false
14002}
14003
14004// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14005func (asdls AzureSQLDatabaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
14006	return nil, false
14007}
14008
14009// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14010func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
14011	return nil, false
14012}
14013
14014// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14015func (asdls AzureSQLDatabaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
14016	return nil, false
14017}
14018
14019// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14020func (asdls AzureSQLDatabaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
14021	return nil, false
14022}
14023
14024// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14025func (asdls AzureSQLDatabaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
14026	return nil, false
14027}
14028
14029// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14030func (asdls AzureSQLDatabaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
14031	return nil, false
14032}
14033
14034// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14035func (asdls AzureSQLDatabaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
14036	return nil, false
14037}
14038
14039// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14040func (asdls AzureSQLDatabaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
14041	return nil, false
14042}
14043
14044// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14045func (asdls AzureSQLDatabaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
14046	return nil, false
14047}
14048
14049// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14050func (asdls AzureSQLDatabaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
14051	return nil, false
14052}
14053
14054// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14055func (asdls AzureSQLDatabaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
14056	return nil, false
14057}
14058
14059// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14060func (asdls AzureSQLDatabaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
14061	return nil, false
14062}
14063
14064// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14065func (asdls AzureSQLDatabaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
14066	return nil, false
14067}
14068
14069// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14070func (asdls AzureSQLDatabaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
14071	return nil, false
14072}
14073
14074// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14075func (asdls AzureSQLDatabaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
14076	return nil, false
14077}
14078
14079// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14080func (asdls AzureSQLDatabaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
14081	return nil, false
14082}
14083
14084// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14085func (asdls AzureSQLDatabaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
14086	return nil, false
14087}
14088
14089// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14090func (asdls AzureSQLDatabaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
14091	return nil, false
14092}
14093
14094// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14095func (asdls AzureSQLDatabaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
14096	return nil, false
14097}
14098
14099// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14100func (asdls AzureSQLDatabaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
14101	return nil, false
14102}
14103
14104// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14105func (asdls AzureSQLDatabaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
14106	return nil, false
14107}
14108
14109// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14110func (asdls AzureSQLDatabaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
14111	return nil, false
14112}
14113
14114// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14115func (asdls AzureSQLDatabaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
14116	return nil, false
14117}
14118
14119// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14120func (asdls AzureSQLDatabaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
14121	return nil, false
14122}
14123
14124// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14125func (asdls AzureSQLDatabaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
14126	return nil, false
14127}
14128
14129// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14130func (asdls AzureSQLDatabaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
14131	return nil, false
14132}
14133
14134// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14135func (asdls AzureSQLDatabaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
14136	return nil, false
14137}
14138
14139// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14140func (asdls AzureSQLDatabaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
14141	return nil, false
14142}
14143
14144// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14145func (asdls AzureSQLDatabaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
14146	return nil, false
14147}
14148
14149// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14150func (asdls AzureSQLDatabaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
14151	return nil, false
14152}
14153
14154// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14155func (asdls AzureSQLDatabaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
14156	return nil, false
14157}
14158
14159// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14160func (asdls AzureSQLDatabaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
14161	return nil, false
14162}
14163
14164// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14165func (asdls AzureSQLDatabaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
14166	return nil, false
14167}
14168
14169// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14170func (asdls AzureSQLDatabaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
14171	return nil, false
14172}
14173
14174// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14175func (asdls AzureSQLDatabaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
14176	return nil, false
14177}
14178
14179// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14180func (asdls AzureSQLDatabaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
14181	return nil, false
14182}
14183
14184// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14185func (asdls AzureSQLDatabaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
14186	return nil, false
14187}
14188
14189// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14190func (asdls AzureSQLDatabaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
14191	return nil, false
14192}
14193
14194// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14195func (asdls AzureSQLDatabaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
14196	return nil, false
14197}
14198
14199// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14200func (asdls AzureSQLDatabaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
14201	return nil, false
14202}
14203
14204// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14205func (asdls AzureSQLDatabaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
14206	return nil, false
14207}
14208
14209// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14210func (asdls AzureSQLDatabaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
14211	return nil, false
14212}
14213
14214// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14215func (asdls AzureSQLDatabaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
14216	return nil, false
14217}
14218
14219// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14220func (asdls AzureSQLDatabaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
14221	return nil, false
14222}
14223
14224// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14225func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
14226	return nil, false
14227}
14228
14229// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14230func (asdls AzureSQLDatabaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
14231	return nil, false
14232}
14233
14234// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14235func (asdls AzureSQLDatabaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
14236	return nil, false
14237}
14238
14239// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14240func (asdls AzureSQLDatabaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
14241	return nil, false
14242}
14243
14244// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14245func (asdls AzureSQLDatabaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
14246	return nil, false
14247}
14248
14249// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14250func (asdls AzureSQLDatabaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
14251	return nil, false
14252}
14253
14254// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14255func (asdls AzureSQLDatabaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
14256	return nil, false
14257}
14258
14259// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14260func (asdls AzureSQLDatabaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
14261	return nil, false
14262}
14263
14264// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14265func (asdls AzureSQLDatabaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
14266	return nil, false
14267}
14268
14269// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14270func (asdls AzureSQLDatabaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
14271	return nil, false
14272}
14273
14274// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14275func (asdls AzureSQLDatabaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
14276	return nil, false
14277}
14278
14279// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14280func (asdls AzureSQLDatabaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
14281	return nil, false
14282}
14283
14284// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14285func (asdls AzureSQLDatabaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
14286	return nil, false
14287}
14288
14289// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14290func (asdls AzureSQLDatabaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
14291	return nil, false
14292}
14293
14294// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14295func (asdls AzureSQLDatabaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
14296	return nil, false
14297}
14298
14299// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14300func (asdls AzureSQLDatabaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
14301	return nil, false
14302}
14303
14304// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14305func (asdls AzureSQLDatabaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
14306	return nil, false
14307}
14308
14309// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14310func (asdls AzureSQLDatabaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
14311	return nil, false
14312}
14313
14314// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14315func (asdls AzureSQLDatabaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
14316	return nil, false
14317}
14318
14319// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14320func (asdls AzureSQLDatabaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
14321	return nil, false
14322}
14323
14324// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14325func (asdls AzureSQLDatabaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
14326	return nil, false
14327}
14328
14329// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14330func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
14331	return &asdls, true
14332}
14333
14334// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14335func (asdls AzureSQLDatabaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
14336	return nil, false
14337}
14338
14339// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14340func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
14341	return nil, false
14342}
14343
14344// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14345func (asdls AzureSQLDatabaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
14346	return nil, false
14347}
14348
14349// AsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14350func (asdls AzureSQLDatabaseLinkedService) AsLinkedService() (*LinkedService, bool) {
14351	return nil, false
14352}
14353
14354// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
14355func (asdls AzureSQLDatabaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
14356	return &asdls, true
14357}
14358
14359// UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedService struct.
14360func (asdls *AzureSQLDatabaseLinkedService) UnmarshalJSON(body []byte) error {
14361	var m map[string]*json.RawMessage
14362	err := json.Unmarshal(body, &m)
14363	if err != nil {
14364		return err
14365	}
14366	for k, v := range m {
14367		switch k {
14368		case "typeProperties":
14369			if v != nil {
14370				var azureSQLDatabaseLinkedServiceTypeProperties AzureSQLDatabaseLinkedServiceTypeProperties
14371				err = json.Unmarshal(*v, &azureSQLDatabaseLinkedServiceTypeProperties)
14372				if err != nil {
14373					return err
14374				}
14375				asdls.AzureSQLDatabaseLinkedServiceTypeProperties = &azureSQLDatabaseLinkedServiceTypeProperties
14376			}
14377		default:
14378			if v != nil {
14379				var additionalProperties interface{}
14380				err = json.Unmarshal(*v, &additionalProperties)
14381				if err != nil {
14382					return err
14383				}
14384				if asdls.AdditionalProperties == nil {
14385					asdls.AdditionalProperties = make(map[string]interface{})
14386				}
14387				asdls.AdditionalProperties[k] = additionalProperties
14388			}
14389		case "connectVia":
14390			if v != nil {
14391				var connectVia IntegrationRuntimeReference
14392				err = json.Unmarshal(*v, &connectVia)
14393				if err != nil {
14394					return err
14395				}
14396				asdls.ConnectVia = &connectVia
14397			}
14398		case "description":
14399			if v != nil {
14400				var description string
14401				err = json.Unmarshal(*v, &description)
14402				if err != nil {
14403					return err
14404				}
14405				asdls.Description = &description
14406			}
14407		case "parameters":
14408			if v != nil {
14409				var parameters map[string]*ParameterSpecification
14410				err = json.Unmarshal(*v, &parameters)
14411				if err != nil {
14412					return err
14413				}
14414				asdls.Parameters = parameters
14415			}
14416		case "annotations":
14417			if v != nil {
14418				var annotations []interface{}
14419				err = json.Unmarshal(*v, &annotations)
14420				if err != nil {
14421					return err
14422				}
14423				asdls.Annotations = &annotations
14424			}
14425		case "type":
14426			if v != nil {
14427				var typeVar TypeBasicLinkedService
14428				err = json.Unmarshal(*v, &typeVar)
14429				if err != nil {
14430					return err
14431				}
14432				asdls.Type = typeVar
14433			}
14434		}
14435	}
14436
14437	return nil
14438}
14439
14440// AzureSQLDatabaseLinkedServiceTypeProperties azure SQL Database linked service properties.
14441type AzureSQLDatabaseLinkedServiceTypeProperties struct {
14442	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
14443	ConnectionString interface{} `json:"connectionString,omitempty"`
14444	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string).
14445	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
14446	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Database.
14447	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
14448	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
14449	Tenant interface{} `json:"tenant,omitempty"`
14450	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
14451	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
14452}
14453
14454// UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedServiceTypeProperties struct.
14455func (asdlstp *AzureSQLDatabaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
14456	var m map[string]*json.RawMessage
14457	err := json.Unmarshal(body, &m)
14458	if err != nil {
14459		return err
14460	}
14461	for k, v := range m {
14462		switch k {
14463		case "connectionString":
14464			if v != nil {
14465				var connectionString interface{}
14466				err = json.Unmarshal(*v, &connectionString)
14467				if err != nil {
14468					return err
14469				}
14470				asdlstp.ConnectionString = connectionString
14471			}
14472		case "servicePrincipalId":
14473			if v != nil {
14474				var servicePrincipalID interface{}
14475				err = json.Unmarshal(*v, &servicePrincipalID)
14476				if err != nil {
14477					return err
14478				}
14479				asdlstp.ServicePrincipalID = servicePrincipalID
14480			}
14481		case "servicePrincipalKey":
14482			if v != nil {
14483				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
14484				if err != nil {
14485					return err
14486				}
14487				asdlstp.ServicePrincipalKey = servicePrincipalKey
14488			}
14489		case "tenant":
14490			if v != nil {
14491				var tenant interface{}
14492				err = json.Unmarshal(*v, &tenant)
14493				if err != nil {
14494					return err
14495				}
14496				asdlstp.Tenant = tenant
14497			}
14498		case "encryptedCredential":
14499			if v != nil {
14500				var encryptedCredential interface{}
14501				err = json.Unmarshal(*v, &encryptedCredential)
14502				if err != nil {
14503					return err
14504				}
14505				asdlstp.EncryptedCredential = encryptedCredential
14506			}
14507		}
14508	}
14509
14510	return nil
14511}
14512
14513// AzureSQLDWLinkedService azure SQL Data Warehouse linked service.
14514type AzureSQLDWLinkedService struct {
14515	// AzureSQLDWLinkedServiceTypeProperties - Azure SQL Data Warehouse linked service properties.
14516	*AzureSQLDWLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
14517	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
14518	AdditionalProperties map[string]interface{} `json:""`
14519	// ConnectVia - The integration runtime reference.
14520	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
14521	// Description - Linked service description.
14522	Description *string `json:"description,omitempty"`
14523	// Parameters - Parameters for linked service.
14524	Parameters map[string]*ParameterSpecification `json:"parameters"`
14525	// Annotations - List of tags that can be used for describing the Dataset.
14526	Annotations *[]interface{} `json:"annotations,omitempty"`
14527	// 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'
14528	Type TypeBasicLinkedService `json:"type,omitempty"`
14529}
14530
14531// MarshalJSON is the custom marshaler for AzureSQLDWLinkedService.
14532func (asdls AzureSQLDWLinkedService) MarshalJSON() ([]byte, error) {
14533	asdls.Type = TypeAzureSQLDW
14534	objectMap := make(map[string]interface{})
14535	if asdls.AzureSQLDWLinkedServiceTypeProperties != nil {
14536		objectMap["typeProperties"] = asdls.AzureSQLDWLinkedServiceTypeProperties
14537	}
14538	if asdls.ConnectVia != nil {
14539		objectMap["connectVia"] = asdls.ConnectVia
14540	}
14541	if asdls.Description != nil {
14542		objectMap["description"] = asdls.Description
14543	}
14544	if asdls.Parameters != nil {
14545		objectMap["parameters"] = asdls.Parameters
14546	}
14547	if asdls.Annotations != nil {
14548		objectMap["annotations"] = asdls.Annotations
14549	}
14550	if asdls.Type != "" {
14551		objectMap["type"] = asdls.Type
14552	}
14553	for k, v := range asdls.AdditionalProperties {
14554		objectMap[k] = v
14555	}
14556	return json.Marshal(objectMap)
14557}
14558
14559// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14560func (asdls AzureSQLDWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
14561	return nil, false
14562}
14563
14564// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14565func (asdls AzureSQLDWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
14566	return nil, false
14567}
14568
14569// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14570func (asdls AzureSQLDWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
14571	return nil, false
14572}
14573
14574// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14575func (asdls AzureSQLDWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
14576	return nil, false
14577}
14578
14579// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14580func (asdls AzureSQLDWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
14581	return nil, false
14582}
14583
14584// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14585func (asdls AzureSQLDWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
14586	return nil, false
14587}
14588
14589// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14590func (asdls AzureSQLDWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
14591	return nil, false
14592}
14593
14594// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14595func (asdls AzureSQLDWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
14596	return nil, false
14597}
14598
14599// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14600func (asdls AzureSQLDWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
14601	return nil, false
14602}
14603
14604// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14605func (asdls AzureSQLDWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
14606	return nil, false
14607}
14608
14609// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14610func (asdls AzureSQLDWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
14611	return nil, false
14612}
14613
14614// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14615func (asdls AzureSQLDWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
14616	return nil, false
14617}
14618
14619// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14620func (asdls AzureSQLDWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
14621	return nil, false
14622}
14623
14624// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14625func (asdls AzureSQLDWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
14626	return nil, false
14627}
14628
14629// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14630func (asdls AzureSQLDWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
14631	return nil, false
14632}
14633
14634// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14635func (asdls AzureSQLDWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
14636	return nil, false
14637}
14638
14639// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14640func (asdls AzureSQLDWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
14641	return nil, false
14642}
14643
14644// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14645func (asdls AzureSQLDWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
14646	return nil, false
14647}
14648
14649// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14650func (asdls AzureSQLDWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
14651	return nil, false
14652}
14653
14654// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14655func (asdls AzureSQLDWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
14656	return nil, false
14657}
14658
14659// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14660func (asdls AzureSQLDWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
14661	return nil, false
14662}
14663
14664// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14665func (asdls AzureSQLDWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
14666	return nil, false
14667}
14668
14669// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14670func (asdls AzureSQLDWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
14671	return nil, false
14672}
14673
14674// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14675func (asdls AzureSQLDWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
14676	return nil, false
14677}
14678
14679// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14680func (asdls AzureSQLDWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
14681	return nil, false
14682}
14683
14684// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14685func (asdls AzureSQLDWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
14686	return nil, false
14687}
14688
14689// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14690func (asdls AzureSQLDWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
14691	return nil, false
14692}
14693
14694// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14695func (asdls AzureSQLDWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
14696	return nil, false
14697}
14698
14699// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14700func (asdls AzureSQLDWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
14701	return nil, false
14702}
14703
14704// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14705func (asdls AzureSQLDWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
14706	return nil, false
14707}
14708
14709// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14710func (asdls AzureSQLDWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
14711	return nil, false
14712}
14713
14714// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14715func (asdls AzureSQLDWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
14716	return nil, false
14717}
14718
14719// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14720func (asdls AzureSQLDWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
14721	return nil, false
14722}
14723
14724// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14725func (asdls AzureSQLDWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
14726	return nil, false
14727}
14728
14729// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14730func (asdls AzureSQLDWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
14731	return nil, false
14732}
14733
14734// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14735func (asdls AzureSQLDWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
14736	return nil, false
14737}
14738
14739// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14740func (asdls AzureSQLDWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
14741	return nil, false
14742}
14743
14744// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14745func (asdls AzureSQLDWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
14746	return nil, false
14747}
14748
14749// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14750func (asdls AzureSQLDWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
14751	return nil, false
14752}
14753
14754// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14755func (asdls AzureSQLDWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
14756	return nil, false
14757}
14758
14759// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14760func (asdls AzureSQLDWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
14761	return nil, false
14762}
14763
14764// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14765func (asdls AzureSQLDWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
14766	return nil, false
14767}
14768
14769// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14770func (asdls AzureSQLDWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
14771	return nil, false
14772}
14773
14774// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14775func (asdls AzureSQLDWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
14776	return nil, false
14777}
14778
14779// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14780func (asdls AzureSQLDWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
14781	return nil, false
14782}
14783
14784// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14785func (asdls AzureSQLDWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
14786	return nil, false
14787}
14788
14789// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14790func (asdls AzureSQLDWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
14791	return nil, false
14792}
14793
14794// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14795func (asdls AzureSQLDWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
14796	return nil, false
14797}
14798
14799// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14800func (asdls AzureSQLDWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
14801	return nil, false
14802}
14803
14804// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14805func (asdls AzureSQLDWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
14806	return nil, false
14807}
14808
14809// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14810func (asdls AzureSQLDWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
14811	return nil, false
14812}
14813
14814// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14815func (asdls AzureSQLDWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
14816	return nil, false
14817}
14818
14819// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14820func (asdls AzureSQLDWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
14821	return nil, false
14822}
14823
14824// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14825func (asdls AzureSQLDWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
14826	return nil, false
14827}
14828
14829// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14830func (asdls AzureSQLDWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
14831	return nil, false
14832}
14833
14834// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14835func (asdls AzureSQLDWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
14836	return nil, false
14837}
14838
14839// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14840func (asdls AzureSQLDWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
14841	return nil, false
14842}
14843
14844// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14845func (asdls AzureSQLDWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
14846	return nil, false
14847}
14848
14849// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14850func (asdls AzureSQLDWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
14851	return nil, false
14852}
14853
14854// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14855func (asdls AzureSQLDWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
14856	return nil, false
14857}
14858
14859// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14860func (asdls AzureSQLDWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
14861	return nil, false
14862}
14863
14864// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14865func (asdls AzureSQLDWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
14866	return nil, false
14867}
14868
14869// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14870func (asdls AzureSQLDWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
14871	return nil, false
14872}
14873
14874// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14875func (asdls AzureSQLDWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
14876	return nil, false
14877}
14878
14879// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14880func (asdls AzureSQLDWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
14881	return nil, false
14882}
14883
14884// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14885func (asdls AzureSQLDWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
14886	return nil, false
14887}
14888
14889// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14890func (asdls AzureSQLDWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
14891	return nil, false
14892}
14893
14894// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14895func (asdls AzureSQLDWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
14896	return nil, false
14897}
14898
14899// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14900func (asdls AzureSQLDWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
14901	return &asdls, true
14902}
14903
14904// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14905func (asdls AzureSQLDWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
14906	return nil, false
14907}
14908
14909// AsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14910func (asdls AzureSQLDWLinkedService) AsLinkedService() (*LinkedService, bool) {
14911	return nil, false
14912}
14913
14914// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
14915func (asdls AzureSQLDWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
14916	return &asdls, true
14917}
14918
14919// UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedService struct.
14920func (asdls *AzureSQLDWLinkedService) UnmarshalJSON(body []byte) error {
14921	var m map[string]*json.RawMessage
14922	err := json.Unmarshal(body, &m)
14923	if err != nil {
14924		return err
14925	}
14926	for k, v := range m {
14927		switch k {
14928		case "typeProperties":
14929			if v != nil {
14930				var azureSQLDWLinkedServiceTypeProperties AzureSQLDWLinkedServiceTypeProperties
14931				err = json.Unmarshal(*v, &azureSQLDWLinkedServiceTypeProperties)
14932				if err != nil {
14933					return err
14934				}
14935				asdls.AzureSQLDWLinkedServiceTypeProperties = &azureSQLDWLinkedServiceTypeProperties
14936			}
14937		default:
14938			if v != nil {
14939				var additionalProperties interface{}
14940				err = json.Unmarshal(*v, &additionalProperties)
14941				if err != nil {
14942					return err
14943				}
14944				if asdls.AdditionalProperties == nil {
14945					asdls.AdditionalProperties = make(map[string]interface{})
14946				}
14947				asdls.AdditionalProperties[k] = additionalProperties
14948			}
14949		case "connectVia":
14950			if v != nil {
14951				var connectVia IntegrationRuntimeReference
14952				err = json.Unmarshal(*v, &connectVia)
14953				if err != nil {
14954					return err
14955				}
14956				asdls.ConnectVia = &connectVia
14957			}
14958		case "description":
14959			if v != nil {
14960				var description string
14961				err = json.Unmarshal(*v, &description)
14962				if err != nil {
14963					return err
14964				}
14965				asdls.Description = &description
14966			}
14967		case "parameters":
14968			if v != nil {
14969				var parameters map[string]*ParameterSpecification
14970				err = json.Unmarshal(*v, &parameters)
14971				if err != nil {
14972					return err
14973				}
14974				asdls.Parameters = parameters
14975			}
14976		case "annotations":
14977			if v != nil {
14978				var annotations []interface{}
14979				err = json.Unmarshal(*v, &annotations)
14980				if err != nil {
14981					return err
14982				}
14983				asdls.Annotations = &annotations
14984			}
14985		case "type":
14986			if v != nil {
14987				var typeVar TypeBasicLinkedService
14988				err = json.Unmarshal(*v, &typeVar)
14989				if err != nil {
14990					return err
14991				}
14992				asdls.Type = typeVar
14993			}
14994		}
14995	}
14996
14997	return nil
14998}
14999
15000// AzureSQLDWLinkedServiceTypeProperties azure SQL Data Warehouse linked service properties.
15001type AzureSQLDWLinkedServiceTypeProperties struct {
15002	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
15003	ConnectionString interface{} `json:"connectionString,omitempty"`
15004	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
15005	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
15006	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Data Warehouse.
15007	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
15008	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
15009	Tenant interface{} `json:"tenant,omitempty"`
15010	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
15011	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
15012}
15013
15014// UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedServiceTypeProperties struct.
15015func (asdlstp *AzureSQLDWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
15016	var m map[string]*json.RawMessage
15017	err := json.Unmarshal(body, &m)
15018	if err != nil {
15019		return err
15020	}
15021	for k, v := range m {
15022		switch k {
15023		case "connectionString":
15024			if v != nil {
15025				var connectionString interface{}
15026				err = json.Unmarshal(*v, &connectionString)
15027				if err != nil {
15028					return err
15029				}
15030				asdlstp.ConnectionString = connectionString
15031			}
15032		case "servicePrincipalId":
15033			if v != nil {
15034				var servicePrincipalID interface{}
15035				err = json.Unmarshal(*v, &servicePrincipalID)
15036				if err != nil {
15037					return err
15038				}
15039				asdlstp.ServicePrincipalID = servicePrincipalID
15040			}
15041		case "servicePrincipalKey":
15042			if v != nil {
15043				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
15044				if err != nil {
15045					return err
15046				}
15047				asdlstp.ServicePrincipalKey = servicePrincipalKey
15048			}
15049		case "tenant":
15050			if v != nil {
15051				var tenant interface{}
15052				err = json.Unmarshal(*v, &tenant)
15053				if err != nil {
15054					return err
15055				}
15056				asdlstp.Tenant = tenant
15057			}
15058		case "encryptedCredential":
15059			if v != nil {
15060				var encryptedCredential interface{}
15061				err = json.Unmarshal(*v, &encryptedCredential)
15062				if err != nil {
15063					return err
15064				}
15065				asdlstp.EncryptedCredential = encryptedCredential
15066			}
15067		}
15068	}
15069
15070	return nil
15071}
15072
15073// AzureSQLDWTableDataset the Azure SQL Data Warehouse dataset.
15074type AzureSQLDWTableDataset struct {
15075	// AzureSQLDWTableDatasetTypeProperties - Azure SQL Data Warehouse dataset properties.
15076	*AzureSQLDWTableDatasetTypeProperties `json:"typeProperties,omitempty"`
15077	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
15078	AdditionalProperties map[string]interface{} `json:""`
15079	// Description - Dataset description.
15080	Description *string `json:"description,omitempty"`
15081	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
15082	Structure interface{} `json:"structure,omitempty"`
15083	// LinkedServiceName - Linked service reference.
15084	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
15085	// Parameters - Parameters for dataset.
15086	Parameters map[string]*ParameterSpecification `json:"parameters"`
15087	// Annotations - List of tags that can be used for describing the Dataset.
15088	Annotations *[]interface{} `json:"annotations,omitempty"`
15089	// 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'
15090	Type TypeBasicDataset `json:"type,omitempty"`
15091}
15092
15093// MarshalJSON is the custom marshaler for AzureSQLDWTableDataset.
15094func (asdtd AzureSQLDWTableDataset) MarshalJSON() ([]byte, error) {
15095	asdtd.Type = TypeAzureSQLDWTable
15096	objectMap := make(map[string]interface{})
15097	if asdtd.AzureSQLDWTableDatasetTypeProperties != nil {
15098		objectMap["typeProperties"] = asdtd.AzureSQLDWTableDatasetTypeProperties
15099	}
15100	if asdtd.Description != nil {
15101		objectMap["description"] = asdtd.Description
15102	}
15103	if asdtd.Structure != nil {
15104		objectMap["structure"] = asdtd.Structure
15105	}
15106	if asdtd.LinkedServiceName != nil {
15107		objectMap["linkedServiceName"] = asdtd.LinkedServiceName
15108	}
15109	if asdtd.Parameters != nil {
15110		objectMap["parameters"] = asdtd.Parameters
15111	}
15112	if asdtd.Annotations != nil {
15113		objectMap["annotations"] = asdtd.Annotations
15114	}
15115	if asdtd.Type != "" {
15116		objectMap["type"] = asdtd.Type
15117	}
15118	for k, v := range asdtd.AdditionalProperties {
15119		objectMap[k] = v
15120	}
15121	return json.Marshal(objectMap)
15122}
15123
15124// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15125func (asdtd AzureSQLDWTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
15126	return nil, false
15127}
15128
15129// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15130func (asdtd AzureSQLDWTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
15131	return nil, false
15132}
15133
15134// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15135func (asdtd AzureSQLDWTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
15136	return nil, false
15137}
15138
15139// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15140func (asdtd AzureSQLDWTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
15141	return nil, false
15142}
15143
15144// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15145func (asdtd AzureSQLDWTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
15146	return nil, false
15147}
15148
15149// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15150func (asdtd AzureSQLDWTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
15151	return nil, false
15152}
15153
15154// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15155func (asdtd AzureSQLDWTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
15156	return nil, false
15157}
15158
15159// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15160func (asdtd AzureSQLDWTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
15161	return nil, false
15162}
15163
15164// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15165func (asdtd AzureSQLDWTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
15166	return nil, false
15167}
15168
15169// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15170func (asdtd AzureSQLDWTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
15171	return nil, false
15172}
15173
15174// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15175func (asdtd AzureSQLDWTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
15176	return nil, false
15177}
15178
15179// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15180func (asdtd AzureSQLDWTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
15181	return nil, false
15182}
15183
15184// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15185func (asdtd AzureSQLDWTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
15186	return nil, false
15187}
15188
15189// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15190func (asdtd AzureSQLDWTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
15191	return nil, false
15192}
15193
15194// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15195func (asdtd AzureSQLDWTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
15196	return nil, false
15197}
15198
15199// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15200func (asdtd AzureSQLDWTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
15201	return nil, false
15202}
15203
15204// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15205func (asdtd AzureSQLDWTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
15206	return nil, false
15207}
15208
15209// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15210func (asdtd AzureSQLDWTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
15211	return nil, false
15212}
15213
15214// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15215func (asdtd AzureSQLDWTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
15216	return nil, false
15217}
15218
15219// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15220func (asdtd AzureSQLDWTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
15221	return nil, false
15222}
15223
15224// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15225func (asdtd AzureSQLDWTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
15226	return nil, false
15227}
15228
15229// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15230func (asdtd AzureSQLDWTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
15231	return nil, false
15232}
15233
15234// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15235func (asdtd AzureSQLDWTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
15236	return nil, false
15237}
15238
15239// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15240func (asdtd AzureSQLDWTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
15241	return nil, false
15242}
15243
15244// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15245func (asdtd AzureSQLDWTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
15246	return nil, false
15247}
15248
15249// AsDrillTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15250func (asdtd AzureSQLDWTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
15251	return nil, false
15252}
15253
15254// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15255func (asdtd AzureSQLDWTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
15256	return nil, false
15257}
15258
15259// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15260func (asdtd AzureSQLDWTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
15261	return nil, false
15262}
15263
15264// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15265func (asdtd AzureSQLDWTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
15266	return nil, false
15267}
15268
15269// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15270func (asdtd AzureSQLDWTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
15271	return nil, false
15272}
15273
15274// AsHTTPDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15275func (asdtd AzureSQLDWTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
15276	return nil, false
15277}
15278
15279// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15280func (asdtd AzureSQLDWTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
15281	return nil, false
15282}
15283
15284// AsWebTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15285func (asdtd AzureSQLDWTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
15286	return nil, false
15287}
15288
15289// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15290func (asdtd AzureSQLDWTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
15291	return nil, false
15292}
15293
15294// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15295func (asdtd AzureSQLDWTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
15296	return nil, false
15297}
15298
15299// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15300func (asdtd AzureSQLDWTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
15301	return nil, false
15302}
15303
15304// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15305func (asdtd AzureSQLDWTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
15306	return nil, false
15307}
15308
15309// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15310func (asdtd AzureSQLDWTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
15311	return nil, false
15312}
15313
15314// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15315func (asdtd AzureSQLDWTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
15316	return nil, false
15317}
15318
15319// AsOracleTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15320func (asdtd AzureSQLDWTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
15321	return nil, false
15322}
15323
15324// AsODataResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15325func (asdtd AzureSQLDWTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
15326	return nil, false
15327}
15328
15329// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15330func (asdtd AzureSQLDWTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
15331	return nil, false
15332}
15333
15334// AsFileShareDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15335func (asdtd AzureSQLDWTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
15336	return nil, false
15337}
15338
15339// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15340func (asdtd AzureSQLDWTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
15341	return nil, false
15342}
15343
15344// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15345func (asdtd AzureSQLDWTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
15346	return nil, false
15347}
15348
15349// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15350func (asdtd AzureSQLDWTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
15351	return nil, false
15352}
15353
15354// AsCustomDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15355func (asdtd AzureSQLDWTableDataset) AsCustomDataset() (*CustomDataset, bool) {
15356	return nil, false
15357}
15358
15359// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15360func (asdtd AzureSQLDWTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
15361	return nil, false
15362}
15363
15364// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15365func (asdtd AzureSQLDWTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
15366	return &asdtd, true
15367}
15368
15369// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15370func (asdtd AzureSQLDWTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
15371	return nil, false
15372}
15373
15374// AsAzureTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15375func (asdtd AzureSQLDWTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
15376	return nil, false
15377}
15378
15379// AsAzureBlobDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15380func (asdtd AzureSQLDWTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
15381	return nil, false
15382}
15383
15384// AsAmazonS3Dataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15385func (asdtd AzureSQLDWTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
15386	return nil, false
15387}
15388
15389// AsDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15390func (asdtd AzureSQLDWTableDataset) AsDataset() (*Dataset, bool) {
15391	return nil, false
15392}
15393
15394// AsBasicDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
15395func (asdtd AzureSQLDWTableDataset) AsBasicDataset() (BasicDataset, bool) {
15396	return &asdtd, true
15397}
15398
15399// UnmarshalJSON is the custom unmarshaler for AzureSQLDWTableDataset struct.
15400func (asdtd *AzureSQLDWTableDataset) UnmarshalJSON(body []byte) error {
15401	var m map[string]*json.RawMessage
15402	err := json.Unmarshal(body, &m)
15403	if err != nil {
15404		return err
15405	}
15406	for k, v := range m {
15407		switch k {
15408		case "typeProperties":
15409			if v != nil {
15410				var azureSQLDWTableDatasetTypeProperties AzureSQLDWTableDatasetTypeProperties
15411				err = json.Unmarshal(*v, &azureSQLDWTableDatasetTypeProperties)
15412				if err != nil {
15413					return err
15414				}
15415				asdtd.AzureSQLDWTableDatasetTypeProperties = &azureSQLDWTableDatasetTypeProperties
15416			}
15417		default:
15418			if v != nil {
15419				var additionalProperties interface{}
15420				err = json.Unmarshal(*v, &additionalProperties)
15421				if err != nil {
15422					return err
15423				}
15424				if asdtd.AdditionalProperties == nil {
15425					asdtd.AdditionalProperties = make(map[string]interface{})
15426				}
15427				asdtd.AdditionalProperties[k] = additionalProperties
15428			}
15429		case "description":
15430			if v != nil {
15431				var description string
15432				err = json.Unmarshal(*v, &description)
15433				if err != nil {
15434					return err
15435				}
15436				asdtd.Description = &description
15437			}
15438		case "structure":
15439			if v != nil {
15440				var structure interface{}
15441				err = json.Unmarshal(*v, &structure)
15442				if err != nil {
15443					return err
15444				}
15445				asdtd.Structure = structure
15446			}
15447		case "linkedServiceName":
15448			if v != nil {
15449				var linkedServiceName LinkedServiceReference
15450				err = json.Unmarshal(*v, &linkedServiceName)
15451				if err != nil {
15452					return err
15453				}
15454				asdtd.LinkedServiceName = &linkedServiceName
15455			}
15456		case "parameters":
15457			if v != nil {
15458				var parameters map[string]*ParameterSpecification
15459				err = json.Unmarshal(*v, &parameters)
15460				if err != nil {
15461					return err
15462				}
15463				asdtd.Parameters = parameters
15464			}
15465		case "annotations":
15466			if v != nil {
15467				var annotations []interface{}
15468				err = json.Unmarshal(*v, &annotations)
15469				if err != nil {
15470					return err
15471				}
15472				asdtd.Annotations = &annotations
15473			}
15474		case "type":
15475			if v != nil {
15476				var typeVar TypeBasicDataset
15477				err = json.Unmarshal(*v, &typeVar)
15478				if err != nil {
15479					return err
15480				}
15481				asdtd.Type = typeVar
15482			}
15483		}
15484	}
15485
15486	return nil
15487}
15488
15489// AzureSQLDWTableDatasetTypeProperties azure SQL Data Warehouse dataset properties.
15490type AzureSQLDWTableDatasetTypeProperties struct {
15491	// TableName - The table name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
15492	TableName interface{} `json:"tableName,omitempty"`
15493}
15494
15495// AzureSQLTableDataset the Azure SQL Server database dataset.
15496type AzureSQLTableDataset struct {
15497	// AzureSQLTableDatasetTypeProperties - Azure SQL dataset properties.
15498	*AzureSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
15499	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
15500	AdditionalProperties map[string]interface{} `json:""`
15501	// Description - Dataset description.
15502	Description *string `json:"description,omitempty"`
15503	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
15504	Structure interface{} `json:"structure,omitempty"`
15505	// LinkedServiceName - Linked service reference.
15506	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
15507	// Parameters - Parameters for dataset.
15508	Parameters map[string]*ParameterSpecification `json:"parameters"`
15509	// Annotations - List of tags that can be used for describing the Dataset.
15510	Annotations *[]interface{} `json:"annotations,omitempty"`
15511	// 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'
15512	Type TypeBasicDataset `json:"type,omitempty"`
15513}
15514
15515// MarshalJSON is the custom marshaler for AzureSQLTableDataset.
15516func (astd AzureSQLTableDataset) MarshalJSON() ([]byte, error) {
15517	astd.Type = TypeAzureSQLTable
15518	objectMap := make(map[string]interface{})
15519	if astd.AzureSQLTableDatasetTypeProperties != nil {
15520		objectMap["typeProperties"] = astd.AzureSQLTableDatasetTypeProperties
15521	}
15522	if astd.Description != nil {
15523		objectMap["description"] = astd.Description
15524	}
15525	if astd.Structure != nil {
15526		objectMap["structure"] = astd.Structure
15527	}
15528	if astd.LinkedServiceName != nil {
15529		objectMap["linkedServiceName"] = astd.LinkedServiceName
15530	}
15531	if astd.Parameters != nil {
15532		objectMap["parameters"] = astd.Parameters
15533	}
15534	if astd.Annotations != nil {
15535		objectMap["annotations"] = astd.Annotations
15536	}
15537	if astd.Type != "" {
15538		objectMap["type"] = astd.Type
15539	}
15540	for k, v := range astd.AdditionalProperties {
15541		objectMap[k] = v
15542	}
15543	return json.Marshal(objectMap)
15544}
15545
15546// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15547func (astd AzureSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
15548	return nil, false
15549}
15550
15551// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15552func (astd AzureSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
15553	return nil, false
15554}
15555
15556// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15557func (astd AzureSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
15558	return nil, false
15559}
15560
15561// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15562func (astd AzureSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
15563	return nil, false
15564}
15565
15566// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15567func (astd AzureSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
15568	return nil, false
15569}
15570
15571// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15572func (astd AzureSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
15573	return nil, false
15574}
15575
15576// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15577func (astd AzureSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
15578	return nil, false
15579}
15580
15581// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15582func (astd AzureSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
15583	return nil, false
15584}
15585
15586// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15587func (astd AzureSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
15588	return nil, false
15589}
15590
15591// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15592func (astd AzureSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
15593	return nil, false
15594}
15595
15596// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15597func (astd AzureSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
15598	return nil, false
15599}
15600
15601// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15602func (astd AzureSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
15603	return nil, false
15604}
15605
15606// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15607func (astd AzureSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
15608	return nil, false
15609}
15610
15611// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15612func (astd AzureSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
15613	return nil, false
15614}
15615
15616// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15617func (astd AzureSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
15618	return nil, false
15619}
15620
15621// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15622func (astd AzureSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
15623	return nil, false
15624}
15625
15626// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15627func (astd AzureSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
15628	return nil, false
15629}
15630
15631// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15632func (astd AzureSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
15633	return nil, false
15634}
15635
15636// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15637func (astd AzureSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
15638	return nil, false
15639}
15640
15641// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15642func (astd AzureSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
15643	return nil, false
15644}
15645
15646// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15647func (astd AzureSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
15648	return nil, false
15649}
15650
15651// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15652func (astd AzureSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
15653	return nil, false
15654}
15655
15656// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15657func (astd AzureSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
15658	return nil, false
15659}
15660
15661// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15662func (astd AzureSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
15663	return nil, false
15664}
15665
15666// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15667func (astd AzureSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
15668	return nil, false
15669}
15670
15671// AsDrillTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15672func (astd AzureSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
15673	return nil, false
15674}
15675
15676// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15677func (astd AzureSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
15678	return nil, false
15679}
15680
15681// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15682func (astd AzureSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
15683	return nil, false
15684}
15685
15686// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15687func (astd AzureSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
15688	return nil, false
15689}
15690
15691// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15692func (astd AzureSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
15693	return nil, false
15694}
15695
15696// AsHTTPDataset is the BasicDataset implementation for AzureSQLTableDataset.
15697func (astd AzureSQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
15698	return nil, false
15699}
15700
15701// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLTableDataset.
15702func (astd AzureSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
15703	return nil, false
15704}
15705
15706// AsWebTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15707func (astd AzureSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
15708	return nil, false
15709}
15710
15711// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15712func (astd AzureSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
15713	return nil, false
15714}
15715
15716// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
15717func (astd AzureSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
15718	return nil, false
15719}
15720
15721// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
15722func (astd AzureSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
15723	return nil, false
15724}
15725
15726// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
15727func (astd AzureSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
15728	return nil, false
15729}
15730
15731// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15732func (astd AzureSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
15733	return nil, false
15734}
15735
15736// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15737func (astd AzureSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
15738	return nil, false
15739}
15740
15741// AsOracleTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15742func (astd AzureSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
15743	return nil, false
15744}
15745
15746// AsODataResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
15747func (astd AzureSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
15748	return nil, false
15749}
15750
15751// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
15752func (astd AzureSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
15753	return nil, false
15754}
15755
15756// AsFileShareDataset is the BasicDataset implementation for AzureSQLTableDataset.
15757func (astd AzureSQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
15758	return nil, false
15759}
15760
15761// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSQLTableDataset.
15762func (astd AzureSQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
15763	return nil, false
15764}
15765
15766// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLTableDataset.
15767func (astd AzureSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
15768	return nil, false
15769}
15770
15771// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
15772func (astd AzureSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
15773	return nil, false
15774}
15775
15776// AsCustomDataset is the BasicDataset implementation for AzureSQLTableDataset.
15777func (astd AzureSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
15778	return nil, false
15779}
15780
15781// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15782func (astd AzureSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
15783	return nil, false
15784}
15785
15786// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15787func (astd AzureSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
15788	return nil, false
15789}
15790
15791// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15792func (astd AzureSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
15793	return &astd, true
15794}
15795
15796// AsAzureTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
15797func (astd AzureSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
15798	return nil, false
15799}
15800
15801// AsAzureBlobDataset is the BasicDataset implementation for AzureSQLTableDataset.
15802func (astd AzureSQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
15803	return nil, false
15804}
15805
15806// AsAmazonS3Dataset is the BasicDataset implementation for AzureSQLTableDataset.
15807func (astd AzureSQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
15808	return nil, false
15809}
15810
15811// AsDataset is the BasicDataset implementation for AzureSQLTableDataset.
15812func (astd AzureSQLTableDataset) AsDataset() (*Dataset, bool) {
15813	return nil, false
15814}
15815
15816// AsBasicDataset is the BasicDataset implementation for AzureSQLTableDataset.
15817func (astd AzureSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
15818	return &astd, true
15819}
15820
15821// UnmarshalJSON is the custom unmarshaler for AzureSQLTableDataset struct.
15822func (astd *AzureSQLTableDataset) UnmarshalJSON(body []byte) error {
15823	var m map[string]*json.RawMessage
15824	err := json.Unmarshal(body, &m)
15825	if err != nil {
15826		return err
15827	}
15828	for k, v := range m {
15829		switch k {
15830		case "typeProperties":
15831			if v != nil {
15832				var azureSQLTableDatasetTypeProperties AzureSQLTableDatasetTypeProperties
15833				err = json.Unmarshal(*v, &azureSQLTableDatasetTypeProperties)
15834				if err != nil {
15835					return err
15836				}
15837				astd.AzureSQLTableDatasetTypeProperties = &azureSQLTableDatasetTypeProperties
15838			}
15839		default:
15840			if v != nil {
15841				var additionalProperties interface{}
15842				err = json.Unmarshal(*v, &additionalProperties)
15843				if err != nil {
15844					return err
15845				}
15846				if astd.AdditionalProperties == nil {
15847					astd.AdditionalProperties = make(map[string]interface{})
15848				}
15849				astd.AdditionalProperties[k] = additionalProperties
15850			}
15851		case "description":
15852			if v != nil {
15853				var description string
15854				err = json.Unmarshal(*v, &description)
15855				if err != nil {
15856					return err
15857				}
15858				astd.Description = &description
15859			}
15860		case "structure":
15861			if v != nil {
15862				var structure interface{}
15863				err = json.Unmarshal(*v, &structure)
15864				if err != nil {
15865					return err
15866				}
15867				astd.Structure = structure
15868			}
15869		case "linkedServiceName":
15870			if v != nil {
15871				var linkedServiceName LinkedServiceReference
15872				err = json.Unmarshal(*v, &linkedServiceName)
15873				if err != nil {
15874					return err
15875				}
15876				astd.LinkedServiceName = &linkedServiceName
15877			}
15878		case "parameters":
15879			if v != nil {
15880				var parameters map[string]*ParameterSpecification
15881				err = json.Unmarshal(*v, &parameters)
15882				if err != nil {
15883					return err
15884				}
15885				astd.Parameters = parameters
15886			}
15887		case "annotations":
15888			if v != nil {
15889				var annotations []interface{}
15890				err = json.Unmarshal(*v, &annotations)
15891				if err != nil {
15892					return err
15893				}
15894				astd.Annotations = &annotations
15895			}
15896		case "type":
15897			if v != nil {
15898				var typeVar TypeBasicDataset
15899				err = json.Unmarshal(*v, &typeVar)
15900				if err != nil {
15901					return err
15902				}
15903				astd.Type = typeVar
15904			}
15905		}
15906	}
15907
15908	return nil
15909}
15910
15911// AzureSQLTableDatasetTypeProperties azure SQL dataset properties.
15912type AzureSQLTableDatasetTypeProperties struct {
15913	// TableName - The table name of the Azure SQL database. Type: string (or Expression with resultType string).
15914	TableName interface{} `json:"tableName,omitempty"`
15915}
15916
15917// AzureStorageLinkedService the storage account linked service.
15918type AzureStorageLinkedService struct {
15919	// AzureStorageLinkedServiceTypeProperties - Azure Storage linked service properties.
15920	*AzureStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
15921	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
15922	AdditionalProperties map[string]interface{} `json:""`
15923	// ConnectVia - The integration runtime reference.
15924	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
15925	// Description - Linked service description.
15926	Description *string `json:"description,omitempty"`
15927	// Parameters - Parameters for linked service.
15928	Parameters map[string]*ParameterSpecification `json:"parameters"`
15929	// Annotations - List of tags that can be used for describing the Dataset.
15930	Annotations *[]interface{} `json:"annotations,omitempty"`
15931	// 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'
15932	Type TypeBasicLinkedService `json:"type,omitempty"`
15933}
15934
15935// MarshalJSON is the custom marshaler for AzureStorageLinkedService.
15936func (asls AzureStorageLinkedService) MarshalJSON() ([]byte, error) {
15937	asls.Type = TypeAzureStorage
15938	objectMap := make(map[string]interface{})
15939	if asls.AzureStorageLinkedServiceTypeProperties != nil {
15940		objectMap["typeProperties"] = asls.AzureStorageLinkedServiceTypeProperties
15941	}
15942	if asls.ConnectVia != nil {
15943		objectMap["connectVia"] = asls.ConnectVia
15944	}
15945	if asls.Description != nil {
15946		objectMap["description"] = asls.Description
15947	}
15948	if asls.Parameters != nil {
15949		objectMap["parameters"] = asls.Parameters
15950	}
15951	if asls.Annotations != nil {
15952		objectMap["annotations"] = asls.Annotations
15953	}
15954	if asls.Type != "" {
15955		objectMap["type"] = asls.Type
15956	}
15957	for k, v := range asls.AdditionalProperties {
15958		objectMap[k] = v
15959	}
15960	return json.Marshal(objectMap)
15961}
15962
15963// AsResponsysLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15964func (asls AzureStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
15965	return nil, false
15966}
15967
15968// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15969func (asls AzureStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
15970	return nil, false
15971}
15972
15973// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15974func (asls AzureStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
15975	return nil, false
15976}
15977
15978// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15979func (asls AzureStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
15980	return nil, false
15981}
15982
15983// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15984func (asls AzureStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
15985	return nil, false
15986}
15987
15988// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15989func (asls AzureStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
15990	return nil, false
15991}
15992
15993// AsVerticaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15994func (asls AzureStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
15995	return nil, false
15996}
15997
15998// AsZohoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
15999func (asls AzureStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
16000	return nil, false
16001}
16002
16003// AsXeroLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16004func (asls AzureStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
16005	return nil, false
16006}
16007
16008// AsSquareLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16009func (asls AzureStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
16010	return nil, false
16011}
16012
16013// AsSparkLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16014func (asls AzureStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
16015	return nil, false
16016}
16017
16018// AsShopifyLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16019func (asls AzureStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
16020	return nil, false
16021}
16022
16023// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16024func (asls AzureStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
16025	return nil, false
16026}
16027
16028// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16029func (asls AzureStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
16030	return nil, false
16031}
16032
16033// AsPrestoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16034func (asls AzureStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
16035	return nil, false
16036}
16037
16038// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16039func (asls AzureStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
16040	return nil, false
16041}
16042
16043// AsPaypalLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16044func (asls AzureStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
16045	return nil, false
16046}
16047
16048// AsMarketoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16049func (asls AzureStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
16050	return nil, false
16051}
16052
16053// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16054func (asls AzureStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
16055	return nil, false
16056}
16057
16058// AsMagentoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16059func (asls AzureStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
16060	return nil, false
16061}
16062
16063// AsJiraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16064func (asls AzureStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
16065	return nil, false
16066}
16067
16068// AsImpalaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16069func (asls AzureStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
16070	return nil, false
16071}
16072
16073// AsHubspotLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16074func (asls AzureStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
16075	return nil, false
16076}
16077
16078// AsHiveLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16079func (asls AzureStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
16080	return nil, false
16081}
16082
16083// AsHBaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16084func (asls AzureStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
16085	return nil, false
16086}
16087
16088// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16089func (asls AzureStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
16090	return nil, false
16091}
16092
16093// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16094func (asls AzureStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
16095	return nil, false
16096}
16097
16098// AsEloquaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16099func (asls AzureStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
16100	return nil, false
16101}
16102
16103// AsDrillLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16104func (asls AzureStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
16105	return nil, false
16106}
16107
16108// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16109func (asls AzureStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
16110	return nil, false
16111}
16112
16113// AsConcurLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16114func (asls AzureStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
16115	return nil, false
16116}
16117
16118// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16119func (asls AzureStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
16120	return nil, false
16121}
16122
16123// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16124func (asls AzureStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
16125	return nil, false
16126}
16127
16128// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16129func (asls AzureStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
16130	return nil, false
16131}
16132
16133// AsSapBWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16134func (asls AzureStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
16135	return nil, false
16136}
16137
16138// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16139func (asls AzureStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
16140	return nil, false
16141}
16142
16143// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16144func (asls AzureStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
16145	return nil, false
16146}
16147
16148// AsHTTPLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16149func (asls AzureStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
16150	return nil, false
16151}
16152
16153// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16154func (asls AzureStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
16155	return nil, false
16156}
16157
16158// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16159func (asls AzureStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
16160	return nil, false
16161}
16162
16163// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16164func (asls AzureStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
16165	return nil, false
16166}
16167
16168// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16169func (asls AzureStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
16170	return nil, false
16171}
16172
16173// AsSapEccLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16174func (asls AzureStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
16175	return nil, false
16176}
16177
16178// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16179func (asls AzureStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
16180	return nil, false
16181}
16182
16183// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16184func (asls AzureStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
16185	return nil, false
16186}
16187
16188// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16189func (asls AzureStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
16190	return nil, false
16191}
16192
16193// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16194func (asls AzureStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
16195	return nil, false
16196}
16197
16198// AsCassandraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16199func (asls AzureStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
16200	return nil, false
16201}
16202
16203// AsWebLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16204func (asls AzureStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
16205	return nil, false
16206}
16207
16208// AsODataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16209func (asls AzureStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
16210	return nil, false
16211}
16212
16213// AsHdfsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16214func (asls AzureStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
16215	return nil, false
16216}
16217
16218// AsOdbcLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16219func (asls AzureStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
16220	return nil, false
16221}
16222
16223// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16224func (asls AzureStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
16225	return nil, false
16226}
16227
16228// AsTeradataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16229func (asls AzureStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
16230	return nil, false
16231}
16232
16233// AsDb2LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16234func (asls AzureStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
16235	return nil, false
16236}
16237
16238// AsSybaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16239func (asls AzureStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
16240	return nil, false
16241}
16242
16243// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16244func (asls AzureStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
16245	return nil, false
16246}
16247
16248// AsMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16249func (asls AzureStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
16250	return nil, false
16251}
16252
16253// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16254func (asls AzureStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
16255	return nil, false
16256}
16257
16258// AsOracleLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16259func (asls AzureStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
16260	return nil, false
16261}
16262
16263// AsFileServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16264func (asls AzureStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
16265	return nil, false
16266}
16267
16268// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16269func (asls AzureStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
16270	return nil, false
16271}
16272
16273// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16274func (asls AzureStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
16275	return nil, false
16276}
16277
16278// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16279func (asls AzureStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
16280	return nil, false
16281}
16282
16283// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16284func (asls AzureStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
16285	return nil, false
16286}
16287
16288// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16289func (asls AzureStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
16290	return nil, false
16291}
16292
16293// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16294func (asls AzureStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
16295	return nil, false
16296}
16297
16298// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16299func (asls AzureStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
16300	return nil, false
16301}
16302
16303// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16304func (asls AzureStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
16305	return nil, false
16306}
16307
16308// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16309func (asls AzureStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
16310	return &asls, true
16311}
16312
16313// AsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16314func (asls AzureStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
16315	return nil, false
16316}
16317
16318// AsBasicLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
16319func (asls AzureStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
16320	return &asls, true
16321}
16322
16323// UnmarshalJSON is the custom unmarshaler for AzureStorageLinkedService struct.
16324func (asls *AzureStorageLinkedService) UnmarshalJSON(body []byte) error {
16325	var m map[string]*json.RawMessage
16326	err := json.Unmarshal(body, &m)
16327	if err != nil {
16328		return err
16329	}
16330	for k, v := range m {
16331		switch k {
16332		case "typeProperties":
16333			if v != nil {
16334				var azureStorageLinkedServiceTypeProperties AzureStorageLinkedServiceTypeProperties
16335				err = json.Unmarshal(*v, &azureStorageLinkedServiceTypeProperties)
16336				if err != nil {
16337					return err
16338				}
16339				asls.AzureStorageLinkedServiceTypeProperties = &azureStorageLinkedServiceTypeProperties
16340			}
16341		default:
16342			if v != nil {
16343				var additionalProperties interface{}
16344				err = json.Unmarshal(*v, &additionalProperties)
16345				if err != nil {
16346					return err
16347				}
16348				if asls.AdditionalProperties == nil {
16349					asls.AdditionalProperties = make(map[string]interface{})
16350				}
16351				asls.AdditionalProperties[k] = additionalProperties
16352			}
16353		case "connectVia":
16354			if v != nil {
16355				var connectVia IntegrationRuntimeReference
16356				err = json.Unmarshal(*v, &connectVia)
16357				if err != nil {
16358					return err
16359				}
16360				asls.ConnectVia = &connectVia
16361			}
16362		case "description":
16363			if v != nil {
16364				var description string
16365				err = json.Unmarshal(*v, &description)
16366				if err != nil {
16367					return err
16368				}
16369				asls.Description = &description
16370			}
16371		case "parameters":
16372			if v != nil {
16373				var parameters map[string]*ParameterSpecification
16374				err = json.Unmarshal(*v, &parameters)
16375				if err != nil {
16376					return err
16377				}
16378				asls.Parameters = parameters
16379			}
16380		case "annotations":
16381			if v != nil {
16382				var annotations []interface{}
16383				err = json.Unmarshal(*v, &annotations)
16384				if err != nil {
16385					return err
16386				}
16387				asls.Annotations = &annotations
16388			}
16389		case "type":
16390			if v != nil {
16391				var typeVar TypeBasicLinkedService
16392				err = json.Unmarshal(*v, &typeVar)
16393				if err != nil {
16394					return err
16395				}
16396				asls.Type = typeVar
16397			}
16398		}
16399	}
16400
16401	return nil
16402}
16403
16404// AzureStorageLinkedServiceTypeProperties azure Storage linked service properties.
16405type AzureStorageLinkedServiceTypeProperties struct {
16406	// ConnectionString - The connection string. It is mutually exclusive with sasUri property. Type: string, SecureString or AzureKeyVaultSecretReference.
16407	ConnectionString interface{} `json:"connectionString,omitempty"`
16408	// SasURI - SAS URI of the Azure Storage resource. It is mutually exclusive with connectionString property.
16409	SasURI BasicSecretBase `json:"sasUri,omitempty"`
16410	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
16411	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
16412}
16413
16414// UnmarshalJSON is the custom unmarshaler for AzureStorageLinkedServiceTypeProperties struct.
16415func (aslstp *AzureStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
16416	var m map[string]*json.RawMessage
16417	err := json.Unmarshal(body, &m)
16418	if err != nil {
16419		return err
16420	}
16421	for k, v := range m {
16422		switch k {
16423		case "connectionString":
16424			if v != nil {
16425				var connectionString interface{}
16426				err = json.Unmarshal(*v, &connectionString)
16427				if err != nil {
16428					return err
16429				}
16430				aslstp.ConnectionString = connectionString
16431			}
16432		case "sasUri":
16433			if v != nil {
16434				sasURI, err := unmarshalBasicSecretBase(*v)
16435				if err != nil {
16436					return err
16437				}
16438				aslstp.SasURI = sasURI
16439			}
16440		case "encryptedCredential":
16441			if v != nil {
16442				var encryptedCredential interface{}
16443				err = json.Unmarshal(*v, &encryptedCredential)
16444				if err != nil {
16445					return err
16446				}
16447				aslstp.EncryptedCredential = encryptedCredential
16448			}
16449		}
16450	}
16451
16452	return nil
16453}
16454
16455// AzureTableDataset the Azure Table storage dataset.
16456type AzureTableDataset struct {
16457	// AzureTableDatasetTypeProperties - Azure Table dataset properties.
16458	*AzureTableDatasetTypeProperties `json:"typeProperties,omitempty"`
16459	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
16460	AdditionalProperties map[string]interface{} `json:""`
16461	// Description - Dataset description.
16462	Description *string `json:"description,omitempty"`
16463	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
16464	Structure interface{} `json:"structure,omitempty"`
16465	// LinkedServiceName - Linked service reference.
16466	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
16467	// Parameters - Parameters for dataset.
16468	Parameters map[string]*ParameterSpecification `json:"parameters"`
16469	// Annotations - List of tags that can be used for describing the Dataset.
16470	Annotations *[]interface{} `json:"annotations,omitempty"`
16471	// 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'
16472	Type TypeBasicDataset `json:"type,omitempty"`
16473}
16474
16475// MarshalJSON is the custom marshaler for AzureTableDataset.
16476func (atd AzureTableDataset) MarshalJSON() ([]byte, error) {
16477	atd.Type = TypeAzureTable
16478	objectMap := make(map[string]interface{})
16479	if atd.AzureTableDatasetTypeProperties != nil {
16480		objectMap["typeProperties"] = atd.AzureTableDatasetTypeProperties
16481	}
16482	if atd.Description != nil {
16483		objectMap["description"] = atd.Description
16484	}
16485	if atd.Structure != nil {
16486		objectMap["structure"] = atd.Structure
16487	}
16488	if atd.LinkedServiceName != nil {
16489		objectMap["linkedServiceName"] = atd.LinkedServiceName
16490	}
16491	if atd.Parameters != nil {
16492		objectMap["parameters"] = atd.Parameters
16493	}
16494	if atd.Annotations != nil {
16495		objectMap["annotations"] = atd.Annotations
16496	}
16497	if atd.Type != "" {
16498		objectMap["type"] = atd.Type
16499	}
16500	for k, v := range atd.AdditionalProperties {
16501		objectMap[k] = v
16502	}
16503	return json.Marshal(objectMap)
16504}
16505
16506// AsResponsysObjectDataset is the BasicDataset implementation for AzureTableDataset.
16507func (atd AzureTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
16508	return nil, false
16509}
16510
16511// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureTableDataset.
16512func (atd AzureTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
16513	return nil, false
16514}
16515
16516// AsVerticaTableDataset is the BasicDataset implementation for AzureTableDataset.
16517func (atd AzureTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
16518	return nil, false
16519}
16520
16521// AsNetezzaTableDataset is the BasicDataset implementation for AzureTableDataset.
16522func (atd AzureTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
16523	return nil, false
16524}
16525
16526// AsZohoObjectDataset is the BasicDataset implementation for AzureTableDataset.
16527func (atd AzureTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
16528	return nil, false
16529}
16530
16531// AsXeroObjectDataset is the BasicDataset implementation for AzureTableDataset.
16532func (atd AzureTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
16533	return nil, false
16534}
16535
16536// AsSquareObjectDataset is the BasicDataset implementation for AzureTableDataset.
16537func (atd AzureTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
16538	return nil, false
16539}
16540
16541// AsSparkObjectDataset is the BasicDataset implementation for AzureTableDataset.
16542func (atd AzureTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
16543	return nil, false
16544}
16545
16546// AsShopifyObjectDataset is the BasicDataset implementation for AzureTableDataset.
16547func (atd AzureTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
16548	return nil, false
16549}
16550
16551// AsServiceNowObjectDataset is the BasicDataset implementation for AzureTableDataset.
16552func (atd AzureTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
16553	return nil, false
16554}
16555
16556// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureTableDataset.
16557func (atd AzureTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
16558	return nil, false
16559}
16560
16561// AsPrestoObjectDataset is the BasicDataset implementation for AzureTableDataset.
16562func (atd AzureTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
16563	return nil, false
16564}
16565
16566// AsPhoenixObjectDataset is the BasicDataset implementation for AzureTableDataset.
16567func (atd AzureTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
16568	return nil, false
16569}
16570
16571// AsPaypalObjectDataset is the BasicDataset implementation for AzureTableDataset.
16572func (atd AzureTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
16573	return nil, false
16574}
16575
16576// AsMarketoObjectDataset is the BasicDataset implementation for AzureTableDataset.
16577func (atd AzureTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
16578	return nil, false
16579}
16580
16581// AsMariaDBTableDataset is the BasicDataset implementation for AzureTableDataset.
16582func (atd AzureTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
16583	return nil, false
16584}
16585
16586// AsMagentoObjectDataset is the BasicDataset implementation for AzureTableDataset.
16587func (atd AzureTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
16588	return nil, false
16589}
16590
16591// AsJiraObjectDataset is the BasicDataset implementation for AzureTableDataset.
16592func (atd AzureTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
16593	return nil, false
16594}
16595
16596// AsImpalaObjectDataset is the BasicDataset implementation for AzureTableDataset.
16597func (atd AzureTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
16598	return nil, false
16599}
16600
16601// AsHubspotObjectDataset is the BasicDataset implementation for AzureTableDataset.
16602func (atd AzureTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
16603	return nil, false
16604}
16605
16606// AsHiveObjectDataset is the BasicDataset implementation for AzureTableDataset.
16607func (atd AzureTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
16608	return nil, false
16609}
16610
16611// AsHBaseObjectDataset is the BasicDataset implementation for AzureTableDataset.
16612func (atd AzureTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
16613	return nil, false
16614}
16615
16616// AsGreenplumTableDataset is the BasicDataset implementation for AzureTableDataset.
16617func (atd AzureTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
16618	return nil, false
16619}
16620
16621// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureTableDataset.
16622func (atd AzureTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
16623	return nil, false
16624}
16625
16626// AsEloquaObjectDataset is the BasicDataset implementation for AzureTableDataset.
16627func (atd AzureTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
16628	return nil, false
16629}
16630
16631// AsDrillTableDataset is the BasicDataset implementation for AzureTableDataset.
16632func (atd AzureTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
16633	return nil, false
16634}
16635
16636// AsCouchbaseTableDataset is the BasicDataset implementation for AzureTableDataset.
16637func (atd AzureTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
16638	return nil, false
16639}
16640
16641// AsConcurObjectDataset is the BasicDataset implementation for AzureTableDataset.
16642func (atd AzureTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
16643	return nil, false
16644}
16645
16646// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
16647func (atd AzureTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
16648	return nil, false
16649}
16650
16651// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureTableDataset.
16652func (atd AzureTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
16653	return nil, false
16654}
16655
16656// AsHTTPDataset is the BasicDataset implementation for AzureTableDataset.
16657func (atd AzureTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
16658	return nil, false
16659}
16660
16661// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureTableDataset.
16662func (atd AzureTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
16663	return nil, false
16664}
16665
16666// AsWebTableDataset is the BasicDataset implementation for AzureTableDataset.
16667func (atd AzureTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
16668	return nil, false
16669}
16670
16671// AsSQLServerTableDataset is the BasicDataset implementation for AzureTableDataset.
16672func (atd AzureTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
16673	return nil, false
16674}
16675
16676// AsSapEccResourceDataset is the BasicDataset implementation for AzureTableDataset.
16677func (atd AzureTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
16678	return nil, false
16679}
16680
16681// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureTableDataset.
16682func (atd AzureTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
16683	return nil, false
16684}
16685
16686// AsSalesforceObjectDataset is the BasicDataset implementation for AzureTableDataset.
16687func (atd AzureTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
16688	return nil, false
16689}
16690
16691// AsRelationalTableDataset is the BasicDataset implementation for AzureTableDataset.
16692func (atd AzureTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
16693	return nil, false
16694}
16695
16696// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureTableDataset.
16697func (atd AzureTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
16698	return nil, false
16699}
16700
16701// AsOracleTableDataset is the BasicDataset implementation for AzureTableDataset.
16702func (atd AzureTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
16703	return nil, false
16704}
16705
16706// AsODataResourceDataset is the BasicDataset implementation for AzureTableDataset.
16707func (atd AzureTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
16708	return nil, false
16709}
16710
16711// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureTableDataset.
16712func (atd AzureTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
16713	return nil, false
16714}
16715
16716// AsFileShareDataset is the BasicDataset implementation for AzureTableDataset.
16717func (atd AzureTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
16718	return nil, false
16719}
16720
16721// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureTableDataset.
16722func (atd AzureTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
16723	return nil, false
16724}
16725
16726// AsDynamicsEntityDataset is the BasicDataset implementation for AzureTableDataset.
16727func (atd AzureTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
16728	return nil, false
16729}
16730
16731// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureTableDataset.
16732func (atd AzureTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
16733	return nil, false
16734}
16735
16736// AsCustomDataset is the BasicDataset implementation for AzureTableDataset.
16737func (atd AzureTableDataset) AsCustomDataset() (*CustomDataset, bool) {
16738	return nil, false
16739}
16740
16741// AsCassandraTableDataset is the BasicDataset implementation for AzureTableDataset.
16742func (atd AzureTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
16743	return nil, false
16744}
16745
16746// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureTableDataset.
16747func (atd AzureTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
16748	return nil, false
16749}
16750
16751// AsAzureSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
16752func (atd AzureTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
16753	return nil, false
16754}
16755
16756// AsAzureTableDataset is the BasicDataset implementation for AzureTableDataset.
16757func (atd AzureTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
16758	return &atd, true
16759}
16760
16761// AsAzureBlobDataset is the BasicDataset implementation for AzureTableDataset.
16762func (atd AzureTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
16763	return nil, false
16764}
16765
16766// AsAmazonS3Dataset is the BasicDataset implementation for AzureTableDataset.
16767func (atd AzureTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
16768	return nil, false
16769}
16770
16771// AsDataset is the BasicDataset implementation for AzureTableDataset.
16772func (atd AzureTableDataset) AsDataset() (*Dataset, bool) {
16773	return nil, false
16774}
16775
16776// AsBasicDataset is the BasicDataset implementation for AzureTableDataset.
16777func (atd AzureTableDataset) AsBasicDataset() (BasicDataset, bool) {
16778	return &atd, true
16779}
16780
16781// UnmarshalJSON is the custom unmarshaler for AzureTableDataset struct.
16782func (atd *AzureTableDataset) UnmarshalJSON(body []byte) error {
16783	var m map[string]*json.RawMessage
16784	err := json.Unmarshal(body, &m)
16785	if err != nil {
16786		return err
16787	}
16788	for k, v := range m {
16789		switch k {
16790		case "typeProperties":
16791			if v != nil {
16792				var azureTableDatasetTypeProperties AzureTableDatasetTypeProperties
16793				err = json.Unmarshal(*v, &azureTableDatasetTypeProperties)
16794				if err != nil {
16795					return err
16796				}
16797				atd.AzureTableDatasetTypeProperties = &azureTableDatasetTypeProperties
16798			}
16799		default:
16800			if v != nil {
16801				var additionalProperties interface{}
16802				err = json.Unmarshal(*v, &additionalProperties)
16803				if err != nil {
16804					return err
16805				}
16806				if atd.AdditionalProperties == nil {
16807					atd.AdditionalProperties = make(map[string]interface{})
16808				}
16809				atd.AdditionalProperties[k] = additionalProperties
16810			}
16811		case "description":
16812			if v != nil {
16813				var description string
16814				err = json.Unmarshal(*v, &description)
16815				if err != nil {
16816					return err
16817				}
16818				atd.Description = &description
16819			}
16820		case "structure":
16821			if v != nil {
16822				var structure interface{}
16823				err = json.Unmarshal(*v, &structure)
16824				if err != nil {
16825					return err
16826				}
16827				atd.Structure = structure
16828			}
16829		case "linkedServiceName":
16830			if v != nil {
16831				var linkedServiceName LinkedServiceReference
16832				err = json.Unmarshal(*v, &linkedServiceName)
16833				if err != nil {
16834					return err
16835				}
16836				atd.LinkedServiceName = &linkedServiceName
16837			}
16838		case "parameters":
16839			if v != nil {
16840				var parameters map[string]*ParameterSpecification
16841				err = json.Unmarshal(*v, &parameters)
16842				if err != nil {
16843					return err
16844				}
16845				atd.Parameters = parameters
16846			}
16847		case "annotations":
16848			if v != nil {
16849				var annotations []interface{}
16850				err = json.Unmarshal(*v, &annotations)
16851				if err != nil {
16852					return err
16853				}
16854				atd.Annotations = &annotations
16855			}
16856		case "type":
16857			if v != nil {
16858				var typeVar TypeBasicDataset
16859				err = json.Unmarshal(*v, &typeVar)
16860				if err != nil {
16861					return err
16862				}
16863				atd.Type = typeVar
16864			}
16865		}
16866	}
16867
16868	return nil
16869}
16870
16871// AzureTableDatasetTypeProperties azure Table dataset properties.
16872type AzureTableDatasetTypeProperties struct {
16873	// TableName - The table name of the Azure Table storage. Type: string (or Expression with resultType string).
16874	TableName interface{} `json:"tableName,omitempty"`
16875}
16876
16877// AzureTableSink a copy activity Azure Table sink.
16878type AzureTableSink struct {
16879	// AzureTableDefaultPartitionKeyValue - Azure Table default partition key value. Type: string (or Expression with resultType string).
16880	AzureTableDefaultPartitionKeyValue interface{} `json:"azureTableDefaultPartitionKeyValue,omitempty"`
16881	// AzureTablePartitionKeyName - Azure Table partition key name. Type: string (or Expression with resultType string).
16882	AzureTablePartitionKeyName interface{} `json:"azureTablePartitionKeyName,omitempty"`
16883	// AzureTableRowKeyName - Azure Table row key name. Type: string (or Expression with resultType string).
16884	AzureTableRowKeyName interface{} `json:"azureTableRowKeyName,omitempty"`
16885	// AzureTableInsertType - Azure Table insert type. Type: string (or Expression with resultType string).
16886	AzureTableInsertType interface{} `json:"azureTableInsertType,omitempty"`
16887	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
16888	AdditionalProperties map[string]interface{} `json:""`
16889	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
16890	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
16891	// 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])).
16892	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
16893	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
16894	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
16895	// 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])).
16896	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
16897	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
16898	Type TypeBasicCopySink `json:"type,omitempty"`
16899}
16900
16901// MarshalJSON is the custom marshaler for AzureTableSink.
16902func (ats AzureTableSink) MarshalJSON() ([]byte, error) {
16903	ats.Type = TypeAzureTableSink
16904	objectMap := make(map[string]interface{})
16905	if ats.AzureTableDefaultPartitionKeyValue != nil {
16906		objectMap["azureTableDefaultPartitionKeyValue"] = ats.AzureTableDefaultPartitionKeyValue
16907	}
16908	if ats.AzureTablePartitionKeyName != nil {
16909		objectMap["azureTablePartitionKeyName"] = ats.AzureTablePartitionKeyName
16910	}
16911	if ats.AzureTableRowKeyName != nil {
16912		objectMap["azureTableRowKeyName"] = ats.AzureTableRowKeyName
16913	}
16914	if ats.AzureTableInsertType != nil {
16915		objectMap["azureTableInsertType"] = ats.AzureTableInsertType
16916	}
16917	if ats.WriteBatchSize != nil {
16918		objectMap["writeBatchSize"] = ats.WriteBatchSize
16919	}
16920	if ats.WriteBatchTimeout != nil {
16921		objectMap["writeBatchTimeout"] = ats.WriteBatchTimeout
16922	}
16923	if ats.SinkRetryCount != nil {
16924		objectMap["sinkRetryCount"] = ats.SinkRetryCount
16925	}
16926	if ats.SinkRetryWait != nil {
16927		objectMap["sinkRetryWait"] = ats.SinkRetryWait
16928	}
16929	if ats.Type != "" {
16930		objectMap["type"] = ats.Type
16931	}
16932	for k, v := range ats.AdditionalProperties {
16933		objectMap[k] = v
16934	}
16935	return json.Marshal(objectMap)
16936}
16937
16938// AsSalesforceSink is the BasicCopySink implementation for AzureTableSink.
16939func (ats AzureTableSink) AsSalesforceSink() (*SalesforceSink, bool) {
16940	return nil, false
16941}
16942
16943// AsDynamicsSink is the BasicCopySink implementation for AzureTableSink.
16944func (ats AzureTableSink) AsDynamicsSink() (*DynamicsSink, bool) {
16945	return nil, false
16946}
16947
16948// AsOdbcSink is the BasicCopySink implementation for AzureTableSink.
16949func (ats AzureTableSink) AsOdbcSink() (*OdbcSink, bool) {
16950	return nil, false
16951}
16952
16953// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureTableSink.
16954func (ats AzureTableSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
16955	return nil, false
16956}
16957
16958// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureTableSink.
16959func (ats AzureTableSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
16960	return nil, false
16961}
16962
16963// AsOracleSink is the BasicCopySink implementation for AzureTableSink.
16964func (ats AzureTableSink) AsOracleSink() (*OracleSink, bool) {
16965	return nil, false
16966}
16967
16968// AsSQLDWSink is the BasicCopySink implementation for AzureTableSink.
16969func (ats AzureTableSink) AsSQLDWSink() (*SQLDWSink, bool) {
16970	return nil, false
16971}
16972
16973// AsSQLSink is the BasicCopySink implementation for AzureTableSink.
16974func (ats AzureTableSink) AsSQLSink() (*SQLSink, bool) {
16975	return nil, false
16976}
16977
16978// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureTableSink.
16979func (ats AzureTableSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
16980	return nil, false
16981}
16982
16983// AsFileSystemSink is the BasicCopySink implementation for AzureTableSink.
16984func (ats AzureTableSink) AsFileSystemSink() (*FileSystemSink, bool) {
16985	return nil, false
16986}
16987
16988// AsBlobSink is the BasicCopySink implementation for AzureTableSink.
16989func (ats AzureTableSink) AsBlobSink() (*BlobSink, bool) {
16990	return nil, false
16991}
16992
16993// AsAzureTableSink is the BasicCopySink implementation for AzureTableSink.
16994func (ats AzureTableSink) AsAzureTableSink() (*AzureTableSink, bool) {
16995	return &ats, true
16996}
16997
16998// AsAzureQueueSink is the BasicCopySink implementation for AzureTableSink.
16999func (ats AzureTableSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
17000	return nil, false
17001}
17002
17003// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureTableSink.
17004func (ats AzureTableSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
17005	return nil, false
17006}
17007
17008// AsCopySink is the BasicCopySink implementation for AzureTableSink.
17009func (ats AzureTableSink) AsCopySink() (*CopySink, bool) {
17010	return nil, false
17011}
17012
17013// AsBasicCopySink is the BasicCopySink implementation for AzureTableSink.
17014func (ats AzureTableSink) AsBasicCopySink() (BasicCopySink, bool) {
17015	return &ats, true
17016}
17017
17018// UnmarshalJSON is the custom unmarshaler for AzureTableSink struct.
17019func (ats *AzureTableSink) UnmarshalJSON(body []byte) error {
17020	var m map[string]*json.RawMessage
17021	err := json.Unmarshal(body, &m)
17022	if err != nil {
17023		return err
17024	}
17025	for k, v := range m {
17026		switch k {
17027		case "azureTableDefaultPartitionKeyValue":
17028			if v != nil {
17029				var azureTableDefaultPartitionKeyValue interface{}
17030				err = json.Unmarshal(*v, &azureTableDefaultPartitionKeyValue)
17031				if err != nil {
17032					return err
17033				}
17034				ats.AzureTableDefaultPartitionKeyValue = azureTableDefaultPartitionKeyValue
17035			}
17036		case "azureTablePartitionKeyName":
17037			if v != nil {
17038				var azureTablePartitionKeyName interface{}
17039				err = json.Unmarshal(*v, &azureTablePartitionKeyName)
17040				if err != nil {
17041					return err
17042				}
17043				ats.AzureTablePartitionKeyName = azureTablePartitionKeyName
17044			}
17045		case "azureTableRowKeyName":
17046			if v != nil {
17047				var azureTableRowKeyName interface{}
17048				err = json.Unmarshal(*v, &azureTableRowKeyName)
17049				if err != nil {
17050					return err
17051				}
17052				ats.AzureTableRowKeyName = azureTableRowKeyName
17053			}
17054		case "azureTableInsertType":
17055			if v != nil {
17056				var azureTableInsertType interface{}
17057				err = json.Unmarshal(*v, &azureTableInsertType)
17058				if err != nil {
17059					return err
17060				}
17061				ats.AzureTableInsertType = azureTableInsertType
17062			}
17063		default:
17064			if v != nil {
17065				var additionalProperties interface{}
17066				err = json.Unmarshal(*v, &additionalProperties)
17067				if err != nil {
17068					return err
17069				}
17070				if ats.AdditionalProperties == nil {
17071					ats.AdditionalProperties = make(map[string]interface{})
17072				}
17073				ats.AdditionalProperties[k] = additionalProperties
17074			}
17075		case "writeBatchSize":
17076			if v != nil {
17077				var writeBatchSize interface{}
17078				err = json.Unmarshal(*v, &writeBatchSize)
17079				if err != nil {
17080					return err
17081				}
17082				ats.WriteBatchSize = writeBatchSize
17083			}
17084		case "writeBatchTimeout":
17085			if v != nil {
17086				var writeBatchTimeout interface{}
17087				err = json.Unmarshal(*v, &writeBatchTimeout)
17088				if err != nil {
17089					return err
17090				}
17091				ats.WriteBatchTimeout = writeBatchTimeout
17092			}
17093		case "sinkRetryCount":
17094			if v != nil {
17095				var sinkRetryCount interface{}
17096				err = json.Unmarshal(*v, &sinkRetryCount)
17097				if err != nil {
17098					return err
17099				}
17100				ats.SinkRetryCount = sinkRetryCount
17101			}
17102		case "sinkRetryWait":
17103			if v != nil {
17104				var sinkRetryWait interface{}
17105				err = json.Unmarshal(*v, &sinkRetryWait)
17106				if err != nil {
17107					return err
17108				}
17109				ats.SinkRetryWait = sinkRetryWait
17110			}
17111		case "type":
17112			if v != nil {
17113				var typeVar TypeBasicCopySink
17114				err = json.Unmarshal(*v, &typeVar)
17115				if err != nil {
17116					return err
17117				}
17118				ats.Type = typeVar
17119			}
17120		}
17121	}
17122
17123	return nil
17124}
17125
17126// AzureTableSource a copy activity Azure Table source.
17127type AzureTableSource struct {
17128	// AzureTableSourceQuery - Azure Table source query. Type: string (or Expression with resultType string).
17129	AzureTableSourceQuery interface{} `json:"azureTableSourceQuery,omitempty"`
17130	// AzureTableSourceIgnoreTableNotFound - Azure Table source ignore table not found. Type: boolean (or Expression with resultType boolean).
17131	AzureTableSourceIgnoreTableNotFound interface{} `json:"azureTableSourceIgnoreTableNotFound,omitempty"`
17132	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17133	AdditionalProperties map[string]interface{} `json:""`
17134	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
17135	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
17136	// 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])).
17137	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
17138	// 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'
17139	Type TypeBasicCopySource `json:"type,omitempty"`
17140}
17141
17142// MarshalJSON is the custom marshaler for AzureTableSource.
17143func (ats AzureTableSource) MarshalJSON() ([]byte, error) {
17144	ats.Type = TypeAzureTableSource
17145	objectMap := make(map[string]interface{})
17146	if ats.AzureTableSourceQuery != nil {
17147		objectMap["azureTableSourceQuery"] = ats.AzureTableSourceQuery
17148	}
17149	if ats.AzureTableSourceIgnoreTableNotFound != nil {
17150		objectMap["azureTableSourceIgnoreTableNotFound"] = ats.AzureTableSourceIgnoreTableNotFound
17151	}
17152	if ats.SourceRetryCount != nil {
17153		objectMap["sourceRetryCount"] = ats.SourceRetryCount
17154	}
17155	if ats.SourceRetryWait != nil {
17156		objectMap["sourceRetryWait"] = ats.SourceRetryWait
17157	}
17158	if ats.Type != "" {
17159		objectMap["type"] = ats.Type
17160	}
17161	for k, v := range ats.AdditionalProperties {
17162		objectMap[k] = v
17163	}
17164	return json.Marshal(objectMap)
17165}
17166
17167// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureTableSource.
17168func (ats AzureTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
17169	return nil, false
17170}
17171
17172// AsResponsysSource is the BasicCopySource implementation for AzureTableSource.
17173func (ats AzureTableSource) AsResponsysSource() (*ResponsysSource, bool) {
17174	return nil, false
17175}
17176
17177// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureTableSource.
17178func (ats AzureTableSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
17179	return nil, false
17180}
17181
17182// AsVerticaSource is the BasicCopySource implementation for AzureTableSource.
17183func (ats AzureTableSource) AsVerticaSource() (*VerticaSource, bool) {
17184	return nil, false
17185}
17186
17187// AsNetezzaSource is the BasicCopySource implementation for AzureTableSource.
17188func (ats AzureTableSource) AsNetezzaSource() (*NetezzaSource, bool) {
17189	return nil, false
17190}
17191
17192// AsZohoSource is the BasicCopySource implementation for AzureTableSource.
17193func (ats AzureTableSource) AsZohoSource() (*ZohoSource, bool) {
17194	return nil, false
17195}
17196
17197// AsXeroSource is the BasicCopySource implementation for AzureTableSource.
17198func (ats AzureTableSource) AsXeroSource() (*XeroSource, bool) {
17199	return nil, false
17200}
17201
17202// AsSquareSource is the BasicCopySource implementation for AzureTableSource.
17203func (ats AzureTableSource) AsSquareSource() (*SquareSource, bool) {
17204	return nil, false
17205}
17206
17207// AsSparkSource is the BasicCopySource implementation for AzureTableSource.
17208func (ats AzureTableSource) AsSparkSource() (*SparkSource, bool) {
17209	return nil, false
17210}
17211
17212// AsShopifySource is the BasicCopySource implementation for AzureTableSource.
17213func (ats AzureTableSource) AsShopifySource() (*ShopifySource, bool) {
17214	return nil, false
17215}
17216
17217// AsServiceNowSource is the BasicCopySource implementation for AzureTableSource.
17218func (ats AzureTableSource) AsServiceNowSource() (*ServiceNowSource, bool) {
17219	return nil, false
17220}
17221
17222// AsQuickBooksSource is the BasicCopySource implementation for AzureTableSource.
17223func (ats AzureTableSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
17224	return nil, false
17225}
17226
17227// AsPrestoSource is the BasicCopySource implementation for AzureTableSource.
17228func (ats AzureTableSource) AsPrestoSource() (*PrestoSource, bool) {
17229	return nil, false
17230}
17231
17232// AsPhoenixSource is the BasicCopySource implementation for AzureTableSource.
17233func (ats AzureTableSource) AsPhoenixSource() (*PhoenixSource, bool) {
17234	return nil, false
17235}
17236
17237// AsPaypalSource is the BasicCopySource implementation for AzureTableSource.
17238func (ats AzureTableSource) AsPaypalSource() (*PaypalSource, bool) {
17239	return nil, false
17240}
17241
17242// AsMarketoSource is the BasicCopySource implementation for AzureTableSource.
17243func (ats AzureTableSource) AsMarketoSource() (*MarketoSource, bool) {
17244	return nil, false
17245}
17246
17247// AsMariaDBSource is the BasicCopySource implementation for AzureTableSource.
17248func (ats AzureTableSource) AsMariaDBSource() (*MariaDBSource, bool) {
17249	return nil, false
17250}
17251
17252// AsMagentoSource is the BasicCopySource implementation for AzureTableSource.
17253func (ats AzureTableSource) AsMagentoSource() (*MagentoSource, bool) {
17254	return nil, false
17255}
17256
17257// AsJiraSource is the BasicCopySource implementation for AzureTableSource.
17258func (ats AzureTableSource) AsJiraSource() (*JiraSource, bool) {
17259	return nil, false
17260}
17261
17262// AsImpalaSource is the BasicCopySource implementation for AzureTableSource.
17263func (ats AzureTableSource) AsImpalaSource() (*ImpalaSource, bool) {
17264	return nil, false
17265}
17266
17267// AsHubspotSource is the BasicCopySource implementation for AzureTableSource.
17268func (ats AzureTableSource) AsHubspotSource() (*HubspotSource, bool) {
17269	return nil, false
17270}
17271
17272// AsHiveSource is the BasicCopySource implementation for AzureTableSource.
17273func (ats AzureTableSource) AsHiveSource() (*HiveSource, bool) {
17274	return nil, false
17275}
17276
17277// AsHBaseSource is the BasicCopySource implementation for AzureTableSource.
17278func (ats AzureTableSource) AsHBaseSource() (*HBaseSource, bool) {
17279	return nil, false
17280}
17281
17282// AsGreenplumSource is the BasicCopySource implementation for AzureTableSource.
17283func (ats AzureTableSource) AsGreenplumSource() (*GreenplumSource, bool) {
17284	return nil, false
17285}
17286
17287// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureTableSource.
17288func (ats AzureTableSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
17289	return nil, false
17290}
17291
17292// AsEloquaSource is the BasicCopySource implementation for AzureTableSource.
17293func (ats AzureTableSource) AsEloquaSource() (*EloquaSource, bool) {
17294	return nil, false
17295}
17296
17297// AsDrillSource is the BasicCopySource implementation for AzureTableSource.
17298func (ats AzureTableSource) AsDrillSource() (*DrillSource, bool) {
17299	return nil, false
17300}
17301
17302// AsCouchbaseSource is the BasicCopySource implementation for AzureTableSource.
17303func (ats AzureTableSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
17304	return nil, false
17305}
17306
17307// AsConcurSource is the BasicCopySource implementation for AzureTableSource.
17308func (ats AzureTableSource) AsConcurSource() (*ConcurSource, bool) {
17309	return nil, false
17310}
17311
17312// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureTableSource.
17313func (ats AzureTableSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
17314	return nil, false
17315}
17316
17317// AsAmazonMWSSource is the BasicCopySource implementation for AzureTableSource.
17318func (ats AzureTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
17319	return nil, false
17320}
17321
17322// AsHTTPSource is the BasicCopySource implementation for AzureTableSource.
17323func (ats AzureTableSource) AsHTTPSource() (*HTTPSource, bool) {
17324	return nil, false
17325}
17326
17327// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureTableSource.
17328func (ats AzureTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
17329	return nil, false
17330}
17331
17332// AsMongoDbSource is the BasicCopySource implementation for AzureTableSource.
17333func (ats AzureTableSource) AsMongoDbSource() (*MongoDbSource, bool) {
17334	return nil, false
17335}
17336
17337// AsCassandraSource is the BasicCopySource implementation for AzureTableSource.
17338func (ats AzureTableSource) AsCassandraSource() (*CassandraSource, bool) {
17339	return nil, false
17340}
17341
17342// AsWebSource is the BasicCopySource implementation for AzureTableSource.
17343func (ats AzureTableSource) AsWebSource() (*WebSource, bool) {
17344	return nil, false
17345}
17346
17347// AsOracleSource is the BasicCopySource implementation for AzureTableSource.
17348func (ats AzureTableSource) AsOracleSource() (*OracleSource, bool) {
17349	return nil, false
17350}
17351
17352// AsAzureMySQLSource is the BasicCopySource implementation for AzureTableSource.
17353func (ats AzureTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
17354	return nil, false
17355}
17356
17357// AsHdfsSource is the BasicCopySource implementation for AzureTableSource.
17358func (ats AzureTableSource) AsHdfsSource() (*HdfsSource, bool) {
17359	return nil, false
17360}
17361
17362// AsFileSystemSource is the BasicCopySource implementation for AzureTableSource.
17363func (ats AzureTableSource) AsFileSystemSource() (*FileSystemSource, bool) {
17364	return nil, false
17365}
17366
17367// AsSQLDWSource is the BasicCopySource implementation for AzureTableSource.
17368func (ats AzureTableSource) AsSQLDWSource() (*SQLDWSource, bool) {
17369	return nil, false
17370}
17371
17372// AsSQLSource is the BasicCopySource implementation for AzureTableSource.
17373func (ats AzureTableSource) AsSQLSource() (*SQLSource, bool) {
17374	return nil, false
17375}
17376
17377// AsSapEccSource is the BasicCopySource implementation for AzureTableSource.
17378func (ats AzureTableSource) AsSapEccSource() (*SapEccSource, bool) {
17379	return nil, false
17380}
17381
17382// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureTableSource.
17383func (ats AzureTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
17384	return nil, false
17385}
17386
17387// AsSalesforceSource is the BasicCopySource implementation for AzureTableSource.
17388func (ats AzureTableSource) AsSalesforceSource() (*SalesforceSource, bool) {
17389	return nil, false
17390}
17391
17392// AsRelationalSource is the BasicCopySource implementation for AzureTableSource.
17393func (ats AzureTableSource) AsRelationalSource() (*RelationalSource, bool) {
17394	return nil, false
17395}
17396
17397// AsDynamicsSource is the BasicCopySource implementation for AzureTableSource.
17398func (ats AzureTableSource) AsDynamicsSource() (*DynamicsSource, bool) {
17399	return nil, false
17400}
17401
17402// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureTableSource.
17403func (ats AzureTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
17404	return nil, false
17405}
17406
17407// AsBlobSource is the BasicCopySource implementation for AzureTableSource.
17408func (ats AzureTableSource) AsBlobSource() (*BlobSource, bool) {
17409	return nil, false
17410}
17411
17412// AsAzureTableSource is the BasicCopySource implementation for AzureTableSource.
17413func (ats AzureTableSource) AsAzureTableSource() (*AzureTableSource, bool) {
17414	return &ats, true
17415}
17416
17417// AsCopySource is the BasicCopySource implementation for AzureTableSource.
17418func (ats AzureTableSource) AsCopySource() (*CopySource, bool) {
17419	return nil, false
17420}
17421
17422// AsBasicCopySource is the BasicCopySource implementation for AzureTableSource.
17423func (ats AzureTableSource) AsBasicCopySource() (BasicCopySource, bool) {
17424	return &ats, true
17425}
17426
17427// UnmarshalJSON is the custom unmarshaler for AzureTableSource struct.
17428func (ats *AzureTableSource) UnmarshalJSON(body []byte) error {
17429	var m map[string]*json.RawMessage
17430	err := json.Unmarshal(body, &m)
17431	if err != nil {
17432		return err
17433	}
17434	for k, v := range m {
17435		switch k {
17436		case "azureTableSourceQuery":
17437			if v != nil {
17438				var azureTableSourceQuery interface{}
17439				err = json.Unmarshal(*v, &azureTableSourceQuery)
17440				if err != nil {
17441					return err
17442				}
17443				ats.AzureTableSourceQuery = azureTableSourceQuery
17444			}
17445		case "azureTableSourceIgnoreTableNotFound":
17446			if v != nil {
17447				var azureTableSourceIgnoreTableNotFound interface{}
17448				err = json.Unmarshal(*v, &azureTableSourceIgnoreTableNotFound)
17449				if err != nil {
17450					return err
17451				}
17452				ats.AzureTableSourceIgnoreTableNotFound = azureTableSourceIgnoreTableNotFound
17453			}
17454		default:
17455			if v != nil {
17456				var additionalProperties interface{}
17457				err = json.Unmarshal(*v, &additionalProperties)
17458				if err != nil {
17459					return err
17460				}
17461				if ats.AdditionalProperties == nil {
17462					ats.AdditionalProperties = make(map[string]interface{})
17463				}
17464				ats.AdditionalProperties[k] = additionalProperties
17465			}
17466		case "sourceRetryCount":
17467			if v != nil {
17468				var sourceRetryCount interface{}
17469				err = json.Unmarshal(*v, &sourceRetryCount)
17470				if err != nil {
17471					return err
17472				}
17473				ats.SourceRetryCount = sourceRetryCount
17474			}
17475		case "sourceRetryWait":
17476			if v != nil {
17477				var sourceRetryWait interface{}
17478				err = json.Unmarshal(*v, &sourceRetryWait)
17479				if err != nil {
17480					return err
17481				}
17482				ats.SourceRetryWait = sourceRetryWait
17483			}
17484		case "type":
17485			if v != nil {
17486				var typeVar TypeBasicCopySource
17487				err = json.Unmarshal(*v, &typeVar)
17488				if err != nil {
17489					return err
17490				}
17491				ats.Type = typeVar
17492			}
17493		}
17494	}
17495
17496	return nil
17497}
17498
17499// BlobEventsTrigger trigger that runs every time a Blob event occurs.
17500type BlobEventsTrigger struct {
17501	// BlobEventsTriggerTypeProperties - Blob Events Trigger properties.
17502	*BlobEventsTriggerTypeProperties `json:"typeProperties,omitempty"`
17503	// Pipelines - Pipelines that need to be started.
17504	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
17505	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17506	AdditionalProperties map[string]interface{} `json:""`
17507	// Description - Trigger description.
17508	Description *string `json:"description,omitempty"`
17509	// 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'
17510	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
17511	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
17512	Type TypeBasicTrigger `json:"type,omitempty"`
17513}
17514
17515// MarshalJSON is the custom marshaler for BlobEventsTrigger.
17516func (bet BlobEventsTrigger) MarshalJSON() ([]byte, error) {
17517	bet.Type = TypeBlobEventsTrigger
17518	objectMap := make(map[string]interface{})
17519	if bet.BlobEventsTriggerTypeProperties != nil {
17520		objectMap["typeProperties"] = bet.BlobEventsTriggerTypeProperties
17521	}
17522	if bet.Pipelines != nil {
17523		objectMap["pipelines"] = bet.Pipelines
17524	}
17525	if bet.Description != nil {
17526		objectMap["description"] = bet.Description
17527	}
17528	if bet.Type != "" {
17529		objectMap["type"] = bet.Type
17530	}
17531	for k, v := range bet.AdditionalProperties {
17532		objectMap[k] = v
17533	}
17534	return json.Marshal(objectMap)
17535}
17536
17537// AsTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17538func (bet BlobEventsTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
17539	return nil, false
17540}
17541
17542// AsBlobEventsTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17543func (bet BlobEventsTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
17544	return &bet, true
17545}
17546
17547// AsBlobTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17548func (bet BlobEventsTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
17549	return nil, false
17550}
17551
17552// AsScheduleTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17553func (bet BlobEventsTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
17554	return nil, false
17555}
17556
17557// AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17558func (bet BlobEventsTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
17559	return nil, false
17560}
17561
17562// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17563func (bet BlobEventsTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
17564	return &bet, true
17565}
17566
17567// AsTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17568func (bet BlobEventsTrigger) AsTrigger() (*Trigger, bool) {
17569	return nil, false
17570}
17571
17572// AsBasicTrigger is the BasicTrigger implementation for BlobEventsTrigger.
17573func (bet BlobEventsTrigger) AsBasicTrigger() (BasicTrigger, bool) {
17574	return &bet, true
17575}
17576
17577// UnmarshalJSON is the custom unmarshaler for BlobEventsTrigger struct.
17578func (bet *BlobEventsTrigger) UnmarshalJSON(body []byte) error {
17579	var m map[string]*json.RawMessage
17580	err := json.Unmarshal(body, &m)
17581	if err != nil {
17582		return err
17583	}
17584	for k, v := range m {
17585		switch k {
17586		case "typeProperties":
17587			if v != nil {
17588				var blobEventsTriggerTypeProperties BlobEventsTriggerTypeProperties
17589				err = json.Unmarshal(*v, &blobEventsTriggerTypeProperties)
17590				if err != nil {
17591					return err
17592				}
17593				bet.BlobEventsTriggerTypeProperties = &blobEventsTriggerTypeProperties
17594			}
17595		case "pipelines":
17596			if v != nil {
17597				var pipelines []TriggerPipelineReference
17598				err = json.Unmarshal(*v, &pipelines)
17599				if err != nil {
17600					return err
17601				}
17602				bet.Pipelines = &pipelines
17603			}
17604		default:
17605			if v != nil {
17606				var additionalProperties interface{}
17607				err = json.Unmarshal(*v, &additionalProperties)
17608				if err != nil {
17609					return err
17610				}
17611				if bet.AdditionalProperties == nil {
17612					bet.AdditionalProperties = make(map[string]interface{})
17613				}
17614				bet.AdditionalProperties[k] = additionalProperties
17615			}
17616		case "description":
17617			if v != nil {
17618				var description string
17619				err = json.Unmarshal(*v, &description)
17620				if err != nil {
17621					return err
17622				}
17623				bet.Description = &description
17624			}
17625		case "runtimeState":
17626			if v != nil {
17627				var runtimeState TriggerRuntimeState
17628				err = json.Unmarshal(*v, &runtimeState)
17629				if err != nil {
17630					return err
17631				}
17632				bet.RuntimeState = runtimeState
17633			}
17634		case "type":
17635			if v != nil {
17636				var typeVar TypeBasicTrigger
17637				err = json.Unmarshal(*v, &typeVar)
17638				if err != nil {
17639					return err
17640				}
17641				bet.Type = typeVar
17642			}
17643		}
17644	}
17645
17646	return nil
17647}
17648
17649// BlobEventsTriggerTypeProperties blob Events Trigger properties.
17650type BlobEventsTriggerTypeProperties struct {
17651	// 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.
17652	BlobPathBeginsWith *string `json:"blobPathBeginsWith,omitempty"`
17653	// 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.
17654	BlobPathEndsWith *string `json:"blobPathEndsWith,omitempty"`
17655	// IgnoreEmptyBlobs - If set to true, blobs with zero bytes will be ignored.
17656	IgnoreEmptyBlobs *bool `json:"ignoreEmptyBlobs,omitempty"`
17657	// Events - The type of events that cause this trigger to fire.
17658	Events *[]BlobEventTypes `json:"events,omitempty"`
17659	// Scope - The ARM resource ID of the Storage Account.
17660	Scope *string `json:"scope,omitempty"`
17661}
17662
17663// BlobSink a copy activity Azure Blob sink.
17664type BlobSink struct {
17665	// BlobWriterOverwriteFiles - Blob writer overwrite files. Type: boolean (or Expression with resultType boolean).
17666	BlobWriterOverwriteFiles interface{} `json:"blobWriterOverwriteFiles,omitempty"`
17667	// BlobWriterDateTimeFormat - Blob writer date time format. Type: string (or Expression with resultType string).
17668	BlobWriterDateTimeFormat interface{} `json:"blobWriterDateTimeFormat,omitempty"`
17669	// BlobWriterAddHeader - Blob writer add header. Type: boolean (or Expression with resultType boolean).
17670	BlobWriterAddHeader interface{} `json:"blobWriterAddHeader,omitempty"`
17671	// CopyBehavior - The type of copy behavior for copy sink.
17672	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
17673	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17674	AdditionalProperties map[string]interface{} `json:""`
17675	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
17676	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
17677	// 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])).
17678	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
17679	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
17680	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
17681	// 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])).
17682	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
17683	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
17684	Type TypeBasicCopySink `json:"type,omitempty"`
17685}
17686
17687// MarshalJSON is the custom marshaler for BlobSink.
17688func (bs BlobSink) MarshalJSON() ([]byte, error) {
17689	bs.Type = TypeBlobSink
17690	objectMap := make(map[string]interface{})
17691	if bs.BlobWriterOverwriteFiles != nil {
17692		objectMap["blobWriterOverwriteFiles"] = bs.BlobWriterOverwriteFiles
17693	}
17694	if bs.BlobWriterDateTimeFormat != nil {
17695		objectMap["blobWriterDateTimeFormat"] = bs.BlobWriterDateTimeFormat
17696	}
17697	if bs.BlobWriterAddHeader != nil {
17698		objectMap["blobWriterAddHeader"] = bs.BlobWriterAddHeader
17699	}
17700	if bs.CopyBehavior != nil {
17701		objectMap["copyBehavior"] = bs.CopyBehavior
17702	}
17703	if bs.WriteBatchSize != nil {
17704		objectMap["writeBatchSize"] = bs.WriteBatchSize
17705	}
17706	if bs.WriteBatchTimeout != nil {
17707		objectMap["writeBatchTimeout"] = bs.WriteBatchTimeout
17708	}
17709	if bs.SinkRetryCount != nil {
17710		objectMap["sinkRetryCount"] = bs.SinkRetryCount
17711	}
17712	if bs.SinkRetryWait != nil {
17713		objectMap["sinkRetryWait"] = bs.SinkRetryWait
17714	}
17715	if bs.Type != "" {
17716		objectMap["type"] = bs.Type
17717	}
17718	for k, v := range bs.AdditionalProperties {
17719		objectMap[k] = v
17720	}
17721	return json.Marshal(objectMap)
17722}
17723
17724// AsSalesforceSink is the BasicCopySink implementation for BlobSink.
17725func (bs BlobSink) AsSalesforceSink() (*SalesforceSink, bool) {
17726	return nil, false
17727}
17728
17729// AsDynamicsSink is the BasicCopySink implementation for BlobSink.
17730func (bs BlobSink) AsDynamicsSink() (*DynamicsSink, bool) {
17731	return nil, false
17732}
17733
17734// AsOdbcSink is the BasicCopySink implementation for BlobSink.
17735func (bs BlobSink) AsOdbcSink() (*OdbcSink, bool) {
17736	return nil, false
17737}
17738
17739// AsAzureSearchIndexSink is the BasicCopySink implementation for BlobSink.
17740func (bs BlobSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
17741	return nil, false
17742}
17743
17744// AsAzureDataLakeStoreSink is the BasicCopySink implementation for BlobSink.
17745func (bs BlobSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
17746	return nil, false
17747}
17748
17749// AsOracleSink is the BasicCopySink implementation for BlobSink.
17750func (bs BlobSink) AsOracleSink() (*OracleSink, bool) {
17751	return nil, false
17752}
17753
17754// AsSQLDWSink is the BasicCopySink implementation for BlobSink.
17755func (bs BlobSink) AsSQLDWSink() (*SQLDWSink, bool) {
17756	return nil, false
17757}
17758
17759// AsSQLSink is the BasicCopySink implementation for BlobSink.
17760func (bs BlobSink) AsSQLSink() (*SQLSink, bool) {
17761	return nil, false
17762}
17763
17764// AsDocumentDbCollectionSink is the BasicCopySink implementation for BlobSink.
17765func (bs BlobSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
17766	return nil, false
17767}
17768
17769// AsFileSystemSink is the BasicCopySink implementation for BlobSink.
17770func (bs BlobSink) AsFileSystemSink() (*FileSystemSink, bool) {
17771	return nil, false
17772}
17773
17774// AsBlobSink is the BasicCopySink implementation for BlobSink.
17775func (bs BlobSink) AsBlobSink() (*BlobSink, bool) {
17776	return &bs, true
17777}
17778
17779// AsAzureTableSink is the BasicCopySink implementation for BlobSink.
17780func (bs BlobSink) AsAzureTableSink() (*AzureTableSink, bool) {
17781	return nil, false
17782}
17783
17784// AsAzureQueueSink is the BasicCopySink implementation for BlobSink.
17785func (bs BlobSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
17786	return nil, false
17787}
17788
17789// AsSapCloudForCustomerSink is the BasicCopySink implementation for BlobSink.
17790func (bs BlobSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
17791	return nil, false
17792}
17793
17794// AsCopySink is the BasicCopySink implementation for BlobSink.
17795func (bs BlobSink) AsCopySink() (*CopySink, bool) {
17796	return nil, false
17797}
17798
17799// AsBasicCopySink is the BasicCopySink implementation for BlobSink.
17800func (bs BlobSink) AsBasicCopySink() (BasicCopySink, bool) {
17801	return &bs, true
17802}
17803
17804// UnmarshalJSON is the custom unmarshaler for BlobSink struct.
17805func (bs *BlobSink) UnmarshalJSON(body []byte) error {
17806	var m map[string]*json.RawMessage
17807	err := json.Unmarshal(body, &m)
17808	if err != nil {
17809		return err
17810	}
17811	for k, v := range m {
17812		switch k {
17813		case "blobWriterOverwriteFiles":
17814			if v != nil {
17815				var blobWriterOverwriteFiles interface{}
17816				err = json.Unmarshal(*v, &blobWriterOverwriteFiles)
17817				if err != nil {
17818					return err
17819				}
17820				bs.BlobWriterOverwriteFiles = blobWriterOverwriteFiles
17821			}
17822		case "blobWriterDateTimeFormat":
17823			if v != nil {
17824				var blobWriterDateTimeFormat interface{}
17825				err = json.Unmarshal(*v, &blobWriterDateTimeFormat)
17826				if err != nil {
17827					return err
17828				}
17829				bs.BlobWriterDateTimeFormat = blobWriterDateTimeFormat
17830			}
17831		case "blobWriterAddHeader":
17832			if v != nil {
17833				var blobWriterAddHeader interface{}
17834				err = json.Unmarshal(*v, &blobWriterAddHeader)
17835				if err != nil {
17836					return err
17837				}
17838				bs.BlobWriterAddHeader = blobWriterAddHeader
17839			}
17840		case "copyBehavior":
17841			if v != nil {
17842				var copyBehavior interface{}
17843				err = json.Unmarshal(*v, &copyBehavior)
17844				if err != nil {
17845					return err
17846				}
17847				bs.CopyBehavior = copyBehavior
17848			}
17849		default:
17850			if v != nil {
17851				var additionalProperties interface{}
17852				err = json.Unmarshal(*v, &additionalProperties)
17853				if err != nil {
17854					return err
17855				}
17856				if bs.AdditionalProperties == nil {
17857					bs.AdditionalProperties = make(map[string]interface{})
17858				}
17859				bs.AdditionalProperties[k] = additionalProperties
17860			}
17861		case "writeBatchSize":
17862			if v != nil {
17863				var writeBatchSize interface{}
17864				err = json.Unmarshal(*v, &writeBatchSize)
17865				if err != nil {
17866					return err
17867				}
17868				bs.WriteBatchSize = writeBatchSize
17869			}
17870		case "writeBatchTimeout":
17871			if v != nil {
17872				var writeBatchTimeout interface{}
17873				err = json.Unmarshal(*v, &writeBatchTimeout)
17874				if err != nil {
17875					return err
17876				}
17877				bs.WriteBatchTimeout = writeBatchTimeout
17878			}
17879		case "sinkRetryCount":
17880			if v != nil {
17881				var sinkRetryCount interface{}
17882				err = json.Unmarshal(*v, &sinkRetryCount)
17883				if err != nil {
17884					return err
17885				}
17886				bs.SinkRetryCount = sinkRetryCount
17887			}
17888		case "sinkRetryWait":
17889			if v != nil {
17890				var sinkRetryWait interface{}
17891				err = json.Unmarshal(*v, &sinkRetryWait)
17892				if err != nil {
17893					return err
17894				}
17895				bs.SinkRetryWait = sinkRetryWait
17896			}
17897		case "type":
17898			if v != nil {
17899				var typeVar TypeBasicCopySink
17900				err = json.Unmarshal(*v, &typeVar)
17901				if err != nil {
17902					return err
17903				}
17904				bs.Type = typeVar
17905			}
17906		}
17907	}
17908
17909	return nil
17910}
17911
17912// BlobSource a copy activity Azure Blob source.
17913type BlobSource struct {
17914	// TreatEmptyAsNull - Treat empty as null. Type: boolean (or Expression with resultType boolean).
17915	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
17916	// SkipHeaderLineCount - Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer).
17917	SkipHeaderLineCount interface{} `json:"skipHeaderLineCount,omitempty"`
17918	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
17919	Recursive interface{} `json:"recursive,omitempty"`
17920	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17921	AdditionalProperties map[string]interface{} `json:""`
17922	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
17923	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
17924	// 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])).
17925	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
17926	// 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'
17927	Type TypeBasicCopySource `json:"type,omitempty"`
17928}
17929
17930// MarshalJSON is the custom marshaler for BlobSource.
17931func (bs BlobSource) MarshalJSON() ([]byte, error) {
17932	bs.Type = TypeBlobSource
17933	objectMap := make(map[string]interface{})
17934	if bs.TreatEmptyAsNull != nil {
17935		objectMap["treatEmptyAsNull"] = bs.TreatEmptyAsNull
17936	}
17937	if bs.SkipHeaderLineCount != nil {
17938		objectMap["skipHeaderLineCount"] = bs.SkipHeaderLineCount
17939	}
17940	if bs.Recursive != nil {
17941		objectMap["recursive"] = bs.Recursive
17942	}
17943	if bs.SourceRetryCount != nil {
17944		objectMap["sourceRetryCount"] = bs.SourceRetryCount
17945	}
17946	if bs.SourceRetryWait != nil {
17947		objectMap["sourceRetryWait"] = bs.SourceRetryWait
17948	}
17949	if bs.Type != "" {
17950		objectMap["type"] = bs.Type
17951	}
17952	for k, v := range bs.AdditionalProperties {
17953		objectMap[k] = v
17954	}
17955	return json.Marshal(objectMap)
17956}
17957
17958// AsAmazonRedshiftSource is the BasicCopySource implementation for BlobSource.
17959func (bs BlobSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
17960	return nil, false
17961}
17962
17963// AsResponsysSource is the BasicCopySource implementation for BlobSource.
17964func (bs BlobSource) AsResponsysSource() (*ResponsysSource, bool) {
17965	return nil, false
17966}
17967
17968// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for BlobSource.
17969func (bs BlobSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
17970	return nil, false
17971}
17972
17973// AsVerticaSource is the BasicCopySource implementation for BlobSource.
17974func (bs BlobSource) AsVerticaSource() (*VerticaSource, bool) {
17975	return nil, false
17976}
17977
17978// AsNetezzaSource is the BasicCopySource implementation for BlobSource.
17979func (bs BlobSource) AsNetezzaSource() (*NetezzaSource, bool) {
17980	return nil, false
17981}
17982
17983// AsZohoSource is the BasicCopySource implementation for BlobSource.
17984func (bs BlobSource) AsZohoSource() (*ZohoSource, bool) {
17985	return nil, false
17986}
17987
17988// AsXeroSource is the BasicCopySource implementation for BlobSource.
17989func (bs BlobSource) AsXeroSource() (*XeroSource, bool) {
17990	return nil, false
17991}
17992
17993// AsSquareSource is the BasicCopySource implementation for BlobSource.
17994func (bs BlobSource) AsSquareSource() (*SquareSource, bool) {
17995	return nil, false
17996}
17997
17998// AsSparkSource is the BasicCopySource implementation for BlobSource.
17999func (bs BlobSource) AsSparkSource() (*SparkSource, bool) {
18000	return nil, false
18001}
18002
18003// AsShopifySource is the BasicCopySource implementation for BlobSource.
18004func (bs BlobSource) AsShopifySource() (*ShopifySource, bool) {
18005	return nil, false
18006}
18007
18008// AsServiceNowSource is the BasicCopySource implementation for BlobSource.
18009func (bs BlobSource) AsServiceNowSource() (*ServiceNowSource, bool) {
18010	return nil, false
18011}
18012
18013// AsQuickBooksSource is the BasicCopySource implementation for BlobSource.
18014func (bs BlobSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
18015	return nil, false
18016}
18017
18018// AsPrestoSource is the BasicCopySource implementation for BlobSource.
18019func (bs BlobSource) AsPrestoSource() (*PrestoSource, bool) {
18020	return nil, false
18021}
18022
18023// AsPhoenixSource is the BasicCopySource implementation for BlobSource.
18024func (bs BlobSource) AsPhoenixSource() (*PhoenixSource, bool) {
18025	return nil, false
18026}
18027
18028// AsPaypalSource is the BasicCopySource implementation for BlobSource.
18029func (bs BlobSource) AsPaypalSource() (*PaypalSource, bool) {
18030	return nil, false
18031}
18032
18033// AsMarketoSource is the BasicCopySource implementation for BlobSource.
18034func (bs BlobSource) AsMarketoSource() (*MarketoSource, bool) {
18035	return nil, false
18036}
18037
18038// AsMariaDBSource is the BasicCopySource implementation for BlobSource.
18039func (bs BlobSource) AsMariaDBSource() (*MariaDBSource, bool) {
18040	return nil, false
18041}
18042
18043// AsMagentoSource is the BasicCopySource implementation for BlobSource.
18044func (bs BlobSource) AsMagentoSource() (*MagentoSource, bool) {
18045	return nil, false
18046}
18047
18048// AsJiraSource is the BasicCopySource implementation for BlobSource.
18049func (bs BlobSource) AsJiraSource() (*JiraSource, bool) {
18050	return nil, false
18051}
18052
18053// AsImpalaSource is the BasicCopySource implementation for BlobSource.
18054func (bs BlobSource) AsImpalaSource() (*ImpalaSource, bool) {
18055	return nil, false
18056}
18057
18058// AsHubspotSource is the BasicCopySource implementation for BlobSource.
18059func (bs BlobSource) AsHubspotSource() (*HubspotSource, bool) {
18060	return nil, false
18061}
18062
18063// AsHiveSource is the BasicCopySource implementation for BlobSource.
18064func (bs BlobSource) AsHiveSource() (*HiveSource, bool) {
18065	return nil, false
18066}
18067
18068// AsHBaseSource is the BasicCopySource implementation for BlobSource.
18069func (bs BlobSource) AsHBaseSource() (*HBaseSource, bool) {
18070	return nil, false
18071}
18072
18073// AsGreenplumSource is the BasicCopySource implementation for BlobSource.
18074func (bs BlobSource) AsGreenplumSource() (*GreenplumSource, bool) {
18075	return nil, false
18076}
18077
18078// AsGoogleBigQuerySource is the BasicCopySource implementation for BlobSource.
18079func (bs BlobSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
18080	return nil, false
18081}
18082
18083// AsEloquaSource is the BasicCopySource implementation for BlobSource.
18084func (bs BlobSource) AsEloquaSource() (*EloquaSource, bool) {
18085	return nil, false
18086}
18087
18088// AsDrillSource is the BasicCopySource implementation for BlobSource.
18089func (bs BlobSource) AsDrillSource() (*DrillSource, bool) {
18090	return nil, false
18091}
18092
18093// AsCouchbaseSource is the BasicCopySource implementation for BlobSource.
18094func (bs BlobSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
18095	return nil, false
18096}
18097
18098// AsConcurSource is the BasicCopySource implementation for BlobSource.
18099func (bs BlobSource) AsConcurSource() (*ConcurSource, bool) {
18100	return nil, false
18101}
18102
18103// AsAzurePostgreSQLSource is the BasicCopySource implementation for BlobSource.
18104func (bs BlobSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
18105	return nil, false
18106}
18107
18108// AsAmazonMWSSource is the BasicCopySource implementation for BlobSource.
18109func (bs BlobSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
18110	return nil, false
18111}
18112
18113// AsHTTPSource is the BasicCopySource implementation for BlobSource.
18114func (bs BlobSource) AsHTTPSource() (*HTTPSource, bool) {
18115	return nil, false
18116}
18117
18118// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BlobSource.
18119func (bs BlobSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
18120	return nil, false
18121}
18122
18123// AsMongoDbSource is the BasicCopySource implementation for BlobSource.
18124func (bs BlobSource) AsMongoDbSource() (*MongoDbSource, bool) {
18125	return nil, false
18126}
18127
18128// AsCassandraSource is the BasicCopySource implementation for BlobSource.
18129func (bs BlobSource) AsCassandraSource() (*CassandraSource, bool) {
18130	return nil, false
18131}
18132
18133// AsWebSource is the BasicCopySource implementation for BlobSource.
18134func (bs BlobSource) AsWebSource() (*WebSource, bool) {
18135	return nil, false
18136}
18137
18138// AsOracleSource is the BasicCopySource implementation for BlobSource.
18139func (bs BlobSource) AsOracleSource() (*OracleSource, bool) {
18140	return nil, false
18141}
18142
18143// AsAzureMySQLSource is the BasicCopySource implementation for BlobSource.
18144func (bs BlobSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
18145	return nil, false
18146}
18147
18148// AsHdfsSource is the BasicCopySource implementation for BlobSource.
18149func (bs BlobSource) AsHdfsSource() (*HdfsSource, bool) {
18150	return nil, false
18151}
18152
18153// AsFileSystemSource is the BasicCopySource implementation for BlobSource.
18154func (bs BlobSource) AsFileSystemSource() (*FileSystemSource, bool) {
18155	return nil, false
18156}
18157
18158// AsSQLDWSource is the BasicCopySource implementation for BlobSource.
18159func (bs BlobSource) AsSQLDWSource() (*SQLDWSource, bool) {
18160	return nil, false
18161}
18162
18163// AsSQLSource is the BasicCopySource implementation for BlobSource.
18164func (bs BlobSource) AsSQLSource() (*SQLSource, bool) {
18165	return nil, false
18166}
18167
18168// AsSapEccSource is the BasicCopySource implementation for BlobSource.
18169func (bs BlobSource) AsSapEccSource() (*SapEccSource, bool) {
18170	return nil, false
18171}
18172
18173// AsSapCloudForCustomerSource is the BasicCopySource implementation for BlobSource.
18174func (bs BlobSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
18175	return nil, false
18176}
18177
18178// AsSalesforceSource is the BasicCopySource implementation for BlobSource.
18179func (bs BlobSource) AsSalesforceSource() (*SalesforceSource, bool) {
18180	return nil, false
18181}
18182
18183// AsRelationalSource is the BasicCopySource implementation for BlobSource.
18184func (bs BlobSource) AsRelationalSource() (*RelationalSource, bool) {
18185	return nil, false
18186}
18187
18188// AsDynamicsSource is the BasicCopySource implementation for BlobSource.
18189func (bs BlobSource) AsDynamicsSource() (*DynamicsSource, bool) {
18190	return nil, false
18191}
18192
18193// AsDocumentDbCollectionSource is the BasicCopySource implementation for BlobSource.
18194func (bs BlobSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
18195	return nil, false
18196}
18197
18198// AsBlobSource is the BasicCopySource implementation for BlobSource.
18199func (bs BlobSource) AsBlobSource() (*BlobSource, bool) {
18200	return &bs, true
18201}
18202
18203// AsAzureTableSource is the BasicCopySource implementation for BlobSource.
18204func (bs BlobSource) AsAzureTableSource() (*AzureTableSource, bool) {
18205	return nil, false
18206}
18207
18208// AsCopySource is the BasicCopySource implementation for BlobSource.
18209func (bs BlobSource) AsCopySource() (*CopySource, bool) {
18210	return nil, false
18211}
18212
18213// AsBasicCopySource is the BasicCopySource implementation for BlobSource.
18214func (bs BlobSource) AsBasicCopySource() (BasicCopySource, bool) {
18215	return &bs, true
18216}
18217
18218// UnmarshalJSON is the custom unmarshaler for BlobSource struct.
18219func (bs *BlobSource) UnmarshalJSON(body []byte) error {
18220	var m map[string]*json.RawMessage
18221	err := json.Unmarshal(body, &m)
18222	if err != nil {
18223		return err
18224	}
18225	for k, v := range m {
18226		switch k {
18227		case "treatEmptyAsNull":
18228			if v != nil {
18229				var treatEmptyAsNull interface{}
18230				err = json.Unmarshal(*v, &treatEmptyAsNull)
18231				if err != nil {
18232					return err
18233				}
18234				bs.TreatEmptyAsNull = treatEmptyAsNull
18235			}
18236		case "skipHeaderLineCount":
18237			if v != nil {
18238				var skipHeaderLineCount interface{}
18239				err = json.Unmarshal(*v, &skipHeaderLineCount)
18240				if err != nil {
18241					return err
18242				}
18243				bs.SkipHeaderLineCount = skipHeaderLineCount
18244			}
18245		case "recursive":
18246			if v != nil {
18247				var recursive interface{}
18248				err = json.Unmarshal(*v, &recursive)
18249				if err != nil {
18250					return err
18251				}
18252				bs.Recursive = recursive
18253			}
18254		default:
18255			if v != nil {
18256				var additionalProperties interface{}
18257				err = json.Unmarshal(*v, &additionalProperties)
18258				if err != nil {
18259					return err
18260				}
18261				if bs.AdditionalProperties == nil {
18262					bs.AdditionalProperties = make(map[string]interface{})
18263				}
18264				bs.AdditionalProperties[k] = additionalProperties
18265			}
18266		case "sourceRetryCount":
18267			if v != nil {
18268				var sourceRetryCount interface{}
18269				err = json.Unmarshal(*v, &sourceRetryCount)
18270				if err != nil {
18271					return err
18272				}
18273				bs.SourceRetryCount = sourceRetryCount
18274			}
18275		case "sourceRetryWait":
18276			if v != nil {
18277				var sourceRetryWait interface{}
18278				err = json.Unmarshal(*v, &sourceRetryWait)
18279				if err != nil {
18280					return err
18281				}
18282				bs.SourceRetryWait = sourceRetryWait
18283			}
18284		case "type":
18285			if v != nil {
18286				var typeVar TypeBasicCopySource
18287				err = json.Unmarshal(*v, &typeVar)
18288				if err != nil {
18289					return err
18290				}
18291				bs.Type = typeVar
18292			}
18293		}
18294	}
18295
18296	return nil
18297}
18298
18299// BlobTrigger trigger that runs every time the selected Blob container changes.
18300type BlobTrigger struct {
18301	// BlobTriggerTypeProperties - Blob Trigger properties.
18302	*BlobTriggerTypeProperties `json:"typeProperties,omitempty"`
18303	// Pipelines - Pipelines that need to be started.
18304	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
18305	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
18306	AdditionalProperties map[string]interface{} `json:""`
18307	// Description - Trigger description.
18308	Description *string `json:"description,omitempty"`
18309	// 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'
18310	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
18311	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
18312	Type TypeBasicTrigger `json:"type,omitempty"`
18313}
18314
18315// MarshalJSON is the custom marshaler for BlobTrigger.
18316func (bt BlobTrigger) MarshalJSON() ([]byte, error) {
18317	bt.Type = TypeBlobTrigger
18318	objectMap := make(map[string]interface{})
18319	if bt.BlobTriggerTypeProperties != nil {
18320		objectMap["typeProperties"] = bt.BlobTriggerTypeProperties
18321	}
18322	if bt.Pipelines != nil {
18323		objectMap["pipelines"] = bt.Pipelines
18324	}
18325	if bt.Description != nil {
18326		objectMap["description"] = bt.Description
18327	}
18328	if bt.Type != "" {
18329		objectMap["type"] = bt.Type
18330	}
18331	for k, v := range bt.AdditionalProperties {
18332		objectMap[k] = v
18333	}
18334	return json.Marshal(objectMap)
18335}
18336
18337// AsTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger.
18338func (bt BlobTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
18339	return nil, false
18340}
18341
18342// AsBlobEventsTrigger is the BasicTrigger implementation for BlobTrigger.
18343func (bt BlobTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
18344	return nil, false
18345}
18346
18347// AsBlobTrigger is the BasicTrigger implementation for BlobTrigger.
18348func (bt BlobTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
18349	return &bt, true
18350}
18351
18352// AsScheduleTrigger is the BasicTrigger implementation for BlobTrigger.
18353func (bt BlobTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
18354	return nil, false
18355}
18356
18357// AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger.
18358func (bt BlobTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
18359	return nil, false
18360}
18361
18362// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger.
18363func (bt BlobTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
18364	return &bt, true
18365}
18366
18367// AsTrigger is the BasicTrigger implementation for BlobTrigger.
18368func (bt BlobTrigger) AsTrigger() (*Trigger, bool) {
18369	return nil, false
18370}
18371
18372// AsBasicTrigger is the BasicTrigger implementation for BlobTrigger.
18373func (bt BlobTrigger) AsBasicTrigger() (BasicTrigger, bool) {
18374	return &bt, true
18375}
18376
18377// UnmarshalJSON is the custom unmarshaler for BlobTrigger struct.
18378func (bt *BlobTrigger) UnmarshalJSON(body []byte) error {
18379	var m map[string]*json.RawMessage
18380	err := json.Unmarshal(body, &m)
18381	if err != nil {
18382		return err
18383	}
18384	for k, v := range m {
18385		switch k {
18386		case "typeProperties":
18387			if v != nil {
18388				var blobTriggerTypeProperties BlobTriggerTypeProperties
18389				err = json.Unmarshal(*v, &blobTriggerTypeProperties)
18390				if err != nil {
18391					return err
18392				}
18393				bt.BlobTriggerTypeProperties = &blobTriggerTypeProperties
18394			}
18395		case "pipelines":
18396			if v != nil {
18397				var pipelines []TriggerPipelineReference
18398				err = json.Unmarshal(*v, &pipelines)
18399				if err != nil {
18400					return err
18401				}
18402				bt.Pipelines = &pipelines
18403			}
18404		default:
18405			if v != nil {
18406				var additionalProperties interface{}
18407				err = json.Unmarshal(*v, &additionalProperties)
18408				if err != nil {
18409					return err
18410				}
18411				if bt.AdditionalProperties == nil {
18412					bt.AdditionalProperties = make(map[string]interface{})
18413				}
18414				bt.AdditionalProperties[k] = additionalProperties
18415			}
18416		case "description":
18417			if v != nil {
18418				var description string
18419				err = json.Unmarshal(*v, &description)
18420				if err != nil {
18421					return err
18422				}
18423				bt.Description = &description
18424			}
18425		case "runtimeState":
18426			if v != nil {
18427				var runtimeState TriggerRuntimeState
18428				err = json.Unmarshal(*v, &runtimeState)
18429				if err != nil {
18430					return err
18431				}
18432				bt.RuntimeState = runtimeState
18433			}
18434		case "type":
18435			if v != nil {
18436				var typeVar TypeBasicTrigger
18437				err = json.Unmarshal(*v, &typeVar)
18438				if err != nil {
18439					return err
18440				}
18441				bt.Type = typeVar
18442			}
18443		}
18444	}
18445
18446	return nil
18447}
18448
18449// BlobTriggerTypeProperties blob Trigger properties.
18450type BlobTriggerTypeProperties struct {
18451	// FolderPath - The path of the container/folder that will trigger the pipeline.
18452	FolderPath *string `json:"folderPath,omitempty"`
18453	// MaxConcurrency - The max number of parallel files to handle when it is triggered.
18454	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
18455	// LinkedService - The Azure Storage linked service reference.
18456	LinkedService *LinkedServiceReference `json:"linkedService,omitempty"`
18457}
18458
18459// CassandraLinkedService linked service for Cassandra data source.
18460type CassandraLinkedService struct {
18461	// CassandraLinkedServiceTypeProperties - Cassandra linked service properties.
18462	*CassandraLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
18463	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
18464	AdditionalProperties map[string]interface{} `json:""`
18465	// ConnectVia - The integration runtime reference.
18466	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
18467	// Description - Linked service description.
18468	Description *string `json:"description,omitempty"`
18469	// Parameters - Parameters for linked service.
18470	Parameters map[string]*ParameterSpecification `json:"parameters"`
18471	// Annotations - List of tags that can be used for describing the Dataset.
18472	Annotations *[]interface{} `json:"annotations,omitempty"`
18473	// 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'
18474	Type TypeBasicLinkedService `json:"type,omitempty"`
18475}
18476
18477// MarshalJSON is the custom marshaler for CassandraLinkedService.
18478func (cls CassandraLinkedService) MarshalJSON() ([]byte, error) {
18479	cls.Type = TypeCassandra
18480	objectMap := make(map[string]interface{})
18481	if cls.CassandraLinkedServiceTypeProperties != nil {
18482		objectMap["typeProperties"] = cls.CassandraLinkedServiceTypeProperties
18483	}
18484	if cls.ConnectVia != nil {
18485		objectMap["connectVia"] = cls.ConnectVia
18486	}
18487	if cls.Description != nil {
18488		objectMap["description"] = cls.Description
18489	}
18490	if cls.Parameters != nil {
18491		objectMap["parameters"] = cls.Parameters
18492	}
18493	if cls.Annotations != nil {
18494		objectMap["annotations"] = cls.Annotations
18495	}
18496	if cls.Type != "" {
18497		objectMap["type"] = cls.Type
18498	}
18499	for k, v := range cls.AdditionalProperties {
18500		objectMap[k] = v
18501	}
18502	return json.Marshal(objectMap)
18503}
18504
18505// AsResponsysLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18506func (cls CassandraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
18507	return nil, false
18508}
18509
18510// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18511func (cls CassandraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
18512	return nil, false
18513}
18514
18515// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18516func (cls CassandraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
18517	return nil, false
18518}
18519
18520// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18521func (cls CassandraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
18522	return nil, false
18523}
18524
18525// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18526func (cls CassandraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
18527	return nil, false
18528}
18529
18530// AsNetezzaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18531func (cls CassandraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
18532	return nil, false
18533}
18534
18535// AsVerticaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18536func (cls CassandraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
18537	return nil, false
18538}
18539
18540// AsZohoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18541func (cls CassandraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
18542	return nil, false
18543}
18544
18545// AsXeroLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18546func (cls CassandraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
18547	return nil, false
18548}
18549
18550// AsSquareLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18551func (cls CassandraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
18552	return nil, false
18553}
18554
18555// AsSparkLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18556func (cls CassandraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
18557	return nil, false
18558}
18559
18560// AsShopifyLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18561func (cls CassandraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
18562	return nil, false
18563}
18564
18565// AsServiceNowLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18566func (cls CassandraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
18567	return nil, false
18568}
18569
18570// AsQuickBooksLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18571func (cls CassandraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
18572	return nil, false
18573}
18574
18575// AsPrestoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18576func (cls CassandraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
18577	return nil, false
18578}
18579
18580// AsPhoenixLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18581func (cls CassandraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
18582	return nil, false
18583}
18584
18585// AsPaypalLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18586func (cls CassandraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
18587	return nil, false
18588}
18589
18590// AsMarketoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18591func (cls CassandraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
18592	return nil, false
18593}
18594
18595// AsMariaDBLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18596func (cls CassandraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
18597	return nil, false
18598}
18599
18600// AsMagentoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18601func (cls CassandraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
18602	return nil, false
18603}
18604
18605// AsJiraLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18606func (cls CassandraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
18607	return nil, false
18608}
18609
18610// AsImpalaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18611func (cls CassandraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
18612	return nil, false
18613}
18614
18615// AsHubspotLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18616func (cls CassandraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
18617	return nil, false
18618}
18619
18620// AsHiveLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18621func (cls CassandraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
18622	return nil, false
18623}
18624
18625// AsHBaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18626func (cls CassandraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
18627	return nil, false
18628}
18629
18630// AsGreenplumLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18631func (cls CassandraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
18632	return nil, false
18633}
18634
18635// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18636func (cls CassandraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
18637	return nil, false
18638}
18639
18640// AsEloquaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18641func (cls CassandraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
18642	return nil, false
18643}
18644
18645// AsDrillLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18646func (cls CassandraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
18647	return nil, false
18648}
18649
18650// AsCouchbaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18651func (cls CassandraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
18652	return nil, false
18653}
18654
18655// AsConcurLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18656func (cls CassandraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
18657	return nil, false
18658}
18659
18660// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18661func (cls CassandraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
18662	return nil, false
18663}
18664
18665// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18666func (cls CassandraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
18667	return nil, false
18668}
18669
18670// AsSapHanaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18671func (cls CassandraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
18672	return nil, false
18673}
18674
18675// AsSapBWLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18676func (cls CassandraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
18677	return nil, false
18678}
18679
18680// AsSftpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18681func (cls CassandraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
18682	return nil, false
18683}
18684
18685// AsFtpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18686func (cls CassandraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
18687	return nil, false
18688}
18689
18690// AsHTTPLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18691func (cls CassandraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
18692	return nil, false
18693}
18694
18695// AsAzureSearchLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18696func (cls CassandraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
18697	return nil, false
18698}
18699
18700// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18701func (cls CassandraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
18702	return nil, false
18703}
18704
18705// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18706func (cls CassandraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
18707	return nil, false
18708}
18709
18710// AsAmazonS3LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18711func (cls CassandraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
18712	return nil, false
18713}
18714
18715// AsSapEccLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18716func (cls CassandraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
18717	return nil, false
18718}
18719
18720// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18721func (cls CassandraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
18722	return nil, false
18723}
18724
18725// AsSalesforceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18726func (cls CassandraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
18727	return nil, false
18728}
18729
18730// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18731func (cls CassandraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
18732	return nil, false
18733}
18734
18735// AsMongoDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18736func (cls CassandraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
18737	return nil, false
18738}
18739
18740// AsCassandraLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18741func (cls CassandraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
18742	return &cls, true
18743}
18744
18745// AsWebLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18746func (cls CassandraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
18747	return nil, false
18748}
18749
18750// AsODataLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18751func (cls CassandraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
18752	return nil, false
18753}
18754
18755// AsHdfsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18756func (cls CassandraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
18757	return nil, false
18758}
18759
18760// AsOdbcLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18761func (cls CassandraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
18762	return nil, false
18763}
18764
18765// AsAzureMLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18766func (cls CassandraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
18767	return nil, false
18768}
18769
18770// AsTeradataLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18771func (cls CassandraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
18772	return nil, false
18773}
18774
18775// AsDb2LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18776func (cls CassandraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
18777	return nil, false
18778}
18779
18780// AsSybaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18781func (cls CassandraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
18782	return nil, false
18783}
18784
18785// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18786func (cls CassandraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
18787	return nil, false
18788}
18789
18790// AsMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18791func (cls CassandraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
18792	return nil, false
18793}
18794
18795// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18796func (cls CassandraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
18797	return nil, false
18798}
18799
18800// AsOracleLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18801func (cls CassandraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
18802	return nil, false
18803}
18804
18805// AsFileServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18806func (cls CassandraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
18807	return nil, false
18808}
18809
18810// AsHDInsightLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18811func (cls CassandraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
18812	return nil, false
18813}
18814
18815// AsDynamicsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18816func (cls CassandraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
18817	return nil, false
18818}
18819
18820// AsCosmosDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18821func (cls CassandraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
18822	return nil, false
18823}
18824
18825// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18826func (cls CassandraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
18827	return nil, false
18828}
18829
18830// AsAzureBatchLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18831func (cls CassandraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
18832	return nil, false
18833}
18834
18835// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18836func (cls CassandraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
18837	return nil, false
18838}
18839
18840// AsSQLServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18841func (cls CassandraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
18842	return nil, false
18843}
18844
18845// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18846func (cls CassandraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
18847	return nil, false
18848}
18849
18850// AsAzureStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18851func (cls CassandraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
18852	return nil, false
18853}
18854
18855// AsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18856func (cls CassandraLinkedService) AsLinkedService() (*LinkedService, bool) {
18857	return nil, false
18858}
18859
18860// AsBasicLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
18861func (cls CassandraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
18862	return &cls, true
18863}
18864
18865// UnmarshalJSON is the custom unmarshaler for CassandraLinkedService struct.
18866func (cls *CassandraLinkedService) UnmarshalJSON(body []byte) error {
18867	var m map[string]*json.RawMessage
18868	err := json.Unmarshal(body, &m)
18869	if err != nil {
18870		return err
18871	}
18872	for k, v := range m {
18873		switch k {
18874		case "typeProperties":
18875			if v != nil {
18876				var cassandraLinkedServiceTypeProperties CassandraLinkedServiceTypeProperties
18877				err = json.Unmarshal(*v, &cassandraLinkedServiceTypeProperties)
18878				if err != nil {
18879					return err
18880				}
18881				cls.CassandraLinkedServiceTypeProperties = &cassandraLinkedServiceTypeProperties
18882			}
18883		default:
18884			if v != nil {
18885				var additionalProperties interface{}
18886				err = json.Unmarshal(*v, &additionalProperties)
18887				if err != nil {
18888					return err
18889				}
18890				if cls.AdditionalProperties == nil {
18891					cls.AdditionalProperties = make(map[string]interface{})
18892				}
18893				cls.AdditionalProperties[k] = additionalProperties
18894			}
18895		case "connectVia":
18896			if v != nil {
18897				var connectVia IntegrationRuntimeReference
18898				err = json.Unmarshal(*v, &connectVia)
18899				if err != nil {
18900					return err
18901				}
18902				cls.ConnectVia = &connectVia
18903			}
18904		case "description":
18905			if v != nil {
18906				var description string
18907				err = json.Unmarshal(*v, &description)
18908				if err != nil {
18909					return err
18910				}
18911				cls.Description = &description
18912			}
18913		case "parameters":
18914			if v != nil {
18915				var parameters map[string]*ParameterSpecification
18916				err = json.Unmarshal(*v, &parameters)
18917				if err != nil {
18918					return err
18919				}
18920				cls.Parameters = parameters
18921			}
18922		case "annotations":
18923			if v != nil {
18924				var annotations []interface{}
18925				err = json.Unmarshal(*v, &annotations)
18926				if err != nil {
18927					return err
18928				}
18929				cls.Annotations = &annotations
18930			}
18931		case "type":
18932			if v != nil {
18933				var typeVar TypeBasicLinkedService
18934				err = json.Unmarshal(*v, &typeVar)
18935				if err != nil {
18936					return err
18937				}
18938				cls.Type = typeVar
18939			}
18940		}
18941	}
18942
18943	return nil
18944}
18945
18946// CassandraLinkedServiceTypeProperties cassandra linked service properties.
18947type CassandraLinkedServiceTypeProperties struct {
18948	// Host - Host name for connection. Type: string (or Expression with resultType string).
18949	Host interface{} `json:"host,omitempty"`
18950	// AuthenticationType - AuthenticationType to be used for connection. Type: string (or Expression with resultType string).
18951	AuthenticationType interface{} `json:"authenticationType,omitempty"`
18952	// Port - The port for the connection. Type: integer (or Expression with resultType integer).
18953	Port interface{} `json:"port,omitempty"`
18954	// Username - Username for authentication. Type: string (or Expression with resultType string).
18955	Username interface{} `json:"username,omitempty"`
18956	// Password - Password for authentication.
18957	Password BasicSecretBase `json:"password,omitempty"`
18958	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
18959	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
18960}
18961
18962// UnmarshalJSON is the custom unmarshaler for CassandraLinkedServiceTypeProperties struct.
18963func (clstp *CassandraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
18964	var m map[string]*json.RawMessage
18965	err := json.Unmarshal(body, &m)
18966	if err != nil {
18967		return err
18968	}
18969	for k, v := range m {
18970		switch k {
18971		case "host":
18972			if v != nil {
18973				var host interface{}
18974				err = json.Unmarshal(*v, &host)
18975				if err != nil {
18976					return err
18977				}
18978				clstp.Host = host
18979			}
18980		case "authenticationType":
18981			if v != nil {
18982				var authenticationType interface{}
18983				err = json.Unmarshal(*v, &authenticationType)
18984				if err != nil {
18985					return err
18986				}
18987				clstp.AuthenticationType = authenticationType
18988			}
18989		case "port":
18990			if v != nil {
18991				var port interface{}
18992				err = json.Unmarshal(*v, &port)
18993				if err != nil {
18994					return err
18995				}
18996				clstp.Port = port
18997			}
18998		case "username":
18999			if v != nil {
19000				var username interface{}
19001				err = json.Unmarshal(*v, &username)
19002				if err != nil {
19003					return err
19004				}
19005				clstp.Username = username
19006			}
19007		case "password":
19008			if v != nil {
19009				password, err := unmarshalBasicSecretBase(*v)
19010				if err != nil {
19011					return err
19012				}
19013				clstp.Password = password
19014			}
19015		case "encryptedCredential":
19016			if v != nil {
19017				var encryptedCredential interface{}
19018				err = json.Unmarshal(*v, &encryptedCredential)
19019				if err != nil {
19020					return err
19021				}
19022				clstp.EncryptedCredential = encryptedCredential
19023			}
19024		}
19025	}
19026
19027	return nil
19028}
19029
19030// CassandraSource a copy activity source for a Cassandra database.
19031type CassandraSource struct {
19032	// Query - Database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string).
19033	Query interface{} `json:"query,omitempty"`
19034	// 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.
19035	ConsistencyLevel interface{} `json:"consistencyLevel,omitempty"`
19036	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19037	AdditionalProperties map[string]interface{} `json:""`
19038	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
19039	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
19040	// 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])).
19041	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
19042	// 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'
19043	Type TypeBasicCopySource `json:"type,omitempty"`
19044}
19045
19046// MarshalJSON is the custom marshaler for CassandraSource.
19047func (cs CassandraSource) MarshalJSON() ([]byte, error) {
19048	cs.Type = TypeCassandraSource
19049	objectMap := make(map[string]interface{})
19050	if cs.Query != nil {
19051		objectMap["query"] = cs.Query
19052	}
19053	if cs.ConsistencyLevel != nil {
19054		objectMap["consistencyLevel"] = cs.ConsistencyLevel
19055	}
19056	if cs.SourceRetryCount != nil {
19057		objectMap["sourceRetryCount"] = cs.SourceRetryCount
19058	}
19059	if cs.SourceRetryWait != nil {
19060		objectMap["sourceRetryWait"] = cs.SourceRetryWait
19061	}
19062	if cs.Type != "" {
19063		objectMap["type"] = cs.Type
19064	}
19065	for k, v := range cs.AdditionalProperties {
19066		objectMap[k] = v
19067	}
19068	return json.Marshal(objectMap)
19069}
19070
19071// AsAmazonRedshiftSource is the BasicCopySource implementation for CassandraSource.
19072func (cs CassandraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
19073	return nil, false
19074}
19075
19076// AsResponsysSource is the BasicCopySource implementation for CassandraSource.
19077func (cs CassandraSource) AsResponsysSource() (*ResponsysSource, bool) {
19078	return nil, false
19079}
19080
19081// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CassandraSource.
19082func (cs CassandraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
19083	return nil, false
19084}
19085
19086// AsVerticaSource is the BasicCopySource implementation for CassandraSource.
19087func (cs CassandraSource) AsVerticaSource() (*VerticaSource, bool) {
19088	return nil, false
19089}
19090
19091// AsNetezzaSource is the BasicCopySource implementation for CassandraSource.
19092func (cs CassandraSource) AsNetezzaSource() (*NetezzaSource, bool) {
19093	return nil, false
19094}
19095
19096// AsZohoSource is the BasicCopySource implementation for CassandraSource.
19097func (cs CassandraSource) AsZohoSource() (*ZohoSource, bool) {
19098	return nil, false
19099}
19100
19101// AsXeroSource is the BasicCopySource implementation for CassandraSource.
19102func (cs CassandraSource) AsXeroSource() (*XeroSource, bool) {
19103	return nil, false
19104}
19105
19106// AsSquareSource is the BasicCopySource implementation for CassandraSource.
19107func (cs CassandraSource) AsSquareSource() (*SquareSource, bool) {
19108	return nil, false
19109}
19110
19111// AsSparkSource is the BasicCopySource implementation for CassandraSource.
19112func (cs CassandraSource) AsSparkSource() (*SparkSource, bool) {
19113	return nil, false
19114}
19115
19116// AsShopifySource is the BasicCopySource implementation for CassandraSource.
19117func (cs CassandraSource) AsShopifySource() (*ShopifySource, bool) {
19118	return nil, false
19119}
19120
19121// AsServiceNowSource is the BasicCopySource implementation for CassandraSource.
19122func (cs CassandraSource) AsServiceNowSource() (*ServiceNowSource, bool) {
19123	return nil, false
19124}
19125
19126// AsQuickBooksSource is the BasicCopySource implementation for CassandraSource.
19127func (cs CassandraSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
19128	return nil, false
19129}
19130
19131// AsPrestoSource is the BasicCopySource implementation for CassandraSource.
19132func (cs CassandraSource) AsPrestoSource() (*PrestoSource, bool) {
19133	return nil, false
19134}
19135
19136// AsPhoenixSource is the BasicCopySource implementation for CassandraSource.
19137func (cs CassandraSource) AsPhoenixSource() (*PhoenixSource, bool) {
19138	return nil, false
19139}
19140
19141// AsPaypalSource is the BasicCopySource implementation for CassandraSource.
19142func (cs CassandraSource) AsPaypalSource() (*PaypalSource, bool) {
19143	return nil, false
19144}
19145
19146// AsMarketoSource is the BasicCopySource implementation for CassandraSource.
19147func (cs CassandraSource) AsMarketoSource() (*MarketoSource, bool) {
19148	return nil, false
19149}
19150
19151// AsMariaDBSource is the BasicCopySource implementation for CassandraSource.
19152func (cs CassandraSource) AsMariaDBSource() (*MariaDBSource, bool) {
19153	return nil, false
19154}
19155
19156// AsMagentoSource is the BasicCopySource implementation for CassandraSource.
19157func (cs CassandraSource) AsMagentoSource() (*MagentoSource, bool) {
19158	return nil, false
19159}
19160
19161// AsJiraSource is the BasicCopySource implementation for CassandraSource.
19162func (cs CassandraSource) AsJiraSource() (*JiraSource, bool) {
19163	return nil, false
19164}
19165
19166// AsImpalaSource is the BasicCopySource implementation for CassandraSource.
19167func (cs CassandraSource) AsImpalaSource() (*ImpalaSource, bool) {
19168	return nil, false
19169}
19170
19171// AsHubspotSource is the BasicCopySource implementation for CassandraSource.
19172func (cs CassandraSource) AsHubspotSource() (*HubspotSource, bool) {
19173	return nil, false
19174}
19175
19176// AsHiveSource is the BasicCopySource implementation for CassandraSource.
19177func (cs CassandraSource) AsHiveSource() (*HiveSource, bool) {
19178	return nil, false
19179}
19180
19181// AsHBaseSource is the BasicCopySource implementation for CassandraSource.
19182func (cs CassandraSource) AsHBaseSource() (*HBaseSource, bool) {
19183	return nil, false
19184}
19185
19186// AsGreenplumSource is the BasicCopySource implementation for CassandraSource.
19187func (cs CassandraSource) AsGreenplumSource() (*GreenplumSource, bool) {
19188	return nil, false
19189}
19190
19191// AsGoogleBigQuerySource is the BasicCopySource implementation for CassandraSource.
19192func (cs CassandraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
19193	return nil, false
19194}
19195
19196// AsEloquaSource is the BasicCopySource implementation for CassandraSource.
19197func (cs CassandraSource) AsEloquaSource() (*EloquaSource, bool) {
19198	return nil, false
19199}
19200
19201// AsDrillSource is the BasicCopySource implementation for CassandraSource.
19202func (cs CassandraSource) AsDrillSource() (*DrillSource, bool) {
19203	return nil, false
19204}
19205
19206// AsCouchbaseSource is the BasicCopySource implementation for CassandraSource.
19207func (cs CassandraSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
19208	return nil, false
19209}
19210
19211// AsConcurSource is the BasicCopySource implementation for CassandraSource.
19212func (cs CassandraSource) AsConcurSource() (*ConcurSource, bool) {
19213	return nil, false
19214}
19215
19216// AsAzurePostgreSQLSource is the BasicCopySource implementation for CassandraSource.
19217func (cs CassandraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
19218	return nil, false
19219}
19220
19221// AsAmazonMWSSource is the BasicCopySource implementation for CassandraSource.
19222func (cs CassandraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
19223	return nil, false
19224}
19225
19226// AsHTTPSource is the BasicCopySource implementation for CassandraSource.
19227func (cs CassandraSource) AsHTTPSource() (*HTTPSource, bool) {
19228	return nil, false
19229}
19230
19231// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CassandraSource.
19232func (cs CassandraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
19233	return nil, false
19234}
19235
19236// AsMongoDbSource is the BasicCopySource implementation for CassandraSource.
19237func (cs CassandraSource) AsMongoDbSource() (*MongoDbSource, bool) {
19238	return nil, false
19239}
19240
19241// AsCassandraSource is the BasicCopySource implementation for CassandraSource.
19242func (cs CassandraSource) AsCassandraSource() (*CassandraSource, bool) {
19243	return &cs, true
19244}
19245
19246// AsWebSource is the BasicCopySource implementation for CassandraSource.
19247func (cs CassandraSource) AsWebSource() (*WebSource, bool) {
19248	return nil, false
19249}
19250
19251// AsOracleSource is the BasicCopySource implementation for CassandraSource.
19252func (cs CassandraSource) AsOracleSource() (*OracleSource, bool) {
19253	return nil, false
19254}
19255
19256// AsAzureMySQLSource is the BasicCopySource implementation for CassandraSource.
19257func (cs CassandraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
19258	return nil, false
19259}
19260
19261// AsHdfsSource is the BasicCopySource implementation for CassandraSource.
19262func (cs CassandraSource) AsHdfsSource() (*HdfsSource, bool) {
19263	return nil, false
19264}
19265
19266// AsFileSystemSource is the BasicCopySource implementation for CassandraSource.
19267func (cs CassandraSource) AsFileSystemSource() (*FileSystemSource, bool) {
19268	return nil, false
19269}
19270
19271// AsSQLDWSource is the BasicCopySource implementation for CassandraSource.
19272func (cs CassandraSource) AsSQLDWSource() (*SQLDWSource, bool) {
19273	return nil, false
19274}
19275
19276// AsSQLSource is the BasicCopySource implementation for CassandraSource.
19277func (cs CassandraSource) AsSQLSource() (*SQLSource, bool) {
19278	return nil, false
19279}
19280
19281// AsSapEccSource is the BasicCopySource implementation for CassandraSource.
19282func (cs CassandraSource) AsSapEccSource() (*SapEccSource, bool) {
19283	return nil, false
19284}
19285
19286// AsSapCloudForCustomerSource is the BasicCopySource implementation for CassandraSource.
19287func (cs CassandraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
19288	return nil, false
19289}
19290
19291// AsSalesforceSource is the BasicCopySource implementation for CassandraSource.
19292func (cs CassandraSource) AsSalesforceSource() (*SalesforceSource, bool) {
19293	return nil, false
19294}
19295
19296// AsRelationalSource is the BasicCopySource implementation for CassandraSource.
19297func (cs CassandraSource) AsRelationalSource() (*RelationalSource, bool) {
19298	return nil, false
19299}
19300
19301// AsDynamicsSource is the BasicCopySource implementation for CassandraSource.
19302func (cs CassandraSource) AsDynamicsSource() (*DynamicsSource, bool) {
19303	return nil, false
19304}
19305
19306// AsDocumentDbCollectionSource is the BasicCopySource implementation for CassandraSource.
19307func (cs CassandraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
19308	return nil, false
19309}
19310
19311// AsBlobSource is the BasicCopySource implementation for CassandraSource.
19312func (cs CassandraSource) AsBlobSource() (*BlobSource, bool) {
19313	return nil, false
19314}
19315
19316// AsAzureTableSource is the BasicCopySource implementation for CassandraSource.
19317func (cs CassandraSource) AsAzureTableSource() (*AzureTableSource, bool) {
19318	return nil, false
19319}
19320
19321// AsCopySource is the BasicCopySource implementation for CassandraSource.
19322func (cs CassandraSource) AsCopySource() (*CopySource, bool) {
19323	return nil, false
19324}
19325
19326// AsBasicCopySource is the BasicCopySource implementation for CassandraSource.
19327func (cs CassandraSource) AsBasicCopySource() (BasicCopySource, bool) {
19328	return &cs, true
19329}
19330
19331// UnmarshalJSON is the custom unmarshaler for CassandraSource struct.
19332func (cs *CassandraSource) UnmarshalJSON(body []byte) error {
19333	var m map[string]*json.RawMessage
19334	err := json.Unmarshal(body, &m)
19335	if err != nil {
19336		return err
19337	}
19338	for k, v := range m {
19339		switch k {
19340		case "query":
19341			if v != nil {
19342				var query interface{}
19343				err = json.Unmarshal(*v, &query)
19344				if err != nil {
19345					return err
19346				}
19347				cs.Query = query
19348			}
19349		case "consistencyLevel":
19350			if v != nil {
19351				var consistencyLevel interface{}
19352				err = json.Unmarshal(*v, &consistencyLevel)
19353				if err != nil {
19354					return err
19355				}
19356				cs.ConsistencyLevel = consistencyLevel
19357			}
19358		default:
19359			if v != nil {
19360				var additionalProperties interface{}
19361				err = json.Unmarshal(*v, &additionalProperties)
19362				if err != nil {
19363					return err
19364				}
19365				if cs.AdditionalProperties == nil {
19366					cs.AdditionalProperties = make(map[string]interface{})
19367				}
19368				cs.AdditionalProperties[k] = additionalProperties
19369			}
19370		case "sourceRetryCount":
19371			if v != nil {
19372				var sourceRetryCount interface{}
19373				err = json.Unmarshal(*v, &sourceRetryCount)
19374				if err != nil {
19375					return err
19376				}
19377				cs.SourceRetryCount = sourceRetryCount
19378			}
19379		case "sourceRetryWait":
19380			if v != nil {
19381				var sourceRetryWait interface{}
19382				err = json.Unmarshal(*v, &sourceRetryWait)
19383				if err != nil {
19384					return err
19385				}
19386				cs.SourceRetryWait = sourceRetryWait
19387			}
19388		case "type":
19389			if v != nil {
19390				var typeVar TypeBasicCopySource
19391				err = json.Unmarshal(*v, &typeVar)
19392				if err != nil {
19393					return err
19394				}
19395				cs.Type = typeVar
19396			}
19397		}
19398	}
19399
19400	return nil
19401}
19402
19403// CassandraTableDataset the Cassandra database dataset.
19404type CassandraTableDataset struct {
19405	// CassandraTableDatasetTypeProperties - Cassandra dataset properties.
19406	*CassandraTableDatasetTypeProperties `json:"typeProperties,omitempty"`
19407	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19408	AdditionalProperties map[string]interface{} `json:""`
19409	// Description - Dataset description.
19410	Description *string `json:"description,omitempty"`
19411	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
19412	Structure interface{} `json:"structure,omitempty"`
19413	// LinkedServiceName - Linked service reference.
19414	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
19415	// Parameters - Parameters for dataset.
19416	Parameters map[string]*ParameterSpecification `json:"parameters"`
19417	// Annotations - List of tags that can be used for describing the Dataset.
19418	Annotations *[]interface{} `json:"annotations,omitempty"`
19419	// 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'
19420	Type TypeBasicDataset `json:"type,omitempty"`
19421}
19422
19423// MarshalJSON is the custom marshaler for CassandraTableDataset.
19424func (ctd CassandraTableDataset) MarshalJSON() ([]byte, error) {
19425	ctd.Type = TypeCassandraTable
19426	objectMap := make(map[string]interface{})
19427	if ctd.CassandraTableDatasetTypeProperties != nil {
19428		objectMap["typeProperties"] = ctd.CassandraTableDatasetTypeProperties
19429	}
19430	if ctd.Description != nil {
19431		objectMap["description"] = ctd.Description
19432	}
19433	if ctd.Structure != nil {
19434		objectMap["structure"] = ctd.Structure
19435	}
19436	if ctd.LinkedServiceName != nil {
19437		objectMap["linkedServiceName"] = ctd.LinkedServiceName
19438	}
19439	if ctd.Parameters != nil {
19440		objectMap["parameters"] = ctd.Parameters
19441	}
19442	if ctd.Annotations != nil {
19443		objectMap["annotations"] = ctd.Annotations
19444	}
19445	if ctd.Type != "" {
19446		objectMap["type"] = ctd.Type
19447	}
19448	for k, v := range ctd.AdditionalProperties {
19449		objectMap[k] = v
19450	}
19451	return json.Marshal(objectMap)
19452}
19453
19454// AsResponsysObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19455func (ctd CassandraTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
19456	return nil, false
19457}
19458
19459// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19460func (ctd CassandraTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
19461	return nil, false
19462}
19463
19464// AsVerticaTableDataset is the BasicDataset implementation for CassandraTableDataset.
19465func (ctd CassandraTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
19466	return nil, false
19467}
19468
19469// AsNetezzaTableDataset is the BasicDataset implementation for CassandraTableDataset.
19470func (ctd CassandraTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
19471	return nil, false
19472}
19473
19474// AsZohoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19475func (ctd CassandraTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
19476	return nil, false
19477}
19478
19479// AsXeroObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19480func (ctd CassandraTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
19481	return nil, false
19482}
19483
19484// AsSquareObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19485func (ctd CassandraTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
19486	return nil, false
19487}
19488
19489// AsSparkObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19490func (ctd CassandraTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
19491	return nil, false
19492}
19493
19494// AsShopifyObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19495func (ctd CassandraTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
19496	return nil, false
19497}
19498
19499// AsServiceNowObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19500func (ctd CassandraTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
19501	return nil, false
19502}
19503
19504// AsQuickBooksObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19505func (ctd CassandraTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
19506	return nil, false
19507}
19508
19509// AsPrestoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19510func (ctd CassandraTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
19511	return nil, false
19512}
19513
19514// AsPhoenixObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19515func (ctd CassandraTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
19516	return nil, false
19517}
19518
19519// AsPaypalObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19520func (ctd CassandraTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
19521	return nil, false
19522}
19523
19524// AsMarketoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19525func (ctd CassandraTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
19526	return nil, false
19527}
19528
19529// AsMariaDBTableDataset is the BasicDataset implementation for CassandraTableDataset.
19530func (ctd CassandraTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
19531	return nil, false
19532}
19533
19534// AsMagentoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19535func (ctd CassandraTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
19536	return nil, false
19537}
19538
19539// AsJiraObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19540func (ctd CassandraTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
19541	return nil, false
19542}
19543
19544// AsImpalaObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19545func (ctd CassandraTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
19546	return nil, false
19547}
19548
19549// AsHubspotObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19550func (ctd CassandraTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
19551	return nil, false
19552}
19553
19554// AsHiveObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19555func (ctd CassandraTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
19556	return nil, false
19557}
19558
19559// AsHBaseObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19560func (ctd CassandraTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
19561	return nil, false
19562}
19563
19564// AsGreenplumTableDataset is the BasicDataset implementation for CassandraTableDataset.
19565func (ctd CassandraTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
19566	return nil, false
19567}
19568
19569// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19570func (ctd CassandraTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
19571	return nil, false
19572}
19573
19574// AsEloquaObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19575func (ctd CassandraTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
19576	return nil, false
19577}
19578
19579// AsDrillTableDataset is the BasicDataset implementation for CassandraTableDataset.
19580func (ctd CassandraTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
19581	return nil, false
19582}
19583
19584// AsCouchbaseTableDataset is the BasicDataset implementation for CassandraTableDataset.
19585func (ctd CassandraTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
19586	return nil, false
19587}
19588
19589// AsConcurObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19590func (ctd CassandraTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
19591	return nil, false
19592}
19593
19594// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
19595func (ctd CassandraTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
19596	return nil, false
19597}
19598
19599// AsAmazonMWSObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19600func (ctd CassandraTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
19601	return nil, false
19602}
19603
19604// AsHTTPDataset is the BasicDataset implementation for CassandraTableDataset.
19605func (ctd CassandraTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
19606	return nil, false
19607}
19608
19609// AsAzureSearchIndexDataset is the BasicDataset implementation for CassandraTableDataset.
19610func (ctd CassandraTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
19611	return nil, false
19612}
19613
19614// AsWebTableDataset is the BasicDataset implementation for CassandraTableDataset.
19615func (ctd CassandraTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
19616	return nil, false
19617}
19618
19619// AsSQLServerTableDataset is the BasicDataset implementation for CassandraTableDataset.
19620func (ctd CassandraTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
19621	return nil, false
19622}
19623
19624// AsSapEccResourceDataset is the BasicDataset implementation for CassandraTableDataset.
19625func (ctd CassandraTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
19626	return nil, false
19627}
19628
19629// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CassandraTableDataset.
19630func (ctd CassandraTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
19631	return nil, false
19632}
19633
19634// AsSalesforceObjectDataset is the BasicDataset implementation for CassandraTableDataset.
19635func (ctd CassandraTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
19636	return nil, false
19637}
19638
19639// AsRelationalTableDataset is the BasicDataset implementation for CassandraTableDataset.
19640func (ctd CassandraTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
19641	return nil, false
19642}
19643
19644// AsAzureMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
19645func (ctd CassandraTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
19646	return nil, false
19647}
19648
19649// AsOracleTableDataset is the BasicDataset implementation for CassandraTableDataset.
19650func (ctd CassandraTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
19651	return nil, false
19652}
19653
19654// AsODataResourceDataset is the BasicDataset implementation for CassandraTableDataset.
19655func (ctd CassandraTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
19656	return nil, false
19657}
19658
19659// AsMongoDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset.
19660func (ctd CassandraTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
19661	return nil, false
19662}
19663
19664// AsFileShareDataset is the BasicDataset implementation for CassandraTableDataset.
19665func (ctd CassandraTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
19666	return nil, false
19667}
19668
19669// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CassandraTableDataset.
19670func (ctd CassandraTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
19671	return nil, false
19672}
19673
19674// AsDynamicsEntityDataset is the BasicDataset implementation for CassandraTableDataset.
19675func (ctd CassandraTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
19676	return nil, false
19677}
19678
19679// AsDocumentDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset.
19680func (ctd CassandraTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
19681	return nil, false
19682}
19683
19684// AsCustomDataset is the BasicDataset implementation for CassandraTableDataset.
19685func (ctd CassandraTableDataset) AsCustomDataset() (*CustomDataset, bool) {
19686	return nil, false
19687}
19688
19689// AsCassandraTableDataset is the BasicDataset implementation for CassandraTableDataset.
19690func (ctd CassandraTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
19691	return &ctd, true
19692}
19693
19694// AsAzureSQLDWTableDataset is the BasicDataset implementation for CassandraTableDataset.
19695func (ctd CassandraTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
19696	return nil, false
19697}
19698
19699// AsAzureSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
19700func (ctd CassandraTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
19701	return nil, false
19702}
19703
19704// AsAzureTableDataset is the BasicDataset implementation for CassandraTableDataset.
19705func (ctd CassandraTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
19706	return nil, false
19707}
19708
19709// AsAzureBlobDataset is the BasicDataset implementation for CassandraTableDataset.
19710func (ctd CassandraTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
19711	return nil, false
19712}
19713
19714// AsAmazonS3Dataset is the BasicDataset implementation for CassandraTableDataset.
19715func (ctd CassandraTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
19716	return nil, false
19717}
19718
19719// AsDataset is the BasicDataset implementation for CassandraTableDataset.
19720func (ctd CassandraTableDataset) AsDataset() (*Dataset, bool) {
19721	return nil, false
19722}
19723
19724// AsBasicDataset is the BasicDataset implementation for CassandraTableDataset.
19725func (ctd CassandraTableDataset) AsBasicDataset() (BasicDataset, bool) {
19726	return &ctd, true
19727}
19728
19729// UnmarshalJSON is the custom unmarshaler for CassandraTableDataset struct.
19730func (ctd *CassandraTableDataset) UnmarshalJSON(body []byte) error {
19731	var m map[string]*json.RawMessage
19732	err := json.Unmarshal(body, &m)
19733	if err != nil {
19734		return err
19735	}
19736	for k, v := range m {
19737		switch k {
19738		case "typeProperties":
19739			if v != nil {
19740				var cassandraTableDatasetTypeProperties CassandraTableDatasetTypeProperties
19741				err = json.Unmarshal(*v, &cassandraTableDatasetTypeProperties)
19742				if err != nil {
19743					return err
19744				}
19745				ctd.CassandraTableDatasetTypeProperties = &cassandraTableDatasetTypeProperties
19746			}
19747		default:
19748			if v != nil {
19749				var additionalProperties interface{}
19750				err = json.Unmarshal(*v, &additionalProperties)
19751				if err != nil {
19752					return err
19753				}
19754				if ctd.AdditionalProperties == nil {
19755					ctd.AdditionalProperties = make(map[string]interface{})
19756				}
19757				ctd.AdditionalProperties[k] = additionalProperties
19758			}
19759		case "description":
19760			if v != nil {
19761				var description string
19762				err = json.Unmarshal(*v, &description)
19763				if err != nil {
19764					return err
19765				}
19766				ctd.Description = &description
19767			}
19768		case "structure":
19769			if v != nil {
19770				var structure interface{}
19771				err = json.Unmarshal(*v, &structure)
19772				if err != nil {
19773					return err
19774				}
19775				ctd.Structure = structure
19776			}
19777		case "linkedServiceName":
19778			if v != nil {
19779				var linkedServiceName LinkedServiceReference
19780				err = json.Unmarshal(*v, &linkedServiceName)
19781				if err != nil {
19782					return err
19783				}
19784				ctd.LinkedServiceName = &linkedServiceName
19785			}
19786		case "parameters":
19787			if v != nil {
19788				var parameters map[string]*ParameterSpecification
19789				err = json.Unmarshal(*v, &parameters)
19790				if err != nil {
19791					return err
19792				}
19793				ctd.Parameters = parameters
19794			}
19795		case "annotations":
19796			if v != nil {
19797				var annotations []interface{}
19798				err = json.Unmarshal(*v, &annotations)
19799				if err != nil {
19800					return err
19801				}
19802				ctd.Annotations = &annotations
19803			}
19804		case "type":
19805			if v != nil {
19806				var typeVar TypeBasicDataset
19807				err = json.Unmarshal(*v, &typeVar)
19808				if err != nil {
19809					return err
19810				}
19811				ctd.Type = typeVar
19812			}
19813		}
19814	}
19815
19816	return nil
19817}
19818
19819// CassandraTableDatasetTypeProperties cassandra dataset properties.
19820type CassandraTableDatasetTypeProperties struct {
19821	// TableName - The table name of the Cassandra database. Type: string (or Expression with resultType string).
19822	TableName interface{} `json:"tableName,omitempty"`
19823	// Keyspace - The keyspace of the Cassandra database. Type: string (or Expression with resultType string).
19824	Keyspace interface{} `json:"keyspace,omitempty"`
19825}
19826
19827// ConcurLinkedService concur Service linked service.
19828type ConcurLinkedService struct {
19829	// ConcurLinkedServiceTypeProperties - Concur Service linked service properties.
19830	*ConcurLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
19831	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19832	AdditionalProperties map[string]interface{} `json:""`
19833	// ConnectVia - The integration runtime reference.
19834	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
19835	// Description - Linked service description.
19836	Description *string `json:"description,omitempty"`
19837	// Parameters - Parameters for linked service.
19838	Parameters map[string]*ParameterSpecification `json:"parameters"`
19839	// Annotations - List of tags that can be used for describing the Dataset.
19840	Annotations *[]interface{} `json:"annotations,omitempty"`
19841	// 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'
19842	Type TypeBasicLinkedService `json:"type,omitempty"`
19843}
19844
19845// MarshalJSON is the custom marshaler for ConcurLinkedService.
19846func (cls ConcurLinkedService) MarshalJSON() ([]byte, error) {
19847	cls.Type = TypeConcur
19848	objectMap := make(map[string]interface{})
19849	if cls.ConcurLinkedServiceTypeProperties != nil {
19850		objectMap["typeProperties"] = cls.ConcurLinkedServiceTypeProperties
19851	}
19852	if cls.ConnectVia != nil {
19853		objectMap["connectVia"] = cls.ConnectVia
19854	}
19855	if cls.Description != nil {
19856		objectMap["description"] = cls.Description
19857	}
19858	if cls.Parameters != nil {
19859		objectMap["parameters"] = cls.Parameters
19860	}
19861	if cls.Annotations != nil {
19862		objectMap["annotations"] = cls.Annotations
19863	}
19864	if cls.Type != "" {
19865		objectMap["type"] = cls.Type
19866	}
19867	for k, v := range cls.AdditionalProperties {
19868		objectMap[k] = v
19869	}
19870	return json.Marshal(objectMap)
19871}
19872
19873// AsResponsysLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19874func (cls ConcurLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
19875	return nil, false
19876}
19877
19878// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19879func (cls ConcurLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
19880	return nil, false
19881}
19882
19883// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19884func (cls ConcurLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
19885	return nil, false
19886}
19887
19888// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19889func (cls ConcurLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
19890	return nil, false
19891}
19892
19893// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19894func (cls ConcurLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
19895	return nil, false
19896}
19897
19898// AsNetezzaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19899func (cls ConcurLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
19900	return nil, false
19901}
19902
19903// AsVerticaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19904func (cls ConcurLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
19905	return nil, false
19906}
19907
19908// AsZohoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19909func (cls ConcurLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
19910	return nil, false
19911}
19912
19913// AsXeroLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19914func (cls ConcurLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
19915	return nil, false
19916}
19917
19918// AsSquareLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19919func (cls ConcurLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
19920	return nil, false
19921}
19922
19923// AsSparkLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19924func (cls ConcurLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
19925	return nil, false
19926}
19927
19928// AsShopifyLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19929func (cls ConcurLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
19930	return nil, false
19931}
19932
19933// AsServiceNowLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19934func (cls ConcurLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
19935	return nil, false
19936}
19937
19938// AsQuickBooksLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19939func (cls ConcurLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
19940	return nil, false
19941}
19942
19943// AsPrestoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19944func (cls ConcurLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
19945	return nil, false
19946}
19947
19948// AsPhoenixLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19949func (cls ConcurLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
19950	return nil, false
19951}
19952
19953// AsPaypalLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19954func (cls ConcurLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
19955	return nil, false
19956}
19957
19958// AsMarketoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19959func (cls ConcurLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
19960	return nil, false
19961}
19962
19963// AsMariaDBLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19964func (cls ConcurLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
19965	return nil, false
19966}
19967
19968// AsMagentoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19969func (cls ConcurLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
19970	return nil, false
19971}
19972
19973// AsJiraLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19974func (cls ConcurLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
19975	return nil, false
19976}
19977
19978// AsImpalaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19979func (cls ConcurLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
19980	return nil, false
19981}
19982
19983// AsHubspotLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19984func (cls ConcurLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
19985	return nil, false
19986}
19987
19988// AsHiveLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19989func (cls ConcurLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
19990	return nil, false
19991}
19992
19993// AsHBaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19994func (cls ConcurLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
19995	return nil, false
19996}
19997
19998// AsGreenplumLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
19999func (cls ConcurLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
20000	return nil, false
20001}
20002
20003// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20004func (cls ConcurLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
20005	return nil, false
20006}
20007
20008// AsEloquaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20009func (cls ConcurLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
20010	return nil, false
20011}
20012
20013// AsDrillLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20014func (cls ConcurLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
20015	return nil, false
20016}
20017
20018// AsCouchbaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20019func (cls ConcurLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
20020	return nil, false
20021}
20022
20023// AsConcurLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20024func (cls ConcurLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
20025	return &cls, true
20026}
20027
20028// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20029func (cls ConcurLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
20030	return nil, false
20031}
20032
20033// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20034func (cls ConcurLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
20035	return nil, false
20036}
20037
20038// AsSapHanaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20039func (cls ConcurLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
20040	return nil, false
20041}
20042
20043// AsSapBWLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20044func (cls ConcurLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
20045	return nil, false
20046}
20047
20048// AsSftpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20049func (cls ConcurLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
20050	return nil, false
20051}
20052
20053// AsFtpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20054func (cls ConcurLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
20055	return nil, false
20056}
20057
20058// AsHTTPLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20059func (cls ConcurLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
20060	return nil, false
20061}
20062
20063// AsAzureSearchLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20064func (cls ConcurLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
20065	return nil, false
20066}
20067
20068// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20069func (cls ConcurLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
20070	return nil, false
20071}
20072
20073// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20074func (cls ConcurLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
20075	return nil, false
20076}
20077
20078// AsAmazonS3LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20079func (cls ConcurLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
20080	return nil, false
20081}
20082
20083// AsSapEccLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20084func (cls ConcurLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
20085	return nil, false
20086}
20087
20088// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20089func (cls ConcurLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
20090	return nil, false
20091}
20092
20093// AsSalesforceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20094func (cls ConcurLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
20095	return nil, false
20096}
20097
20098// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20099func (cls ConcurLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
20100	return nil, false
20101}
20102
20103// AsMongoDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20104func (cls ConcurLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
20105	return nil, false
20106}
20107
20108// AsCassandraLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20109func (cls ConcurLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
20110	return nil, false
20111}
20112
20113// AsWebLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20114func (cls ConcurLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
20115	return nil, false
20116}
20117
20118// AsODataLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20119func (cls ConcurLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
20120	return nil, false
20121}
20122
20123// AsHdfsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20124func (cls ConcurLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
20125	return nil, false
20126}
20127
20128// AsOdbcLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20129func (cls ConcurLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
20130	return nil, false
20131}
20132
20133// AsAzureMLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20134func (cls ConcurLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
20135	return nil, false
20136}
20137
20138// AsTeradataLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20139func (cls ConcurLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
20140	return nil, false
20141}
20142
20143// AsDb2LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20144func (cls ConcurLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
20145	return nil, false
20146}
20147
20148// AsSybaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20149func (cls ConcurLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
20150	return nil, false
20151}
20152
20153// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20154func (cls ConcurLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
20155	return nil, false
20156}
20157
20158// AsMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20159func (cls ConcurLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
20160	return nil, false
20161}
20162
20163// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20164func (cls ConcurLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
20165	return nil, false
20166}
20167
20168// AsOracleLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20169func (cls ConcurLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
20170	return nil, false
20171}
20172
20173// AsFileServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20174func (cls ConcurLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
20175	return nil, false
20176}
20177
20178// AsHDInsightLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20179func (cls ConcurLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
20180	return nil, false
20181}
20182
20183// AsDynamicsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20184func (cls ConcurLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
20185	return nil, false
20186}
20187
20188// AsCosmosDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20189func (cls ConcurLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
20190	return nil, false
20191}
20192
20193// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20194func (cls ConcurLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
20195	return nil, false
20196}
20197
20198// AsAzureBatchLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20199func (cls ConcurLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
20200	return nil, false
20201}
20202
20203// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20204func (cls ConcurLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
20205	return nil, false
20206}
20207
20208// AsSQLServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20209func (cls ConcurLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
20210	return nil, false
20211}
20212
20213// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20214func (cls ConcurLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
20215	return nil, false
20216}
20217
20218// AsAzureStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20219func (cls ConcurLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
20220	return nil, false
20221}
20222
20223// AsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20224func (cls ConcurLinkedService) AsLinkedService() (*LinkedService, bool) {
20225	return nil, false
20226}
20227
20228// AsBasicLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
20229func (cls ConcurLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
20230	return &cls, true
20231}
20232
20233// UnmarshalJSON is the custom unmarshaler for ConcurLinkedService struct.
20234func (cls *ConcurLinkedService) UnmarshalJSON(body []byte) error {
20235	var m map[string]*json.RawMessage
20236	err := json.Unmarshal(body, &m)
20237	if err != nil {
20238		return err
20239	}
20240	for k, v := range m {
20241		switch k {
20242		case "typeProperties":
20243			if v != nil {
20244				var concurLinkedServiceTypeProperties ConcurLinkedServiceTypeProperties
20245				err = json.Unmarshal(*v, &concurLinkedServiceTypeProperties)
20246				if err != nil {
20247					return err
20248				}
20249				cls.ConcurLinkedServiceTypeProperties = &concurLinkedServiceTypeProperties
20250			}
20251		default:
20252			if v != nil {
20253				var additionalProperties interface{}
20254				err = json.Unmarshal(*v, &additionalProperties)
20255				if err != nil {
20256					return err
20257				}
20258				if cls.AdditionalProperties == nil {
20259					cls.AdditionalProperties = make(map[string]interface{})
20260				}
20261				cls.AdditionalProperties[k] = additionalProperties
20262			}
20263		case "connectVia":
20264			if v != nil {
20265				var connectVia IntegrationRuntimeReference
20266				err = json.Unmarshal(*v, &connectVia)
20267				if err != nil {
20268					return err
20269				}
20270				cls.ConnectVia = &connectVia
20271			}
20272		case "description":
20273			if v != nil {
20274				var description string
20275				err = json.Unmarshal(*v, &description)
20276				if err != nil {
20277					return err
20278				}
20279				cls.Description = &description
20280			}
20281		case "parameters":
20282			if v != nil {
20283				var parameters map[string]*ParameterSpecification
20284				err = json.Unmarshal(*v, &parameters)
20285				if err != nil {
20286					return err
20287				}
20288				cls.Parameters = parameters
20289			}
20290		case "annotations":
20291			if v != nil {
20292				var annotations []interface{}
20293				err = json.Unmarshal(*v, &annotations)
20294				if err != nil {
20295					return err
20296				}
20297				cls.Annotations = &annotations
20298			}
20299		case "type":
20300			if v != nil {
20301				var typeVar TypeBasicLinkedService
20302				err = json.Unmarshal(*v, &typeVar)
20303				if err != nil {
20304					return err
20305				}
20306				cls.Type = typeVar
20307			}
20308		}
20309	}
20310
20311	return nil
20312}
20313
20314// ConcurLinkedServiceTypeProperties concur Service linked service properties.
20315type ConcurLinkedServiceTypeProperties struct {
20316	// ClientID - Application client_id supplied by Concur App Management.
20317	ClientID interface{} `json:"clientId,omitempty"`
20318	// Username - The user name that you use to access Concur Service.
20319	Username interface{} `json:"username,omitempty"`
20320	// Password - The password corresponding to the user name that you provided in the username field.
20321	Password BasicSecretBase `json:"password,omitempty"`
20322	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
20323	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
20324	// 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.
20325	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
20326	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
20327	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
20328	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
20329	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
20330}
20331
20332// UnmarshalJSON is the custom unmarshaler for ConcurLinkedServiceTypeProperties struct.
20333func (clstp *ConcurLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
20334	var m map[string]*json.RawMessage
20335	err := json.Unmarshal(body, &m)
20336	if err != nil {
20337		return err
20338	}
20339	for k, v := range m {
20340		switch k {
20341		case "clientId":
20342			if v != nil {
20343				var clientID interface{}
20344				err = json.Unmarshal(*v, &clientID)
20345				if err != nil {
20346					return err
20347				}
20348				clstp.ClientID = clientID
20349			}
20350		case "username":
20351			if v != nil {
20352				var username interface{}
20353				err = json.Unmarshal(*v, &username)
20354				if err != nil {
20355					return err
20356				}
20357				clstp.Username = username
20358			}
20359		case "password":
20360			if v != nil {
20361				password, err := unmarshalBasicSecretBase(*v)
20362				if err != nil {
20363					return err
20364				}
20365				clstp.Password = password
20366			}
20367		case "useEncryptedEndpoints":
20368			if v != nil {
20369				var useEncryptedEndpoints interface{}
20370				err = json.Unmarshal(*v, &useEncryptedEndpoints)
20371				if err != nil {
20372					return err
20373				}
20374				clstp.UseEncryptedEndpoints = useEncryptedEndpoints
20375			}
20376		case "useHostVerification":
20377			if v != nil {
20378				var useHostVerification interface{}
20379				err = json.Unmarshal(*v, &useHostVerification)
20380				if err != nil {
20381					return err
20382				}
20383				clstp.UseHostVerification = useHostVerification
20384			}
20385		case "usePeerVerification":
20386			if v != nil {
20387				var usePeerVerification interface{}
20388				err = json.Unmarshal(*v, &usePeerVerification)
20389				if err != nil {
20390					return err
20391				}
20392				clstp.UsePeerVerification = usePeerVerification
20393			}
20394		case "encryptedCredential":
20395			if v != nil {
20396				var encryptedCredential interface{}
20397				err = json.Unmarshal(*v, &encryptedCredential)
20398				if err != nil {
20399					return err
20400				}
20401				clstp.EncryptedCredential = encryptedCredential
20402			}
20403		}
20404	}
20405
20406	return nil
20407}
20408
20409// ConcurObjectDataset concur Service dataset.
20410type ConcurObjectDataset struct {
20411	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
20412	AdditionalProperties map[string]interface{} `json:""`
20413	// Description - Dataset description.
20414	Description *string `json:"description,omitempty"`
20415	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
20416	Structure interface{} `json:"structure,omitempty"`
20417	// LinkedServiceName - Linked service reference.
20418	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
20419	// Parameters - Parameters for dataset.
20420	Parameters map[string]*ParameterSpecification `json:"parameters"`
20421	// Annotations - List of tags that can be used for describing the Dataset.
20422	Annotations *[]interface{} `json:"annotations,omitempty"`
20423	// 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'
20424	Type TypeBasicDataset `json:"type,omitempty"`
20425}
20426
20427// MarshalJSON is the custom marshaler for ConcurObjectDataset.
20428func (cod ConcurObjectDataset) MarshalJSON() ([]byte, error) {
20429	cod.Type = TypeConcurObject
20430	objectMap := make(map[string]interface{})
20431	if cod.Description != nil {
20432		objectMap["description"] = cod.Description
20433	}
20434	if cod.Structure != nil {
20435		objectMap["structure"] = cod.Structure
20436	}
20437	if cod.LinkedServiceName != nil {
20438		objectMap["linkedServiceName"] = cod.LinkedServiceName
20439	}
20440	if cod.Parameters != nil {
20441		objectMap["parameters"] = cod.Parameters
20442	}
20443	if cod.Annotations != nil {
20444		objectMap["annotations"] = cod.Annotations
20445	}
20446	if cod.Type != "" {
20447		objectMap["type"] = cod.Type
20448	}
20449	for k, v := range cod.AdditionalProperties {
20450		objectMap[k] = v
20451	}
20452	return json.Marshal(objectMap)
20453}
20454
20455// AsResponsysObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20456func (cod ConcurObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
20457	return nil, false
20458}
20459
20460// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20461func (cod ConcurObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
20462	return nil, false
20463}
20464
20465// AsVerticaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20466func (cod ConcurObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
20467	return nil, false
20468}
20469
20470// AsNetezzaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20471func (cod ConcurObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
20472	return nil, false
20473}
20474
20475// AsZohoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20476func (cod ConcurObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
20477	return nil, false
20478}
20479
20480// AsXeroObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20481func (cod ConcurObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
20482	return nil, false
20483}
20484
20485// AsSquareObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20486func (cod ConcurObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
20487	return nil, false
20488}
20489
20490// AsSparkObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20491func (cod ConcurObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
20492	return nil, false
20493}
20494
20495// AsShopifyObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20496func (cod ConcurObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
20497	return nil, false
20498}
20499
20500// AsServiceNowObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20501func (cod ConcurObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
20502	return nil, false
20503}
20504
20505// AsQuickBooksObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20506func (cod ConcurObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
20507	return nil, false
20508}
20509
20510// AsPrestoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20511func (cod ConcurObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
20512	return nil, false
20513}
20514
20515// AsPhoenixObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20516func (cod ConcurObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
20517	return nil, false
20518}
20519
20520// AsPaypalObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20521func (cod ConcurObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
20522	return nil, false
20523}
20524
20525// AsMarketoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20526func (cod ConcurObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
20527	return nil, false
20528}
20529
20530// AsMariaDBTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20531func (cod ConcurObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
20532	return nil, false
20533}
20534
20535// AsMagentoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20536func (cod ConcurObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
20537	return nil, false
20538}
20539
20540// AsJiraObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20541func (cod ConcurObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
20542	return nil, false
20543}
20544
20545// AsImpalaObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20546func (cod ConcurObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
20547	return nil, false
20548}
20549
20550// AsHubspotObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20551func (cod ConcurObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
20552	return nil, false
20553}
20554
20555// AsHiveObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20556func (cod ConcurObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
20557	return nil, false
20558}
20559
20560// AsHBaseObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20561func (cod ConcurObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
20562	return nil, false
20563}
20564
20565// AsGreenplumTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20566func (cod ConcurObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
20567	return nil, false
20568}
20569
20570// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20571func (cod ConcurObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
20572	return nil, false
20573}
20574
20575// AsEloquaObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20576func (cod ConcurObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
20577	return nil, false
20578}
20579
20580// AsDrillTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20581func (cod ConcurObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
20582	return nil, false
20583}
20584
20585// AsCouchbaseTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20586func (cod ConcurObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
20587	return nil, false
20588}
20589
20590// AsConcurObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20591func (cod ConcurObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
20592	return &cod, true
20593}
20594
20595// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20596func (cod ConcurObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
20597	return nil, false
20598}
20599
20600// AsAmazonMWSObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20601func (cod ConcurObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
20602	return nil, false
20603}
20604
20605// AsHTTPDataset is the BasicDataset implementation for ConcurObjectDataset.
20606func (cod ConcurObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
20607	return nil, false
20608}
20609
20610// AsAzureSearchIndexDataset is the BasicDataset implementation for ConcurObjectDataset.
20611func (cod ConcurObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
20612	return nil, false
20613}
20614
20615// AsWebTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20616func (cod ConcurObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
20617	return nil, false
20618}
20619
20620// AsSQLServerTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20621func (cod ConcurObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
20622	return nil, false
20623}
20624
20625// AsSapEccResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
20626func (cod ConcurObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
20627	return nil, false
20628}
20629
20630// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
20631func (cod ConcurObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
20632	return nil, false
20633}
20634
20635// AsSalesforceObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
20636func (cod ConcurObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
20637	return nil, false
20638}
20639
20640// AsRelationalTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20641func (cod ConcurObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
20642	return nil, false
20643}
20644
20645// AsAzureMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20646func (cod ConcurObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
20647	return nil, false
20648}
20649
20650// AsOracleTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20651func (cod ConcurObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
20652	return nil, false
20653}
20654
20655// AsODataResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
20656func (cod ConcurObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
20657	return nil, false
20658}
20659
20660// AsMongoDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
20661func (cod ConcurObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
20662	return nil, false
20663}
20664
20665// AsFileShareDataset is the BasicDataset implementation for ConcurObjectDataset.
20666func (cod ConcurObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
20667	return nil, false
20668}
20669
20670// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ConcurObjectDataset.
20671func (cod ConcurObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
20672	return nil, false
20673}
20674
20675// AsDynamicsEntityDataset is the BasicDataset implementation for ConcurObjectDataset.
20676func (cod ConcurObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
20677	return nil, false
20678}
20679
20680// AsDocumentDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
20681func (cod ConcurObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
20682	return nil, false
20683}
20684
20685// AsCustomDataset is the BasicDataset implementation for ConcurObjectDataset.
20686func (cod ConcurObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
20687	return nil, false
20688}
20689
20690// AsCassandraTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20691func (cod ConcurObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
20692	return nil, false
20693}
20694
20695// AsAzureSQLDWTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20696func (cod ConcurObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
20697	return nil, false
20698}
20699
20700// AsAzureSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20701func (cod ConcurObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
20702	return nil, false
20703}
20704
20705// AsAzureTableDataset is the BasicDataset implementation for ConcurObjectDataset.
20706func (cod ConcurObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
20707	return nil, false
20708}
20709
20710// AsAzureBlobDataset is the BasicDataset implementation for ConcurObjectDataset.
20711func (cod ConcurObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
20712	return nil, false
20713}
20714
20715// AsAmazonS3Dataset is the BasicDataset implementation for ConcurObjectDataset.
20716func (cod ConcurObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
20717	return nil, false
20718}
20719
20720// AsDataset is the BasicDataset implementation for ConcurObjectDataset.
20721func (cod ConcurObjectDataset) AsDataset() (*Dataset, bool) {
20722	return nil, false
20723}
20724
20725// AsBasicDataset is the BasicDataset implementation for ConcurObjectDataset.
20726func (cod ConcurObjectDataset) AsBasicDataset() (BasicDataset, bool) {
20727	return &cod, true
20728}
20729
20730// UnmarshalJSON is the custom unmarshaler for ConcurObjectDataset struct.
20731func (cod *ConcurObjectDataset) UnmarshalJSON(body []byte) error {
20732	var m map[string]*json.RawMessage
20733	err := json.Unmarshal(body, &m)
20734	if err != nil {
20735		return err
20736	}
20737	for k, v := range m {
20738		switch k {
20739		default:
20740			if v != nil {
20741				var additionalProperties interface{}
20742				err = json.Unmarshal(*v, &additionalProperties)
20743				if err != nil {
20744					return err
20745				}
20746				if cod.AdditionalProperties == nil {
20747					cod.AdditionalProperties = make(map[string]interface{})
20748				}
20749				cod.AdditionalProperties[k] = additionalProperties
20750			}
20751		case "description":
20752			if v != nil {
20753				var description string
20754				err = json.Unmarshal(*v, &description)
20755				if err != nil {
20756					return err
20757				}
20758				cod.Description = &description
20759			}
20760		case "structure":
20761			if v != nil {
20762				var structure interface{}
20763				err = json.Unmarshal(*v, &structure)
20764				if err != nil {
20765					return err
20766				}
20767				cod.Structure = structure
20768			}
20769		case "linkedServiceName":
20770			if v != nil {
20771				var linkedServiceName LinkedServiceReference
20772				err = json.Unmarshal(*v, &linkedServiceName)
20773				if err != nil {
20774					return err
20775				}
20776				cod.LinkedServiceName = &linkedServiceName
20777			}
20778		case "parameters":
20779			if v != nil {
20780				var parameters map[string]*ParameterSpecification
20781				err = json.Unmarshal(*v, &parameters)
20782				if err != nil {
20783					return err
20784				}
20785				cod.Parameters = parameters
20786			}
20787		case "annotations":
20788			if v != nil {
20789				var annotations []interface{}
20790				err = json.Unmarshal(*v, &annotations)
20791				if err != nil {
20792					return err
20793				}
20794				cod.Annotations = &annotations
20795			}
20796		case "type":
20797			if v != nil {
20798				var typeVar TypeBasicDataset
20799				err = json.Unmarshal(*v, &typeVar)
20800				if err != nil {
20801					return err
20802				}
20803				cod.Type = typeVar
20804			}
20805		}
20806	}
20807
20808	return nil
20809}
20810
20811// ConcurSource a copy activity Concur Service source.
20812type ConcurSource struct {
20813	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
20814	Query interface{} `json:"query,omitempty"`
20815	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
20816	AdditionalProperties map[string]interface{} `json:""`
20817	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
20818	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
20819	// 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])).
20820	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
20821	// 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'
20822	Type TypeBasicCopySource `json:"type,omitempty"`
20823}
20824
20825// MarshalJSON is the custom marshaler for ConcurSource.
20826func (cs ConcurSource) MarshalJSON() ([]byte, error) {
20827	cs.Type = TypeConcurSource
20828	objectMap := make(map[string]interface{})
20829	if cs.Query != nil {
20830		objectMap["query"] = cs.Query
20831	}
20832	if cs.SourceRetryCount != nil {
20833		objectMap["sourceRetryCount"] = cs.SourceRetryCount
20834	}
20835	if cs.SourceRetryWait != nil {
20836		objectMap["sourceRetryWait"] = cs.SourceRetryWait
20837	}
20838	if cs.Type != "" {
20839		objectMap["type"] = cs.Type
20840	}
20841	for k, v := range cs.AdditionalProperties {
20842		objectMap[k] = v
20843	}
20844	return json.Marshal(objectMap)
20845}
20846
20847// AsAmazonRedshiftSource is the BasicCopySource implementation for ConcurSource.
20848func (cs ConcurSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
20849	return nil, false
20850}
20851
20852// AsResponsysSource is the BasicCopySource implementation for ConcurSource.
20853func (cs ConcurSource) AsResponsysSource() (*ResponsysSource, bool) {
20854	return nil, false
20855}
20856
20857// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ConcurSource.
20858func (cs ConcurSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
20859	return nil, false
20860}
20861
20862// AsVerticaSource is the BasicCopySource implementation for ConcurSource.
20863func (cs ConcurSource) AsVerticaSource() (*VerticaSource, bool) {
20864	return nil, false
20865}
20866
20867// AsNetezzaSource is the BasicCopySource implementation for ConcurSource.
20868func (cs ConcurSource) AsNetezzaSource() (*NetezzaSource, bool) {
20869	return nil, false
20870}
20871
20872// AsZohoSource is the BasicCopySource implementation for ConcurSource.
20873func (cs ConcurSource) AsZohoSource() (*ZohoSource, bool) {
20874	return nil, false
20875}
20876
20877// AsXeroSource is the BasicCopySource implementation for ConcurSource.
20878func (cs ConcurSource) AsXeroSource() (*XeroSource, bool) {
20879	return nil, false
20880}
20881
20882// AsSquareSource is the BasicCopySource implementation for ConcurSource.
20883func (cs ConcurSource) AsSquareSource() (*SquareSource, bool) {
20884	return nil, false
20885}
20886
20887// AsSparkSource is the BasicCopySource implementation for ConcurSource.
20888func (cs ConcurSource) AsSparkSource() (*SparkSource, bool) {
20889	return nil, false
20890}
20891
20892// AsShopifySource is the BasicCopySource implementation for ConcurSource.
20893func (cs ConcurSource) AsShopifySource() (*ShopifySource, bool) {
20894	return nil, false
20895}
20896
20897// AsServiceNowSource is the BasicCopySource implementation for ConcurSource.
20898func (cs ConcurSource) AsServiceNowSource() (*ServiceNowSource, bool) {
20899	return nil, false
20900}
20901
20902// AsQuickBooksSource is the BasicCopySource implementation for ConcurSource.
20903func (cs ConcurSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
20904	return nil, false
20905}
20906
20907// AsPrestoSource is the BasicCopySource implementation for ConcurSource.
20908func (cs ConcurSource) AsPrestoSource() (*PrestoSource, bool) {
20909	return nil, false
20910}
20911
20912// AsPhoenixSource is the BasicCopySource implementation for ConcurSource.
20913func (cs ConcurSource) AsPhoenixSource() (*PhoenixSource, bool) {
20914	return nil, false
20915}
20916
20917// AsPaypalSource is the BasicCopySource implementation for ConcurSource.
20918func (cs ConcurSource) AsPaypalSource() (*PaypalSource, bool) {
20919	return nil, false
20920}
20921
20922// AsMarketoSource is the BasicCopySource implementation for ConcurSource.
20923func (cs ConcurSource) AsMarketoSource() (*MarketoSource, bool) {
20924	return nil, false
20925}
20926
20927// AsMariaDBSource is the BasicCopySource implementation for ConcurSource.
20928func (cs ConcurSource) AsMariaDBSource() (*MariaDBSource, bool) {
20929	return nil, false
20930}
20931
20932// AsMagentoSource is the BasicCopySource implementation for ConcurSource.
20933func (cs ConcurSource) AsMagentoSource() (*MagentoSource, bool) {
20934	return nil, false
20935}
20936
20937// AsJiraSource is the BasicCopySource implementation for ConcurSource.
20938func (cs ConcurSource) AsJiraSource() (*JiraSource, bool) {
20939	return nil, false
20940}
20941
20942// AsImpalaSource is the BasicCopySource implementation for ConcurSource.
20943func (cs ConcurSource) AsImpalaSource() (*ImpalaSource, bool) {
20944	return nil, false
20945}
20946
20947// AsHubspotSource is the BasicCopySource implementation for ConcurSource.
20948func (cs ConcurSource) AsHubspotSource() (*HubspotSource, bool) {
20949	return nil, false
20950}
20951
20952// AsHiveSource is the BasicCopySource implementation for ConcurSource.
20953func (cs ConcurSource) AsHiveSource() (*HiveSource, bool) {
20954	return nil, false
20955}
20956
20957// AsHBaseSource is the BasicCopySource implementation for ConcurSource.
20958func (cs ConcurSource) AsHBaseSource() (*HBaseSource, bool) {
20959	return nil, false
20960}
20961
20962// AsGreenplumSource is the BasicCopySource implementation for ConcurSource.
20963func (cs ConcurSource) AsGreenplumSource() (*GreenplumSource, bool) {
20964	return nil, false
20965}
20966
20967// AsGoogleBigQuerySource is the BasicCopySource implementation for ConcurSource.
20968func (cs ConcurSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
20969	return nil, false
20970}
20971
20972// AsEloquaSource is the BasicCopySource implementation for ConcurSource.
20973func (cs ConcurSource) AsEloquaSource() (*EloquaSource, bool) {
20974	return nil, false
20975}
20976
20977// AsDrillSource is the BasicCopySource implementation for ConcurSource.
20978func (cs ConcurSource) AsDrillSource() (*DrillSource, bool) {
20979	return nil, false
20980}
20981
20982// AsCouchbaseSource is the BasicCopySource implementation for ConcurSource.
20983func (cs ConcurSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
20984	return nil, false
20985}
20986
20987// AsConcurSource is the BasicCopySource implementation for ConcurSource.
20988func (cs ConcurSource) AsConcurSource() (*ConcurSource, bool) {
20989	return &cs, true
20990}
20991
20992// AsAzurePostgreSQLSource is the BasicCopySource implementation for ConcurSource.
20993func (cs ConcurSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
20994	return nil, false
20995}
20996
20997// AsAmazonMWSSource is the BasicCopySource implementation for ConcurSource.
20998func (cs ConcurSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
20999	return nil, false
21000}
21001
21002// AsHTTPSource is the BasicCopySource implementation for ConcurSource.
21003func (cs ConcurSource) AsHTTPSource() (*HTTPSource, bool) {
21004	return nil, false
21005}
21006
21007// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ConcurSource.
21008func (cs ConcurSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
21009	return nil, false
21010}
21011
21012// AsMongoDbSource is the BasicCopySource implementation for ConcurSource.
21013func (cs ConcurSource) AsMongoDbSource() (*MongoDbSource, bool) {
21014	return nil, false
21015}
21016
21017// AsCassandraSource is the BasicCopySource implementation for ConcurSource.
21018func (cs ConcurSource) AsCassandraSource() (*CassandraSource, bool) {
21019	return nil, false
21020}
21021
21022// AsWebSource is the BasicCopySource implementation for ConcurSource.
21023func (cs ConcurSource) AsWebSource() (*WebSource, bool) {
21024	return nil, false
21025}
21026
21027// AsOracleSource is the BasicCopySource implementation for ConcurSource.
21028func (cs ConcurSource) AsOracleSource() (*OracleSource, bool) {
21029	return nil, false
21030}
21031
21032// AsAzureMySQLSource is the BasicCopySource implementation for ConcurSource.
21033func (cs ConcurSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
21034	return nil, false
21035}
21036
21037// AsHdfsSource is the BasicCopySource implementation for ConcurSource.
21038func (cs ConcurSource) AsHdfsSource() (*HdfsSource, bool) {
21039	return nil, false
21040}
21041
21042// AsFileSystemSource is the BasicCopySource implementation for ConcurSource.
21043func (cs ConcurSource) AsFileSystemSource() (*FileSystemSource, bool) {
21044	return nil, false
21045}
21046
21047// AsSQLDWSource is the BasicCopySource implementation for ConcurSource.
21048func (cs ConcurSource) AsSQLDWSource() (*SQLDWSource, bool) {
21049	return nil, false
21050}
21051
21052// AsSQLSource is the BasicCopySource implementation for ConcurSource.
21053func (cs ConcurSource) AsSQLSource() (*SQLSource, bool) {
21054	return nil, false
21055}
21056
21057// AsSapEccSource is the BasicCopySource implementation for ConcurSource.
21058func (cs ConcurSource) AsSapEccSource() (*SapEccSource, bool) {
21059	return nil, false
21060}
21061
21062// AsSapCloudForCustomerSource is the BasicCopySource implementation for ConcurSource.
21063func (cs ConcurSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
21064	return nil, false
21065}
21066
21067// AsSalesforceSource is the BasicCopySource implementation for ConcurSource.
21068func (cs ConcurSource) AsSalesforceSource() (*SalesforceSource, bool) {
21069	return nil, false
21070}
21071
21072// AsRelationalSource is the BasicCopySource implementation for ConcurSource.
21073func (cs ConcurSource) AsRelationalSource() (*RelationalSource, bool) {
21074	return nil, false
21075}
21076
21077// AsDynamicsSource is the BasicCopySource implementation for ConcurSource.
21078func (cs ConcurSource) AsDynamicsSource() (*DynamicsSource, bool) {
21079	return nil, false
21080}
21081
21082// AsDocumentDbCollectionSource is the BasicCopySource implementation for ConcurSource.
21083func (cs ConcurSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
21084	return nil, false
21085}
21086
21087// AsBlobSource is the BasicCopySource implementation for ConcurSource.
21088func (cs ConcurSource) AsBlobSource() (*BlobSource, bool) {
21089	return nil, false
21090}
21091
21092// AsAzureTableSource is the BasicCopySource implementation for ConcurSource.
21093func (cs ConcurSource) AsAzureTableSource() (*AzureTableSource, bool) {
21094	return nil, false
21095}
21096
21097// AsCopySource is the BasicCopySource implementation for ConcurSource.
21098func (cs ConcurSource) AsCopySource() (*CopySource, bool) {
21099	return nil, false
21100}
21101
21102// AsBasicCopySource is the BasicCopySource implementation for ConcurSource.
21103func (cs ConcurSource) AsBasicCopySource() (BasicCopySource, bool) {
21104	return &cs, true
21105}
21106
21107// UnmarshalJSON is the custom unmarshaler for ConcurSource struct.
21108func (cs *ConcurSource) UnmarshalJSON(body []byte) error {
21109	var m map[string]*json.RawMessage
21110	err := json.Unmarshal(body, &m)
21111	if err != nil {
21112		return err
21113	}
21114	for k, v := range m {
21115		switch k {
21116		case "query":
21117			if v != nil {
21118				var query interface{}
21119				err = json.Unmarshal(*v, &query)
21120				if err != nil {
21121					return err
21122				}
21123				cs.Query = query
21124			}
21125		default:
21126			if v != nil {
21127				var additionalProperties interface{}
21128				err = json.Unmarshal(*v, &additionalProperties)
21129				if err != nil {
21130					return err
21131				}
21132				if cs.AdditionalProperties == nil {
21133					cs.AdditionalProperties = make(map[string]interface{})
21134				}
21135				cs.AdditionalProperties[k] = additionalProperties
21136			}
21137		case "sourceRetryCount":
21138			if v != nil {
21139				var sourceRetryCount interface{}
21140				err = json.Unmarshal(*v, &sourceRetryCount)
21141				if err != nil {
21142					return err
21143				}
21144				cs.SourceRetryCount = sourceRetryCount
21145			}
21146		case "sourceRetryWait":
21147			if v != nil {
21148				var sourceRetryWait interface{}
21149				err = json.Unmarshal(*v, &sourceRetryWait)
21150				if err != nil {
21151					return err
21152				}
21153				cs.SourceRetryWait = sourceRetryWait
21154			}
21155		case "type":
21156			if v != nil {
21157				var typeVar TypeBasicCopySource
21158				err = json.Unmarshal(*v, &typeVar)
21159				if err != nil {
21160					return err
21161				}
21162				cs.Type = typeVar
21163			}
21164		}
21165	}
21166
21167	return nil
21168}
21169
21170// BasicControlActivity base class for all control activities like IfCondition, ForEach , Until.
21171type BasicControlActivity interface {
21172	AsFilterActivity() (*FilterActivity, bool)
21173	AsUntilActivity() (*UntilActivity, bool)
21174	AsWaitActivity() (*WaitActivity, bool)
21175	AsForEachActivity() (*ForEachActivity, bool)
21176	AsIfConditionActivity() (*IfConditionActivity, bool)
21177	AsExecutePipelineActivity() (*ExecutePipelineActivity, bool)
21178	AsControlActivity() (*ControlActivity, bool)
21179}
21180
21181// ControlActivity base class for all control activities like IfCondition, ForEach , Until.
21182type ControlActivity struct {
21183	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
21184	AdditionalProperties map[string]interface{} `json:""`
21185	// Name - Activity name.
21186	Name *string `json:"name,omitempty"`
21187	// Description - Activity description.
21188	Description *string `json:"description,omitempty"`
21189	// DependsOn - Activity depends on condition.
21190	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
21191	// 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'
21192	Type TypeBasicActivity `json:"type,omitempty"`
21193}
21194
21195func unmarshalBasicControlActivity(body []byte) (BasicControlActivity, error) {
21196	var m map[string]interface{}
21197	err := json.Unmarshal(body, &m)
21198	if err != nil {
21199		return nil, err
21200	}
21201
21202	switch m["type"] {
21203	case string(TypeFilter):
21204		var fa FilterActivity
21205		err := json.Unmarshal(body, &fa)
21206		return fa, err
21207	case string(TypeUntil):
21208		var ua UntilActivity
21209		err := json.Unmarshal(body, &ua)
21210		return ua, err
21211	case string(TypeWait):
21212		var wa WaitActivity
21213		err := json.Unmarshal(body, &wa)
21214		return wa, err
21215	case string(TypeForEach):
21216		var fea ForEachActivity
21217		err := json.Unmarshal(body, &fea)
21218		return fea, err
21219	case string(TypeIfCondition):
21220		var ica IfConditionActivity
21221		err := json.Unmarshal(body, &ica)
21222		return ica, err
21223	case string(TypeExecutePipeline):
21224		var epa ExecutePipelineActivity
21225		err := json.Unmarshal(body, &epa)
21226		return epa, err
21227	default:
21228		var ca ControlActivity
21229		err := json.Unmarshal(body, &ca)
21230		return ca, err
21231	}
21232}
21233func unmarshalBasicControlActivityArray(body []byte) ([]BasicControlActivity, error) {
21234	var rawMessages []*json.RawMessage
21235	err := json.Unmarshal(body, &rawMessages)
21236	if err != nil {
21237		return nil, err
21238	}
21239
21240	caArray := make([]BasicControlActivity, len(rawMessages))
21241
21242	for index, rawMessage := range rawMessages {
21243		ca, err := unmarshalBasicControlActivity(*rawMessage)
21244		if err != nil {
21245			return nil, err
21246		}
21247		caArray[index] = ca
21248	}
21249	return caArray, nil
21250}
21251
21252// MarshalJSON is the custom marshaler for ControlActivity.
21253func (ca ControlActivity) MarshalJSON() ([]byte, error) {
21254	ca.Type = TypeContainer
21255	objectMap := make(map[string]interface{})
21256	if ca.Name != nil {
21257		objectMap["name"] = ca.Name
21258	}
21259	if ca.Description != nil {
21260		objectMap["description"] = ca.Description
21261	}
21262	if ca.DependsOn != nil {
21263		objectMap["dependsOn"] = ca.DependsOn
21264	}
21265	if ca.Type != "" {
21266		objectMap["type"] = ca.Type
21267	}
21268	for k, v := range ca.AdditionalProperties {
21269		objectMap[k] = v
21270	}
21271	return json.Marshal(objectMap)
21272}
21273
21274// AsDatabricksNotebookActivity is the BasicActivity implementation for ControlActivity.
21275func (ca ControlActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
21276	return nil, false
21277}
21278
21279// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ControlActivity.
21280func (ca ControlActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
21281	return nil, false
21282}
21283
21284// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ControlActivity.
21285func (ca ControlActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
21286	return nil, false
21287}
21288
21289// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ControlActivity.
21290func (ca ControlActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
21291	return nil, false
21292}
21293
21294// AsGetMetadataActivity is the BasicActivity implementation for ControlActivity.
21295func (ca ControlActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
21296	return nil, false
21297}
21298
21299// AsWebActivity is the BasicActivity implementation for ControlActivity.
21300func (ca ControlActivity) AsWebActivity() (*WebActivity, bool) {
21301	return nil, false
21302}
21303
21304// AsLookupActivity is the BasicActivity implementation for ControlActivity.
21305func (ca ControlActivity) AsLookupActivity() (*LookupActivity, bool) {
21306	return nil, false
21307}
21308
21309// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ControlActivity.
21310func (ca ControlActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
21311	return nil, false
21312}
21313
21314// AsCustomActivity is the BasicActivity implementation for ControlActivity.
21315func (ca ControlActivity) AsCustomActivity() (*CustomActivity, bool) {
21316	return nil, false
21317}
21318
21319// AsExecuteSSISPackageActivity is the BasicActivity implementation for ControlActivity.
21320func (ca ControlActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
21321	return nil, false
21322}
21323
21324// AsHDInsightSparkActivity is the BasicActivity implementation for ControlActivity.
21325func (ca ControlActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
21326	return nil, false
21327}
21328
21329// AsHDInsightStreamingActivity is the BasicActivity implementation for ControlActivity.
21330func (ca ControlActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
21331	return nil, false
21332}
21333
21334// AsHDInsightMapReduceActivity is the BasicActivity implementation for ControlActivity.
21335func (ca ControlActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
21336	return nil, false
21337}
21338
21339// AsHDInsightPigActivity is the BasicActivity implementation for ControlActivity.
21340func (ca ControlActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
21341	return nil, false
21342}
21343
21344// AsHDInsightHiveActivity is the BasicActivity implementation for ControlActivity.
21345func (ca ControlActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
21346	return nil, false
21347}
21348
21349// AsCopyActivity is the BasicActivity implementation for ControlActivity.
21350func (ca ControlActivity) AsCopyActivity() (*CopyActivity, bool) {
21351	return nil, false
21352}
21353
21354// AsExecutionActivity is the BasicActivity implementation for ControlActivity.
21355func (ca ControlActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
21356	return nil, false
21357}
21358
21359// AsBasicExecutionActivity is the BasicActivity implementation for ControlActivity.
21360func (ca ControlActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
21361	return nil, false
21362}
21363
21364// AsFilterActivity is the BasicActivity implementation for ControlActivity.
21365func (ca ControlActivity) AsFilterActivity() (*FilterActivity, bool) {
21366	return nil, false
21367}
21368
21369// AsUntilActivity is the BasicActivity implementation for ControlActivity.
21370func (ca ControlActivity) AsUntilActivity() (*UntilActivity, bool) {
21371	return nil, false
21372}
21373
21374// AsWaitActivity is the BasicActivity implementation for ControlActivity.
21375func (ca ControlActivity) AsWaitActivity() (*WaitActivity, bool) {
21376	return nil, false
21377}
21378
21379// AsForEachActivity is the BasicActivity implementation for ControlActivity.
21380func (ca ControlActivity) AsForEachActivity() (*ForEachActivity, bool) {
21381	return nil, false
21382}
21383
21384// AsIfConditionActivity is the BasicActivity implementation for ControlActivity.
21385func (ca ControlActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
21386	return nil, false
21387}
21388
21389// AsExecutePipelineActivity is the BasicActivity implementation for ControlActivity.
21390func (ca ControlActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
21391	return nil, false
21392}
21393
21394// AsControlActivity is the BasicActivity implementation for ControlActivity.
21395func (ca ControlActivity) AsControlActivity() (*ControlActivity, bool) {
21396	return &ca, true
21397}
21398
21399// AsBasicControlActivity is the BasicActivity implementation for ControlActivity.
21400func (ca ControlActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
21401	return &ca, true
21402}
21403
21404// AsActivity is the BasicActivity implementation for ControlActivity.
21405func (ca ControlActivity) AsActivity() (*Activity, bool) {
21406	return nil, false
21407}
21408
21409// AsBasicActivity is the BasicActivity implementation for ControlActivity.
21410func (ca ControlActivity) AsBasicActivity() (BasicActivity, bool) {
21411	return &ca, true
21412}
21413
21414// UnmarshalJSON is the custom unmarshaler for ControlActivity struct.
21415func (ca *ControlActivity) UnmarshalJSON(body []byte) error {
21416	var m map[string]*json.RawMessage
21417	err := json.Unmarshal(body, &m)
21418	if err != nil {
21419		return err
21420	}
21421	for k, v := range m {
21422		switch k {
21423		default:
21424			if v != nil {
21425				var additionalProperties interface{}
21426				err = json.Unmarshal(*v, &additionalProperties)
21427				if err != nil {
21428					return err
21429				}
21430				if ca.AdditionalProperties == nil {
21431					ca.AdditionalProperties = make(map[string]interface{})
21432				}
21433				ca.AdditionalProperties[k] = additionalProperties
21434			}
21435		case "name":
21436			if v != nil {
21437				var name string
21438				err = json.Unmarshal(*v, &name)
21439				if err != nil {
21440					return err
21441				}
21442				ca.Name = &name
21443			}
21444		case "description":
21445			if v != nil {
21446				var description string
21447				err = json.Unmarshal(*v, &description)
21448				if err != nil {
21449					return err
21450				}
21451				ca.Description = &description
21452			}
21453		case "dependsOn":
21454			if v != nil {
21455				var dependsOn []ActivityDependency
21456				err = json.Unmarshal(*v, &dependsOn)
21457				if err != nil {
21458					return err
21459				}
21460				ca.DependsOn = &dependsOn
21461			}
21462		case "type":
21463			if v != nil {
21464				var typeVar TypeBasicActivity
21465				err = json.Unmarshal(*v, &typeVar)
21466				if err != nil {
21467					return err
21468				}
21469				ca.Type = typeVar
21470			}
21471		}
21472	}
21473
21474	return nil
21475}
21476
21477// CopyActivity copy activity.
21478type CopyActivity struct {
21479	// CopyActivityTypeProperties - Copy activity properties.
21480	*CopyActivityTypeProperties `json:"typeProperties,omitempty"`
21481	// Inputs - List of inputs for the activity.
21482	Inputs *[]DatasetReference `json:"inputs,omitempty"`
21483	// Outputs - List of outputs for the activity.
21484	Outputs *[]DatasetReference `json:"outputs,omitempty"`
21485	// LinkedServiceName - Linked service reference.
21486	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
21487	// Policy - Activity policy.
21488	Policy *ActivityPolicy `json:"policy,omitempty"`
21489	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
21490	AdditionalProperties map[string]interface{} `json:""`
21491	// Name - Activity name.
21492	Name *string `json:"name,omitempty"`
21493	// Description - Activity description.
21494	Description *string `json:"description,omitempty"`
21495	// DependsOn - Activity depends on condition.
21496	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
21497	// 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'
21498	Type TypeBasicActivity `json:"type,omitempty"`
21499}
21500
21501// MarshalJSON is the custom marshaler for CopyActivity.
21502func (ca CopyActivity) MarshalJSON() ([]byte, error) {
21503	ca.Type = TypeCopy
21504	objectMap := make(map[string]interface{})
21505	if ca.CopyActivityTypeProperties != nil {
21506		objectMap["typeProperties"] = ca.CopyActivityTypeProperties
21507	}
21508	if ca.Inputs != nil {
21509		objectMap["inputs"] = ca.Inputs
21510	}
21511	if ca.Outputs != nil {
21512		objectMap["outputs"] = ca.Outputs
21513	}
21514	if ca.LinkedServiceName != nil {
21515		objectMap["linkedServiceName"] = ca.LinkedServiceName
21516	}
21517	if ca.Policy != nil {
21518		objectMap["policy"] = ca.Policy
21519	}
21520	if ca.Name != nil {
21521		objectMap["name"] = ca.Name
21522	}
21523	if ca.Description != nil {
21524		objectMap["description"] = ca.Description
21525	}
21526	if ca.DependsOn != nil {
21527		objectMap["dependsOn"] = ca.DependsOn
21528	}
21529	if ca.Type != "" {
21530		objectMap["type"] = ca.Type
21531	}
21532	for k, v := range ca.AdditionalProperties {
21533		objectMap[k] = v
21534	}
21535	return json.Marshal(objectMap)
21536}
21537
21538// AsDatabricksNotebookActivity is the BasicActivity implementation for CopyActivity.
21539func (ca CopyActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
21540	return nil, false
21541}
21542
21543// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CopyActivity.
21544func (ca CopyActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
21545	return nil, false
21546}
21547
21548// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CopyActivity.
21549func (ca CopyActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
21550	return nil, false
21551}
21552
21553// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CopyActivity.
21554func (ca CopyActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
21555	return nil, false
21556}
21557
21558// AsGetMetadataActivity is the BasicActivity implementation for CopyActivity.
21559func (ca CopyActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
21560	return nil, false
21561}
21562
21563// AsWebActivity is the BasicActivity implementation for CopyActivity.
21564func (ca CopyActivity) AsWebActivity() (*WebActivity, bool) {
21565	return nil, false
21566}
21567
21568// AsLookupActivity is the BasicActivity implementation for CopyActivity.
21569func (ca CopyActivity) AsLookupActivity() (*LookupActivity, bool) {
21570	return nil, false
21571}
21572
21573// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CopyActivity.
21574func (ca CopyActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
21575	return nil, false
21576}
21577
21578// AsCustomActivity is the BasicActivity implementation for CopyActivity.
21579func (ca CopyActivity) AsCustomActivity() (*CustomActivity, bool) {
21580	return nil, false
21581}
21582
21583// AsExecuteSSISPackageActivity is the BasicActivity implementation for CopyActivity.
21584func (ca CopyActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
21585	return nil, false
21586}
21587
21588// AsHDInsightSparkActivity is the BasicActivity implementation for CopyActivity.
21589func (ca CopyActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
21590	return nil, false
21591}
21592
21593// AsHDInsightStreamingActivity is the BasicActivity implementation for CopyActivity.
21594func (ca CopyActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
21595	return nil, false
21596}
21597
21598// AsHDInsightMapReduceActivity is the BasicActivity implementation for CopyActivity.
21599func (ca CopyActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
21600	return nil, false
21601}
21602
21603// AsHDInsightPigActivity is the BasicActivity implementation for CopyActivity.
21604func (ca CopyActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
21605	return nil, false
21606}
21607
21608// AsHDInsightHiveActivity is the BasicActivity implementation for CopyActivity.
21609func (ca CopyActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
21610	return nil, false
21611}
21612
21613// AsCopyActivity is the BasicActivity implementation for CopyActivity.
21614func (ca CopyActivity) AsCopyActivity() (*CopyActivity, bool) {
21615	return &ca, true
21616}
21617
21618// AsExecutionActivity is the BasicActivity implementation for CopyActivity.
21619func (ca CopyActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
21620	return nil, false
21621}
21622
21623// AsBasicExecutionActivity is the BasicActivity implementation for CopyActivity.
21624func (ca CopyActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
21625	return &ca, true
21626}
21627
21628// AsFilterActivity is the BasicActivity implementation for CopyActivity.
21629func (ca CopyActivity) AsFilterActivity() (*FilterActivity, bool) {
21630	return nil, false
21631}
21632
21633// AsUntilActivity is the BasicActivity implementation for CopyActivity.
21634func (ca CopyActivity) AsUntilActivity() (*UntilActivity, bool) {
21635	return nil, false
21636}
21637
21638// AsWaitActivity is the BasicActivity implementation for CopyActivity.
21639func (ca CopyActivity) AsWaitActivity() (*WaitActivity, bool) {
21640	return nil, false
21641}
21642
21643// AsForEachActivity is the BasicActivity implementation for CopyActivity.
21644func (ca CopyActivity) AsForEachActivity() (*ForEachActivity, bool) {
21645	return nil, false
21646}
21647
21648// AsIfConditionActivity is the BasicActivity implementation for CopyActivity.
21649func (ca CopyActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
21650	return nil, false
21651}
21652
21653// AsExecutePipelineActivity is the BasicActivity implementation for CopyActivity.
21654func (ca CopyActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
21655	return nil, false
21656}
21657
21658// AsControlActivity is the BasicActivity implementation for CopyActivity.
21659func (ca CopyActivity) AsControlActivity() (*ControlActivity, bool) {
21660	return nil, false
21661}
21662
21663// AsBasicControlActivity is the BasicActivity implementation for CopyActivity.
21664func (ca CopyActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
21665	return nil, false
21666}
21667
21668// AsActivity is the BasicActivity implementation for CopyActivity.
21669func (ca CopyActivity) AsActivity() (*Activity, bool) {
21670	return nil, false
21671}
21672
21673// AsBasicActivity is the BasicActivity implementation for CopyActivity.
21674func (ca CopyActivity) AsBasicActivity() (BasicActivity, bool) {
21675	return &ca, true
21676}
21677
21678// UnmarshalJSON is the custom unmarshaler for CopyActivity struct.
21679func (ca *CopyActivity) UnmarshalJSON(body []byte) error {
21680	var m map[string]*json.RawMessage
21681	err := json.Unmarshal(body, &m)
21682	if err != nil {
21683		return err
21684	}
21685	for k, v := range m {
21686		switch k {
21687		case "typeProperties":
21688			if v != nil {
21689				var copyActivityTypeProperties CopyActivityTypeProperties
21690				err = json.Unmarshal(*v, &copyActivityTypeProperties)
21691				if err != nil {
21692					return err
21693				}
21694				ca.CopyActivityTypeProperties = &copyActivityTypeProperties
21695			}
21696		case "inputs":
21697			if v != nil {
21698				var inputs []DatasetReference
21699				err = json.Unmarshal(*v, &inputs)
21700				if err != nil {
21701					return err
21702				}
21703				ca.Inputs = &inputs
21704			}
21705		case "outputs":
21706			if v != nil {
21707				var outputs []DatasetReference
21708				err = json.Unmarshal(*v, &outputs)
21709				if err != nil {
21710					return err
21711				}
21712				ca.Outputs = &outputs
21713			}
21714		case "linkedServiceName":
21715			if v != nil {
21716				var linkedServiceName LinkedServiceReference
21717				err = json.Unmarshal(*v, &linkedServiceName)
21718				if err != nil {
21719					return err
21720				}
21721				ca.LinkedServiceName = &linkedServiceName
21722			}
21723		case "policy":
21724			if v != nil {
21725				var policy ActivityPolicy
21726				err = json.Unmarshal(*v, &policy)
21727				if err != nil {
21728					return err
21729				}
21730				ca.Policy = &policy
21731			}
21732		default:
21733			if v != nil {
21734				var additionalProperties interface{}
21735				err = json.Unmarshal(*v, &additionalProperties)
21736				if err != nil {
21737					return err
21738				}
21739				if ca.AdditionalProperties == nil {
21740					ca.AdditionalProperties = make(map[string]interface{})
21741				}
21742				ca.AdditionalProperties[k] = additionalProperties
21743			}
21744		case "name":
21745			if v != nil {
21746				var name string
21747				err = json.Unmarshal(*v, &name)
21748				if err != nil {
21749					return err
21750				}
21751				ca.Name = &name
21752			}
21753		case "description":
21754			if v != nil {
21755				var description string
21756				err = json.Unmarshal(*v, &description)
21757				if err != nil {
21758					return err
21759				}
21760				ca.Description = &description
21761			}
21762		case "dependsOn":
21763			if v != nil {
21764				var dependsOn []ActivityDependency
21765				err = json.Unmarshal(*v, &dependsOn)
21766				if err != nil {
21767					return err
21768				}
21769				ca.DependsOn = &dependsOn
21770			}
21771		case "type":
21772			if v != nil {
21773				var typeVar TypeBasicActivity
21774				err = json.Unmarshal(*v, &typeVar)
21775				if err != nil {
21776					return err
21777				}
21778				ca.Type = typeVar
21779			}
21780		}
21781	}
21782
21783	return nil
21784}
21785
21786// CopyActivityTypeProperties copy activity properties.
21787type CopyActivityTypeProperties struct {
21788	// Source - Copy activity source.
21789	Source BasicCopySource `json:"source,omitempty"`
21790	// Sink - Copy activity sink.
21791	Sink BasicCopySink `json:"sink,omitempty"`
21792	// Translator - Copy activity translator. If not specified, tabular translator is used.
21793	Translator interface{} `json:"translator,omitempty"`
21794	// EnableStaging - Specifies whether to copy data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
21795	EnableStaging interface{} `json:"enableStaging,omitempty"`
21796	// StagingSettings - Specifies interim staging settings when EnableStaging is true.
21797	StagingSettings *StagingSettings `json:"stagingSettings,omitempty"`
21798	// 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.
21799	ParallelCopies interface{} `json:"parallelCopies,omitempty"`
21800	// 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.
21801	CloudDataMovementUnits interface{} `json:"cloudDataMovementUnits,omitempty"`
21802	// EnableSkipIncompatibleRow - Whether to skip incompatible row. Default value is false. Type: boolean (or Expression with resultType boolean).
21803	EnableSkipIncompatibleRow interface{} `json:"enableSkipIncompatibleRow,omitempty"`
21804	// RedirectIncompatibleRowSettings - Redirect incompatible row settings when EnableSkipIncompatibleRow is true.
21805	RedirectIncompatibleRowSettings *RedirectIncompatibleRowSettings `json:"redirectIncompatibleRowSettings,omitempty"`
21806}
21807
21808// UnmarshalJSON is the custom unmarshaler for CopyActivityTypeProperties struct.
21809func (catp *CopyActivityTypeProperties) UnmarshalJSON(body []byte) error {
21810	var m map[string]*json.RawMessage
21811	err := json.Unmarshal(body, &m)
21812	if err != nil {
21813		return err
21814	}
21815	for k, v := range m {
21816		switch k {
21817		case "source":
21818			if v != nil {
21819				source, err := unmarshalBasicCopySource(*v)
21820				if err != nil {
21821					return err
21822				}
21823				catp.Source = source
21824			}
21825		case "sink":
21826			if v != nil {
21827				sink, err := unmarshalBasicCopySink(*v)
21828				if err != nil {
21829					return err
21830				}
21831				catp.Sink = sink
21832			}
21833		case "translator":
21834			if v != nil {
21835				var translator interface{}
21836				err = json.Unmarshal(*v, &translator)
21837				if err != nil {
21838					return err
21839				}
21840				catp.Translator = translator
21841			}
21842		case "enableStaging":
21843			if v != nil {
21844				var enableStaging interface{}
21845				err = json.Unmarshal(*v, &enableStaging)
21846				if err != nil {
21847					return err
21848				}
21849				catp.EnableStaging = enableStaging
21850			}
21851		case "stagingSettings":
21852			if v != nil {
21853				var stagingSettings StagingSettings
21854				err = json.Unmarshal(*v, &stagingSettings)
21855				if err != nil {
21856					return err
21857				}
21858				catp.StagingSettings = &stagingSettings
21859			}
21860		case "parallelCopies":
21861			if v != nil {
21862				var parallelCopies interface{}
21863				err = json.Unmarshal(*v, &parallelCopies)
21864				if err != nil {
21865					return err
21866				}
21867				catp.ParallelCopies = parallelCopies
21868			}
21869		case "cloudDataMovementUnits":
21870			if v != nil {
21871				var cloudDataMovementUnits interface{}
21872				err = json.Unmarshal(*v, &cloudDataMovementUnits)
21873				if err != nil {
21874					return err
21875				}
21876				catp.CloudDataMovementUnits = cloudDataMovementUnits
21877			}
21878		case "enableSkipIncompatibleRow":
21879			if v != nil {
21880				var enableSkipIncompatibleRow interface{}
21881				err = json.Unmarshal(*v, &enableSkipIncompatibleRow)
21882				if err != nil {
21883					return err
21884				}
21885				catp.EnableSkipIncompatibleRow = enableSkipIncompatibleRow
21886			}
21887		case "redirectIncompatibleRowSettings":
21888			if v != nil {
21889				var redirectIncompatibleRowSettings RedirectIncompatibleRowSettings
21890				err = json.Unmarshal(*v, &redirectIncompatibleRowSettings)
21891				if err != nil {
21892					return err
21893				}
21894				catp.RedirectIncompatibleRowSettings = &redirectIncompatibleRowSettings
21895			}
21896		}
21897	}
21898
21899	return nil
21900}
21901
21902// BasicCopySink a copy activity sink.
21903type BasicCopySink interface {
21904	AsSalesforceSink() (*SalesforceSink, bool)
21905	AsDynamicsSink() (*DynamicsSink, bool)
21906	AsOdbcSink() (*OdbcSink, bool)
21907	AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool)
21908	AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool)
21909	AsOracleSink() (*OracleSink, bool)
21910	AsSQLDWSink() (*SQLDWSink, bool)
21911	AsSQLSink() (*SQLSink, bool)
21912	AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool)
21913	AsFileSystemSink() (*FileSystemSink, bool)
21914	AsBlobSink() (*BlobSink, bool)
21915	AsAzureTableSink() (*AzureTableSink, bool)
21916	AsAzureQueueSink() (*AzureQueueSink, bool)
21917	AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool)
21918	AsCopySink() (*CopySink, bool)
21919}
21920
21921// CopySink a copy activity sink.
21922type CopySink struct {
21923	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
21924	AdditionalProperties map[string]interface{} `json:""`
21925	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
21926	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
21927	// 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])).
21928	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
21929	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
21930	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
21931	// 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])).
21932	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
21933	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
21934	Type TypeBasicCopySink `json:"type,omitempty"`
21935}
21936
21937func unmarshalBasicCopySink(body []byte) (BasicCopySink, error) {
21938	var m map[string]interface{}
21939	err := json.Unmarshal(body, &m)
21940	if err != nil {
21941		return nil, err
21942	}
21943
21944	switch m["type"] {
21945	case string(TypeSalesforceSink):
21946		var ss SalesforceSink
21947		err := json.Unmarshal(body, &ss)
21948		return ss, err
21949	case string(TypeDynamicsSink):
21950		var ds DynamicsSink
21951		err := json.Unmarshal(body, &ds)
21952		return ds, err
21953	case string(TypeOdbcSink):
21954		var osVar OdbcSink
21955		err := json.Unmarshal(body, &osVar)
21956		return osVar, err
21957	case string(TypeAzureSearchIndexSink):
21958		var asis AzureSearchIndexSink
21959		err := json.Unmarshal(body, &asis)
21960		return asis, err
21961	case string(TypeAzureDataLakeStoreSink):
21962		var adlss AzureDataLakeStoreSink
21963		err := json.Unmarshal(body, &adlss)
21964		return adlss, err
21965	case string(TypeOracleSink):
21966		var osVar OracleSink
21967		err := json.Unmarshal(body, &osVar)
21968		return osVar, err
21969	case string(TypeSQLDWSink):
21970		var sds SQLDWSink
21971		err := json.Unmarshal(body, &sds)
21972		return sds, err
21973	case string(TypeSQLSink):
21974		var ss SQLSink
21975		err := json.Unmarshal(body, &ss)
21976		return ss, err
21977	case string(TypeDocumentDbCollectionSink):
21978		var ddcs DocumentDbCollectionSink
21979		err := json.Unmarshal(body, &ddcs)
21980		return ddcs, err
21981	case string(TypeFileSystemSink):
21982		var fss FileSystemSink
21983		err := json.Unmarshal(body, &fss)
21984		return fss, err
21985	case string(TypeBlobSink):
21986		var bs BlobSink
21987		err := json.Unmarshal(body, &bs)
21988		return bs, err
21989	case string(TypeAzureTableSink):
21990		var ats AzureTableSink
21991		err := json.Unmarshal(body, &ats)
21992		return ats, err
21993	case string(TypeAzureQueueSink):
21994		var aqs AzureQueueSink
21995		err := json.Unmarshal(body, &aqs)
21996		return aqs, err
21997	case string(TypeSapCloudForCustomerSink):
21998		var scfcs SapCloudForCustomerSink
21999		err := json.Unmarshal(body, &scfcs)
22000		return scfcs, err
22001	default:
22002		var cs CopySink
22003		err := json.Unmarshal(body, &cs)
22004		return cs, err
22005	}
22006}
22007func unmarshalBasicCopySinkArray(body []byte) ([]BasicCopySink, error) {
22008	var rawMessages []*json.RawMessage
22009	err := json.Unmarshal(body, &rawMessages)
22010	if err != nil {
22011		return nil, err
22012	}
22013
22014	csArray := make([]BasicCopySink, len(rawMessages))
22015
22016	for index, rawMessage := range rawMessages {
22017		cs, err := unmarshalBasicCopySink(*rawMessage)
22018		if err != nil {
22019			return nil, err
22020		}
22021		csArray[index] = cs
22022	}
22023	return csArray, nil
22024}
22025
22026// MarshalJSON is the custom marshaler for CopySink.
22027func (cs CopySink) MarshalJSON() ([]byte, error) {
22028	cs.Type = TypeCopySink
22029	objectMap := make(map[string]interface{})
22030	if cs.WriteBatchSize != nil {
22031		objectMap["writeBatchSize"] = cs.WriteBatchSize
22032	}
22033	if cs.WriteBatchTimeout != nil {
22034		objectMap["writeBatchTimeout"] = cs.WriteBatchTimeout
22035	}
22036	if cs.SinkRetryCount != nil {
22037		objectMap["sinkRetryCount"] = cs.SinkRetryCount
22038	}
22039	if cs.SinkRetryWait != nil {
22040		objectMap["sinkRetryWait"] = cs.SinkRetryWait
22041	}
22042	if cs.Type != "" {
22043		objectMap["type"] = cs.Type
22044	}
22045	for k, v := range cs.AdditionalProperties {
22046		objectMap[k] = v
22047	}
22048	return json.Marshal(objectMap)
22049}
22050
22051// AsSalesforceSink is the BasicCopySink implementation for CopySink.
22052func (cs CopySink) AsSalesforceSink() (*SalesforceSink, bool) {
22053	return nil, false
22054}
22055
22056// AsDynamicsSink is the BasicCopySink implementation for CopySink.
22057func (cs CopySink) AsDynamicsSink() (*DynamicsSink, bool) {
22058	return nil, false
22059}
22060
22061// AsOdbcSink is the BasicCopySink implementation for CopySink.
22062func (cs CopySink) AsOdbcSink() (*OdbcSink, bool) {
22063	return nil, false
22064}
22065
22066// AsAzureSearchIndexSink is the BasicCopySink implementation for CopySink.
22067func (cs CopySink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
22068	return nil, false
22069}
22070
22071// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CopySink.
22072func (cs CopySink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
22073	return nil, false
22074}
22075
22076// AsOracleSink is the BasicCopySink implementation for CopySink.
22077func (cs CopySink) AsOracleSink() (*OracleSink, bool) {
22078	return nil, false
22079}
22080
22081// AsSQLDWSink is the BasicCopySink implementation for CopySink.
22082func (cs CopySink) AsSQLDWSink() (*SQLDWSink, bool) {
22083	return nil, false
22084}
22085
22086// AsSQLSink is the BasicCopySink implementation for CopySink.
22087func (cs CopySink) AsSQLSink() (*SQLSink, bool) {
22088	return nil, false
22089}
22090
22091// AsDocumentDbCollectionSink is the BasicCopySink implementation for CopySink.
22092func (cs CopySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
22093	return nil, false
22094}
22095
22096// AsFileSystemSink is the BasicCopySink implementation for CopySink.
22097func (cs CopySink) AsFileSystemSink() (*FileSystemSink, bool) {
22098	return nil, false
22099}
22100
22101// AsBlobSink is the BasicCopySink implementation for CopySink.
22102func (cs CopySink) AsBlobSink() (*BlobSink, bool) {
22103	return nil, false
22104}
22105
22106// AsAzureTableSink is the BasicCopySink implementation for CopySink.
22107func (cs CopySink) AsAzureTableSink() (*AzureTableSink, bool) {
22108	return nil, false
22109}
22110
22111// AsAzureQueueSink is the BasicCopySink implementation for CopySink.
22112func (cs CopySink) AsAzureQueueSink() (*AzureQueueSink, bool) {
22113	return nil, false
22114}
22115
22116// AsSapCloudForCustomerSink is the BasicCopySink implementation for CopySink.
22117func (cs CopySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
22118	return nil, false
22119}
22120
22121// AsCopySink is the BasicCopySink implementation for CopySink.
22122func (cs CopySink) AsCopySink() (*CopySink, bool) {
22123	return &cs, true
22124}
22125
22126// AsBasicCopySink is the BasicCopySink implementation for CopySink.
22127func (cs CopySink) AsBasicCopySink() (BasicCopySink, bool) {
22128	return &cs, true
22129}
22130
22131// UnmarshalJSON is the custom unmarshaler for CopySink struct.
22132func (cs *CopySink) UnmarshalJSON(body []byte) error {
22133	var m map[string]*json.RawMessage
22134	err := json.Unmarshal(body, &m)
22135	if err != nil {
22136		return err
22137	}
22138	for k, v := range m {
22139		switch k {
22140		default:
22141			if v != nil {
22142				var additionalProperties interface{}
22143				err = json.Unmarshal(*v, &additionalProperties)
22144				if err != nil {
22145					return err
22146				}
22147				if cs.AdditionalProperties == nil {
22148					cs.AdditionalProperties = make(map[string]interface{})
22149				}
22150				cs.AdditionalProperties[k] = additionalProperties
22151			}
22152		case "writeBatchSize":
22153			if v != nil {
22154				var writeBatchSize interface{}
22155				err = json.Unmarshal(*v, &writeBatchSize)
22156				if err != nil {
22157					return err
22158				}
22159				cs.WriteBatchSize = writeBatchSize
22160			}
22161		case "writeBatchTimeout":
22162			if v != nil {
22163				var writeBatchTimeout interface{}
22164				err = json.Unmarshal(*v, &writeBatchTimeout)
22165				if err != nil {
22166					return err
22167				}
22168				cs.WriteBatchTimeout = writeBatchTimeout
22169			}
22170		case "sinkRetryCount":
22171			if v != nil {
22172				var sinkRetryCount interface{}
22173				err = json.Unmarshal(*v, &sinkRetryCount)
22174				if err != nil {
22175					return err
22176				}
22177				cs.SinkRetryCount = sinkRetryCount
22178			}
22179		case "sinkRetryWait":
22180			if v != nil {
22181				var sinkRetryWait interface{}
22182				err = json.Unmarshal(*v, &sinkRetryWait)
22183				if err != nil {
22184					return err
22185				}
22186				cs.SinkRetryWait = sinkRetryWait
22187			}
22188		case "type":
22189			if v != nil {
22190				var typeVar TypeBasicCopySink
22191				err = json.Unmarshal(*v, &typeVar)
22192				if err != nil {
22193					return err
22194				}
22195				cs.Type = typeVar
22196			}
22197		}
22198	}
22199
22200	return nil
22201}
22202
22203// BasicCopySource a copy activity source.
22204type BasicCopySource interface {
22205	AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool)
22206	AsResponsysSource() (*ResponsysSource, bool)
22207	AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool)
22208	AsVerticaSource() (*VerticaSource, bool)
22209	AsNetezzaSource() (*NetezzaSource, bool)
22210	AsZohoSource() (*ZohoSource, bool)
22211	AsXeroSource() (*XeroSource, bool)
22212	AsSquareSource() (*SquareSource, bool)
22213	AsSparkSource() (*SparkSource, bool)
22214	AsShopifySource() (*ShopifySource, bool)
22215	AsServiceNowSource() (*ServiceNowSource, bool)
22216	AsQuickBooksSource() (*QuickBooksSource, bool)
22217	AsPrestoSource() (*PrestoSource, bool)
22218	AsPhoenixSource() (*PhoenixSource, bool)
22219	AsPaypalSource() (*PaypalSource, bool)
22220	AsMarketoSource() (*MarketoSource, bool)
22221	AsMariaDBSource() (*MariaDBSource, bool)
22222	AsMagentoSource() (*MagentoSource, bool)
22223	AsJiraSource() (*JiraSource, bool)
22224	AsImpalaSource() (*ImpalaSource, bool)
22225	AsHubspotSource() (*HubspotSource, bool)
22226	AsHiveSource() (*HiveSource, bool)
22227	AsHBaseSource() (*HBaseSource, bool)
22228	AsGreenplumSource() (*GreenplumSource, bool)
22229	AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool)
22230	AsEloquaSource() (*EloquaSource, bool)
22231	AsDrillSource() (*DrillSource, bool)
22232	AsCouchbaseSource() (*CouchbaseSource, bool)
22233	AsConcurSource() (*ConcurSource, bool)
22234	AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool)
22235	AsAmazonMWSSource() (*AmazonMWSSource, bool)
22236	AsHTTPSource() (*HTTPSource, bool)
22237	AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool)
22238	AsMongoDbSource() (*MongoDbSource, bool)
22239	AsCassandraSource() (*CassandraSource, bool)
22240	AsWebSource() (*WebSource, bool)
22241	AsOracleSource() (*OracleSource, bool)
22242	AsAzureMySQLSource() (*AzureMySQLSource, bool)
22243	AsHdfsSource() (*HdfsSource, bool)
22244	AsFileSystemSource() (*FileSystemSource, bool)
22245	AsSQLDWSource() (*SQLDWSource, bool)
22246	AsSQLSource() (*SQLSource, bool)
22247	AsSapEccSource() (*SapEccSource, bool)
22248	AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool)
22249	AsSalesforceSource() (*SalesforceSource, bool)
22250	AsRelationalSource() (*RelationalSource, bool)
22251	AsDynamicsSource() (*DynamicsSource, bool)
22252	AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool)
22253	AsBlobSource() (*BlobSource, bool)
22254	AsAzureTableSource() (*AzureTableSource, bool)
22255	AsCopySource() (*CopySource, bool)
22256}
22257
22258// CopySource a copy activity source.
22259type CopySource struct {
22260	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
22261	AdditionalProperties map[string]interface{} `json:""`
22262	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
22263	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
22264	// 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])).
22265	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
22266	// 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'
22267	Type TypeBasicCopySource `json:"type,omitempty"`
22268}
22269
22270func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) {
22271	var m map[string]interface{}
22272	err := json.Unmarshal(body, &m)
22273	if err != nil {
22274		return nil, err
22275	}
22276
22277	switch m["type"] {
22278	case string(TypeAmazonRedshiftSource):
22279		var ars AmazonRedshiftSource
22280		err := json.Unmarshal(body, &ars)
22281		return ars, err
22282	case string(TypeResponsysSource):
22283		var rs ResponsysSource
22284		err := json.Unmarshal(body, &rs)
22285		return rs, err
22286	case string(TypeSalesforceMarketingCloudSource):
22287		var smcs SalesforceMarketingCloudSource
22288		err := json.Unmarshal(body, &smcs)
22289		return smcs, err
22290	case string(TypeVerticaSource):
22291		var vs VerticaSource
22292		err := json.Unmarshal(body, &vs)
22293		return vs, err
22294	case string(TypeNetezzaSource):
22295		var ns NetezzaSource
22296		err := json.Unmarshal(body, &ns)
22297		return ns, err
22298	case string(TypeZohoSource):
22299		var zs ZohoSource
22300		err := json.Unmarshal(body, &zs)
22301		return zs, err
22302	case string(TypeXeroSource):
22303		var xs XeroSource
22304		err := json.Unmarshal(body, &xs)
22305		return xs, err
22306	case string(TypeSquareSource):
22307		var ss SquareSource
22308		err := json.Unmarshal(body, &ss)
22309		return ss, err
22310	case string(TypeSparkSource):
22311		var ss SparkSource
22312		err := json.Unmarshal(body, &ss)
22313		return ss, err
22314	case string(TypeShopifySource):
22315		var ss ShopifySource
22316		err := json.Unmarshal(body, &ss)
22317		return ss, err
22318	case string(TypeServiceNowSource):
22319		var sns ServiceNowSource
22320		err := json.Unmarshal(body, &sns)
22321		return sns, err
22322	case string(TypeQuickBooksSource):
22323		var qbs QuickBooksSource
22324		err := json.Unmarshal(body, &qbs)
22325		return qbs, err
22326	case string(TypePrestoSource):
22327		var ps PrestoSource
22328		err := json.Unmarshal(body, &ps)
22329		return ps, err
22330	case string(TypePhoenixSource):
22331		var ps PhoenixSource
22332		err := json.Unmarshal(body, &ps)
22333		return ps, err
22334	case string(TypePaypalSource):
22335		var ps PaypalSource
22336		err := json.Unmarshal(body, &ps)
22337		return ps, err
22338	case string(TypeMarketoSource):
22339		var ms MarketoSource
22340		err := json.Unmarshal(body, &ms)
22341		return ms, err
22342	case string(TypeMariaDBSource):
22343		var mds MariaDBSource
22344		err := json.Unmarshal(body, &mds)
22345		return mds, err
22346	case string(TypeMagentoSource):
22347		var ms MagentoSource
22348		err := json.Unmarshal(body, &ms)
22349		return ms, err
22350	case string(TypeJiraSource):
22351		var js JiraSource
22352		err := json.Unmarshal(body, &js)
22353		return js, err
22354	case string(TypeImpalaSource):
22355		var is ImpalaSource
22356		err := json.Unmarshal(body, &is)
22357		return is, err
22358	case string(TypeHubspotSource):
22359		var hs HubspotSource
22360		err := json.Unmarshal(body, &hs)
22361		return hs, err
22362	case string(TypeHiveSource):
22363		var hs HiveSource
22364		err := json.Unmarshal(body, &hs)
22365		return hs, err
22366	case string(TypeHBaseSource):
22367		var hbs HBaseSource
22368		err := json.Unmarshal(body, &hbs)
22369		return hbs, err
22370	case string(TypeGreenplumSource):
22371		var gs GreenplumSource
22372		err := json.Unmarshal(body, &gs)
22373		return gs, err
22374	case string(TypeGoogleBigQuerySource):
22375		var gbqs GoogleBigQuerySource
22376		err := json.Unmarshal(body, &gbqs)
22377		return gbqs, err
22378	case string(TypeEloquaSource):
22379		var es EloquaSource
22380		err := json.Unmarshal(body, &es)
22381		return es, err
22382	case string(TypeDrillSource):
22383		var ds DrillSource
22384		err := json.Unmarshal(body, &ds)
22385		return ds, err
22386	case string(TypeCouchbaseSource):
22387		var cs CouchbaseSource
22388		err := json.Unmarshal(body, &cs)
22389		return cs, err
22390	case string(TypeConcurSource):
22391		var cs ConcurSource
22392		err := json.Unmarshal(body, &cs)
22393		return cs, err
22394	case string(TypeAzurePostgreSQLSource):
22395		var apss AzurePostgreSQLSource
22396		err := json.Unmarshal(body, &apss)
22397		return apss, err
22398	case string(TypeAmazonMWSSource):
22399		var ams AmazonMWSSource
22400		err := json.Unmarshal(body, &ams)
22401		return ams, err
22402	case string(TypeHTTPSource):
22403		var hs HTTPSource
22404		err := json.Unmarshal(body, &hs)
22405		return hs, err
22406	case string(TypeAzureDataLakeStoreSource):
22407		var adlss AzureDataLakeStoreSource
22408		err := json.Unmarshal(body, &adlss)
22409		return adlss, err
22410	case string(TypeMongoDbSource):
22411		var mds MongoDbSource
22412		err := json.Unmarshal(body, &mds)
22413		return mds, err
22414	case string(TypeCassandraSource):
22415		var cs CassandraSource
22416		err := json.Unmarshal(body, &cs)
22417		return cs, err
22418	case string(TypeWebSource):
22419		var ws WebSource
22420		err := json.Unmarshal(body, &ws)
22421		return ws, err
22422	case string(TypeOracleSource):
22423		var osVar OracleSource
22424		err := json.Unmarshal(body, &osVar)
22425		return osVar, err
22426	case string(TypeAzureMySQLSource):
22427		var amss AzureMySQLSource
22428		err := json.Unmarshal(body, &amss)
22429		return amss, err
22430	case string(TypeHdfsSource):
22431		var hs HdfsSource
22432		err := json.Unmarshal(body, &hs)
22433		return hs, err
22434	case string(TypeFileSystemSource):
22435		var fss FileSystemSource
22436		err := json.Unmarshal(body, &fss)
22437		return fss, err
22438	case string(TypeSQLDWSource):
22439		var sds SQLDWSource
22440		err := json.Unmarshal(body, &sds)
22441		return sds, err
22442	case string(TypeSQLSource):
22443		var ss SQLSource
22444		err := json.Unmarshal(body, &ss)
22445		return ss, err
22446	case string(TypeSapEccSource):
22447		var ses SapEccSource
22448		err := json.Unmarshal(body, &ses)
22449		return ses, err
22450	case string(TypeSapCloudForCustomerSource):
22451		var scfcs SapCloudForCustomerSource
22452		err := json.Unmarshal(body, &scfcs)
22453		return scfcs, err
22454	case string(TypeSalesforceSource):
22455		var ss SalesforceSource
22456		err := json.Unmarshal(body, &ss)
22457		return ss, err
22458	case string(TypeRelationalSource):
22459		var rs RelationalSource
22460		err := json.Unmarshal(body, &rs)
22461		return rs, err
22462	case string(TypeDynamicsSource):
22463		var ds DynamicsSource
22464		err := json.Unmarshal(body, &ds)
22465		return ds, err
22466	case string(TypeDocumentDbCollectionSource):
22467		var ddcs DocumentDbCollectionSource
22468		err := json.Unmarshal(body, &ddcs)
22469		return ddcs, err
22470	case string(TypeBlobSource):
22471		var bs BlobSource
22472		err := json.Unmarshal(body, &bs)
22473		return bs, err
22474	case string(TypeAzureTableSource):
22475		var ats AzureTableSource
22476		err := json.Unmarshal(body, &ats)
22477		return ats, err
22478	default:
22479		var cs CopySource
22480		err := json.Unmarshal(body, &cs)
22481		return cs, err
22482	}
22483}
22484func unmarshalBasicCopySourceArray(body []byte) ([]BasicCopySource, error) {
22485	var rawMessages []*json.RawMessage
22486	err := json.Unmarshal(body, &rawMessages)
22487	if err != nil {
22488		return nil, err
22489	}
22490
22491	csArray := make([]BasicCopySource, len(rawMessages))
22492
22493	for index, rawMessage := range rawMessages {
22494		cs, err := unmarshalBasicCopySource(*rawMessage)
22495		if err != nil {
22496			return nil, err
22497		}
22498		csArray[index] = cs
22499	}
22500	return csArray, nil
22501}
22502
22503// MarshalJSON is the custom marshaler for CopySource.
22504func (cs CopySource) MarshalJSON() ([]byte, error) {
22505	cs.Type = TypeCopySource
22506	objectMap := make(map[string]interface{})
22507	if cs.SourceRetryCount != nil {
22508		objectMap["sourceRetryCount"] = cs.SourceRetryCount
22509	}
22510	if cs.SourceRetryWait != nil {
22511		objectMap["sourceRetryWait"] = cs.SourceRetryWait
22512	}
22513	if cs.Type != "" {
22514		objectMap["type"] = cs.Type
22515	}
22516	for k, v := range cs.AdditionalProperties {
22517		objectMap[k] = v
22518	}
22519	return json.Marshal(objectMap)
22520}
22521
22522// AsAmazonRedshiftSource is the BasicCopySource implementation for CopySource.
22523func (cs CopySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
22524	return nil, false
22525}
22526
22527// AsResponsysSource is the BasicCopySource implementation for CopySource.
22528func (cs CopySource) AsResponsysSource() (*ResponsysSource, bool) {
22529	return nil, false
22530}
22531
22532// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CopySource.
22533func (cs CopySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
22534	return nil, false
22535}
22536
22537// AsVerticaSource is the BasicCopySource implementation for CopySource.
22538func (cs CopySource) AsVerticaSource() (*VerticaSource, bool) {
22539	return nil, false
22540}
22541
22542// AsNetezzaSource is the BasicCopySource implementation for CopySource.
22543func (cs CopySource) AsNetezzaSource() (*NetezzaSource, bool) {
22544	return nil, false
22545}
22546
22547// AsZohoSource is the BasicCopySource implementation for CopySource.
22548func (cs CopySource) AsZohoSource() (*ZohoSource, bool) {
22549	return nil, false
22550}
22551
22552// AsXeroSource is the BasicCopySource implementation for CopySource.
22553func (cs CopySource) AsXeroSource() (*XeroSource, bool) {
22554	return nil, false
22555}
22556
22557// AsSquareSource is the BasicCopySource implementation for CopySource.
22558func (cs CopySource) AsSquareSource() (*SquareSource, bool) {
22559	return nil, false
22560}
22561
22562// AsSparkSource is the BasicCopySource implementation for CopySource.
22563func (cs CopySource) AsSparkSource() (*SparkSource, bool) {
22564	return nil, false
22565}
22566
22567// AsShopifySource is the BasicCopySource implementation for CopySource.
22568func (cs CopySource) AsShopifySource() (*ShopifySource, bool) {
22569	return nil, false
22570}
22571
22572// AsServiceNowSource is the BasicCopySource implementation for CopySource.
22573func (cs CopySource) AsServiceNowSource() (*ServiceNowSource, bool) {
22574	return nil, false
22575}
22576
22577// AsQuickBooksSource is the BasicCopySource implementation for CopySource.
22578func (cs CopySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
22579	return nil, false
22580}
22581
22582// AsPrestoSource is the BasicCopySource implementation for CopySource.
22583func (cs CopySource) AsPrestoSource() (*PrestoSource, bool) {
22584	return nil, false
22585}
22586
22587// AsPhoenixSource is the BasicCopySource implementation for CopySource.
22588func (cs CopySource) AsPhoenixSource() (*PhoenixSource, bool) {
22589	return nil, false
22590}
22591
22592// AsPaypalSource is the BasicCopySource implementation for CopySource.
22593func (cs CopySource) AsPaypalSource() (*PaypalSource, bool) {
22594	return nil, false
22595}
22596
22597// AsMarketoSource is the BasicCopySource implementation for CopySource.
22598func (cs CopySource) AsMarketoSource() (*MarketoSource, bool) {
22599	return nil, false
22600}
22601
22602// AsMariaDBSource is the BasicCopySource implementation for CopySource.
22603func (cs CopySource) AsMariaDBSource() (*MariaDBSource, bool) {
22604	return nil, false
22605}
22606
22607// AsMagentoSource is the BasicCopySource implementation for CopySource.
22608func (cs CopySource) AsMagentoSource() (*MagentoSource, bool) {
22609	return nil, false
22610}
22611
22612// AsJiraSource is the BasicCopySource implementation for CopySource.
22613func (cs CopySource) AsJiraSource() (*JiraSource, bool) {
22614	return nil, false
22615}
22616
22617// AsImpalaSource is the BasicCopySource implementation for CopySource.
22618func (cs CopySource) AsImpalaSource() (*ImpalaSource, bool) {
22619	return nil, false
22620}
22621
22622// AsHubspotSource is the BasicCopySource implementation for CopySource.
22623func (cs CopySource) AsHubspotSource() (*HubspotSource, bool) {
22624	return nil, false
22625}
22626
22627// AsHiveSource is the BasicCopySource implementation for CopySource.
22628func (cs CopySource) AsHiveSource() (*HiveSource, bool) {
22629	return nil, false
22630}
22631
22632// AsHBaseSource is the BasicCopySource implementation for CopySource.
22633func (cs CopySource) AsHBaseSource() (*HBaseSource, bool) {
22634	return nil, false
22635}
22636
22637// AsGreenplumSource is the BasicCopySource implementation for CopySource.
22638func (cs CopySource) AsGreenplumSource() (*GreenplumSource, bool) {
22639	return nil, false
22640}
22641
22642// AsGoogleBigQuerySource is the BasicCopySource implementation for CopySource.
22643func (cs CopySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
22644	return nil, false
22645}
22646
22647// AsEloquaSource is the BasicCopySource implementation for CopySource.
22648func (cs CopySource) AsEloquaSource() (*EloquaSource, bool) {
22649	return nil, false
22650}
22651
22652// AsDrillSource is the BasicCopySource implementation for CopySource.
22653func (cs CopySource) AsDrillSource() (*DrillSource, bool) {
22654	return nil, false
22655}
22656
22657// AsCouchbaseSource is the BasicCopySource implementation for CopySource.
22658func (cs CopySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
22659	return nil, false
22660}
22661
22662// AsConcurSource is the BasicCopySource implementation for CopySource.
22663func (cs CopySource) AsConcurSource() (*ConcurSource, bool) {
22664	return nil, false
22665}
22666
22667// AsAzurePostgreSQLSource is the BasicCopySource implementation for CopySource.
22668func (cs CopySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
22669	return nil, false
22670}
22671
22672// AsAmazonMWSSource is the BasicCopySource implementation for CopySource.
22673func (cs CopySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
22674	return nil, false
22675}
22676
22677// AsHTTPSource is the BasicCopySource implementation for CopySource.
22678func (cs CopySource) AsHTTPSource() (*HTTPSource, bool) {
22679	return nil, false
22680}
22681
22682// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CopySource.
22683func (cs CopySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
22684	return nil, false
22685}
22686
22687// AsMongoDbSource is the BasicCopySource implementation for CopySource.
22688func (cs CopySource) AsMongoDbSource() (*MongoDbSource, bool) {
22689	return nil, false
22690}
22691
22692// AsCassandraSource is the BasicCopySource implementation for CopySource.
22693func (cs CopySource) AsCassandraSource() (*CassandraSource, bool) {
22694	return nil, false
22695}
22696
22697// AsWebSource is the BasicCopySource implementation for CopySource.
22698func (cs CopySource) AsWebSource() (*WebSource, bool) {
22699	return nil, false
22700}
22701
22702// AsOracleSource is the BasicCopySource implementation for CopySource.
22703func (cs CopySource) AsOracleSource() (*OracleSource, bool) {
22704	return nil, false
22705}
22706
22707// AsAzureMySQLSource is the BasicCopySource implementation for CopySource.
22708func (cs CopySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
22709	return nil, false
22710}
22711
22712// AsHdfsSource is the BasicCopySource implementation for CopySource.
22713func (cs CopySource) AsHdfsSource() (*HdfsSource, bool) {
22714	return nil, false
22715}
22716
22717// AsFileSystemSource is the BasicCopySource implementation for CopySource.
22718func (cs CopySource) AsFileSystemSource() (*FileSystemSource, bool) {
22719	return nil, false
22720}
22721
22722// AsSQLDWSource is the BasicCopySource implementation for CopySource.
22723func (cs CopySource) AsSQLDWSource() (*SQLDWSource, bool) {
22724	return nil, false
22725}
22726
22727// AsSQLSource is the BasicCopySource implementation for CopySource.
22728func (cs CopySource) AsSQLSource() (*SQLSource, bool) {
22729	return nil, false
22730}
22731
22732// AsSapEccSource is the BasicCopySource implementation for CopySource.
22733func (cs CopySource) AsSapEccSource() (*SapEccSource, bool) {
22734	return nil, false
22735}
22736
22737// AsSapCloudForCustomerSource is the BasicCopySource implementation for CopySource.
22738func (cs CopySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
22739	return nil, false
22740}
22741
22742// AsSalesforceSource is the BasicCopySource implementation for CopySource.
22743func (cs CopySource) AsSalesforceSource() (*SalesforceSource, bool) {
22744	return nil, false
22745}
22746
22747// AsRelationalSource is the BasicCopySource implementation for CopySource.
22748func (cs CopySource) AsRelationalSource() (*RelationalSource, bool) {
22749	return nil, false
22750}
22751
22752// AsDynamicsSource is the BasicCopySource implementation for CopySource.
22753func (cs CopySource) AsDynamicsSource() (*DynamicsSource, bool) {
22754	return nil, false
22755}
22756
22757// AsDocumentDbCollectionSource is the BasicCopySource implementation for CopySource.
22758func (cs CopySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
22759	return nil, false
22760}
22761
22762// AsBlobSource is the BasicCopySource implementation for CopySource.
22763func (cs CopySource) AsBlobSource() (*BlobSource, bool) {
22764	return nil, false
22765}
22766
22767// AsAzureTableSource is the BasicCopySource implementation for CopySource.
22768func (cs CopySource) AsAzureTableSource() (*AzureTableSource, bool) {
22769	return nil, false
22770}
22771
22772// AsCopySource is the BasicCopySource implementation for CopySource.
22773func (cs CopySource) AsCopySource() (*CopySource, bool) {
22774	return &cs, true
22775}
22776
22777// AsBasicCopySource is the BasicCopySource implementation for CopySource.
22778func (cs CopySource) AsBasicCopySource() (BasicCopySource, bool) {
22779	return &cs, true
22780}
22781
22782// UnmarshalJSON is the custom unmarshaler for CopySource struct.
22783func (cs *CopySource) UnmarshalJSON(body []byte) error {
22784	var m map[string]*json.RawMessage
22785	err := json.Unmarshal(body, &m)
22786	if err != nil {
22787		return err
22788	}
22789	for k, v := range m {
22790		switch k {
22791		default:
22792			if v != nil {
22793				var additionalProperties interface{}
22794				err = json.Unmarshal(*v, &additionalProperties)
22795				if err != nil {
22796					return err
22797				}
22798				if cs.AdditionalProperties == nil {
22799					cs.AdditionalProperties = make(map[string]interface{})
22800				}
22801				cs.AdditionalProperties[k] = additionalProperties
22802			}
22803		case "sourceRetryCount":
22804			if v != nil {
22805				var sourceRetryCount interface{}
22806				err = json.Unmarshal(*v, &sourceRetryCount)
22807				if err != nil {
22808					return err
22809				}
22810				cs.SourceRetryCount = sourceRetryCount
22811			}
22812		case "sourceRetryWait":
22813			if v != nil {
22814				var sourceRetryWait interface{}
22815				err = json.Unmarshal(*v, &sourceRetryWait)
22816				if err != nil {
22817					return err
22818				}
22819				cs.SourceRetryWait = sourceRetryWait
22820			}
22821		case "type":
22822			if v != nil {
22823				var typeVar TypeBasicCopySource
22824				err = json.Unmarshal(*v, &typeVar)
22825				if err != nil {
22826					return err
22827				}
22828				cs.Type = typeVar
22829			}
22830		}
22831	}
22832
22833	return nil
22834}
22835
22836// CosmosDbLinkedService microsoft Azure Cosmos Database (CosmosDB) linked service.
22837type CosmosDbLinkedService struct {
22838	// CosmosDbLinkedServiceTypeProperties - CosmosDB linked service properties.
22839	*CosmosDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
22840	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
22841	AdditionalProperties map[string]interface{} `json:""`
22842	// ConnectVia - The integration runtime reference.
22843	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
22844	// Description - Linked service description.
22845	Description *string `json:"description,omitempty"`
22846	// Parameters - Parameters for linked service.
22847	Parameters map[string]*ParameterSpecification `json:"parameters"`
22848	// Annotations - List of tags that can be used for describing the Dataset.
22849	Annotations *[]interface{} `json:"annotations,omitempty"`
22850	// 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'
22851	Type TypeBasicLinkedService `json:"type,omitempty"`
22852}
22853
22854// MarshalJSON is the custom marshaler for CosmosDbLinkedService.
22855func (cdls CosmosDbLinkedService) MarshalJSON() ([]byte, error) {
22856	cdls.Type = TypeCosmosDb
22857	objectMap := make(map[string]interface{})
22858	if cdls.CosmosDbLinkedServiceTypeProperties != nil {
22859		objectMap["typeProperties"] = cdls.CosmosDbLinkedServiceTypeProperties
22860	}
22861	if cdls.ConnectVia != nil {
22862		objectMap["connectVia"] = cdls.ConnectVia
22863	}
22864	if cdls.Description != nil {
22865		objectMap["description"] = cdls.Description
22866	}
22867	if cdls.Parameters != nil {
22868		objectMap["parameters"] = cdls.Parameters
22869	}
22870	if cdls.Annotations != nil {
22871		objectMap["annotations"] = cdls.Annotations
22872	}
22873	if cdls.Type != "" {
22874		objectMap["type"] = cdls.Type
22875	}
22876	for k, v := range cdls.AdditionalProperties {
22877		objectMap[k] = v
22878	}
22879	return json.Marshal(objectMap)
22880}
22881
22882// AsResponsysLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22883func (cdls CosmosDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
22884	return nil, false
22885}
22886
22887// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22888func (cdls CosmosDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
22889	return nil, false
22890}
22891
22892// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22893func (cdls CosmosDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
22894	return nil, false
22895}
22896
22897// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22898func (cdls CosmosDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
22899	return nil, false
22900}
22901
22902// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22903func (cdls CosmosDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
22904	return nil, false
22905}
22906
22907// AsNetezzaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22908func (cdls CosmosDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
22909	return nil, false
22910}
22911
22912// AsVerticaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22913func (cdls CosmosDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
22914	return nil, false
22915}
22916
22917// AsZohoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22918func (cdls CosmosDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
22919	return nil, false
22920}
22921
22922// AsXeroLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22923func (cdls CosmosDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
22924	return nil, false
22925}
22926
22927// AsSquareLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22928func (cdls CosmosDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
22929	return nil, false
22930}
22931
22932// AsSparkLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22933func (cdls CosmosDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
22934	return nil, false
22935}
22936
22937// AsShopifyLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22938func (cdls CosmosDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
22939	return nil, false
22940}
22941
22942// AsServiceNowLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22943func (cdls CosmosDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
22944	return nil, false
22945}
22946
22947// AsQuickBooksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22948func (cdls CosmosDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
22949	return nil, false
22950}
22951
22952// AsPrestoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22953func (cdls CosmosDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
22954	return nil, false
22955}
22956
22957// AsPhoenixLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22958func (cdls CosmosDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
22959	return nil, false
22960}
22961
22962// AsPaypalLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22963func (cdls CosmosDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
22964	return nil, false
22965}
22966
22967// AsMarketoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22968func (cdls CosmosDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
22969	return nil, false
22970}
22971
22972// AsMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22973func (cdls CosmosDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
22974	return nil, false
22975}
22976
22977// AsMagentoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22978func (cdls CosmosDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
22979	return nil, false
22980}
22981
22982// AsJiraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22983func (cdls CosmosDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
22984	return nil, false
22985}
22986
22987// AsImpalaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22988func (cdls CosmosDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
22989	return nil, false
22990}
22991
22992// AsHubspotLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22993func (cdls CosmosDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
22994	return nil, false
22995}
22996
22997// AsHiveLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
22998func (cdls CosmosDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
22999	return nil, false
23000}
23001
23002// AsHBaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23003func (cdls CosmosDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
23004	return nil, false
23005}
23006
23007// AsGreenplumLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23008func (cdls CosmosDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
23009	return nil, false
23010}
23011
23012// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23013func (cdls CosmosDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
23014	return nil, false
23015}
23016
23017// AsEloquaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23018func (cdls CosmosDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
23019	return nil, false
23020}
23021
23022// AsDrillLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23023func (cdls CosmosDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
23024	return nil, false
23025}
23026
23027// AsCouchbaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23028func (cdls CosmosDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
23029	return nil, false
23030}
23031
23032// AsConcurLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23033func (cdls CosmosDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
23034	return nil, false
23035}
23036
23037// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23038func (cdls CosmosDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
23039	return nil, false
23040}
23041
23042// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23043func (cdls CosmosDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
23044	return nil, false
23045}
23046
23047// AsSapHanaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23048func (cdls CosmosDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
23049	return nil, false
23050}
23051
23052// AsSapBWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23053func (cdls CosmosDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
23054	return nil, false
23055}
23056
23057// AsSftpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23058func (cdls CosmosDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
23059	return nil, false
23060}
23061
23062// AsFtpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23063func (cdls CosmosDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
23064	return nil, false
23065}
23066
23067// AsHTTPLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23068func (cdls CosmosDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
23069	return nil, false
23070}
23071
23072// AsAzureSearchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23073func (cdls CosmosDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
23074	return nil, false
23075}
23076
23077// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23078func (cdls CosmosDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
23079	return nil, false
23080}
23081
23082// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23083func (cdls CosmosDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
23084	return nil, false
23085}
23086
23087// AsAmazonS3LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23088func (cdls CosmosDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
23089	return nil, false
23090}
23091
23092// AsSapEccLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23093func (cdls CosmosDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
23094	return nil, false
23095}
23096
23097// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23098func (cdls CosmosDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
23099	return nil, false
23100}
23101
23102// AsSalesforceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23103func (cdls CosmosDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
23104	return nil, false
23105}
23106
23107// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23108func (cdls CosmosDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
23109	return nil, false
23110}
23111
23112// AsMongoDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23113func (cdls CosmosDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
23114	return nil, false
23115}
23116
23117// AsCassandraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23118func (cdls CosmosDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
23119	return nil, false
23120}
23121
23122// AsWebLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23123func (cdls CosmosDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
23124	return nil, false
23125}
23126
23127// AsODataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23128func (cdls CosmosDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
23129	return nil, false
23130}
23131
23132// AsHdfsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23133func (cdls CosmosDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
23134	return nil, false
23135}
23136
23137// AsOdbcLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23138func (cdls CosmosDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
23139	return nil, false
23140}
23141
23142// AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23143func (cdls CosmosDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
23144	return nil, false
23145}
23146
23147// AsTeradataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23148func (cdls CosmosDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
23149	return nil, false
23150}
23151
23152// AsDb2LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23153func (cdls CosmosDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
23154	return nil, false
23155}
23156
23157// AsSybaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23158func (cdls CosmosDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
23159	return nil, false
23160}
23161
23162// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23163func (cdls CosmosDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
23164	return nil, false
23165}
23166
23167// AsMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23168func (cdls CosmosDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
23169	return nil, false
23170}
23171
23172// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23173func (cdls CosmosDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
23174	return nil, false
23175}
23176
23177// AsOracleLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23178func (cdls CosmosDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
23179	return nil, false
23180}
23181
23182// AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23183func (cdls CosmosDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
23184	return nil, false
23185}
23186
23187// AsHDInsightLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23188func (cdls CosmosDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
23189	return nil, false
23190}
23191
23192// AsDynamicsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23193func (cdls CosmosDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
23194	return nil, false
23195}
23196
23197// AsCosmosDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23198func (cdls CosmosDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
23199	return &cdls, true
23200}
23201
23202// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23203func (cdls CosmosDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
23204	return nil, false
23205}
23206
23207// AsAzureBatchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23208func (cdls CosmosDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
23209	return nil, false
23210}
23211
23212// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23213func (cdls CosmosDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
23214	return nil, false
23215}
23216
23217// AsSQLServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23218func (cdls CosmosDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
23219	return nil, false
23220}
23221
23222// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23223func (cdls CosmosDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
23224	return nil, false
23225}
23226
23227// AsAzureStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23228func (cdls CosmosDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
23229	return nil, false
23230}
23231
23232// AsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23233func (cdls CosmosDbLinkedService) AsLinkedService() (*LinkedService, bool) {
23234	return nil, false
23235}
23236
23237// AsBasicLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
23238func (cdls CosmosDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
23239	return &cdls, true
23240}
23241
23242// UnmarshalJSON is the custom unmarshaler for CosmosDbLinkedService struct.
23243func (cdls *CosmosDbLinkedService) UnmarshalJSON(body []byte) error {
23244	var m map[string]*json.RawMessage
23245	err := json.Unmarshal(body, &m)
23246	if err != nil {
23247		return err
23248	}
23249	for k, v := range m {
23250		switch k {
23251		case "typeProperties":
23252			if v != nil {
23253				var cosmosDbLinkedServiceTypeProperties CosmosDbLinkedServiceTypeProperties
23254				err = json.Unmarshal(*v, &cosmosDbLinkedServiceTypeProperties)
23255				if err != nil {
23256					return err
23257				}
23258				cdls.CosmosDbLinkedServiceTypeProperties = &cosmosDbLinkedServiceTypeProperties
23259			}
23260		default:
23261			if v != nil {
23262				var additionalProperties interface{}
23263				err = json.Unmarshal(*v, &additionalProperties)
23264				if err != nil {
23265					return err
23266				}
23267				if cdls.AdditionalProperties == nil {
23268					cdls.AdditionalProperties = make(map[string]interface{})
23269				}
23270				cdls.AdditionalProperties[k] = additionalProperties
23271			}
23272		case "connectVia":
23273			if v != nil {
23274				var connectVia IntegrationRuntimeReference
23275				err = json.Unmarshal(*v, &connectVia)
23276				if err != nil {
23277					return err
23278				}
23279				cdls.ConnectVia = &connectVia
23280			}
23281		case "description":
23282			if v != nil {
23283				var description string
23284				err = json.Unmarshal(*v, &description)
23285				if err != nil {
23286					return err
23287				}
23288				cdls.Description = &description
23289			}
23290		case "parameters":
23291			if v != nil {
23292				var parameters map[string]*ParameterSpecification
23293				err = json.Unmarshal(*v, &parameters)
23294				if err != nil {
23295					return err
23296				}
23297				cdls.Parameters = parameters
23298			}
23299		case "annotations":
23300			if v != nil {
23301				var annotations []interface{}
23302				err = json.Unmarshal(*v, &annotations)
23303				if err != nil {
23304					return err
23305				}
23306				cdls.Annotations = &annotations
23307			}
23308		case "type":
23309			if v != nil {
23310				var typeVar TypeBasicLinkedService
23311				err = json.Unmarshal(*v, &typeVar)
23312				if err != nil {
23313					return err
23314				}
23315				cdls.Type = typeVar
23316			}
23317		}
23318	}
23319
23320	return nil
23321}
23322
23323// CosmosDbLinkedServiceTypeProperties cosmosDB linked service properties.
23324type CosmosDbLinkedServiceTypeProperties struct {
23325	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
23326	ConnectionString interface{} `json:"connectionString,omitempty"`
23327	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
23328	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
23329}
23330
23331// CouchbaseLinkedService couchbase server linked service.
23332type CouchbaseLinkedService struct {
23333	// CouchbaseLinkedServiceTypeProperties - Couchbase server linked service properties.
23334	*CouchbaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
23335	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
23336	AdditionalProperties map[string]interface{} `json:""`
23337	// ConnectVia - The integration runtime reference.
23338	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
23339	// Description - Linked service description.
23340	Description *string `json:"description,omitempty"`
23341	// Parameters - Parameters for linked service.
23342	Parameters map[string]*ParameterSpecification `json:"parameters"`
23343	// Annotations - List of tags that can be used for describing the Dataset.
23344	Annotations *[]interface{} `json:"annotations,omitempty"`
23345	// 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'
23346	Type TypeBasicLinkedService `json:"type,omitempty"`
23347}
23348
23349// MarshalJSON is the custom marshaler for CouchbaseLinkedService.
23350func (cls CouchbaseLinkedService) MarshalJSON() ([]byte, error) {
23351	cls.Type = TypeCouchbase
23352	objectMap := make(map[string]interface{})
23353	if cls.CouchbaseLinkedServiceTypeProperties != nil {
23354		objectMap["typeProperties"] = cls.CouchbaseLinkedServiceTypeProperties
23355	}
23356	if cls.ConnectVia != nil {
23357		objectMap["connectVia"] = cls.ConnectVia
23358	}
23359	if cls.Description != nil {
23360		objectMap["description"] = cls.Description
23361	}
23362	if cls.Parameters != nil {
23363		objectMap["parameters"] = cls.Parameters
23364	}
23365	if cls.Annotations != nil {
23366		objectMap["annotations"] = cls.Annotations
23367	}
23368	if cls.Type != "" {
23369		objectMap["type"] = cls.Type
23370	}
23371	for k, v := range cls.AdditionalProperties {
23372		objectMap[k] = v
23373	}
23374	return json.Marshal(objectMap)
23375}
23376
23377// AsResponsysLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23378func (cls CouchbaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
23379	return nil, false
23380}
23381
23382// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23383func (cls CouchbaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
23384	return nil, false
23385}
23386
23387// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23388func (cls CouchbaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
23389	return nil, false
23390}
23391
23392// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23393func (cls CouchbaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
23394	return nil, false
23395}
23396
23397// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23398func (cls CouchbaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
23399	return nil, false
23400}
23401
23402// AsNetezzaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23403func (cls CouchbaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
23404	return nil, false
23405}
23406
23407// AsVerticaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23408func (cls CouchbaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
23409	return nil, false
23410}
23411
23412// AsZohoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23413func (cls CouchbaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
23414	return nil, false
23415}
23416
23417// AsXeroLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23418func (cls CouchbaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
23419	return nil, false
23420}
23421
23422// AsSquareLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23423func (cls CouchbaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
23424	return nil, false
23425}
23426
23427// AsSparkLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23428func (cls CouchbaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
23429	return nil, false
23430}
23431
23432// AsShopifyLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23433func (cls CouchbaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
23434	return nil, false
23435}
23436
23437// AsServiceNowLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23438func (cls CouchbaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
23439	return nil, false
23440}
23441
23442// AsQuickBooksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23443func (cls CouchbaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
23444	return nil, false
23445}
23446
23447// AsPrestoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23448func (cls CouchbaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
23449	return nil, false
23450}
23451
23452// AsPhoenixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23453func (cls CouchbaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
23454	return nil, false
23455}
23456
23457// AsPaypalLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23458func (cls CouchbaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
23459	return nil, false
23460}
23461
23462// AsMarketoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23463func (cls CouchbaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
23464	return nil, false
23465}
23466
23467// AsMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23468func (cls CouchbaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
23469	return nil, false
23470}
23471
23472// AsMagentoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23473func (cls CouchbaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
23474	return nil, false
23475}
23476
23477// AsJiraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23478func (cls CouchbaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
23479	return nil, false
23480}
23481
23482// AsImpalaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23483func (cls CouchbaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
23484	return nil, false
23485}
23486
23487// AsHubspotLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23488func (cls CouchbaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
23489	return nil, false
23490}
23491
23492// AsHiveLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23493func (cls CouchbaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
23494	return nil, false
23495}
23496
23497// AsHBaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23498func (cls CouchbaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
23499	return nil, false
23500}
23501
23502// AsGreenplumLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23503func (cls CouchbaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
23504	return nil, false
23505}
23506
23507// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23508func (cls CouchbaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
23509	return nil, false
23510}
23511
23512// AsEloquaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23513func (cls CouchbaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
23514	return nil, false
23515}
23516
23517// AsDrillLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23518func (cls CouchbaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
23519	return nil, false
23520}
23521
23522// AsCouchbaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23523func (cls CouchbaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
23524	return &cls, true
23525}
23526
23527// AsConcurLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23528func (cls CouchbaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
23529	return nil, false
23530}
23531
23532// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23533func (cls CouchbaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
23534	return nil, false
23535}
23536
23537// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23538func (cls CouchbaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
23539	return nil, false
23540}
23541
23542// AsSapHanaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23543func (cls CouchbaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
23544	return nil, false
23545}
23546
23547// AsSapBWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23548func (cls CouchbaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
23549	return nil, false
23550}
23551
23552// AsSftpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23553func (cls CouchbaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
23554	return nil, false
23555}
23556
23557// AsFtpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23558func (cls CouchbaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
23559	return nil, false
23560}
23561
23562// AsHTTPLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23563func (cls CouchbaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
23564	return nil, false
23565}
23566
23567// AsAzureSearchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23568func (cls CouchbaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
23569	return nil, false
23570}
23571
23572// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23573func (cls CouchbaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
23574	return nil, false
23575}
23576
23577// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23578func (cls CouchbaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
23579	return nil, false
23580}
23581
23582// AsAmazonS3LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23583func (cls CouchbaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
23584	return nil, false
23585}
23586
23587// AsSapEccLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23588func (cls CouchbaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
23589	return nil, false
23590}
23591
23592// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23593func (cls CouchbaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
23594	return nil, false
23595}
23596
23597// AsSalesforceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23598func (cls CouchbaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
23599	return nil, false
23600}
23601
23602// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23603func (cls CouchbaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
23604	return nil, false
23605}
23606
23607// AsMongoDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23608func (cls CouchbaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
23609	return nil, false
23610}
23611
23612// AsCassandraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23613func (cls CouchbaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
23614	return nil, false
23615}
23616
23617// AsWebLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23618func (cls CouchbaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
23619	return nil, false
23620}
23621
23622// AsODataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23623func (cls CouchbaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
23624	return nil, false
23625}
23626
23627// AsHdfsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23628func (cls CouchbaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
23629	return nil, false
23630}
23631
23632// AsOdbcLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23633func (cls CouchbaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
23634	return nil, false
23635}
23636
23637// AsAzureMLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23638func (cls CouchbaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
23639	return nil, false
23640}
23641
23642// AsTeradataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23643func (cls CouchbaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
23644	return nil, false
23645}
23646
23647// AsDb2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23648func (cls CouchbaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
23649	return nil, false
23650}
23651
23652// AsSybaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23653func (cls CouchbaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
23654	return nil, false
23655}
23656
23657// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23658func (cls CouchbaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
23659	return nil, false
23660}
23661
23662// AsMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23663func (cls CouchbaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
23664	return nil, false
23665}
23666
23667// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23668func (cls CouchbaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
23669	return nil, false
23670}
23671
23672// AsOracleLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23673func (cls CouchbaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
23674	return nil, false
23675}
23676
23677// AsFileServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23678func (cls CouchbaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
23679	return nil, false
23680}
23681
23682// AsHDInsightLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23683func (cls CouchbaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
23684	return nil, false
23685}
23686
23687// AsDynamicsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23688func (cls CouchbaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
23689	return nil, false
23690}
23691
23692// AsCosmosDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23693func (cls CouchbaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
23694	return nil, false
23695}
23696
23697// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23698func (cls CouchbaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
23699	return nil, false
23700}
23701
23702// AsAzureBatchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23703func (cls CouchbaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
23704	return nil, false
23705}
23706
23707// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23708func (cls CouchbaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
23709	return nil, false
23710}
23711
23712// AsSQLServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23713func (cls CouchbaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
23714	return nil, false
23715}
23716
23717// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23718func (cls CouchbaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
23719	return nil, false
23720}
23721
23722// AsAzureStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23723func (cls CouchbaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
23724	return nil, false
23725}
23726
23727// AsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23728func (cls CouchbaseLinkedService) AsLinkedService() (*LinkedService, bool) {
23729	return nil, false
23730}
23731
23732// AsBasicLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
23733func (cls CouchbaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
23734	return &cls, true
23735}
23736
23737// UnmarshalJSON is the custom unmarshaler for CouchbaseLinkedService struct.
23738func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error {
23739	var m map[string]*json.RawMessage
23740	err := json.Unmarshal(body, &m)
23741	if err != nil {
23742		return err
23743	}
23744	for k, v := range m {
23745		switch k {
23746		case "typeProperties":
23747			if v != nil {
23748				var couchbaseLinkedServiceTypeProperties CouchbaseLinkedServiceTypeProperties
23749				err = json.Unmarshal(*v, &couchbaseLinkedServiceTypeProperties)
23750				if err != nil {
23751					return err
23752				}
23753				cls.CouchbaseLinkedServiceTypeProperties = &couchbaseLinkedServiceTypeProperties
23754			}
23755		default:
23756			if v != nil {
23757				var additionalProperties interface{}
23758				err = json.Unmarshal(*v, &additionalProperties)
23759				if err != nil {
23760					return err
23761				}
23762				if cls.AdditionalProperties == nil {
23763					cls.AdditionalProperties = make(map[string]interface{})
23764				}
23765				cls.AdditionalProperties[k] = additionalProperties
23766			}
23767		case "connectVia":
23768			if v != nil {
23769				var connectVia IntegrationRuntimeReference
23770				err = json.Unmarshal(*v, &connectVia)
23771				if err != nil {
23772					return err
23773				}
23774				cls.ConnectVia = &connectVia
23775			}
23776		case "description":
23777			if v != nil {
23778				var description string
23779				err = json.Unmarshal(*v, &description)
23780				if err != nil {
23781					return err
23782				}
23783				cls.Description = &description
23784			}
23785		case "parameters":
23786			if v != nil {
23787				var parameters map[string]*ParameterSpecification
23788				err = json.Unmarshal(*v, &parameters)
23789				if err != nil {
23790					return err
23791				}
23792				cls.Parameters = parameters
23793			}
23794		case "annotations":
23795			if v != nil {
23796				var annotations []interface{}
23797				err = json.Unmarshal(*v, &annotations)
23798				if err != nil {
23799					return err
23800				}
23801				cls.Annotations = &annotations
23802			}
23803		case "type":
23804			if v != nil {
23805				var typeVar TypeBasicLinkedService
23806				err = json.Unmarshal(*v, &typeVar)
23807				if err != nil {
23808					return err
23809				}
23810				cls.Type = typeVar
23811			}
23812		}
23813	}
23814
23815	return nil
23816}
23817
23818// CouchbaseLinkedServiceTypeProperties couchbase server linked service properties.
23819type CouchbaseLinkedServiceTypeProperties struct {
23820	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
23821	ConnectionString interface{} `json:"connectionString,omitempty"`
23822	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
23823	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
23824}
23825
23826// CouchbaseSource a copy activity Couchbase server source.
23827type CouchbaseSource struct {
23828	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
23829	Query interface{} `json:"query,omitempty"`
23830	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
23831	AdditionalProperties map[string]interface{} `json:""`
23832	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
23833	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
23834	// 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])).
23835	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
23836	// 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'
23837	Type TypeBasicCopySource `json:"type,omitempty"`
23838}
23839
23840// MarshalJSON is the custom marshaler for CouchbaseSource.
23841func (cs CouchbaseSource) MarshalJSON() ([]byte, error) {
23842	cs.Type = TypeCouchbaseSource
23843	objectMap := make(map[string]interface{})
23844	if cs.Query != nil {
23845		objectMap["query"] = cs.Query
23846	}
23847	if cs.SourceRetryCount != nil {
23848		objectMap["sourceRetryCount"] = cs.SourceRetryCount
23849	}
23850	if cs.SourceRetryWait != nil {
23851		objectMap["sourceRetryWait"] = cs.SourceRetryWait
23852	}
23853	if cs.Type != "" {
23854		objectMap["type"] = cs.Type
23855	}
23856	for k, v := range cs.AdditionalProperties {
23857		objectMap[k] = v
23858	}
23859	return json.Marshal(objectMap)
23860}
23861
23862// AsAmazonRedshiftSource is the BasicCopySource implementation for CouchbaseSource.
23863func (cs CouchbaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
23864	return nil, false
23865}
23866
23867// AsResponsysSource is the BasicCopySource implementation for CouchbaseSource.
23868func (cs CouchbaseSource) AsResponsysSource() (*ResponsysSource, bool) {
23869	return nil, false
23870}
23871
23872// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CouchbaseSource.
23873func (cs CouchbaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
23874	return nil, false
23875}
23876
23877// AsVerticaSource is the BasicCopySource implementation for CouchbaseSource.
23878func (cs CouchbaseSource) AsVerticaSource() (*VerticaSource, bool) {
23879	return nil, false
23880}
23881
23882// AsNetezzaSource is the BasicCopySource implementation for CouchbaseSource.
23883func (cs CouchbaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
23884	return nil, false
23885}
23886
23887// AsZohoSource is the BasicCopySource implementation for CouchbaseSource.
23888func (cs CouchbaseSource) AsZohoSource() (*ZohoSource, bool) {
23889	return nil, false
23890}
23891
23892// AsXeroSource is the BasicCopySource implementation for CouchbaseSource.
23893func (cs CouchbaseSource) AsXeroSource() (*XeroSource, bool) {
23894	return nil, false
23895}
23896
23897// AsSquareSource is the BasicCopySource implementation for CouchbaseSource.
23898func (cs CouchbaseSource) AsSquareSource() (*SquareSource, bool) {
23899	return nil, false
23900}
23901
23902// AsSparkSource is the BasicCopySource implementation for CouchbaseSource.
23903func (cs CouchbaseSource) AsSparkSource() (*SparkSource, bool) {
23904	return nil, false
23905}
23906
23907// AsShopifySource is the BasicCopySource implementation for CouchbaseSource.
23908func (cs CouchbaseSource) AsShopifySource() (*ShopifySource, bool) {
23909	return nil, false
23910}
23911
23912// AsServiceNowSource is the BasicCopySource implementation for CouchbaseSource.
23913func (cs CouchbaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
23914	return nil, false
23915}
23916
23917// AsQuickBooksSource is the BasicCopySource implementation for CouchbaseSource.
23918func (cs CouchbaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
23919	return nil, false
23920}
23921
23922// AsPrestoSource is the BasicCopySource implementation for CouchbaseSource.
23923func (cs CouchbaseSource) AsPrestoSource() (*PrestoSource, bool) {
23924	return nil, false
23925}
23926
23927// AsPhoenixSource is the BasicCopySource implementation for CouchbaseSource.
23928func (cs CouchbaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
23929	return nil, false
23930}
23931
23932// AsPaypalSource is the BasicCopySource implementation for CouchbaseSource.
23933func (cs CouchbaseSource) AsPaypalSource() (*PaypalSource, bool) {
23934	return nil, false
23935}
23936
23937// AsMarketoSource is the BasicCopySource implementation for CouchbaseSource.
23938func (cs CouchbaseSource) AsMarketoSource() (*MarketoSource, bool) {
23939	return nil, false
23940}
23941
23942// AsMariaDBSource is the BasicCopySource implementation for CouchbaseSource.
23943func (cs CouchbaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
23944	return nil, false
23945}
23946
23947// AsMagentoSource is the BasicCopySource implementation for CouchbaseSource.
23948func (cs CouchbaseSource) AsMagentoSource() (*MagentoSource, bool) {
23949	return nil, false
23950}
23951
23952// AsJiraSource is the BasicCopySource implementation for CouchbaseSource.
23953func (cs CouchbaseSource) AsJiraSource() (*JiraSource, bool) {
23954	return nil, false
23955}
23956
23957// AsImpalaSource is the BasicCopySource implementation for CouchbaseSource.
23958func (cs CouchbaseSource) AsImpalaSource() (*ImpalaSource, bool) {
23959	return nil, false
23960}
23961
23962// AsHubspotSource is the BasicCopySource implementation for CouchbaseSource.
23963func (cs CouchbaseSource) AsHubspotSource() (*HubspotSource, bool) {
23964	return nil, false
23965}
23966
23967// AsHiveSource is the BasicCopySource implementation for CouchbaseSource.
23968func (cs CouchbaseSource) AsHiveSource() (*HiveSource, bool) {
23969	return nil, false
23970}
23971
23972// AsHBaseSource is the BasicCopySource implementation for CouchbaseSource.
23973func (cs CouchbaseSource) AsHBaseSource() (*HBaseSource, bool) {
23974	return nil, false
23975}
23976
23977// AsGreenplumSource is the BasicCopySource implementation for CouchbaseSource.
23978func (cs CouchbaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
23979	return nil, false
23980}
23981
23982// AsGoogleBigQuerySource is the BasicCopySource implementation for CouchbaseSource.
23983func (cs CouchbaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
23984	return nil, false
23985}
23986
23987// AsEloquaSource is the BasicCopySource implementation for CouchbaseSource.
23988func (cs CouchbaseSource) AsEloquaSource() (*EloquaSource, bool) {
23989	return nil, false
23990}
23991
23992// AsDrillSource is the BasicCopySource implementation for CouchbaseSource.
23993func (cs CouchbaseSource) AsDrillSource() (*DrillSource, bool) {
23994	return nil, false
23995}
23996
23997// AsCouchbaseSource is the BasicCopySource implementation for CouchbaseSource.
23998func (cs CouchbaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
23999	return &cs, true
24000}
24001
24002// AsConcurSource is the BasicCopySource implementation for CouchbaseSource.
24003func (cs CouchbaseSource) AsConcurSource() (*ConcurSource, bool) {
24004	return nil, false
24005}
24006
24007// AsAzurePostgreSQLSource is the BasicCopySource implementation for CouchbaseSource.
24008func (cs CouchbaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
24009	return nil, false
24010}
24011
24012// AsAmazonMWSSource is the BasicCopySource implementation for CouchbaseSource.
24013func (cs CouchbaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
24014	return nil, false
24015}
24016
24017// AsHTTPSource is the BasicCopySource implementation for CouchbaseSource.
24018func (cs CouchbaseSource) AsHTTPSource() (*HTTPSource, bool) {
24019	return nil, false
24020}
24021
24022// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CouchbaseSource.
24023func (cs CouchbaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
24024	return nil, false
24025}
24026
24027// AsMongoDbSource is the BasicCopySource implementation for CouchbaseSource.
24028func (cs CouchbaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
24029	return nil, false
24030}
24031
24032// AsCassandraSource is the BasicCopySource implementation for CouchbaseSource.
24033func (cs CouchbaseSource) AsCassandraSource() (*CassandraSource, bool) {
24034	return nil, false
24035}
24036
24037// AsWebSource is the BasicCopySource implementation for CouchbaseSource.
24038func (cs CouchbaseSource) AsWebSource() (*WebSource, bool) {
24039	return nil, false
24040}
24041
24042// AsOracleSource is the BasicCopySource implementation for CouchbaseSource.
24043func (cs CouchbaseSource) AsOracleSource() (*OracleSource, bool) {
24044	return nil, false
24045}
24046
24047// AsAzureMySQLSource is the BasicCopySource implementation for CouchbaseSource.
24048func (cs CouchbaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
24049	return nil, false
24050}
24051
24052// AsHdfsSource is the BasicCopySource implementation for CouchbaseSource.
24053func (cs CouchbaseSource) AsHdfsSource() (*HdfsSource, bool) {
24054	return nil, false
24055}
24056
24057// AsFileSystemSource is the BasicCopySource implementation for CouchbaseSource.
24058func (cs CouchbaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
24059	return nil, false
24060}
24061
24062// AsSQLDWSource is the BasicCopySource implementation for CouchbaseSource.
24063func (cs CouchbaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
24064	return nil, false
24065}
24066
24067// AsSQLSource is the BasicCopySource implementation for CouchbaseSource.
24068func (cs CouchbaseSource) AsSQLSource() (*SQLSource, bool) {
24069	return nil, false
24070}
24071
24072// AsSapEccSource is the BasicCopySource implementation for CouchbaseSource.
24073func (cs CouchbaseSource) AsSapEccSource() (*SapEccSource, bool) {
24074	return nil, false
24075}
24076
24077// AsSapCloudForCustomerSource is the BasicCopySource implementation for CouchbaseSource.
24078func (cs CouchbaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
24079	return nil, false
24080}
24081
24082// AsSalesforceSource is the BasicCopySource implementation for CouchbaseSource.
24083func (cs CouchbaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
24084	return nil, false
24085}
24086
24087// AsRelationalSource is the BasicCopySource implementation for CouchbaseSource.
24088func (cs CouchbaseSource) AsRelationalSource() (*RelationalSource, bool) {
24089	return nil, false
24090}
24091
24092// AsDynamicsSource is the BasicCopySource implementation for CouchbaseSource.
24093func (cs CouchbaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
24094	return nil, false
24095}
24096
24097// AsDocumentDbCollectionSource is the BasicCopySource implementation for CouchbaseSource.
24098func (cs CouchbaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
24099	return nil, false
24100}
24101
24102// AsBlobSource is the BasicCopySource implementation for CouchbaseSource.
24103func (cs CouchbaseSource) AsBlobSource() (*BlobSource, bool) {
24104	return nil, false
24105}
24106
24107// AsAzureTableSource is the BasicCopySource implementation for CouchbaseSource.
24108func (cs CouchbaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
24109	return nil, false
24110}
24111
24112// AsCopySource is the BasicCopySource implementation for CouchbaseSource.
24113func (cs CouchbaseSource) AsCopySource() (*CopySource, bool) {
24114	return nil, false
24115}
24116
24117// AsBasicCopySource is the BasicCopySource implementation for CouchbaseSource.
24118func (cs CouchbaseSource) AsBasicCopySource() (BasicCopySource, bool) {
24119	return &cs, true
24120}
24121
24122// UnmarshalJSON is the custom unmarshaler for CouchbaseSource struct.
24123func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error {
24124	var m map[string]*json.RawMessage
24125	err := json.Unmarshal(body, &m)
24126	if err != nil {
24127		return err
24128	}
24129	for k, v := range m {
24130		switch k {
24131		case "query":
24132			if v != nil {
24133				var query interface{}
24134				err = json.Unmarshal(*v, &query)
24135				if err != nil {
24136					return err
24137				}
24138				cs.Query = query
24139			}
24140		default:
24141			if v != nil {
24142				var additionalProperties interface{}
24143				err = json.Unmarshal(*v, &additionalProperties)
24144				if err != nil {
24145					return err
24146				}
24147				if cs.AdditionalProperties == nil {
24148					cs.AdditionalProperties = make(map[string]interface{})
24149				}
24150				cs.AdditionalProperties[k] = additionalProperties
24151			}
24152		case "sourceRetryCount":
24153			if v != nil {
24154				var sourceRetryCount interface{}
24155				err = json.Unmarshal(*v, &sourceRetryCount)
24156				if err != nil {
24157					return err
24158				}
24159				cs.SourceRetryCount = sourceRetryCount
24160			}
24161		case "sourceRetryWait":
24162			if v != nil {
24163				var sourceRetryWait interface{}
24164				err = json.Unmarshal(*v, &sourceRetryWait)
24165				if err != nil {
24166					return err
24167				}
24168				cs.SourceRetryWait = sourceRetryWait
24169			}
24170		case "type":
24171			if v != nil {
24172				var typeVar TypeBasicCopySource
24173				err = json.Unmarshal(*v, &typeVar)
24174				if err != nil {
24175					return err
24176				}
24177				cs.Type = typeVar
24178			}
24179		}
24180	}
24181
24182	return nil
24183}
24184
24185// CouchbaseTableDataset couchbase server dataset.
24186type CouchbaseTableDataset struct {
24187	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
24188	AdditionalProperties map[string]interface{} `json:""`
24189	// Description - Dataset description.
24190	Description *string `json:"description,omitempty"`
24191	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
24192	Structure interface{} `json:"structure,omitempty"`
24193	// LinkedServiceName - Linked service reference.
24194	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
24195	// Parameters - Parameters for dataset.
24196	Parameters map[string]*ParameterSpecification `json:"parameters"`
24197	// Annotations - List of tags that can be used for describing the Dataset.
24198	Annotations *[]interface{} `json:"annotations,omitempty"`
24199	// 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'
24200	Type TypeBasicDataset `json:"type,omitempty"`
24201}
24202
24203// MarshalJSON is the custom marshaler for CouchbaseTableDataset.
24204func (ctd CouchbaseTableDataset) MarshalJSON() ([]byte, error) {
24205	ctd.Type = TypeCouchbaseTable
24206	objectMap := make(map[string]interface{})
24207	if ctd.Description != nil {
24208		objectMap["description"] = ctd.Description
24209	}
24210	if ctd.Structure != nil {
24211		objectMap["structure"] = ctd.Structure
24212	}
24213	if ctd.LinkedServiceName != nil {
24214		objectMap["linkedServiceName"] = ctd.LinkedServiceName
24215	}
24216	if ctd.Parameters != nil {
24217		objectMap["parameters"] = ctd.Parameters
24218	}
24219	if ctd.Annotations != nil {
24220		objectMap["annotations"] = ctd.Annotations
24221	}
24222	if ctd.Type != "" {
24223		objectMap["type"] = ctd.Type
24224	}
24225	for k, v := range ctd.AdditionalProperties {
24226		objectMap[k] = v
24227	}
24228	return json.Marshal(objectMap)
24229}
24230
24231// AsResponsysObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24232func (ctd CouchbaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
24233	return nil, false
24234}
24235
24236// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24237func (ctd CouchbaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
24238	return nil, false
24239}
24240
24241// AsVerticaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24242func (ctd CouchbaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
24243	return nil, false
24244}
24245
24246// AsNetezzaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24247func (ctd CouchbaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
24248	return nil, false
24249}
24250
24251// AsZohoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24252func (ctd CouchbaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
24253	return nil, false
24254}
24255
24256// AsXeroObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24257func (ctd CouchbaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
24258	return nil, false
24259}
24260
24261// AsSquareObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24262func (ctd CouchbaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
24263	return nil, false
24264}
24265
24266// AsSparkObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24267func (ctd CouchbaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
24268	return nil, false
24269}
24270
24271// AsShopifyObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24272func (ctd CouchbaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
24273	return nil, false
24274}
24275
24276// AsServiceNowObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24277func (ctd CouchbaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
24278	return nil, false
24279}
24280
24281// AsQuickBooksObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24282func (ctd CouchbaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
24283	return nil, false
24284}
24285
24286// AsPrestoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24287func (ctd CouchbaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
24288	return nil, false
24289}
24290
24291// AsPhoenixObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24292func (ctd CouchbaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
24293	return nil, false
24294}
24295
24296// AsPaypalObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24297func (ctd CouchbaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
24298	return nil, false
24299}
24300
24301// AsMarketoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24302func (ctd CouchbaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
24303	return nil, false
24304}
24305
24306// AsMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24307func (ctd CouchbaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
24308	return nil, false
24309}
24310
24311// AsMagentoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24312func (ctd CouchbaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
24313	return nil, false
24314}
24315
24316// AsJiraObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24317func (ctd CouchbaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
24318	return nil, false
24319}
24320
24321// AsImpalaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24322func (ctd CouchbaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
24323	return nil, false
24324}
24325
24326// AsHubspotObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24327func (ctd CouchbaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
24328	return nil, false
24329}
24330
24331// AsHiveObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24332func (ctd CouchbaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
24333	return nil, false
24334}
24335
24336// AsHBaseObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24337func (ctd CouchbaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
24338	return nil, false
24339}
24340
24341// AsGreenplumTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24342func (ctd CouchbaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
24343	return nil, false
24344}
24345
24346// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24347func (ctd CouchbaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
24348	return nil, false
24349}
24350
24351// AsEloquaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24352func (ctd CouchbaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
24353	return nil, false
24354}
24355
24356// AsDrillTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24357func (ctd CouchbaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
24358	return nil, false
24359}
24360
24361// AsCouchbaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24362func (ctd CouchbaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
24363	return &ctd, true
24364}
24365
24366// AsConcurObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24367func (ctd CouchbaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
24368	return nil, false
24369}
24370
24371// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24372func (ctd CouchbaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
24373	return nil, false
24374}
24375
24376// AsAmazonMWSObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24377func (ctd CouchbaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
24378	return nil, false
24379}
24380
24381// AsHTTPDataset is the BasicDataset implementation for CouchbaseTableDataset.
24382func (ctd CouchbaseTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
24383	return nil, false
24384}
24385
24386// AsAzureSearchIndexDataset is the BasicDataset implementation for CouchbaseTableDataset.
24387func (ctd CouchbaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
24388	return nil, false
24389}
24390
24391// AsWebTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24392func (ctd CouchbaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
24393	return nil, false
24394}
24395
24396// AsSQLServerTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24397func (ctd CouchbaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
24398	return nil, false
24399}
24400
24401// AsSapEccResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
24402func (ctd CouchbaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
24403	return nil, false
24404}
24405
24406// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
24407func (ctd CouchbaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
24408	return nil, false
24409}
24410
24411// AsSalesforceObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
24412func (ctd CouchbaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
24413	return nil, false
24414}
24415
24416// AsRelationalTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24417func (ctd CouchbaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
24418	return nil, false
24419}
24420
24421// AsAzureMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24422func (ctd CouchbaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
24423	return nil, false
24424}
24425
24426// AsOracleTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24427func (ctd CouchbaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
24428	return nil, false
24429}
24430
24431// AsODataResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
24432func (ctd CouchbaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
24433	return nil, false
24434}
24435
24436// AsMongoDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
24437func (ctd CouchbaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
24438	return nil, false
24439}
24440
24441// AsFileShareDataset is the BasicDataset implementation for CouchbaseTableDataset.
24442func (ctd CouchbaseTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
24443	return nil, false
24444}
24445
24446// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CouchbaseTableDataset.
24447func (ctd CouchbaseTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
24448	return nil, false
24449}
24450
24451// AsDynamicsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset.
24452func (ctd CouchbaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
24453	return nil, false
24454}
24455
24456// AsDocumentDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
24457func (ctd CouchbaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
24458	return nil, false
24459}
24460
24461// AsCustomDataset is the BasicDataset implementation for CouchbaseTableDataset.
24462func (ctd CouchbaseTableDataset) AsCustomDataset() (*CustomDataset, bool) {
24463	return nil, false
24464}
24465
24466// AsCassandraTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24467func (ctd CouchbaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
24468	return nil, false
24469}
24470
24471// AsAzureSQLDWTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24472func (ctd CouchbaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
24473	return nil, false
24474}
24475
24476// AsAzureSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24477func (ctd CouchbaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
24478	return nil, false
24479}
24480
24481// AsAzureTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
24482func (ctd CouchbaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
24483	return nil, false
24484}
24485
24486// AsAzureBlobDataset is the BasicDataset implementation for CouchbaseTableDataset.
24487func (ctd CouchbaseTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
24488	return nil, false
24489}
24490
24491// AsAmazonS3Dataset is the BasicDataset implementation for CouchbaseTableDataset.
24492func (ctd CouchbaseTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
24493	return nil, false
24494}
24495
24496// AsDataset is the BasicDataset implementation for CouchbaseTableDataset.
24497func (ctd CouchbaseTableDataset) AsDataset() (*Dataset, bool) {
24498	return nil, false
24499}
24500
24501// AsBasicDataset is the BasicDataset implementation for CouchbaseTableDataset.
24502func (ctd CouchbaseTableDataset) AsBasicDataset() (BasicDataset, bool) {
24503	return &ctd, true
24504}
24505
24506// UnmarshalJSON is the custom unmarshaler for CouchbaseTableDataset struct.
24507func (ctd *CouchbaseTableDataset) UnmarshalJSON(body []byte) error {
24508	var m map[string]*json.RawMessage
24509	err := json.Unmarshal(body, &m)
24510	if err != nil {
24511		return err
24512	}
24513	for k, v := range m {
24514		switch k {
24515		default:
24516			if v != nil {
24517				var additionalProperties interface{}
24518				err = json.Unmarshal(*v, &additionalProperties)
24519				if err != nil {
24520					return err
24521				}
24522				if ctd.AdditionalProperties == nil {
24523					ctd.AdditionalProperties = make(map[string]interface{})
24524				}
24525				ctd.AdditionalProperties[k] = additionalProperties
24526			}
24527		case "description":
24528			if v != nil {
24529				var description string
24530				err = json.Unmarshal(*v, &description)
24531				if err != nil {
24532					return err
24533				}
24534				ctd.Description = &description
24535			}
24536		case "structure":
24537			if v != nil {
24538				var structure interface{}
24539				err = json.Unmarshal(*v, &structure)
24540				if err != nil {
24541					return err
24542				}
24543				ctd.Structure = structure
24544			}
24545		case "linkedServiceName":
24546			if v != nil {
24547				var linkedServiceName LinkedServiceReference
24548				err = json.Unmarshal(*v, &linkedServiceName)
24549				if err != nil {
24550					return err
24551				}
24552				ctd.LinkedServiceName = &linkedServiceName
24553			}
24554		case "parameters":
24555			if v != nil {
24556				var parameters map[string]*ParameterSpecification
24557				err = json.Unmarshal(*v, &parameters)
24558				if err != nil {
24559					return err
24560				}
24561				ctd.Parameters = parameters
24562			}
24563		case "annotations":
24564			if v != nil {
24565				var annotations []interface{}
24566				err = json.Unmarshal(*v, &annotations)
24567				if err != nil {
24568					return err
24569				}
24570				ctd.Annotations = &annotations
24571			}
24572		case "type":
24573			if v != nil {
24574				var typeVar TypeBasicDataset
24575				err = json.Unmarshal(*v, &typeVar)
24576				if err != nil {
24577					return err
24578				}
24579				ctd.Type = typeVar
24580			}
24581		}
24582	}
24583
24584	return nil
24585}
24586
24587// CreateRunResponse response body with a run identifier.
24588type CreateRunResponse struct {
24589	autorest.Response `json:"-"`
24590	// RunID - Identifier of a run.
24591	RunID *string `json:"runId,omitempty"`
24592}
24593
24594// CustomActivity custom activity type.
24595type CustomActivity struct {
24596	// CustomActivityTypeProperties - Custom activity properties.
24597	*CustomActivityTypeProperties `json:"typeProperties,omitempty"`
24598	// LinkedServiceName - Linked service reference.
24599	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
24600	// Policy - Activity policy.
24601	Policy *ActivityPolicy `json:"policy,omitempty"`
24602	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
24603	AdditionalProperties map[string]interface{} `json:""`
24604	// Name - Activity name.
24605	Name *string `json:"name,omitempty"`
24606	// Description - Activity description.
24607	Description *string `json:"description,omitempty"`
24608	// DependsOn - Activity depends on condition.
24609	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
24610	// 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'
24611	Type TypeBasicActivity `json:"type,omitempty"`
24612}
24613
24614// MarshalJSON is the custom marshaler for CustomActivity.
24615func (ca CustomActivity) MarshalJSON() ([]byte, error) {
24616	ca.Type = TypeCustom
24617	objectMap := make(map[string]interface{})
24618	if ca.CustomActivityTypeProperties != nil {
24619		objectMap["typeProperties"] = ca.CustomActivityTypeProperties
24620	}
24621	if ca.LinkedServiceName != nil {
24622		objectMap["linkedServiceName"] = ca.LinkedServiceName
24623	}
24624	if ca.Policy != nil {
24625		objectMap["policy"] = ca.Policy
24626	}
24627	if ca.Name != nil {
24628		objectMap["name"] = ca.Name
24629	}
24630	if ca.Description != nil {
24631		objectMap["description"] = ca.Description
24632	}
24633	if ca.DependsOn != nil {
24634		objectMap["dependsOn"] = ca.DependsOn
24635	}
24636	if ca.Type != "" {
24637		objectMap["type"] = ca.Type
24638	}
24639	for k, v := range ca.AdditionalProperties {
24640		objectMap[k] = v
24641	}
24642	return json.Marshal(objectMap)
24643}
24644
24645// AsDatabricksNotebookActivity is the BasicActivity implementation for CustomActivity.
24646func (ca CustomActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
24647	return nil, false
24648}
24649
24650// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CustomActivity.
24651func (ca CustomActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
24652	return nil, false
24653}
24654
24655// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CustomActivity.
24656func (ca CustomActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
24657	return nil, false
24658}
24659
24660// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CustomActivity.
24661func (ca CustomActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
24662	return nil, false
24663}
24664
24665// AsGetMetadataActivity is the BasicActivity implementation for CustomActivity.
24666func (ca CustomActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
24667	return nil, false
24668}
24669
24670// AsWebActivity is the BasicActivity implementation for CustomActivity.
24671func (ca CustomActivity) AsWebActivity() (*WebActivity, bool) {
24672	return nil, false
24673}
24674
24675// AsLookupActivity is the BasicActivity implementation for CustomActivity.
24676func (ca CustomActivity) AsLookupActivity() (*LookupActivity, bool) {
24677	return nil, false
24678}
24679
24680// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CustomActivity.
24681func (ca CustomActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
24682	return nil, false
24683}
24684
24685// AsCustomActivity is the BasicActivity implementation for CustomActivity.
24686func (ca CustomActivity) AsCustomActivity() (*CustomActivity, bool) {
24687	return &ca, true
24688}
24689
24690// AsExecuteSSISPackageActivity is the BasicActivity implementation for CustomActivity.
24691func (ca CustomActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
24692	return nil, false
24693}
24694
24695// AsHDInsightSparkActivity is the BasicActivity implementation for CustomActivity.
24696func (ca CustomActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
24697	return nil, false
24698}
24699
24700// AsHDInsightStreamingActivity is the BasicActivity implementation for CustomActivity.
24701func (ca CustomActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
24702	return nil, false
24703}
24704
24705// AsHDInsightMapReduceActivity is the BasicActivity implementation for CustomActivity.
24706func (ca CustomActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
24707	return nil, false
24708}
24709
24710// AsHDInsightPigActivity is the BasicActivity implementation for CustomActivity.
24711func (ca CustomActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
24712	return nil, false
24713}
24714
24715// AsHDInsightHiveActivity is the BasicActivity implementation for CustomActivity.
24716func (ca CustomActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
24717	return nil, false
24718}
24719
24720// AsCopyActivity is the BasicActivity implementation for CustomActivity.
24721func (ca CustomActivity) AsCopyActivity() (*CopyActivity, bool) {
24722	return nil, false
24723}
24724
24725// AsExecutionActivity is the BasicActivity implementation for CustomActivity.
24726func (ca CustomActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
24727	return nil, false
24728}
24729
24730// AsBasicExecutionActivity is the BasicActivity implementation for CustomActivity.
24731func (ca CustomActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
24732	return &ca, true
24733}
24734
24735// AsFilterActivity is the BasicActivity implementation for CustomActivity.
24736func (ca CustomActivity) AsFilterActivity() (*FilterActivity, bool) {
24737	return nil, false
24738}
24739
24740// AsUntilActivity is the BasicActivity implementation for CustomActivity.
24741func (ca CustomActivity) AsUntilActivity() (*UntilActivity, bool) {
24742	return nil, false
24743}
24744
24745// AsWaitActivity is the BasicActivity implementation for CustomActivity.
24746func (ca CustomActivity) AsWaitActivity() (*WaitActivity, bool) {
24747	return nil, false
24748}
24749
24750// AsForEachActivity is the BasicActivity implementation for CustomActivity.
24751func (ca CustomActivity) AsForEachActivity() (*ForEachActivity, bool) {
24752	return nil, false
24753}
24754
24755// AsIfConditionActivity is the BasicActivity implementation for CustomActivity.
24756func (ca CustomActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
24757	return nil, false
24758}
24759
24760// AsExecutePipelineActivity is the BasicActivity implementation for CustomActivity.
24761func (ca CustomActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
24762	return nil, false
24763}
24764
24765// AsControlActivity is the BasicActivity implementation for CustomActivity.
24766func (ca CustomActivity) AsControlActivity() (*ControlActivity, bool) {
24767	return nil, false
24768}
24769
24770// AsBasicControlActivity is the BasicActivity implementation for CustomActivity.
24771func (ca CustomActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
24772	return nil, false
24773}
24774
24775// AsActivity is the BasicActivity implementation for CustomActivity.
24776func (ca CustomActivity) AsActivity() (*Activity, bool) {
24777	return nil, false
24778}
24779
24780// AsBasicActivity is the BasicActivity implementation for CustomActivity.
24781func (ca CustomActivity) AsBasicActivity() (BasicActivity, bool) {
24782	return &ca, true
24783}
24784
24785// UnmarshalJSON is the custom unmarshaler for CustomActivity struct.
24786func (ca *CustomActivity) UnmarshalJSON(body []byte) error {
24787	var m map[string]*json.RawMessage
24788	err := json.Unmarshal(body, &m)
24789	if err != nil {
24790		return err
24791	}
24792	for k, v := range m {
24793		switch k {
24794		case "typeProperties":
24795			if v != nil {
24796				var customActivityTypeProperties CustomActivityTypeProperties
24797				err = json.Unmarshal(*v, &customActivityTypeProperties)
24798				if err != nil {
24799					return err
24800				}
24801				ca.CustomActivityTypeProperties = &customActivityTypeProperties
24802			}
24803		case "linkedServiceName":
24804			if v != nil {
24805				var linkedServiceName LinkedServiceReference
24806				err = json.Unmarshal(*v, &linkedServiceName)
24807				if err != nil {
24808					return err
24809				}
24810				ca.LinkedServiceName = &linkedServiceName
24811			}
24812		case "policy":
24813			if v != nil {
24814				var policy ActivityPolicy
24815				err = json.Unmarshal(*v, &policy)
24816				if err != nil {
24817					return err
24818				}
24819				ca.Policy = &policy
24820			}
24821		default:
24822			if v != nil {
24823				var additionalProperties interface{}
24824				err = json.Unmarshal(*v, &additionalProperties)
24825				if err != nil {
24826					return err
24827				}
24828				if ca.AdditionalProperties == nil {
24829					ca.AdditionalProperties = make(map[string]interface{})
24830				}
24831				ca.AdditionalProperties[k] = additionalProperties
24832			}
24833		case "name":
24834			if v != nil {
24835				var name string
24836				err = json.Unmarshal(*v, &name)
24837				if err != nil {
24838					return err
24839				}
24840				ca.Name = &name
24841			}
24842		case "description":
24843			if v != nil {
24844				var description string
24845				err = json.Unmarshal(*v, &description)
24846				if err != nil {
24847					return err
24848				}
24849				ca.Description = &description
24850			}
24851		case "dependsOn":
24852			if v != nil {
24853				var dependsOn []ActivityDependency
24854				err = json.Unmarshal(*v, &dependsOn)
24855				if err != nil {
24856					return err
24857				}
24858				ca.DependsOn = &dependsOn
24859			}
24860		case "type":
24861			if v != nil {
24862				var typeVar TypeBasicActivity
24863				err = json.Unmarshal(*v, &typeVar)
24864				if err != nil {
24865					return err
24866				}
24867				ca.Type = typeVar
24868			}
24869		}
24870	}
24871
24872	return nil
24873}
24874
24875// CustomActivityReferenceObject reference objects for custom activity
24876type CustomActivityReferenceObject struct {
24877	// LinkedServices - Linked service references.
24878	LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"`
24879	// Datasets - Dataset references.
24880	Datasets *[]DatasetReference `json:"datasets,omitempty"`
24881}
24882
24883// CustomActivityTypeProperties custom activity properties.
24884type CustomActivityTypeProperties struct {
24885	// Command - Command for custom activity Type: string (or Expression with resultType string).
24886	Command interface{} `json:"command,omitempty"`
24887	// ResourceLinkedService - Resource linked service reference.
24888	ResourceLinkedService *LinkedServiceReference `json:"resourceLinkedService,omitempty"`
24889	// FolderPath - Folder path for resource files Type: string (or Expression with resultType string).
24890	FolderPath interface{} `json:"folderPath,omitempty"`
24891	// ReferenceObjects - Reference objects
24892	ReferenceObjects *CustomActivityReferenceObject `json:"referenceObjects,omitempty"`
24893	// 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.
24894	ExtendedProperties map[string]interface{} `json:"extendedProperties"`
24895}
24896
24897// MarshalJSON is the custom marshaler for CustomActivityTypeProperties.
24898func (catp CustomActivityTypeProperties) MarshalJSON() ([]byte, error) {
24899	objectMap := make(map[string]interface{})
24900	if catp.Command != nil {
24901		objectMap["command"] = catp.Command
24902	}
24903	if catp.ResourceLinkedService != nil {
24904		objectMap["resourceLinkedService"] = catp.ResourceLinkedService
24905	}
24906	if catp.FolderPath != nil {
24907		objectMap["folderPath"] = catp.FolderPath
24908	}
24909	if catp.ReferenceObjects != nil {
24910		objectMap["referenceObjects"] = catp.ReferenceObjects
24911	}
24912	if catp.ExtendedProperties != nil {
24913		objectMap["extendedProperties"] = catp.ExtendedProperties
24914	}
24915	return json.Marshal(objectMap)
24916}
24917
24918// CustomDataset the custom dataset.
24919type CustomDataset struct {
24920	// TypeProperties - Custom dataset properties.
24921	TypeProperties interface{} `json:"typeProperties,omitempty"`
24922	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
24923	AdditionalProperties map[string]interface{} `json:""`
24924	// Description - Dataset description.
24925	Description *string `json:"description,omitempty"`
24926	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
24927	Structure interface{} `json:"structure,omitempty"`
24928	// LinkedServiceName - Linked service reference.
24929	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
24930	// Parameters - Parameters for dataset.
24931	Parameters map[string]*ParameterSpecification `json:"parameters"`
24932	// Annotations - List of tags that can be used for describing the Dataset.
24933	Annotations *[]interface{} `json:"annotations,omitempty"`
24934	// 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'
24935	Type TypeBasicDataset `json:"type,omitempty"`
24936}
24937
24938// MarshalJSON is the custom marshaler for CustomDataset.
24939func (cd CustomDataset) MarshalJSON() ([]byte, error) {
24940	cd.Type = TypeCustomDataset
24941	objectMap := make(map[string]interface{})
24942	if cd.TypeProperties != nil {
24943		objectMap["typeProperties"] = cd.TypeProperties
24944	}
24945	if cd.Description != nil {
24946		objectMap["description"] = cd.Description
24947	}
24948	if cd.Structure != nil {
24949		objectMap["structure"] = cd.Structure
24950	}
24951	if cd.LinkedServiceName != nil {
24952		objectMap["linkedServiceName"] = cd.LinkedServiceName
24953	}
24954	if cd.Parameters != nil {
24955		objectMap["parameters"] = cd.Parameters
24956	}
24957	if cd.Annotations != nil {
24958		objectMap["annotations"] = cd.Annotations
24959	}
24960	if cd.Type != "" {
24961		objectMap["type"] = cd.Type
24962	}
24963	for k, v := range cd.AdditionalProperties {
24964		objectMap[k] = v
24965	}
24966	return json.Marshal(objectMap)
24967}
24968
24969// AsResponsysObjectDataset is the BasicDataset implementation for CustomDataset.
24970func (cd CustomDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
24971	return nil, false
24972}
24973
24974// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CustomDataset.
24975func (cd CustomDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
24976	return nil, false
24977}
24978
24979// AsVerticaTableDataset is the BasicDataset implementation for CustomDataset.
24980func (cd CustomDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
24981	return nil, false
24982}
24983
24984// AsNetezzaTableDataset is the BasicDataset implementation for CustomDataset.
24985func (cd CustomDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
24986	return nil, false
24987}
24988
24989// AsZohoObjectDataset is the BasicDataset implementation for CustomDataset.
24990func (cd CustomDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
24991	return nil, false
24992}
24993
24994// AsXeroObjectDataset is the BasicDataset implementation for CustomDataset.
24995func (cd CustomDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
24996	return nil, false
24997}
24998
24999// AsSquareObjectDataset is the BasicDataset implementation for CustomDataset.
25000func (cd CustomDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
25001	return nil, false
25002}
25003
25004// AsSparkObjectDataset is the BasicDataset implementation for CustomDataset.
25005func (cd CustomDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
25006	return nil, false
25007}
25008
25009// AsShopifyObjectDataset is the BasicDataset implementation for CustomDataset.
25010func (cd CustomDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
25011	return nil, false
25012}
25013
25014// AsServiceNowObjectDataset is the BasicDataset implementation for CustomDataset.
25015func (cd CustomDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
25016	return nil, false
25017}
25018
25019// AsQuickBooksObjectDataset is the BasicDataset implementation for CustomDataset.
25020func (cd CustomDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
25021	return nil, false
25022}
25023
25024// AsPrestoObjectDataset is the BasicDataset implementation for CustomDataset.
25025func (cd CustomDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
25026	return nil, false
25027}
25028
25029// AsPhoenixObjectDataset is the BasicDataset implementation for CustomDataset.
25030func (cd CustomDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
25031	return nil, false
25032}
25033
25034// AsPaypalObjectDataset is the BasicDataset implementation for CustomDataset.
25035func (cd CustomDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
25036	return nil, false
25037}
25038
25039// AsMarketoObjectDataset is the BasicDataset implementation for CustomDataset.
25040func (cd CustomDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
25041	return nil, false
25042}
25043
25044// AsMariaDBTableDataset is the BasicDataset implementation for CustomDataset.
25045func (cd CustomDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
25046	return nil, false
25047}
25048
25049// AsMagentoObjectDataset is the BasicDataset implementation for CustomDataset.
25050func (cd CustomDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
25051	return nil, false
25052}
25053
25054// AsJiraObjectDataset is the BasicDataset implementation for CustomDataset.
25055func (cd CustomDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
25056	return nil, false
25057}
25058
25059// AsImpalaObjectDataset is the BasicDataset implementation for CustomDataset.
25060func (cd CustomDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
25061	return nil, false
25062}
25063
25064// AsHubspotObjectDataset is the BasicDataset implementation for CustomDataset.
25065func (cd CustomDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
25066	return nil, false
25067}
25068
25069// AsHiveObjectDataset is the BasicDataset implementation for CustomDataset.
25070func (cd CustomDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
25071	return nil, false
25072}
25073
25074// AsHBaseObjectDataset is the BasicDataset implementation for CustomDataset.
25075func (cd CustomDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
25076	return nil, false
25077}
25078
25079// AsGreenplumTableDataset is the BasicDataset implementation for CustomDataset.
25080func (cd CustomDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
25081	return nil, false
25082}
25083
25084// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CustomDataset.
25085func (cd CustomDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
25086	return nil, false
25087}
25088
25089// AsEloquaObjectDataset is the BasicDataset implementation for CustomDataset.
25090func (cd CustomDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
25091	return nil, false
25092}
25093
25094// AsDrillTableDataset is the BasicDataset implementation for CustomDataset.
25095func (cd CustomDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
25096	return nil, false
25097}
25098
25099// AsCouchbaseTableDataset is the BasicDataset implementation for CustomDataset.
25100func (cd CustomDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
25101	return nil, false
25102}
25103
25104// AsConcurObjectDataset is the BasicDataset implementation for CustomDataset.
25105func (cd CustomDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
25106	return nil, false
25107}
25108
25109// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CustomDataset.
25110func (cd CustomDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
25111	return nil, false
25112}
25113
25114// AsAmazonMWSObjectDataset is the BasicDataset implementation for CustomDataset.
25115func (cd CustomDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
25116	return nil, false
25117}
25118
25119// AsHTTPDataset is the BasicDataset implementation for CustomDataset.
25120func (cd CustomDataset) AsHTTPDataset() (*HTTPDataset, bool) {
25121	return nil, false
25122}
25123
25124// AsAzureSearchIndexDataset is the BasicDataset implementation for CustomDataset.
25125func (cd CustomDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
25126	return nil, false
25127}
25128
25129// AsWebTableDataset is the BasicDataset implementation for CustomDataset.
25130func (cd CustomDataset) AsWebTableDataset() (*WebTableDataset, bool) {
25131	return nil, false
25132}
25133
25134// AsSQLServerTableDataset is the BasicDataset implementation for CustomDataset.
25135func (cd CustomDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
25136	return nil, false
25137}
25138
25139// AsSapEccResourceDataset is the BasicDataset implementation for CustomDataset.
25140func (cd CustomDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
25141	return nil, false
25142}
25143
25144// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CustomDataset.
25145func (cd CustomDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
25146	return nil, false
25147}
25148
25149// AsSalesforceObjectDataset is the BasicDataset implementation for CustomDataset.
25150func (cd CustomDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
25151	return nil, false
25152}
25153
25154// AsRelationalTableDataset is the BasicDataset implementation for CustomDataset.
25155func (cd CustomDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
25156	return nil, false
25157}
25158
25159// AsAzureMySQLTableDataset is the BasicDataset implementation for CustomDataset.
25160func (cd CustomDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
25161	return nil, false
25162}
25163
25164// AsOracleTableDataset is the BasicDataset implementation for CustomDataset.
25165func (cd CustomDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
25166	return nil, false
25167}
25168
25169// AsODataResourceDataset is the BasicDataset implementation for CustomDataset.
25170func (cd CustomDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
25171	return nil, false
25172}
25173
25174// AsMongoDbCollectionDataset is the BasicDataset implementation for CustomDataset.
25175func (cd CustomDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
25176	return nil, false
25177}
25178
25179// AsFileShareDataset is the BasicDataset implementation for CustomDataset.
25180func (cd CustomDataset) AsFileShareDataset() (*FileShareDataset, bool) {
25181	return nil, false
25182}
25183
25184// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CustomDataset.
25185func (cd CustomDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
25186	return nil, false
25187}
25188
25189// AsDynamicsEntityDataset is the BasicDataset implementation for CustomDataset.
25190func (cd CustomDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
25191	return nil, false
25192}
25193
25194// AsDocumentDbCollectionDataset is the BasicDataset implementation for CustomDataset.
25195func (cd CustomDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
25196	return nil, false
25197}
25198
25199// AsCustomDataset is the BasicDataset implementation for CustomDataset.
25200func (cd CustomDataset) AsCustomDataset() (*CustomDataset, bool) {
25201	return &cd, true
25202}
25203
25204// AsCassandraTableDataset is the BasicDataset implementation for CustomDataset.
25205func (cd CustomDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
25206	return nil, false
25207}
25208
25209// AsAzureSQLDWTableDataset is the BasicDataset implementation for CustomDataset.
25210func (cd CustomDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
25211	return nil, false
25212}
25213
25214// AsAzureSQLTableDataset is the BasicDataset implementation for CustomDataset.
25215func (cd CustomDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
25216	return nil, false
25217}
25218
25219// AsAzureTableDataset is the BasicDataset implementation for CustomDataset.
25220func (cd CustomDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
25221	return nil, false
25222}
25223
25224// AsAzureBlobDataset is the BasicDataset implementation for CustomDataset.
25225func (cd CustomDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
25226	return nil, false
25227}
25228
25229// AsAmazonS3Dataset is the BasicDataset implementation for CustomDataset.
25230func (cd CustomDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
25231	return nil, false
25232}
25233
25234// AsDataset is the BasicDataset implementation for CustomDataset.
25235func (cd CustomDataset) AsDataset() (*Dataset, bool) {
25236	return nil, false
25237}
25238
25239// AsBasicDataset is the BasicDataset implementation for CustomDataset.
25240func (cd CustomDataset) AsBasicDataset() (BasicDataset, bool) {
25241	return &cd, true
25242}
25243
25244// UnmarshalJSON is the custom unmarshaler for CustomDataset struct.
25245func (cd *CustomDataset) UnmarshalJSON(body []byte) error {
25246	var m map[string]*json.RawMessage
25247	err := json.Unmarshal(body, &m)
25248	if err != nil {
25249		return err
25250	}
25251	for k, v := range m {
25252		switch k {
25253		case "typeProperties":
25254			if v != nil {
25255				var typeProperties interface{}
25256				err = json.Unmarshal(*v, &typeProperties)
25257				if err != nil {
25258					return err
25259				}
25260				cd.TypeProperties = typeProperties
25261			}
25262		default:
25263			if v != nil {
25264				var additionalProperties interface{}
25265				err = json.Unmarshal(*v, &additionalProperties)
25266				if err != nil {
25267					return err
25268				}
25269				if cd.AdditionalProperties == nil {
25270					cd.AdditionalProperties = make(map[string]interface{})
25271				}
25272				cd.AdditionalProperties[k] = additionalProperties
25273			}
25274		case "description":
25275			if v != nil {
25276				var description string
25277				err = json.Unmarshal(*v, &description)
25278				if err != nil {
25279					return err
25280				}
25281				cd.Description = &description
25282			}
25283		case "structure":
25284			if v != nil {
25285				var structure interface{}
25286				err = json.Unmarshal(*v, &structure)
25287				if err != nil {
25288					return err
25289				}
25290				cd.Structure = structure
25291			}
25292		case "linkedServiceName":
25293			if v != nil {
25294				var linkedServiceName LinkedServiceReference
25295				err = json.Unmarshal(*v, &linkedServiceName)
25296				if err != nil {
25297					return err
25298				}
25299				cd.LinkedServiceName = &linkedServiceName
25300			}
25301		case "parameters":
25302			if v != nil {
25303				var parameters map[string]*ParameterSpecification
25304				err = json.Unmarshal(*v, &parameters)
25305				if err != nil {
25306					return err
25307				}
25308				cd.Parameters = parameters
25309			}
25310		case "annotations":
25311			if v != nil {
25312				var annotations []interface{}
25313				err = json.Unmarshal(*v, &annotations)
25314				if err != nil {
25315					return err
25316				}
25317				cd.Annotations = &annotations
25318			}
25319		case "type":
25320			if v != nil {
25321				var typeVar TypeBasicDataset
25322				err = json.Unmarshal(*v, &typeVar)
25323				if err != nil {
25324					return err
25325				}
25326				cd.Type = typeVar
25327			}
25328		}
25329	}
25330
25331	return nil
25332}
25333
25334// CustomDataSourceLinkedService custom linked service.
25335type CustomDataSourceLinkedService struct {
25336	// TypeProperties - Custom linked service properties.
25337	TypeProperties interface{} `json:"typeProperties,omitempty"`
25338	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
25339	AdditionalProperties map[string]interface{} `json:""`
25340	// ConnectVia - The integration runtime reference.
25341	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
25342	// Description - Linked service description.
25343	Description *string `json:"description,omitempty"`
25344	// Parameters - Parameters for linked service.
25345	Parameters map[string]*ParameterSpecification `json:"parameters"`
25346	// Annotations - List of tags that can be used for describing the Dataset.
25347	Annotations *[]interface{} `json:"annotations,omitempty"`
25348	// 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'
25349	Type TypeBasicLinkedService `json:"type,omitempty"`
25350}
25351
25352// MarshalJSON is the custom marshaler for CustomDataSourceLinkedService.
25353func (cdsls CustomDataSourceLinkedService) MarshalJSON() ([]byte, error) {
25354	cdsls.Type = TypeCustomDataSource
25355	objectMap := make(map[string]interface{})
25356	if cdsls.TypeProperties != nil {
25357		objectMap["typeProperties"] = cdsls.TypeProperties
25358	}
25359	if cdsls.ConnectVia != nil {
25360		objectMap["connectVia"] = cdsls.ConnectVia
25361	}
25362	if cdsls.Description != nil {
25363		objectMap["description"] = cdsls.Description
25364	}
25365	if cdsls.Parameters != nil {
25366		objectMap["parameters"] = cdsls.Parameters
25367	}
25368	if cdsls.Annotations != nil {
25369		objectMap["annotations"] = cdsls.Annotations
25370	}
25371	if cdsls.Type != "" {
25372		objectMap["type"] = cdsls.Type
25373	}
25374	for k, v := range cdsls.AdditionalProperties {
25375		objectMap[k] = v
25376	}
25377	return json.Marshal(objectMap)
25378}
25379
25380// AsResponsysLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25381func (cdsls CustomDataSourceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
25382	return nil, false
25383}
25384
25385// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25386func (cdsls CustomDataSourceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
25387	return nil, false
25388}
25389
25390// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25391func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
25392	return nil, false
25393}
25394
25395// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25396func (cdsls CustomDataSourceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
25397	return nil, false
25398}
25399
25400// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25401func (cdsls CustomDataSourceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
25402	return nil, false
25403}
25404
25405// AsNetezzaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25406func (cdsls CustomDataSourceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
25407	return nil, false
25408}
25409
25410// AsVerticaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25411func (cdsls CustomDataSourceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
25412	return nil, false
25413}
25414
25415// AsZohoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25416func (cdsls CustomDataSourceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
25417	return nil, false
25418}
25419
25420// AsXeroLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25421func (cdsls CustomDataSourceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
25422	return nil, false
25423}
25424
25425// AsSquareLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25426func (cdsls CustomDataSourceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
25427	return nil, false
25428}
25429
25430// AsSparkLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25431func (cdsls CustomDataSourceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
25432	return nil, false
25433}
25434
25435// AsShopifyLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25436func (cdsls CustomDataSourceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
25437	return nil, false
25438}
25439
25440// AsServiceNowLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25441func (cdsls CustomDataSourceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
25442	return nil, false
25443}
25444
25445// AsQuickBooksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25446func (cdsls CustomDataSourceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
25447	return nil, false
25448}
25449
25450// AsPrestoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25451func (cdsls CustomDataSourceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
25452	return nil, false
25453}
25454
25455// AsPhoenixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25456func (cdsls CustomDataSourceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
25457	return nil, false
25458}
25459
25460// AsPaypalLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25461func (cdsls CustomDataSourceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
25462	return nil, false
25463}
25464
25465// AsMarketoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25466func (cdsls CustomDataSourceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
25467	return nil, false
25468}
25469
25470// AsMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25471func (cdsls CustomDataSourceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
25472	return nil, false
25473}
25474
25475// AsMagentoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25476func (cdsls CustomDataSourceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
25477	return nil, false
25478}
25479
25480// AsJiraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25481func (cdsls CustomDataSourceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
25482	return nil, false
25483}
25484
25485// AsImpalaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25486func (cdsls CustomDataSourceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
25487	return nil, false
25488}
25489
25490// AsHubspotLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25491func (cdsls CustomDataSourceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
25492	return nil, false
25493}
25494
25495// AsHiveLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25496func (cdsls CustomDataSourceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
25497	return nil, false
25498}
25499
25500// AsHBaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25501func (cdsls CustomDataSourceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
25502	return nil, false
25503}
25504
25505// AsGreenplumLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25506func (cdsls CustomDataSourceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
25507	return nil, false
25508}
25509
25510// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25511func (cdsls CustomDataSourceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
25512	return nil, false
25513}
25514
25515// AsEloquaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25516func (cdsls CustomDataSourceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
25517	return nil, false
25518}
25519
25520// AsDrillLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25521func (cdsls CustomDataSourceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
25522	return nil, false
25523}
25524
25525// AsCouchbaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25526func (cdsls CustomDataSourceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
25527	return nil, false
25528}
25529
25530// AsConcurLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25531func (cdsls CustomDataSourceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
25532	return nil, false
25533}
25534
25535// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25536func (cdsls CustomDataSourceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
25537	return nil, false
25538}
25539
25540// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25541func (cdsls CustomDataSourceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
25542	return nil, false
25543}
25544
25545// AsSapHanaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25546func (cdsls CustomDataSourceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
25547	return nil, false
25548}
25549
25550// AsSapBWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25551func (cdsls CustomDataSourceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
25552	return nil, false
25553}
25554
25555// AsSftpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25556func (cdsls CustomDataSourceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
25557	return nil, false
25558}
25559
25560// AsFtpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25561func (cdsls CustomDataSourceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
25562	return nil, false
25563}
25564
25565// AsHTTPLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25566func (cdsls CustomDataSourceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
25567	return nil, false
25568}
25569
25570// AsAzureSearchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25571func (cdsls CustomDataSourceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
25572	return nil, false
25573}
25574
25575// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25576func (cdsls CustomDataSourceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
25577	return &cdsls, true
25578}
25579
25580// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25581func (cdsls CustomDataSourceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
25582	return nil, false
25583}
25584
25585// AsAmazonS3LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25586func (cdsls CustomDataSourceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
25587	return nil, false
25588}
25589
25590// AsSapEccLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25591func (cdsls CustomDataSourceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
25592	return nil, false
25593}
25594
25595// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25596func (cdsls CustomDataSourceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
25597	return nil, false
25598}
25599
25600// AsSalesforceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25601func (cdsls CustomDataSourceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
25602	return nil, false
25603}
25604
25605// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25606func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
25607	return nil, false
25608}
25609
25610// AsMongoDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25611func (cdsls CustomDataSourceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
25612	return nil, false
25613}
25614
25615// AsCassandraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25616func (cdsls CustomDataSourceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
25617	return nil, false
25618}
25619
25620// AsWebLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25621func (cdsls CustomDataSourceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
25622	return nil, false
25623}
25624
25625// AsODataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25626func (cdsls CustomDataSourceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
25627	return nil, false
25628}
25629
25630// AsHdfsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25631func (cdsls CustomDataSourceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
25632	return nil, false
25633}
25634
25635// AsOdbcLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25636func (cdsls CustomDataSourceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
25637	return nil, false
25638}
25639
25640// AsAzureMLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25641func (cdsls CustomDataSourceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
25642	return nil, false
25643}
25644
25645// AsTeradataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25646func (cdsls CustomDataSourceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
25647	return nil, false
25648}
25649
25650// AsDb2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25651func (cdsls CustomDataSourceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
25652	return nil, false
25653}
25654
25655// AsSybaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25656func (cdsls CustomDataSourceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
25657	return nil, false
25658}
25659
25660// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25661func (cdsls CustomDataSourceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
25662	return nil, false
25663}
25664
25665// AsMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25666func (cdsls CustomDataSourceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
25667	return nil, false
25668}
25669
25670// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25671func (cdsls CustomDataSourceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
25672	return nil, false
25673}
25674
25675// AsOracleLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25676func (cdsls CustomDataSourceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
25677	return nil, false
25678}
25679
25680// AsFileServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25681func (cdsls CustomDataSourceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
25682	return nil, false
25683}
25684
25685// AsHDInsightLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25686func (cdsls CustomDataSourceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
25687	return nil, false
25688}
25689
25690// AsDynamicsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25691func (cdsls CustomDataSourceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
25692	return nil, false
25693}
25694
25695// AsCosmosDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25696func (cdsls CustomDataSourceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
25697	return nil, false
25698}
25699
25700// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25701func (cdsls CustomDataSourceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
25702	return nil, false
25703}
25704
25705// AsAzureBatchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25706func (cdsls CustomDataSourceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
25707	return nil, false
25708}
25709
25710// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25711func (cdsls CustomDataSourceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
25712	return nil, false
25713}
25714
25715// AsSQLServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25716func (cdsls CustomDataSourceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
25717	return nil, false
25718}
25719
25720// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25721func (cdsls CustomDataSourceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
25722	return nil, false
25723}
25724
25725// AsAzureStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25726func (cdsls CustomDataSourceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
25727	return nil, false
25728}
25729
25730// AsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25731func (cdsls CustomDataSourceLinkedService) AsLinkedService() (*LinkedService, bool) {
25732	return nil, false
25733}
25734
25735// AsBasicLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
25736func (cdsls CustomDataSourceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
25737	return &cdsls, true
25738}
25739
25740// UnmarshalJSON is the custom unmarshaler for CustomDataSourceLinkedService struct.
25741func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error {
25742	var m map[string]*json.RawMessage
25743	err := json.Unmarshal(body, &m)
25744	if err != nil {
25745		return err
25746	}
25747	for k, v := range m {
25748		switch k {
25749		case "typeProperties":
25750			if v != nil {
25751				var typeProperties interface{}
25752				err = json.Unmarshal(*v, &typeProperties)
25753				if err != nil {
25754					return err
25755				}
25756				cdsls.TypeProperties = typeProperties
25757			}
25758		default:
25759			if v != nil {
25760				var additionalProperties interface{}
25761				err = json.Unmarshal(*v, &additionalProperties)
25762				if err != nil {
25763					return err
25764				}
25765				if cdsls.AdditionalProperties == nil {
25766					cdsls.AdditionalProperties = make(map[string]interface{})
25767				}
25768				cdsls.AdditionalProperties[k] = additionalProperties
25769			}
25770		case "connectVia":
25771			if v != nil {
25772				var connectVia IntegrationRuntimeReference
25773				err = json.Unmarshal(*v, &connectVia)
25774				if err != nil {
25775					return err
25776				}
25777				cdsls.ConnectVia = &connectVia
25778			}
25779		case "description":
25780			if v != nil {
25781				var description string
25782				err = json.Unmarshal(*v, &description)
25783				if err != nil {
25784					return err
25785				}
25786				cdsls.Description = &description
25787			}
25788		case "parameters":
25789			if v != nil {
25790				var parameters map[string]*ParameterSpecification
25791				err = json.Unmarshal(*v, &parameters)
25792				if err != nil {
25793					return err
25794				}
25795				cdsls.Parameters = parameters
25796			}
25797		case "annotations":
25798			if v != nil {
25799				var annotations []interface{}
25800				err = json.Unmarshal(*v, &annotations)
25801				if err != nil {
25802					return err
25803				}
25804				cdsls.Annotations = &annotations
25805			}
25806		case "type":
25807			if v != nil {
25808				var typeVar TypeBasicLinkedService
25809				err = json.Unmarshal(*v, &typeVar)
25810				if err != nil {
25811					return err
25812				}
25813				cdsls.Type = typeVar
25814			}
25815		}
25816	}
25817
25818	return nil
25819}
25820
25821// DatabricksNotebookActivity databricksNotebook activity.
25822type DatabricksNotebookActivity struct {
25823	// DatabricksNotebookActivityTypeProperties - Databricks Notebook activity properties.
25824	*DatabricksNotebookActivityTypeProperties `json:"typeProperties,omitempty"`
25825	// LinkedServiceName - Linked service reference.
25826	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
25827	// Policy - Activity policy.
25828	Policy *ActivityPolicy `json:"policy,omitempty"`
25829	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
25830	AdditionalProperties map[string]interface{} `json:""`
25831	// Name - Activity name.
25832	Name *string `json:"name,omitempty"`
25833	// Description - Activity description.
25834	Description *string `json:"description,omitempty"`
25835	// DependsOn - Activity depends on condition.
25836	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
25837	// 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'
25838	Type TypeBasicActivity `json:"type,omitempty"`
25839}
25840
25841// MarshalJSON is the custom marshaler for DatabricksNotebookActivity.
25842func (dna DatabricksNotebookActivity) MarshalJSON() ([]byte, error) {
25843	dna.Type = TypeDatabricksNotebook
25844	objectMap := make(map[string]interface{})
25845	if dna.DatabricksNotebookActivityTypeProperties != nil {
25846		objectMap["typeProperties"] = dna.DatabricksNotebookActivityTypeProperties
25847	}
25848	if dna.LinkedServiceName != nil {
25849		objectMap["linkedServiceName"] = dna.LinkedServiceName
25850	}
25851	if dna.Policy != nil {
25852		objectMap["policy"] = dna.Policy
25853	}
25854	if dna.Name != nil {
25855		objectMap["name"] = dna.Name
25856	}
25857	if dna.Description != nil {
25858		objectMap["description"] = dna.Description
25859	}
25860	if dna.DependsOn != nil {
25861		objectMap["dependsOn"] = dna.DependsOn
25862	}
25863	if dna.Type != "" {
25864		objectMap["type"] = dna.Type
25865	}
25866	for k, v := range dna.AdditionalProperties {
25867		objectMap[k] = v
25868	}
25869	return json.Marshal(objectMap)
25870}
25871
25872// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25873func (dna DatabricksNotebookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
25874	return &dna, true
25875}
25876
25877// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25878func (dna DatabricksNotebookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
25879	return nil, false
25880}
25881
25882// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25883func (dna DatabricksNotebookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
25884	return nil, false
25885}
25886
25887// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25888func (dna DatabricksNotebookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
25889	return nil, false
25890}
25891
25892// AsGetMetadataActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25893func (dna DatabricksNotebookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
25894	return nil, false
25895}
25896
25897// AsWebActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25898func (dna DatabricksNotebookActivity) AsWebActivity() (*WebActivity, bool) {
25899	return nil, false
25900}
25901
25902// AsLookupActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25903func (dna DatabricksNotebookActivity) AsLookupActivity() (*LookupActivity, bool) {
25904	return nil, false
25905}
25906
25907// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25908func (dna DatabricksNotebookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
25909	return nil, false
25910}
25911
25912// AsCustomActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25913func (dna DatabricksNotebookActivity) AsCustomActivity() (*CustomActivity, bool) {
25914	return nil, false
25915}
25916
25917// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25918func (dna DatabricksNotebookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
25919	return nil, false
25920}
25921
25922// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25923func (dna DatabricksNotebookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
25924	return nil, false
25925}
25926
25927// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25928func (dna DatabricksNotebookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
25929	return nil, false
25930}
25931
25932// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25933func (dna DatabricksNotebookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
25934	return nil, false
25935}
25936
25937// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25938func (dna DatabricksNotebookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
25939	return nil, false
25940}
25941
25942// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25943func (dna DatabricksNotebookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
25944	return nil, false
25945}
25946
25947// AsCopyActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25948func (dna DatabricksNotebookActivity) AsCopyActivity() (*CopyActivity, bool) {
25949	return nil, false
25950}
25951
25952// AsExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25953func (dna DatabricksNotebookActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
25954	return nil, false
25955}
25956
25957// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25958func (dna DatabricksNotebookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
25959	return &dna, true
25960}
25961
25962// AsFilterActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25963func (dna DatabricksNotebookActivity) AsFilterActivity() (*FilterActivity, bool) {
25964	return nil, false
25965}
25966
25967// AsUntilActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25968func (dna DatabricksNotebookActivity) AsUntilActivity() (*UntilActivity, bool) {
25969	return nil, false
25970}
25971
25972// AsWaitActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25973func (dna DatabricksNotebookActivity) AsWaitActivity() (*WaitActivity, bool) {
25974	return nil, false
25975}
25976
25977// AsForEachActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25978func (dna DatabricksNotebookActivity) AsForEachActivity() (*ForEachActivity, bool) {
25979	return nil, false
25980}
25981
25982// AsIfConditionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25983func (dna DatabricksNotebookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
25984	return nil, false
25985}
25986
25987// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25988func (dna DatabricksNotebookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
25989	return nil, false
25990}
25991
25992// AsControlActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25993func (dna DatabricksNotebookActivity) AsControlActivity() (*ControlActivity, bool) {
25994	return nil, false
25995}
25996
25997// AsBasicControlActivity is the BasicActivity implementation for DatabricksNotebookActivity.
25998func (dna DatabricksNotebookActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
25999	return nil, false
26000}
26001
26002// AsActivity is the BasicActivity implementation for DatabricksNotebookActivity.
26003func (dna DatabricksNotebookActivity) AsActivity() (*Activity, bool) {
26004	return nil, false
26005}
26006
26007// AsBasicActivity is the BasicActivity implementation for DatabricksNotebookActivity.
26008func (dna DatabricksNotebookActivity) AsBasicActivity() (BasicActivity, bool) {
26009	return &dna, true
26010}
26011
26012// UnmarshalJSON is the custom unmarshaler for DatabricksNotebookActivity struct.
26013func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error {
26014	var m map[string]*json.RawMessage
26015	err := json.Unmarshal(body, &m)
26016	if err != nil {
26017		return err
26018	}
26019	for k, v := range m {
26020		switch k {
26021		case "typeProperties":
26022			if v != nil {
26023				var databricksNotebookActivityTypeProperties DatabricksNotebookActivityTypeProperties
26024				err = json.Unmarshal(*v, &databricksNotebookActivityTypeProperties)
26025				if err != nil {
26026					return err
26027				}
26028				dna.DatabricksNotebookActivityTypeProperties = &databricksNotebookActivityTypeProperties
26029			}
26030		case "linkedServiceName":
26031			if v != nil {
26032				var linkedServiceName LinkedServiceReference
26033				err = json.Unmarshal(*v, &linkedServiceName)
26034				if err != nil {
26035					return err
26036				}
26037				dna.LinkedServiceName = &linkedServiceName
26038			}
26039		case "policy":
26040			if v != nil {
26041				var policy ActivityPolicy
26042				err = json.Unmarshal(*v, &policy)
26043				if err != nil {
26044					return err
26045				}
26046				dna.Policy = &policy
26047			}
26048		default:
26049			if v != nil {
26050				var additionalProperties interface{}
26051				err = json.Unmarshal(*v, &additionalProperties)
26052				if err != nil {
26053					return err
26054				}
26055				if dna.AdditionalProperties == nil {
26056					dna.AdditionalProperties = make(map[string]interface{})
26057				}
26058				dna.AdditionalProperties[k] = additionalProperties
26059			}
26060		case "name":
26061			if v != nil {
26062				var name string
26063				err = json.Unmarshal(*v, &name)
26064				if err != nil {
26065					return err
26066				}
26067				dna.Name = &name
26068			}
26069		case "description":
26070			if v != nil {
26071				var description string
26072				err = json.Unmarshal(*v, &description)
26073				if err != nil {
26074					return err
26075				}
26076				dna.Description = &description
26077			}
26078		case "dependsOn":
26079			if v != nil {
26080				var dependsOn []ActivityDependency
26081				err = json.Unmarshal(*v, &dependsOn)
26082				if err != nil {
26083					return err
26084				}
26085				dna.DependsOn = &dependsOn
26086			}
26087		case "type":
26088			if v != nil {
26089				var typeVar TypeBasicActivity
26090				err = json.Unmarshal(*v, &typeVar)
26091				if err != nil {
26092					return err
26093				}
26094				dna.Type = typeVar
26095			}
26096		}
26097	}
26098
26099	return nil
26100}
26101
26102// DatabricksNotebookActivityTypeProperties databricks Notebook activity properties.
26103type DatabricksNotebookActivityTypeProperties struct {
26104	// 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).
26105	NotebookPath interface{} `json:"notebookPath,omitempty"`
26106	// 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.
26107	BaseParameters map[string]interface{} `json:"baseParameters"`
26108}
26109
26110// MarshalJSON is the custom marshaler for DatabricksNotebookActivityTypeProperties.
26111func (dnatp DatabricksNotebookActivityTypeProperties) MarshalJSON() ([]byte, error) {
26112	objectMap := make(map[string]interface{})
26113	if dnatp.NotebookPath != nil {
26114		objectMap["notebookPath"] = dnatp.NotebookPath
26115	}
26116	if dnatp.BaseParameters != nil {
26117		objectMap["baseParameters"] = dnatp.BaseParameters
26118	}
26119	return json.Marshal(objectMap)
26120}
26121
26122// DataLakeAnalyticsUSQLActivity data Lake Analytics U-SQL activity.
26123type DataLakeAnalyticsUSQLActivity struct {
26124	// DataLakeAnalyticsUSQLActivityTypeProperties - Data Lake Analytics U-SQL activity properties.
26125	*DataLakeAnalyticsUSQLActivityTypeProperties `json:"typeProperties,omitempty"`
26126	// LinkedServiceName - Linked service reference.
26127	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
26128	// Policy - Activity policy.
26129	Policy *ActivityPolicy `json:"policy,omitempty"`
26130	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
26131	AdditionalProperties map[string]interface{} `json:""`
26132	// Name - Activity name.
26133	Name *string `json:"name,omitempty"`
26134	// Description - Activity description.
26135	Description *string `json:"description,omitempty"`
26136	// DependsOn - Activity depends on condition.
26137	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
26138	// 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'
26139	Type TypeBasicActivity `json:"type,omitempty"`
26140}
26141
26142// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivity.
26143func (dlaua DataLakeAnalyticsUSQLActivity) MarshalJSON() ([]byte, error) {
26144	dlaua.Type = TypeDataLakeAnalyticsUSQL
26145	objectMap := make(map[string]interface{})
26146	if dlaua.DataLakeAnalyticsUSQLActivityTypeProperties != nil {
26147		objectMap["typeProperties"] = dlaua.DataLakeAnalyticsUSQLActivityTypeProperties
26148	}
26149	if dlaua.LinkedServiceName != nil {
26150		objectMap["linkedServiceName"] = dlaua.LinkedServiceName
26151	}
26152	if dlaua.Policy != nil {
26153		objectMap["policy"] = dlaua.Policy
26154	}
26155	if dlaua.Name != nil {
26156		objectMap["name"] = dlaua.Name
26157	}
26158	if dlaua.Description != nil {
26159		objectMap["description"] = dlaua.Description
26160	}
26161	if dlaua.DependsOn != nil {
26162		objectMap["dependsOn"] = dlaua.DependsOn
26163	}
26164	if dlaua.Type != "" {
26165		objectMap["type"] = dlaua.Type
26166	}
26167	for k, v := range dlaua.AdditionalProperties {
26168		objectMap[k] = v
26169	}
26170	return json.Marshal(objectMap)
26171}
26172
26173// AsDatabricksNotebookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26174func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
26175	return nil, false
26176}
26177
26178// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26179func (dlaua DataLakeAnalyticsUSQLActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
26180	return &dlaua, true
26181}
26182
26183// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26184func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
26185	return nil, false
26186}
26187
26188// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26189func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
26190	return nil, false
26191}
26192
26193// AsGetMetadataActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26194func (dlaua DataLakeAnalyticsUSQLActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
26195	return nil, false
26196}
26197
26198// AsWebActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26199func (dlaua DataLakeAnalyticsUSQLActivity) AsWebActivity() (*WebActivity, bool) {
26200	return nil, false
26201}
26202
26203// AsLookupActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26204func (dlaua DataLakeAnalyticsUSQLActivity) AsLookupActivity() (*LookupActivity, bool) {
26205	return nil, false
26206}
26207
26208// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26209func (dlaua DataLakeAnalyticsUSQLActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
26210	return nil, false
26211}
26212
26213// AsCustomActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26214func (dlaua DataLakeAnalyticsUSQLActivity) AsCustomActivity() (*CustomActivity, bool) {
26215	return nil, false
26216}
26217
26218// AsExecuteSSISPackageActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26219func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
26220	return nil, false
26221}
26222
26223// AsHDInsightSparkActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26224func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
26225	return nil, false
26226}
26227
26228// AsHDInsightStreamingActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26229func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
26230	return nil, false
26231}
26232
26233// AsHDInsightMapReduceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26234func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
26235	return nil, false
26236}
26237
26238// AsHDInsightPigActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26239func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
26240	return nil, false
26241}
26242
26243// AsHDInsightHiveActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26244func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
26245	return nil, false
26246}
26247
26248// AsCopyActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26249func (dlaua DataLakeAnalyticsUSQLActivity) AsCopyActivity() (*CopyActivity, bool) {
26250	return nil, false
26251}
26252
26253// AsExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26254func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
26255	return nil, false
26256}
26257
26258// AsBasicExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26259func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
26260	return &dlaua, true
26261}
26262
26263// AsFilterActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26264func (dlaua DataLakeAnalyticsUSQLActivity) AsFilterActivity() (*FilterActivity, bool) {
26265	return nil, false
26266}
26267
26268// AsUntilActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26269func (dlaua DataLakeAnalyticsUSQLActivity) AsUntilActivity() (*UntilActivity, bool) {
26270	return nil, false
26271}
26272
26273// AsWaitActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26274func (dlaua DataLakeAnalyticsUSQLActivity) AsWaitActivity() (*WaitActivity, bool) {
26275	return nil, false
26276}
26277
26278// AsForEachActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26279func (dlaua DataLakeAnalyticsUSQLActivity) AsForEachActivity() (*ForEachActivity, bool) {
26280	return nil, false
26281}
26282
26283// AsIfConditionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26284func (dlaua DataLakeAnalyticsUSQLActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
26285	return nil, false
26286}
26287
26288// AsExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26289func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
26290	return nil, false
26291}
26292
26293// AsControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26294func (dlaua DataLakeAnalyticsUSQLActivity) AsControlActivity() (*ControlActivity, bool) {
26295	return nil, false
26296}
26297
26298// AsBasicControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26299func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
26300	return nil, false
26301}
26302
26303// AsActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26304func (dlaua DataLakeAnalyticsUSQLActivity) AsActivity() (*Activity, bool) {
26305	return nil, false
26306}
26307
26308// AsBasicActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
26309func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicActivity() (BasicActivity, bool) {
26310	return &dlaua, true
26311}
26312
26313// UnmarshalJSON is the custom unmarshaler for DataLakeAnalyticsUSQLActivity struct.
26314func (dlaua *DataLakeAnalyticsUSQLActivity) UnmarshalJSON(body []byte) error {
26315	var m map[string]*json.RawMessage
26316	err := json.Unmarshal(body, &m)
26317	if err != nil {
26318		return err
26319	}
26320	for k, v := range m {
26321		switch k {
26322		case "typeProperties":
26323			if v != nil {
26324				var dataLakeAnalyticsUSQLActivityTypeProperties DataLakeAnalyticsUSQLActivityTypeProperties
26325				err = json.Unmarshal(*v, &dataLakeAnalyticsUSQLActivityTypeProperties)
26326				if err != nil {
26327					return err
26328				}
26329				dlaua.DataLakeAnalyticsUSQLActivityTypeProperties = &dataLakeAnalyticsUSQLActivityTypeProperties
26330			}
26331		case "linkedServiceName":
26332			if v != nil {
26333				var linkedServiceName LinkedServiceReference
26334				err = json.Unmarshal(*v, &linkedServiceName)
26335				if err != nil {
26336					return err
26337				}
26338				dlaua.LinkedServiceName = &linkedServiceName
26339			}
26340		case "policy":
26341			if v != nil {
26342				var policy ActivityPolicy
26343				err = json.Unmarshal(*v, &policy)
26344				if err != nil {
26345					return err
26346				}
26347				dlaua.Policy = &policy
26348			}
26349		default:
26350			if v != nil {
26351				var additionalProperties interface{}
26352				err = json.Unmarshal(*v, &additionalProperties)
26353				if err != nil {
26354					return err
26355				}
26356				if dlaua.AdditionalProperties == nil {
26357					dlaua.AdditionalProperties = make(map[string]interface{})
26358				}
26359				dlaua.AdditionalProperties[k] = additionalProperties
26360			}
26361		case "name":
26362			if v != nil {
26363				var name string
26364				err = json.Unmarshal(*v, &name)
26365				if err != nil {
26366					return err
26367				}
26368				dlaua.Name = &name
26369			}
26370		case "description":
26371			if v != nil {
26372				var description string
26373				err = json.Unmarshal(*v, &description)
26374				if err != nil {
26375					return err
26376				}
26377				dlaua.Description = &description
26378			}
26379		case "dependsOn":
26380			if v != nil {
26381				var dependsOn []ActivityDependency
26382				err = json.Unmarshal(*v, &dependsOn)
26383				if err != nil {
26384					return err
26385				}
26386				dlaua.DependsOn = &dependsOn
26387			}
26388		case "type":
26389			if v != nil {
26390				var typeVar TypeBasicActivity
26391				err = json.Unmarshal(*v, &typeVar)
26392				if err != nil {
26393					return err
26394				}
26395				dlaua.Type = typeVar
26396			}
26397		}
26398	}
26399
26400	return nil
26401}
26402
26403// DataLakeAnalyticsUSQLActivityTypeProperties dataLakeAnalyticsU-SQL activity properties.
26404type DataLakeAnalyticsUSQLActivityTypeProperties struct {
26405	// ScriptPath - Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
26406	ScriptPath interface{} `json:"scriptPath,omitempty"`
26407	// ScriptLinkedService - Script linked service reference.
26408	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
26409	// 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.
26410	DegreeOfParallelism interface{} `json:"degreeOfParallelism,omitempty"`
26411	// 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.
26412	Priority interface{} `json:"priority,omitempty"`
26413	// Parameters - Parameters for U-SQL job request.
26414	Parameters map[string]interface{} `json:"parameters"`
26415	// RuntimeVersion - Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
26416	RuntimeVersion interface{} `json:"runtimeVersion,omitempty"`
26417	// CompilationMode - Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
26418	CompilationMode interface{} `json:"compilationMode,omitempty"`
26419}
26420
26421// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivityTypeProperties.
26422func (dlauatp DataLakeAnalyticsUSQLActivityTypeProperties) MarshalJSON() ([]byte, error) {
26423	objectMap := make(map[string]interface{})
26424	if dlauatp.ScriptPath != nil {
26425		objectMap["scriptPath"] = dlauatp.ScriptPath
26426	}
26427	if dlauatp.ScriptLinkedService != nil {
26428		objectMap["scriptLinkedService"] = dlauatp.ScriptLinkedService
26429	}
26430	if dlauatp.DegreeOfParallelism != nil {
26431		objectMap["degreeOfParallelism"] = dlauatp.DegreeOfParallelism
26432	}
26433	if dlauatp.Priority != nil {
26434		objectMap["priority"] = dlauatp.Priority
26435	}
26436	if dlauatp.Parameters != nil {
26437		objectMap["parameters"] = dlauatp.Parameters
26438	}
26439	if dlauatp.RuntimeVersion != nil {
26440		objectMap["runtimeVersion"] = dlauatp.RuntimeVersion
26441	}
26442	if dlauatp.CompilationMode != nil {
26443		objectMap["compilationMode"] = dlauatp.CompilationMode
26444	}
26445	return json.Marshal(objectMap)
26446}
26447
26448// BasicDataset the Azure Data Factory nested object which identifies data within different data stores, such as
26449// tables, files, folders, and documents.
26450type BasicDataset interface {
26451	AsResponsysObjectDataset() (*ResponsysObjectDataset, bool)
26452	AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool)
26453	AsVerticaTableDataset() (*VerticaTableDataset, bool)
26454	AsNetezzaTableDataset() (*NetezzaTableDataset, bool)
26455	AsZohoObjectDataset() (*ZohoObjectDataset, bool)
26456	AsXeroObjectDataset() (*XeroObjectDataset, bool)
26457	AsSquareObjectDataset() (*SquareObjectDataset, bool)
26458	AsSparkObjectDataset() (*SparkObjectDataset, bool)
26459	AsShopifyObjectDataset() (*ShopifyObjectDataset, bool)
26460	AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool)
26461	AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool)
26462	AsPrestoObjectDataset() (*PrestoObjectDataset, bool)
26463	AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool)
26464	AsPaypalObjectDataset() (*PaypalObjectDataset, bool)
26465	AsMarketoObjectDataset() (*MarketoObjectDataset, bool)
26466	AsMariaDBTableDataset() (*MariaDBTableDataset, bool)
26467	AsMagentoObjectDataset() (*MagentoObjectDataset, bool)
26468	AsJiraObjectDataset() (*JiraObjectDataset, bool)
26469	AsImpalaObjectDataset() (*ImpalaObjectDataset, bool)
26470	AsHubspotObjectDataset() (*HubspotObjectDataset, bool)
26471	AsHiveObjectDataset() (*HiveObjectDataset, bool)
26472	AsHBaseObjectDataset() (*HBaseObjectDataset, bool)
26473	AsGreenplumTableDataset() (*GreenplumTableDataset, bool)
26474	AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool)
26475	AsEloquaObjectDataset() (*EloquaObjectDataset, bool)
26476	AsDrillTableDataset() (*DrillTableDataset, bool)
26477	AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool)
26478	AsConcurObjectDataset() (*ConcurObjectDataset, bool)
26479	AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool)
26480	AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool)
26481	AsHTTPDataset() (*HTTPDataset, bool)
26482	AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool)
26483	AsWebTableDataset() (*WebTableDataset, bool)
26484	AsSQLServerTableDataset() (*SQLServerTableDataset, bool)
26485	AsSapEccResourceDataset() (*SapEccResourceDataset, bool)
26486	AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool)
26487	AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool)
26488	AsRelationalTableDataset() (*RelationalTableDataset, bool)
26489	AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool)
26490	AsOracleTableDataset() (*OracleTableDataset, bool)
26491	AsODataResourceDataset() (*ODataResourceDataset, bool)
26492	AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool)
26493	AsFileShareDataset() (*FileShareDataset, bool)
26494	AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool)
26495	AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool)
26496	AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool)
26497	AsCustomDataset() (*CustomDataset, bool)
26498	AsCassandraTableDataset() (*CassandraTableDataset, bool)
26499	AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool)
26500	AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool)
26501	AsAzureTableDataset() (*AzureTableDataset, bool)
26502	AsAzureBlobDataset() (*AzureBlobDataset, bool)
26503	AsAmazonS3Dataset() (*AmazonS3Dataset, bool)
26504	AsDataset() (*Dataset, bool)
26505}
26506
26507// Dataset the Azure Data Factory nested object which identifies data within different data stores, such as
26508// tables, files, folders, and documents.
26509type Dataset struct {
26510	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
26511	AdditionalProperties map[string]interface{} `json:""`
26512	// Description - Dataset description.
26513	Description *string `json:"description,omitempty"`
26514	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
26515	Structure interface{} `json:"structure,omitempty"`
26516	// LinkedServiceName - Linked service reference.
26517	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
26518	// Parameters - Parameters for dataset.
26519	Parameters map[string]*ParameterSpecification `json:"parameters"`
26520	// Annotations - List of tags that can be used for describing the Dataset.
26521	Annotations *[]interface{} `json:"annotations,omitempty"`
26522	// 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'
26523	Type TypeBasicDataset `json:"type,omitempty"`
26524}
26525
26526func unmarshalBasicDataset(body []byte) (BasicDataset, error) {
26527	var m map[string]interface{}
26528	err := json.Unmarshal(body, &m)
26529	if err != nil {
26530		return nil, err
26531	}
26532
26533	switch m["type"] {
26534	case string(TypeResponsysObject):
26535		var rod ResponsysObjectDataset
26536		err := json.Unmarshal(body, &rod)
26537		return rod, err
26538	case string(TypeSalesforceMarketingCloudObject):
26539		var smcod SalesforceMarketingCloudObjectDataset
26540		err := json.Unmarshal(body, &smcod)
26541		return smcod, err
26542	case string(TypeVerticaTable):
26543		var vtd VerticaTableDataset
26544		err := json.Unmarshal(body, &vtd)
26545		return vtd, err
26546	case string(TypeNetezzaTable):
26547		var ntd NetezzaTableDataset
26548		err := json.Unmarshal(body, &ntd)
26549		return ntd, err
26550	case string(TypeZohoObject):
26551		var zod ZohoObjectDataset
26552		err := json.Unmarshal(body, &zod)
26553		return zod, err
26554	case string(TypeXeroObject):
26555		var xod XeroObjectDataset
26556		err := json.Unmarshal(body, &xod)
26557		return xod, err
26558	case string(TypeSquareObject):
26559		var sod SquareObjectDataset
26560		err := json.Unmarshal(body, &sod)
26561		return sod, err
26562	case string(TypeSparkObject):
26563		var sod SparkObjectDataset
26564		err := json.Unmarshal(body, &sod)
26565		return sod, err
26566	case string(TypeShopifyObject):
26567		var sod ShopifyObjectDataset
26568		err := json.Unmarshal(body, &sod)
26569		return sod, err
26570	case string(TypeServiceNowObject):
26571		var snod ServiceNowObjectDataset
26572		err := json.Unmarshal(body, &snod)
26573		return snod, err
26574	case string(TypeQuickBooksObject):
26575		var qbod QuickBooksObjectDataset
26576		err := json.Unmarshal(body, &qbod)
26577		return qbod, err
26578	case string(TypePrestoObject):
26579		var pod PrestoObjectDataset
26580		err := json.Unmarshal(body, &pod)
26581		return pod, err
26582	case string(TypePhoenixObject):
26583		var pod PhoenixObjectDataset
26584		err := json.Unmarshal(body, &pod)
26585		return pod, err
26586	case string(TypePaypalObject):
26587		var pod PaypalObjectDataset
26588		err := json.Unmarshal(body, &pod)
26589		return pod, err
26590	case string(TypeMarketoObject):
26591		var mod MarketoObjectDataset
26592		err := json.Unmarshal(body, &mod)
26593		return mod, err
26594	case string(TypeMariaDBTable):
26595		var mdtd MariaDBTableDataset
26596		err := json.Unmarshal(body, &mdtd)
26597		return mdtd, err
26598	case string(TypeMagentoObject):
26599		var mod MagentoObjectDataset
26600		err := json.Unmarshal(body, &mod)
26601		return mod, err
26602	case string(TypeJiraObject):
26603		var jod JiraObjectDataset
26604		err := json.Unmarshal(body, &jod)
26605		return jod, err
26606	case string(TypeImpalaObject):
26607		var iod ImpalaObjectDataset
26608		err := json.Unmarshal(body, &iod)
26609		return iod, err
26610	case string(TypeHubspotObject):
26611		var hod HubspotObjectDataset
26612		err := json.Unmarshal(body, &hod)
26613		return hod, err
26614	case string(TypeHiveObject):
26615		var hod HiveObjectDataset
26616		err := json.Unmarshal(body, &hod)
26617		return hod, err
26618	case string(TypeHBaseObject):
26619		var hbod HBaseObjectDataset
26620		err := json.Unmarshal(body, &hbod)
26621		return hbod, err
26622	case string(TypeGreenplumTable):
26623		var gtd GreenplumTableDataset
26624		err := json.Unmarshal(body, &gtd)
26625		return gtd, err
26626	case string(TypeGoogleBigQueryObject):
26627		var gbqod GoogleBigQueryObjectDataset
26628		err := json.Unmarshal(body, &gbqod)
26629		return gbqod, err
26630	case string(TypeEloquaObject):
26631		var eod EloquaObjectDataset
26632		err := json.Unmarshal(body, &eod)
26633		return eod, err
26634	case string(TypeDrillTable):
26635		var dtd DrillTableDataset
26636		err := json.Unmarshal(body, &dtd)
26637		return dtd, err
26638	case string(TypeCouchbaseTable):
26639		var ctd CouchbaseTableDataset
26640		err := json.Unmarshal(body, &ctd)
26641		return ctd, err
26642	case string(TypeConcurObject):
26643		var cod ConcurObjectDataset
26644		err := json.Unmarshal(body, &cod)
26645		return cod, err
26646	case string(TypeAzurePostgreSQLTable):
26647		var apstd AzurePostgreSQLTableDataset
26648		err := json.Unmarshal(body, &apstd)
26649		return apstd, err
26650	case string(TypeAmazonMWSObject):
26651		var amod AmazonMWSObjectDataset
26652		err := json.Unmarshal(body, &amod)
26653		return amod, err
26654	case string(TypeHTTPFile):
26655		var hd HTTPDataset
26656		err := json.Unmarshal(body, &hd)
26657		return hd, err
26658	case string(TypeAzureSearchIndex):
26659		var asid AzureSearchIndexDataset
26660		err := json.Unmarshal(body, &asid)
26661		return asid, err
26662	case string(TypeWebTable):
26663		var wtd WebTableDataset
26664		err := json.Unmarshal(body, &wtd)
26665		return wtd, err
26666	case string(TypeSQLServerTable):
26667		var sstd SQLServerTableDataset
26668		err := json.Unmarshal(body, &sstd)
26669		return sstd, err
26670	case string(TypeSapEccResource):
26671		var serd SapEccResourceDataset
26672		err := json.Unmarshal(body, &serd)
26673		return serd, err
26674	case string(TypeSapCloudForCustomerResource):
26675		var scfcrd SapCloudForCustomerResourceDataset
26676		err := json.Unmarshal(body, &scfcrd)
26677		return scfcrd, err
26678	case string(TypeSalesforceObject):
26679		var sod SalesforceObjectDataset
26680		err := json.Unmarshal(body, &sod)
26681		return sod, err
26682	case string(TypeRelationalTable):
26683		var rtd RelationalTableDataset
26684		err := json.Unmarshal(body, &rtd)
26685		return rtd, err
26686	case string(TypeAzureMySQLTable):
26687		var amstd AzureMySQLTableDataset
26688		err := json.Unmarshal(body, &amstd)
26689		return amstd, err
26690	case string(TypeOracleTable):
26691		var otd OracleTableDataset
26692		err := json.Unmarshal(body, &otd)
26693		return otd, err
26694	case string(TypeODataResource):
26695		var odrd ODataResourceDataset
26696		err := json.Unmarshal(body, &odrd)
26697		return odrd, err
26698	case string(TypeMongoDbCollection):
26699		var mdcd MongoDbCollectionDataset
26700		err := json.Unmarshal(body, &mdcd)
26701		return mdcd, err
26702	case string(TypeFileShare):
26703		var fsd FileShareDataset
26704		err := json.Unmarshal(body, &fsd)
26705		return fsd, err
26706	case string(TypeAzureDataLakeStoreFile):
26707		var adlsd AzureDataLakeStoreDataset
26708		err := json.Unmarshal(body, &adlsd)
26709		return adlsd, err
26710	case string(TypeDynamicsEntity):
26711		var ded DynamicsEntityDataset
26712		err := json.Unmarshal(body, &ded)
26713		return ded, err
26714	case string(TypeDocumentDbCollection):
26715		var ddcd DocumentDbCollectionDataset
26716		err := json.Unmarshal(body, &ddcd)
26717		return ddcd, err
26718	case string(TypeCustomDataset):
26719		var cd CustomDataset
26720		err := json.Unmarshal(body, &cd)
26721		return cd, err
26722	case string(TypeCassandraTable):
26723		var ctd CassandraTableDataset
26724		err := json.Unmarshal(body, &ctd)
26725		return ctd, err
26726	case string(TypeAzureSQLDWTable):
26727		var asdtd AzureSQLDWTableDataset
26728		err := json.Unmarshal(body, &asdtd)
26729		return asdtd, err
26730	case string(TypeAzureSQLTable):
26731		var astd AzureSQLTableDataset
26732		err := json.Unmarshal(body, &astd)
26733		return astd, err
26734	case string(TypeAzureTable):
26735		var atd AzureTableDataset
26736		err := json.Unmarshal(body, &atd)
26737		return atd, err
26738	case string(TypeAzureBlob):
26739		var abd AzureBlobDataset
26740		err := json.Unmarshal(body, &abd)
26741		return abd, err
26742	case string(TypeAmazonS3Object):
26743		var asd AmazonS3Dataset
26744		err := json.Unmarshal(body, &asd)
26745		return asd, err
26746	default:
26747		var d Dataset
26748		err := json.Unmarshal(body, &d)
26749		return d, err
26750	}
26751}
26752func unmarshalBasicDatasetArray(body []byte) ([]BasicDataset, error) {
26753	var rawMessages []*json.RawMessage
26754	err := json.Unmarshal(body, &rawMessages)
26755	if err != nil {
26756		return nil, err
26757	}
26758
26759	dArray := make([]BasicDataset, len(rawMessages))
26760
26761	for index, rawMessage := range rawMessages {
26762		d, err := unmarshalBasicDataset(*rawMessage)
26763		if err != nil {
26764			return nil, err
26765		}
26766		dArray[index] = d
26767	}
26768	return dArray, nil
26769}
26770
26771// MarshalJSON is the custom marshaler for Dataset.
26772func (d Dataset) MarshalJSON() ([]byte, error) {
26773	d.Type = TypeDataset
26774	objectMap := make(map[string]interface{})
26775	if d.Description != nil {
26776		objectMap["description"] = d.Description
26777	}
26778	if d.Structure != nil {
26779		objectMap["structure"] = d.Structure
26780	}
26781	if d.LinkedServiceName != nil {
26782		objectMap["linkedServiceName"] = d.LinkedServiceName
26783	}
26784	if d.Parameters != nil {
26785		objectMap["parameters"] = d.Parameters
26786	}
26787	if d.Annotations != nil {
26788		objectMap["annotations"] = d.Annotations
26789	}
26790	if d.Type != "" {
26791		objectMap["type"] = d.Type
26792	}
26793	for k, v := range d.AdditionalProperties {
26794		objectMap[k] = v
26795	}
26796	return json.Marshal(objectMap)
26797}
26798
26799// AsResponsysObjectDataset is the BasicDataset implementation for Dataset.
26800func (d Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
26801	return nil, false
26802}
26803
26804// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Dataset.
26805func (d Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
26806	return nil, false
26807}
26808
26809// AsVerticaTableDataset is the BasicDataset implementation for Dataset.
26810func (d Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
26811	return nil, false
26812}
26813
26814// AsNetezzaTableDataset is the BasicDataset implementation for Dataset.
26815func (d Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
26816	return nil, false
26817}
26818
26819// AsZohoObjectDataset is the BasicDataset implementation for Dataset.
26820func (d Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
26821	return nil, false
26822}
26823
26824// AsXeroObjectDataset is the BasicDataset implementation for Dataset.
26825func (d Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
26826	return nil, false
26827}
26828
26829// AsSquareObjectDataset is the BasicDataset implementation for Dataset.
26830func (d Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
26831	return nil, false
26832}
26833
26834// AsSparkObjectDataset is the BasicDataset implementation for Dataset.
26835func (d Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
26836	return nil, false
26837}
26838
26839// AsShopifyObjectDataset is the BasicDataset implementation for Dataset.
26840func (d Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
26841	return nil, false
26842}
26843
26844// AsServiceNowObjectDataset is the BasicDataset implementation for Dataset.
26845func (d Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
26846	return nil, false
26847}
26848
26849// AsQuickBooksObjectDataset is the BasicDataset implementation for Dataset.
26850func (d Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
26851	return nil, false
26852}
26853
26854// AsPrestoObjectDataset is the BasicDataset implementation for Dataset.
26855func (d Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
26856	return nil, false
26857}
26858
26859// AsPhoenixObjectDataset is the BasicDataset implementation for Dataset.
26860func (d Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
26861	return nil, false
26862}
26863
26864// AsPaypalObjectDataset is the BasicDataset implementation for Dataset.
26865func (d Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
26866	return nil, false
26867}
26868
26869// AsMarketoObjectDataset is the BasicDataset implementation for Dataset.
26870func (d Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
26871	return nil, false
26872}
26873
26874// AsMariaDBTableDataset is the BasicDataset implementation for Dataset.
26875func (d Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
26876	return nil, false
26877}
26878
26879// AsMagentoObjectDataset is the BasicDataset implementation for Dataset.
26880func (d Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
26881	return nil, false
26882}
26883
26884// AsJiraObjectDataset is the BasicDataset implementation for Dataset.
26885func (d Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
26886	return nil, false
26887}
26888
26889// AsImpalaObjectDataset is the BasicDataset implementation for Dataset.
26890func (d Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
26891	return nil, false
26892}
26893
26894// AsHubspotObjectDataset is the BasicDataset implementation for Dataset.
26895func (d Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
26896	return nil, false
26897}
26898
26899// AsHiveObjectDataset is the BasicDataset implementation for Dataset.
26900func (d Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
26901	return nil, false
26902}
26903
26904// AsHBaseObjectDataset is the BasicDataset implementation for Dataset.
26905func (d Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
26906	return nil, false
26907}
26908
26909// AsGreenplumTableDataset is the BasicDataset implementation for Dataset.
26910func (d Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
26911	return nil, false
26912}
26913
26914// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Dataset.
26915func (d Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
26916	return nil, false
26917}
26918
26919// AsEloquaObjectDataset is the BasicDataset implementation for Dataset.
26920func (d Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
26921	return nil, false
26922}
26923
26924// AsDrillTableDataset is the BasicDataset implementation for Dataset.
26925func (d Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
26926	return nil, false
26927}
26928
26929// AsCouchbaseTableDataset is the BasicDataset implementation for Dataset.
26930func (d Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
26931	return nil, false
26932}
26933
26934// AsConcurObjectDataset is the BasicDataset implementation for Dataset.
26935func (d Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
26936	return nil, false
26937}
26938
26939// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Dataset.
26940func (d Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
26941	return nil, false
26942}
26943
26944// AsAmazonMWSObjectDataset is the BasicDataset implementation for Dataset.
26945func (d Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
26946	return nil, false
26947}
26948
26949// AsHTTPDataset is the BasicDataset implementation for Dataset.
26950func (d Dataset) AsHTTPDataset() (*HTTPDataset, bool) {
26951	return nil, false
26952}
26953
26954// AsAzureSearchIndexDataset is the BasicDataset implementation for Dataset.
26955func (d Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
26956	return nil, false
26957}
26958
26959// AsWebTableDataset is the BasicDataset implementation for Dataset.
26960func (d Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
26961	return nil, false
26962}
26963
26964// AsSQLServerTableDataset is the BasicDataset implementation for Dataset.
26965func (d Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
26966	return nil, false
26967}
26968
26969// AsSapEccResourceDataset is the BasicDataset implementation for Dataset.
26970func (d Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
26971	return nil, false
26972}
26973
26974// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Dataset.
26975func (d Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
26976	return nil, false
26977}
26978
26979// AsSalesforceObjectDataset is the BasicDataset implementation for Dataset.
26980func (d Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
26981	return nil, false
26982}
26983
26984// AsRelationalTableDataset is the BasicDataset implementation for Dataset.
26985func (d Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
26986	return nil, false
26987}
26988
26989// AsAzureMySQLTableDataset is the BasicDataset implementation for Dataset.
26990func (d Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
26991	return nil, false
26992}
26993
26994// AsOracleTableDataset is the BasicDataset implementation for Dataset.
26995func (d Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
26996	return nil, false
26997}
26998
26999// AsODataResourceDataset is the BasicDataset implementation for Dataset.
27000func (d Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
27001	return nil, false
27002}
27003
27004// AsMongoDbCollectionDataset is the BasicDataset implementation for Dataset.
27005func (d Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
27006	return nil, false
27007}
27008
27009// AsFileShareDataset is the BasicDataset implementation for Dataset.
27010func (d Dataset) AsFileShareDataset() (*FileShareDataset, bool) {
27011	return nil, false
27012}
27013
27014// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Dataset.
27015func (d Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
27016	return nil, false
27017}
27018
27019// AsDynamicsEntityDataset is the BasicDataset implementation for Dataset.
27020func (d Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
27021	return nil, false
27022}
27023
27024// AsDocumentDbCollectionDataset is the BasicDataset implementation for Dataset.
27025func (d Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
27026	return nil, false
27027}
27028
27029// AsCustomDataset is the BasicDataset implementation for Dataset.
27030func (d Dataset) AsCustomDataset() (*CustomDataset, bool) {
27031	return nil, false
27032}
27033
27034// AsCassandraTableDataset is the BasicDataset implementation for Dataset.
27035func (d Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
27036	return nil, false
27037}
27038
27039// AsAzureSQLDWTableDataset is the BasicDataset implementation for Dataset.
27040func (d Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
27041	return nil, false
27042}
27043
27044// AsAzureSQLTableDataset is the BasicDataset implementation for Dataset.
27045func (d Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
27046	return nil, false
27047}
27048
27049// AsAzureTableDataset is the BasicDataset implementation for Dataset.
27050func (d Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
27051	return nil, false
27052}
27053
27054// AsAzureBlobDataset is the BasicDataset implementation for Dataset.
27055func (d Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
27056	return nil, false
27057}
27058
27059// AsAmazonS3Dataset is the BasicDataset implementation for Dataset.
27060func (d Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
27061	return nil, false
27062}
27063
27064// AsDataset is the BasicDataset implementation for Dataset.
27065func (d Dataset) AsDataset() (*Dataset, bool) {
27066	return &d, true
27067}
27068
27069// AsBasicDataset is the BasicDataset implementation for Dataset.
27070func (d Dataset) AsBasicDataset() (BasicDataset, bool) {
27071	return &d, true
27072}
27073
27074// UnmarshalJSON is the custom unmarshaler for Dataset struct.
27075func (d *Dataset) UnmarshalJSON(body []byte) error {
27076	var m map[string]*json.RawMessage
27077	err := json.Unmarshal(body, &m)
27078	if err != nil {
27079		return err
27080	}
27081	for k, v := range m {
27082		switch k {
27083		default:
27084			if v != nil {
27085				var additionalProperties interface{}
27086				err = json.Unmarshal(*v, &additionalProperties)
27087				if err != nil {
27088					return err
27089				}
27090				if d.AdditionalProperties == nil {
27091					d.AdditionalProperties = make(map[string]interface{})
27092				}
27093				d.AdditionalProperties[k] = additionalProperties
27094			}
27095		case "description":
27096			if v != nil {
27097				var description string
27098				err = json.Unmarshal(*v, &description)
27099				if err != nil {
27100					return err
27101				}
27102				d.Description = &description
27103			}
27104		case "structure":
27105			if v != nil {
27106				var structure interface{}
27107				err = json.Unmarshal(*v, &structure)
27108				if err != nil {
27109					return err
27110				}
27111				d.Structure = structure
27112			}
27113		case "linkedServiceName":
27114			if v != nil {
27115				var linkedServiceName LinkedServiceReference
27116				err = json.Unmarshal(*v, &linkedServiceName)
27117				if err != nil {
27118					return err
27119				}
27120				d.LinkedServiceName = &linkedServiceName
27121			}
27122		case "parameters":
27123			if v != nil {
27124				var parameters map[string]*ParameterSpecification
27125				err = json.Unmarshal(*v, &parameters)
27126				if err != nil {
27127					return err
27128				}
27129				d.Parameters = parameters
27130			}
27131		case "annotations":
27132			if v != nil {
27133				var annotations []interface{}
27134				err = json.Unmarshal(*v, &annotations)
27135				if err != nil {
27136					return err
27137				}
27138				d.Annotations = &annotations
27139			}
27140		case "type":
27141			if v != nil {
27142				var typeVar TypeBasicDataset
27143				err = json.Unmarshal(*v, &typeVar)
27144				if err != nil {
27145					return err
27146				}
27147				d.Type = typeVar
27148			}
27149		}
27150	}
27151
27152	return nil
27153}
27154
27155// DatasetBZip2Compression the BZip2 compression method used on a dataset.
27156type DatasetBZip2Compression struct {
27157	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27158	AdditionalProperties map[string]interface{} `json:""`
27159	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
27160	Type TypeBasicDatasetCompression `json:"type,omitempty"`
27161}
27162
27163// MarshalJSON is the custom marshaler for DatasetBZip2Compression.
27164func (dbz2c DatasetBZip2Compression) MarshalJSON() ([]byte, error) {
27165	dbz2c.Type = TypeBZip2
27166	objectMap := make(map[string]interface{})
27167	if dbz2c.Type != "" {
27168		objectMap["type"] = dbz2c.Type
27169	}
27170	for k, v := range dbz2c.AdditionalProperties {
27171		objectMap[k] = v
27172	}
27173	return json.Marshal(objectMap)
27174}
27175
27176// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27177func (dbz2c DatasetBZip2Compression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
27178	return nil, false
27179}
27180
27181// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27182func (dbz2c DatasetBZip2Compression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
27183	return nil, false
27184}
27185
27186// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27187func (dbz2c DatasetBZip2Compression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
27188	return nil, false
27189}
27190
27191// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27192func (dbz2c DatasetBZip2Compression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
27193	return &dbz2c, true
27194}
27195
27196// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27197func (dbz2c DatasetBZip2Compression) AsDatasetCompression() (*DatasetCompression, bool) {
27198	return nil, false
27199}
27200
27201// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
27202func (dbz2c DatasetBZip2Compression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
27203	return &dbz2c, true
27204}
27205
27206// UnmarshalJSON is the custom unmarshaler for DatasetBZip2Compression struct.
27207func (dbz2c *DatasetBZip2Compression) UnmarshalJSON(body []byte) error {
27208	var m map[string]*json.RawMessage
27209	err := json.Unmarshal(body, &m)
27210	if err != nil {
27211		return err
27212	}
27213	for k, v := range m {
27214		switch k {
27215		default:
27216			if v != nil {
27217				var additionalProperties interface{}
27218				err = json.Unmarshal(*v, &additionalProperties)
27219				if err != nil {
27220					return err
27221				}
27222				if dbz2c.AdditionalProperties == nil {
27223					dbz2c.AdditionalProperties = make(map[string]interface{})
27224				}
27225				dbz2c.AdditionalProperties[k] = additionalProperties
27226			}
27227		case "type":
27228			if v != nil {
27229				var typeVar TypeBasicDatasetCompression
27230				err = json.Unmarshal(*v, &typeVar)
27231				if err != nil {
27232					return err
27233				}
27234				dbz2c.Type = typeVar
27235			}
27236		}
27237	}
27238
27239	return nil
27240}
27241
27242// BasicDatasetCompression the compression method used on a dataset.
27243type BasicDatasetCompression interface {
27244	AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool)
27245	AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool)
27246	AsDatasetGZipCompression() (*DatasetGZipCompression, bool)
27247	AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool)
27248	AsDatasetCompression() (*DatasetCompression, bool)
27249}
27250
27251// DatasetCompression the compression method used on a dataset.
27252type DatasetCompression struct {
27253	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27254	AdditionalProperties map[string]interface{} `json:""`
27255	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
27256	Type TypeBasicDatasetCompression `json:"type,omitempty"`
27257}
27258
27259func unmarshalBasicDatasetCompression(body []byte) (BasicDatasetCompression, error) {
27260	var m map[string]interface{}
27261	err := json.Unmarshal(body, &m)
27262	if err != nil {
27263		return nil, err
27264	}
27265
27266	switch m["type"] {
27267	case string(TypeZipDeflate):
27268		var dzdc DatasetZipDeflateCompression
27269		err := json.Unmarshal(body, &dzdc)
27270		return dzdc, err
27271	case string(TypeDeflate):
27272		var ddc DatasetDeflateCompression
27273		err := json.Unmarshal(body, &ddc)
27274		return ddc, err
27275	case string(TypeGZip):
27276		var dgzc DatasetGZipCompression
27277		err := json.Unmarshal(body, &dgzc)
27278		return dgzc, err
27279	case string(TypeBZip2):
27280		var dbz2c DatasetBZip2Compression
27281		err := json.Unmarshal(body, &dbz2c)
27282		return dbz2c, err
27283	default:
27284		var dc DatasetCompression
27285		err := json.Unmarshal(body, &dc)
27286		return dc, err
27287	}
27288}
27289func unmarshalBasicDatasetCompressionArray(body []byte) ([]BasicDatasetCompression, error) {
27290	var rawMessages []*json.RawMessage
27291	err := json.Unmarshal(body, &rawMessages)
27292	if err != nil {
27293		return nil, err
27294	}
27295
27296	dcArray := make([]BasicDatasetCompression, len(rawMessages))
27297
27298	for index, rawMessage := range rawMessages {
27299		dc, err := unmarshalBasicDatasetCompression(*rawMessage)
27300		if err != nil {
27301			return nil, err
27302		}
27303		dcArray[index] = dc
27304	}
27305	return dcArray, nil
27306}
27307
27308// MarshalJSON is the custom marshaler for DatasetCompression.
27309func (dc DatasetCompression) MarshalJSON() ([]byte, error) {
27310	dc.Type = TypeDatasetCompression
27311	objectMap := make(map[string]interface{})
27312	if dc.Type != "" {
27313		objectMap["type"] = dc.Type
27314	}
27315	for k, v := range dc.AdditionalProperties {
27316		objectMap[k] = v
27317	}
27318	return json.Marshal(objectMap)
27319}
27320
27321// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression.
27322func (dc DatasetCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
27323	return nil, false
27324}
27325
27326// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression.
27327func (dc DatasetCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
27328	return nil, false
27329}
27330
27331// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetCompression.
27332func (dc DatasetCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
27333	return nil, false
27334}
27335
27336// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetCompression.
27337func (dc DatasetCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
27338	return nil, false
27339}
27340
27341// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression.
27342func (dc DatasetCompression) AsDatasetCompression() (*DatasetCompression, bool) {
27343	return &dc, true
27344}
27345
27346// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression.
27347func (dc DatasetCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
27348	return &dc, true
27349}
27350
27351// UnmarshalJSON is the custom unmarshaler for DatasetCompression struct.
27352func (dc *DatasetCompression) UnmarshalJSON(body []byte) error {
27353	var m map[string]*json.RawMessage
27354	err := json.Unmarshal(body, &m)
27355	if err != nil {
27356		return err
27357	}
27358	for k, v := range m {
27359		switch k {
27360		default:
27361			if v != nil {
27362				var additionalProperties interface{}
27363				err = json.Unmarshal(*v, &additionalProperties)
27364				if err != nil {
27365					return err
27366				}
27367				if dc.AdditionalProperties == nil {
27368					dc.AdditionalProperties = make(map[string]interface{})
27369				}
27370				dc.AdditionalProperties[k] = additionalProperties
27371			}
27372		case "type":
27373			if v != nil {
27374				var typeVar TypeBasicDatasetCompression
27375				err = json.Unmarshal(*v, &typeVar)
27376				if err != nil {
27377					return err
27378				}
27379				dc.Type = typeVar
27380			}
27381		}
27382	}
27383
27384	return nil
27385}
27386
27387// DatasetDeflateCompression the Deflate compression method used on a dataset.
27388type DatasetDeflateCompression struct {
27389	// Level - The Deflate compression level.
27390	Level interface{} `json:"level,omitempty"`
27391	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27392	AdditionalProperties map[string]interface{} `json:""`
27393	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
27394	Type TypeBasicDatasetCompression `json:"type,omitempty"`
27395}
27396
27397// MarshalJSON is the custom marshaler for DatasetDeflateCompression.
27398func (ddc DatasetDeflateCompression) MarshalJSON() ([]byte, error) {
27399	ddc.Type = TypeDeflate
27400	objectMap := make(map[string]interface{})
27401	if ddc.Level != nil {
27402		objectMap["level"] = ddc.Level
27403	}
27404	if ddc.Type != "" {
27405		objectMap["type"] = ddc.Type
27406	}
27407	for k, v := range ddc.AdditionalProperties {
27408		objectMap[k] = v
27409	}
27410	return json.Marshal(objectMap)
27411}
27412
27413// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27414func (ddc DatasetDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
27415	return nil, false
27416}
27417
27418// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27419func (ddc DatasetDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
27420	return &ddc, true
27421}
27422
27423// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27424func (ddc DatasetDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
27425	return nil, false
27426}
27427
27428// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27429func (ddc DatasetDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
27430	return nil, false
27431}
27432
27433// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27434func (ddc DatasetDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) {
27435	return nil, false
27436}
27437
27438// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
27439func (ddc DatasetDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
27440	return &ddc, true
27441}
27442
27443// UnmarshalJSON is the custom unmarshaler for DatasetDeflateCompression struct.
27444func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error {
27445	var m map[string]*json.RawMessage
27446	err := json.Unmarshal(body, &m)
27447	if err != nil {
27448		return err
27449	}
27450	for k, v := range m {
27451		switch k {
27452		case "level":
27453			if v != nil {
27454				var level interface{}
27455				err = json.Unmarshal(*v, &level)
27456				if err != nil {
27457					return err
27458				}
27459				ddc.Level = level
27460			}
27461		default:
27462			if v != nil {
27463				var additionalProperties interface{}
27464				err = json.Unmarshal(*v, &additionalProperties)
27465				if err != nil {
27466					return err
27467				}
27468				if ddc.AdditionalProperties == nil {
27469					ddc.AdditionalProperties = make(map[string]interface{})
27470				}
27471				ddc.AdditionalProperties[k] = additionalProperties
27472			}
27473		case "type":
27474			if v != nil {
27475				var typeVar TypeBasicDatasetCompression
27476				err = json.Unmarshal(*v, &typeVar)
27477				if err != nil {
27478					return err
27479				}
27480				ddc.Type = typeVar
27481			}
27482		}
27483	}
27484
27485	return nil
27486}
27487
27488// DatasetGZipCompression the GZip compression method used on a dataset.
27489type DatasetGZipCompression struct {
27490	// Level - The GZip compression level.
27491	Level interface{} `json:"level,omitempty"`
27492	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27493	AdditionalProperties map[string]interface{} `json:""`
27494	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
27495	Type TypeBasicDatasetCompression `json:"type,omitempty"`
27496}
27497
27498// MarshalJSON is the custom marshaler for DatasetGZipCompression.
27499func (dgzc DatasetGZipCompression) MarshalJSON() ([]byte, error) {
27500	dgzc.Type = TypeGZip
27501	objectMap := make(map[string]interface{})
27502	if dgzc.Level != nil {
27503		objectMap["level"] = dgzc.Level
27504	}
27505	if dgzc.Type != "" {
27506		objectMap["type"] = dgzc.Type
27507	}
27508	for k, v := range dgzc.AdditionalProperties {
27509		objectMap[k] = v
27510	}
27511	return json.Marshal(objectMap)
27512}
27513
27514// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27515func (dgzc DatasetGZipCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
27516	return nil, false
27517}
27518
27519// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27520func (dgzc DatasetGZipCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
27521	return nil, false
27522}
27523
27524// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27525func (dgzc DatasetGZipCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
27526	return &dgzc, true
27527}
27528
27529// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27530func (dgzc DatasetGZipCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
27531	return nil, false
27532}
27533
27534// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27535func (dgzc DatasetGZipCompression) AsDatasetCompression() (*DatasetCompression, bool) {
27536	return nil, false
27537}
27538
27539// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
27540func (dgzc DatasetGZipCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
27541	return &dgzc, true
27542}
27543
27544// UnmarshalJSON is the custom unmarshaler for DatasetGZipCompression struct.
27545func (dgzc *DatasetGZipCompression) UnmarshalJSON(body []byte) error {
27546	var m map[string]*json.RawMessage
27547	err := json.Unmarshal(body, &m)
27548	if err != nil {
27549		return err
27550	}
27551	for k, v := range m {
27552		switch k {
27553		case "level":
27554			if v != nil {
27555				var level interface{}
27556				err = json.Unmarshal(*v, &level)
27557				if err != nil {
27558					return err
27559				}
27560				dgzc.Level = level
27561			}
27562		default:
27563			if v != nil {
27564				var additionalProperties interface{}
27565				err = json.Unmarshal(*v, &additionalProperties)
27566				if err != nil {
27567					return err
27568				}
27569				if dgzc.AdditionalProperties == nil {
27570					dgzc.AdditionalProperties = make(map[string]interface{})
27571				}
27572				dgzc.AdditionalProperties[k] = additionalProperties
27573			}
27574		case "type":
27575			if v != nil {
27576				var typeVar TypeBasicDatasetCompression
27577				err = json.Unmarshal(*v, &typeVar)
27578				if err != nil {
27579					return err
27580				}
27581				dgzc.Type = typeVar
27582			}
27583		}
27584	}
27585
27586	return nil
27587}
27588
27589// DatasetListResponse a list of dataset resources.
27590type DatasetListResponse struct {
27591	autorest.Response `json:"-"`
27592	// Value - List of datasets.
27593	Value *[]DatasetResource `json:"value,omitempty"`
27594	// NextLink - The link to the next page of results, if any remaining results exist.
27595	NextLink *string `json:"nextLink,omitempty"`
27596}
27597
27598// DatasetListResponseIterator provides access to a complete listing of DatasetResource values.
27599type DatasetListResponseIterator struct {
27600	i    int
27601	page DatasetListResponsePage
27602}
27603
27604// NextWithContext advances to the next value.  If there was an error making
27605// the request the iterator does not advance and the error is returned.
27606func (iter *DatasetListResponseIterator) NextWithContext(ctx context.Context) (err error) {
27607	if tracing.IsEnabled() {
27608		ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponseIterator.NextWithContext")
27609		defer func() {
27610			sc := -1
27611			if iter.Response().Response.Response != nil {
27612				sc = iter.Response().Response.Response.StatusCode
27613			}
27614			tracing.EndSpan(ctx, sc, err)
27615		}()
27616	}
27617	iter.i++
27618	if iter.i < len(iter.page.Values()) {
27619		return nil
27620	}
27621	err = iter.page.NextWithContext(ctx)
27622	if err != nil {
27623		iter.i--
27624		return err
27625	}
27626	iter.i = 0
27627	return nil
27628}
27629
27630// Next advances to the next value.  If there was an error making
27631// the request the iterator does not advance and the error is returned.
27632// Deprecated: Use NextWithContext() instead.
27633func (iter *DatasetListResponseIterator) Next() error {
27634	return iter.NextWithContext(context.Background())
27635}
27636
27637// NotDone returns true if the enumeration should be started or is not yet complete.
27638func (iter DatasetListResponseIterator) NotDone() bool {
27639	return iter.page.NotDone() && iter.i < len(iter.page.Values())
27640}
27641
27642// Response returns the raw server response from the last page request.
27643func (iter DatasetListResponseIterator) Response() DatasetListResponse {
27644	return iter.page.Response()
27645}
27646
27647// Value returns the current value or a zero-initialized value if the
27648// iterator has advanced beyond the end of the collection.
27649func (iter DatasetListResponseIterator) Value() DatasetResource {
27650	if !iter.page.NotDone() {
27651		return DatasetResource{}
27652	}
27653	return iter.page.Values()[iter.i]
27654}
27655
27656// Creates a new instance of the DatasetListResponseIterator type.
27657func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator {
27658	return DatasetListResponseIterator{page: page}
27659}
27660
27661// IsEmpty returns true if the ListResult contains no values.
27662func (dlr DatasetListResponse) IsEmpty() bool {
27663	return dlr.Value == nil || len(*dlr.Value) == 0
27664}
27665
27666// hasNextLink returns true if the NextLink is not empty.
27667func (dlr DatasetListResponse) hasNextLink() bool {
27668	return dlr.NextLink != nil && len(*dlr.NextLink) != 0
27669}
27670
27671// datasetListResponsePreparer prepares a request to retrieve the next set of results.
27672// It returns nil if no more results exist.
27673func (dlr DatasetListResponse) datasetListResponsePreparer(ctx context.Context) (*http.Request, error) {
27674	if !dlr.hasNextLink() {
27675		return nil, nil
27676	}
27677	return autorest.Prepare((&http.Request{}).WithContext(ctx),
27678		autorest.AsJSON(),
27679		autorest.AsGet(),
27680		autorest.WithBaseURL(to.String(dlr.NextLink)))
27681}
27682
27683// DatasetListResponsePage contains a page of DatasetResource values.
27684type DatasetListResponsePage struct {
27685	fn  func(context.Context, DatasetListResponse) (DatasetListResponse, error)
27686	dlr DatasetListResponse
27687}
27688
27689// NextWithContext advances to the next page of values.  If there was an error making
27690// the request the page does not advance and the error is returned.
27691func (page *DatasetListResponsePage) NextWithContext(ctx context.Context) (err error) {
27692	if tracing.IsEnabled() {
27693		ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponsePage.NextWithContext")
27694		defer func() {
27695			sc := -1
27696			if page.Response().Response.Response != nil {
27697				sc = page.Response().Response.Response.StatusCode
27698			}
27699			tracing.EndSpan(ctx, sc, err)
27700		}()
27701	}
27702	for {
27703		next, err := page.fn(ctx, page.dlr)
27704		if err != nil {
27705			return err
27706		}
27707		page.dlr = next
27708		if !next.hasNextLink() || !next.IsEmpty() {
27709			break
27710		}
27711	}
27712	return nil
27713}
27714
27715// Next advances to the next page of values.  If there was an error making
27716// the request the page does not advance and the error is returned.
27717// Deprecated: Use NextWithContext() instead.
27718func (page *DatasetListResponsePage) Next() error {
27719	return page.NextWithContext(context.Background())
27720}
27721
27722// NotDone returns true if the page enumeration should be started or is not yet complete.
27723func (page DatasetListResponsePage) NotDone() bool {
27724	return !page.dlr.IsEmpty()
27725}
27726
27727// Response returns the raw server response from the last page request.
27728func (page DatasetListResponsePage) Response() DatasetListResponse {
27729	return page.dlr
27730}
27731
27732// Values returns the slice of values for the current page or nil if there are no values.
27733func (page DatasetListResponsePage) Values() []DatasetResource {
27734	if page.dlr.IsEmpty() {
27735		return nil
27736	}
27737	return *page.dlr.Value
27738}
27739
27740// Creates a new instance of the DatasetListResponsePage type.
27741func NewDatasetListResponsePage(cur DatasetListResponse, getNextPage func(context.Context, DatasetListResponse) (DatasetListResponse, error)) DatasetListResponsePage {
27742	return DatasetListResponsePage{
27743		fn:  getNextPage,
27744		dlr: cur,
27745	}
27746}
27747
27748// DatasetReference dataset reference type.
27749type DatasetReference struct {
27750	// Type - Dataset reference type.
27751	Type *string `json:"type,omitempty"`
27752	// ReferenceName - Reference dataset name.
27753	ReferenceName *string `json:"referenceName,omitempty"`
27754	// Parameters - Arguments for dataset.
27755	Parameters map[string]interface{} `json:"parameters"`
27756}
27757
27758// MarshalJSON is the custom marshaler for DatasetReference.
27759func (dr DatasetReference) MarshalJSON() ([]byte, error) {
27760	objectMap := make(map[string]interface{})
27761	if dr.Type != nil {
27762		objectMap["type"] = dr.Type
27763	}
27764	if dr.ReferenceName != nil {
27765		objectMap["referenceName"] = dr.ReferenceName
27766	}
27767	if dr.Parameters != nil {
27768		objectMap["parameters"] = dr.Parameters
27769	}
27770	return json.Marshal(objectMap)
27771}
27772
27773// DatasetResource dataset resource type.
27774type DatasetResource struct {
27775	autorest.Response `json:"-"`
27776	// Properties - Dataset properties.
27777	Properties BasicDataset `json:"properties,omitempty"`
27778	// ID - READ-ONLY; The resource identifier.
27779	ID *string `json:"id,omitempty"`
27780	// Name - READ-ONLY; The resource name.
27781	Name *string `json:"name,omitempty"`
27782	// Type - READ-ONLY; The resource type.
27783	Type *string `json:"type,omitempty"`
27784	// Etag - READ-ONLY; Etag identifies change in the resource.
27785	Etag *string `json:"etag,omitempty"`
27786}
27787
27788// MarshalJSON is the custom marshaler for DatasetResource.
27789func (dr DatasetResource) MarshalJSON() ([]byte, error) {
27790	objectMap := make(map[string]interface{})
27791	objectMap["properties"] = dr.Properties
27792	return json.Marshal(objectMap)
27793}
27794
27795// UnmarshalJSON is the custom unmarshaler for DatasetResource struct.
27796func (dr *DatasetResource) UnmarshalJSON(body []byte) error {
27797	var m map[string]*json.RawMessage
27798	err := json.Unmarshal(body, &m)
27799	if err != nil {
27800		return err
27801	}
27802	for k, v := range m {
27803		switch k {
27804		case "properties":
27805			if v != nil {
27806				properties, err := unmarshalBasicDataset(*v)
27807				if err != nil {
27808					return err
27809				}
27810				dr.Properties = properties
27811			}
27812		case "id":
27813			if v != nil {
27814				var ID string
27815				err = json.Unmarshal(*v, &ID)
27816				if err != nil {
27817					return err
27818				}
27819				dr.ID = &ID
27820			}
27821		case "name":
27822			if v != nil {
27823				var name string
27824				err = json.Unmarshal(*v, &name)
27825				if err != nil {
27826					return err
27827				}
27828				dr.Name = &name
27829			}
27830		case "type":
27831			if v != nil {
27832				var typeVar string
27833				err = json.Unmarshal(*v, &typeVar)
27834				if err != nil {
27835					return err
27836				}
27837				dr.Type = &typeVar
27838			}
27839		case "etag":
27840			if v != nil {
27841				var etag string
27842				err = json.Unmarshal(*v, &etag)
27843				if err != nil {
27844					return err
27845				}
27846				dr.Etag = &etag
27847			}
27848		}
27849	}
27850
27851	return nil
27852}
27853
27854// BasicDatasetStorageFormat the format definition of a storage.
27855type BasicDatasetStorageFormat interface {
27856	AsParquetFormat() (*ParquetFormat, bool)
27857	AsOrcFormat() (*OrcFormat, bool)
27858	AsAvroFormat() (*AvroFormat, bool)
27859	AsJSONFormat() (*JSONFormat, bool)
27860	AsTextFormat() (*TextFormat, bool)
27861	AsDatasetStorageFormat() (*DatasetStorageFormat, bool)
27862}
27863
27864// DatasetStorageFormat the format definition of a storage.
27865type DatasetStorageFormat struct {
27866	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27867	AdditionalProperties map[string]interface{} `json:""`
27868	// Serializer - Serializer. Type: string (or Expression with resultType string).
27869	Serializer interface{} `json:"serializer,omitempty"`
27870	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
27871	Deserializer interface{} `json:"deserializer,omitempty"`
27872	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
27873	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
27874}
27875
27876func unmarshalBasicDatasetStorageFormat(body []byte) (BasicDatasetStorageFormat, error) {
27877	var m map[string]interface{}
27878	err := json.Unmarshal(body, &m)
27879	if err != nil {
27880		return nil, err
27881	}
27882
27883	switch m["type"] {
27884	case string(TypeParquetFormat):
27885		var pf ParquetFormat
27886		err := json.Unmarshal(body, &pf)
27887		return pf, err
27888	case string(TypeOrcFormat):
27889		var of OrcFormat
27890		err := json.Unmarshal(body, &of)
27891		return of, err
27892	case string(TypeAvroFormat):
27893		var af AvroFormat
27894		err := json.Unmarshal(body, &af)
27895		return af, err
27896	case string(TypeJSONFormat):
27897		var jf JSONFormat
27898		err := json.Unmarshal(body, &jf)
27899		return jf, err
27900	case string(TypeTextFormat):
27901		var tf TextFormat
27902		err := json.Unmarshal(body, &tf)
27903		return tf, err
27904	default:
27905		var dsf DatasetStorageFormat
27906		err := json.Unmarshal(body, &dsf)
27907		return dsf, err
27908	}
27909}
27910func unmarshalBasicDatasetStorageFormatArray(body []byte) ([]BasicDatasetStorageFormat, error) {
27911	var rawMessages []*json.RawMessage
27912	err := json.Unmarshal(body, &rawMessages)
27913	if err != nil {
27914		return nil, err
27915	}
27916
27917	dsfArray := make([]BasicDatasetStorageFormat, len(rawMessages))
27918
27919	for index, rawMessage := range rawMessages {
27920		dsf, err := unmarshalBasicDatasetStorageFormat(*rawMessage)
27921		if err != nil {
27922			return nil, err
27923		}
27924		dsfArray[index] = dsf
27925	}
27926	return dsfArray, nil
27927}
27928
27929// MarshalJSON is the custom marshaler for DatasetStorageFormat.
27930func (dsf DatasetStorageFormat) MarshalJSON() ([]byte, error) {
27931	dsf.Type = TypeDatasetStorageFormat
27932	objectMap := make(map[string]interface{})
27933	if dsf.Serializer != nil {
27934		objectMap["serializer"] = dsf.Serializer
27935	}
27936	if dsf.Deserializer != nil {
27937		objectMap["deserializer"] = dsf.Deserializer
27938	}
27939	if dsf.Type != "" {
27940		objectMap["type"] = dsf.Type
27941	}
27942	for k, v := range dsf.AdditionalProperties {
27943		objectMap[k] = v
27944	}
27945	return json.Marshal(objectMap)
27946}
27947
27948// AsParquetFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27949func (dsf DatasetStorageFormat) AsParquetFormat() (*ParquetFormat, bool) {
27950	return nil, false
27951}
27952
27953// AsOrcFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27954func (dsf DatasetStorageFormat) AsOrcFormat() (*OrcFormat, bool) {
27955	return nil, false
27956}
27957
27958// AsAvroFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27959func (dsf DatasetStorageFormat) AsAvroFormat() (*AvroFormat, bool) {
27960	return nil, false
27961}
27962
27963// AsJSONFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27964func (dsf DatasetStorageFormat) AsJSONFormat() (*JSONFormat, bool) {
27965	return nil, false
27966}
27967
27968// AsTextFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27969func (dsf DatasetStorageFormat) AsTextFormat() (*TextFormat, bool) {
27970	return nil, false
27971}
27972
27973// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27974func (dsf DatasetStorageFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
27975	return &dsf, true
27976}
27977
27978// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
27979func (dsf DatasetStorageFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
27980	return &dsf, true
27981}
27982
27983// UnmarshalJSON is the custom unmarshaler for DatasetStorageFormat struct.
27984func (dsf *DatasetStorageFormat) UnmarshalJSON(body []byte) error {
27985	var m map[string]*json.RawMessage
27986	err := json.Unmarshal(body, &m)
27987	if err != nil {
27988		return err
27989	}
27990	for k, v := range m {
27991		switch k {
27992		default:
27993			if v != nil {
27994				var additionalProperties interface{}
27995				err = json.Unmarshal(*v, &additionalProperties)
27996				if err != nil {
27997					return err
27998				}
27999				if dsf.AdditionalProperties == nil {
28000					dsf.AdditionalProperties = make(map[string]interface{})
28001				}
28002				dsf.AdditionalProperties[k] = additionalProperties
28003			}
28004		case "serializer":
28005			if v != nil {
28006				var serializer interface{}
28007				err = json.Unmarshal(*v, &serializer)
28008				if err != nil {
28009					return err
28010				}
28011				dsf.Serializer = serializer
28012			}
28013		case "deserializer":
28014			if v != nil {
28015				var deserializer interface{}
28016				err = json.Unmarshal(*v, &deserializer)
28017				if err != nil {
28018					return err
28019				}
28020				dsf.Deserializer = deserializer
28021			}
28022		case "type":
28023			if v != nil {
28024				var typeVar TypeBasicDatasetStorageFormat
28025				err = json.Unmarshal(*v, &typeVar)
28026				if err != nil {
28027					return err
28028				}
28029				dsf.Type = typeVar
28030			}
28031		}
28032	}
28033
28034	return nil
28035}
28036
28037// DatasetZipDeflateCompression the ZipDeflate compression method used on a dataset.
28038type DatasetZipDeflateCompression struct {
28039	// Level - The ZipDeflate compression level.
28040	Level interface{} `json:"level,omitempty"`
28041	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
28042	AdditionalProperties map[string]interface{} `json:""`
28043	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
28044	Type TypeBasicDatasetCompression `json:"type,omitempty"`
28045}
28046
28047// MarshalJSON is the custom marshaler for DatasetZipDeflateCompression.
28048func (dzdc DatasetZipDeflateCompression) MarshalJSON() ([]byte, error) {
28049	dzdc.Type = TypeZipDeflate
28050	objectMap := make(map[string]interface{})
28051	if dzdc.Level != nil {
28052		objectMap["level"] = dzdc.Level
28053	}
28054	if dzdc.Type != "" {
28055		objectMap["type"] = dzdc.Type
28056	}
28057	for k, v := range dzdc.AdditionalProperties {
28058		objectMap[k] = v
28059	}
28060	return json.Marshal(objectMap)
28061}
28062
28063// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28064func (dzdc DatasetZipDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
28065	return &dzdc, true
28066}
28067
28068// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28069func (dzdc DatasetZipDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
28070	return nil, false
28071}
28072
28073// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28074func (dzdc DatasetZipDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
28075	return nil, false
28076}
28077
28078// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28079func (dzdc DatasetZipDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
28080	return nil, false
28081}
28082
28083// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28084func (dzdc DatasetZipDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) {
28085	return nil, false
28086}
28087
28088// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
28089func (dzdc DatasetZipDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
28090	return &dzdc, true
28091}
28092
28093// UnmarshalJSON is the custom unmarshaler for DatasetZipDeflateCompression struct.
28094func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error {
28095	var m map[string]*json.RawMessage
28096	err := json.Unmarshal(body, &m)
28097	if err != nil {
28098		return err
28099	}
28100	for k, v := range m {
28101		switch k {
28102		case "level":
28103			if v != nil {
28104				var level interface{}
28105				err = json.Unmarshal(*v, &level)
28106				if err != nil {
28107					return err
28108				}
28109				dzdc.Level = level
28110			}
28111		default:
28112			if v != nil {
28113				var additionalProperties interface{}
28114				err = json.Unmarshal(*v, &additionalProperties)
28115				if err != nil {
28116					return err
28117				}
28118				if dzdc.AdditionalProperties == nil {
28119					dzdc.AdditionalProperties = make(map[string]interface{})
28120				}
28121				dzdc.AdditionalProperties[k] = additionalProperties
28122			}
28123		case "type":
28124			if v != nil {
28125				var typeVar TypeBasicDatasetCompression
28126				err = json.Unmarshal(*v, &typeVar)
28127				if err != nil {
28128					return err
28129				}
28130				dzdc.Type = typeVar
28131			}
28132		}
28133	}
28134
28135	return nil
28136}
28137
28138// Db2LinkedService linked service for DB2 data source.
28139type Db2LinkedService struct {
28140	// Db2LinkedServiceTypeProperties - DB2 linked service properties.
28141	*Db2LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
28142	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
28143	AdditionalProperties map[string]interface{} `json:""`
28144	// ConnectVia - The integration runtime reference.
28145	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
28146	// Description - Linked service description.
28147	Description *string `json:"description,omitempty"`
28148	// Parameters - Parameters for linked service.
28149	Parameters map[string]*ParameterSpecification `json:"parameters"`
28150	// Annotations - List of tags that can be used for describing the Dataset.
28151	Annotations *[]interface{} `json:"annotations,omitempty"`
28152	// 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'
28153	Type TypeBasicLinkedService `json:"type,omitempty"`
28154}
28155
28156// MarshalJSON is the custom marshaler for Db2LinkedService.
28157func (d2ls Db2LinkedService) MarshalJSON() ([]byte, error) {
28158	d2ls.Type = TypeDb2
28159	objectMap := make(map[string]interface{})
28160	if d2ls.Db2LinkedServiceTypeProperties != nil {
28161		objectMap["typeProperties"] = d2ls.Db2LinkedServiceTypeProperties
28162	}
28163	if d2ls.ConnectVia != nil {
28164		objectMap["connectVia"] = d2ls.ConnectVia
28165	}
28166	if d2ls.Description != nil {
28167		objectMap["description"] = d2ls.Description
28168	}
28169	if d2ls.Parameters != nil {
28170		objectMap["parameters"] = d2ls.Parameters
28171	}
28172	if d2ls.Annotations != nil {
28173		objectMap["annotations"] = d2ls.Annotations
28174	}
28175	if d2ls.Type != "" {
28176		objectMap["type"] = d2ls.Type
28177	}
28178	for k, v := range d2ls.AdditionalProperties {
28179		objectMap[k] = v
28180	}
28181	return json.Marshal(objectMap)
28182}
28183
28184// AsResponsysLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28185func (d2ls Db2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
28186	return nil, false
28187}
28188
28189// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28190func (d2ls Db2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
28191	return nil, false
28192}
28193
28194// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28195func (d2ls Db2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
28196	return nil, false
28197}
28198
28199// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28200func (d2ls Db2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
28201	return nil, false
28202}
28203
28204// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28205func (d2ls Db2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
28206	return nil, false
28207}
28208
28209// AsNetezzaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28210func (d2ls Db2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
28211	return nil, false
28212}
28213
28214// AsVerticaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28215func (d2ls Db2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
28216	return nil, false
28217}
28218
28219// AsZohoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28220func (d2ls Db2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
28221	return nil, false
28222}
28223
28224// AsXeroLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28225func (d2ls Db2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
28226	return nil, false
28227}
28228
28229// AsSquareLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28230func (d2ls Db2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
28231	return nil, false
28232}
28233
28234// AsSparkLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28235func (d2ls Db2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
28236	return nil, false
28237}
28238
28239// AsShopifyLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28240func (d2ls Db2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
28241	return nil, false
28242}
28243
28244// AsServiceNowLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28245func (d2ls Db2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
28246	return nil, false
28247}
28248
28249// AsQuickBooksLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28250func (d2ls Db2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
28251	return nil, false
28252}
28253
28254// AsPrestoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28255func (d2ls Db2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
28256	return nil, false
28257}
28258
28259// AsPhoenixLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28260func (d2ls Db2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
28261	return nil, false
28262}
28263
28264// AsPaypalLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28265func (d2ls Db2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
28266	return nil, false
28267}
28268
28269// AsMarketoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28270func (d2ls Db2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
28271	return nil, false
28272}
28273
28274// AsMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28275func (d2ls Db2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
28276	return nil, false
28277}
28278
28279// AsMagentoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28280func (d2ls Db2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
28281	return nil, false
28282}
28283
28284// AsJiraLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28285func (d2ls Db2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
28286	return nil, false
28287}
28288
28289// AsImpalaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28290func (d2ls Db2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
28291	return nil, false
28292}
28293
28294// AsHubspotLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28295func (d2ls Db2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
28296	return nil, false
28297}
28298
28299// AsHiveLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28300func (d2ls Db2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
28301	return nil, false
28302}
28303
28304// AsHBaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28305func (d2ls Db2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
28306	return nil, false
28307}
28308
28309// AsGreenplumLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28310func (d2ls Db2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
28311	return nil, false
28312}
28313
28314// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28315func (d2ls Db2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
28316	return nil, false
28317}
28318
28319// AsEloquaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28320func (d2ls Db2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
28321	return nil, false
28322}
28323
28324// AsDrillLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28325func (d2ls Db2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
28326	return nil, false
28327}
28328
28329// AsCouchbaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28330func (d2ls Db2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
28331	return nil, false
28332}
28333
28334// AsConcurLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28335func (d2ls Db2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
28336	return nil, false
28337}
28338
28339// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28340func (d2ls Db2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
28341	return nil, false
28342}
28343
28344// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28345func (d2ls Db2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
28346	return nil, false
28347}
28348
28349// AsSapHanaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28350func (d2ls Db2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
28351	return nil, false
28352}
28353
28354// AsSapBWLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28355func (d2ls Db2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
28356	return nil, false
28357}
28358
28359// AsSftpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28360func (d2ls Db2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
28361	return nil, false
28362}
28363
28364// AsFtpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28365func (d2ls Db2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
28366	return nil, false
28367}
28368
28369// AsHTTPLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28370func (d2ls Db2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
28371	return nil, false
28372}
28373
28374// AsAzureSearchLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28375func (d2ls Db2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
28376	return nil, false
28377}
28378
28379// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28380func (d2ls Db2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
28381	return nil, false
28382}
28383
28384// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28385func (d2ls Db2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
28386	return nil, false
28387}
28388
28389// AsAmazonS3LinkedService is the BasicLinkedService implementation for Db2LinkedService.
28390func (d2ls Db2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
28391	return nil, false
28392}
28393
28394// AsSapEccLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28395func (d2ls Db2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
28396	return nil, false
28397}
28398
28399// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28400func (d2ls Db2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
28401	return nil, false
28402}
28403
28404// AsSalesforceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28405func (d2ls Db2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
28406	return nil, false
28407}
28408
28409// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28410func (d2ls Db2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
28411	return nil, false
28412}
28413
28414// AsMongoDbLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28415func (d2ls Db2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
28416	return nil, false
28417}
28418
28419// AsCassandraLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28420func (d2ls Db2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
28421	return nil, false
28422}
28423
28424// AsWebLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28425func (d2ls Db2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
28426	return nil, false
28427}
28428
28429// AsODataLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28430func (d2ls Db2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
28431	return nil, false
28432}
28433
28434// AsHdfsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28435func (d2ls Db2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
28436	return nil, false
28437}
28438
28439// AsOdbcLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28440func (d2ls Db2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
28441	return nil, false
28442}
28443
28444// AsAzureMLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28445func (d2ls Db2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
28446	return nil, false
28447}
28448
28449// AsTeradataLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28450func (d2ls Db2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
28451	return nil, false
28452}
28453
28454// AsDb2LinkedService is the BasicLinkedService implementation for Db2LinkedService.
28455func (d2ls Db2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
28456	return &d2ls, true
28457}
28458
28459// AsSybaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28460func (d2ls Db2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
28461	return nil, false
28462}
28463
28464// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28465func (d2ls Db2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
28466	return nil, false
28467}
28468
28469// AsMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28470func (d2ls Db2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
28471	return nil, false
28472}
28473
28474// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28475func (d2ls Db2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
28476	return nil, false
28477}
28478
28479// AsOracleLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28480func (d2ls Db2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
28481	return nil, false
28482}
28483
28484// AsFileServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28485func (d2ls Db2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
28486	return nil, false
28487}
28488
28489// AsHDInsightLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28490func (d2ls Db2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
28491	return nil, false
28492}
28493
28494// AsDynamicsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28495func (d2ls Db2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
28496	return nil, false
28497}
28498
28499// AsCosmosDbLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28500func (d2ls Db2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
28501	return nil, false
28502}
28503
28504// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28505func (d2ls Db2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
28506	return nil, false
28507}
28508
28509// AsAzureBatchLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28510func (d2ls Db2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
28511	return nil, false
28512}
28513
28514// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28515func (d2ls Db2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
28516	return nil, false
28517}
28518
28519// AsSQLServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28520func (d2ls Db2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
28521	return nil, false
28522}
28523
28524// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28525func (d2ls Db2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
28526	return nil, false
28527}
28528
28529// AsAzureStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28530func (d2ls Db2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
28531	return nil, false
28532}
28533
28534// AsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28535func (d2ls Db2LinkedService) AsLinkedService() (*LinkedService, bool) {
28536	return nil, false
28537}
28538
28539// AsBasicLinkedService is the BasicLinkedService implementation for Db2LinkedService.
28540func (d2ls Db2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
28541	return &d2ls, true
28542}
28543
28544// UnmarshalJSON is the custom unmarshaler for Db2LinkedService struct.
28545func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error {
28546	var m map[string]*json.RawMessage
28547	err := json.Unmarshal(body, &m)
28548	if err != nil {
28549		return err
28550	}
28551	for k, v := range m {
28552		switch k {
28553		case "typeProperties":
28554			if v != nil {
28555				var db2LinkedServiceTypeProperties Db2LinkedServiceTypeProperties
28556				err = json.Unmarshal(*v, &db2LinkedServiceTypeProperties)
28557				if err != nil {
28558					return err
28559				}
28560				d2ls.Db2LinkedServiceTypeProperties = &db2LinkedServiceTypeProperties
28561			}
28562		default:
28563			if v != nil {
28564				var additionalProperties interface{}
28565				err = json.Unmarshal(*v, &additionalProperties)
28566				if err != nil {
28567					return err
28568				}
28569				if d2ls.AdditionalProperties == nil {
28570					d2ls.AdditionalProperties = make(map[string]interface{})
28571				}
28572				d2ls.AdditionalProperties[k] = additionalProperties
28573			}
28574		case "connectVia":
28575			if v != nil {
28576				var connectVia IntegrationRuntimeReference
28577				err = json.Unmarshal(*v, &connectVia)
28578				if err != nil {
28579					return err
28580				}
28581				d2ls.ConnectVia = &connectVia
28582			}
28583		case "description":
28584			if v != nil {
28585				var description string
28586				err = json.Unmarshal(*v, &description)
28587				if err != nil {
28588					return err
28589				}
28590				d2ls.Description = &description
28591			}
28592		case "parameters":
28593			if v != nil {
28594				var parameters map[string]*ParameterSpecification
28595				err = json.Unmarshal(*v, &parameters)
28596				if err != nil {
28597					return err
28598				}
28599				d2ls.Parameters = parameters
28600			}
28601		case "annotations":
28602			if v != nil {
28603				var annotations []interface{}
28604				err = json.Unmarshal(*v, &annotations)
28605				if err != nil {
28606					return err
28607				}
28608				d2ls.Annotations = &annotations
28609			}
28610		case "type":
28611			if v != nil {
28612				var typeVar TypeBasicLinkedService
28613				err = json.Unmarshal(*v, &typeVar)
28614				if err != nil {
28615					return err
28616				}
28617				d2ls.Type = typeVar
28618			}
28619		}
28620	}
28621
28622	return nil
28623}
28624
28625// Db2LinkedServiceTypeProperties dB2 linked service properties.
28626type Db2LinkedServiceTypeProperties struct {
28627	// Server - Server name for connection. Type: string (or Expression with resultType string).
28628	Server interface{} `json:"server,omitempty"`
28629	// Database - Database name for connection. Type: string (or Expression with resultType string).
28630	Database interface{} `json:"database,omitempty"`
28631	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'Basic'
28632	AuthenticationType Db2AuthenticationType `json:"authenticationType,omitempty"`
28633	// Username - Username for authentication. Type: string (or Expression with resultType string).
28634	Username interface{} `json:"username,omitempty"`
28635	// Password - Password for authentication.
28636	Password BasicSecretBase `json:"password,omitempty"`
28637	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
28638	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
28639}
28640
28641// UnmarshalJSON is the custom unmarshaler for Db2LinkedServiceTypeProperties struct.
28642func (d2lstp *Db2LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
28643	var m map[string]*json.RawMessage
28644	err := json.Unmarshal(body, &m)
28645	if err != nil {
28646		return err
28647	}
28648	for k, v := range m {
28649		switch k {
28650		case "server":
28651			if v != nil {
28652				var server interface{}
28653				err = json.Unmarshal(*v, &server)
28654				if err != nil {
28655					return err
28656				}
28657				d2lstp.Server = server
28658			}
28659		case "database":
28660			if v != nil {
28661				var databaseVar interface{}
28662				err = json.Unmarshal(*v, &databaseVar)
28663				if err != nil {
28664					return err
28665				}
28666				d2lstp.Database = databaseVar
28667			}
28668		case "authenticationType":
28669			if v != nil {
28670				var authenticationType Db2AuthenticationType
28671				err = json.Unmarshal(*v, &authenticationType)
28672				if err != nil {
28673					return err
28674				}
28675				d2lstp.AuthenticationType = authenticationType
28676			}
28677		case "username":
28678			if v != nil {
28679				var username interface{}
28680				err = json.Unmarshal(*v, &username)
28681				if err != nil {
28682					return err
28683				}
28684				d2lstp.Username = username
28685			}
28686		case "password":
28687			if v != nil {
28688				password, err := unmarshalBasicSecretBase(*v)
28689				if err != nil {
28690					return err
28691				}
28692				d2lstp.Password = password
28693			}
28694		case "encryptedCredential":
28695			if v != nil {
28696				var encryptedCredential interface{}
28697				err = json.Unmarshal(*v, &encryptedCredential)
28698				if err != nil {
28699					return err
28700				}
28701				d2lstp.EncryptedCredential = encryptedCredential
28702			}
28703		}
28704	}
28705
28706	return nil
28707}
28708
28709// DistcpSettings distcp settings.
28710type DistcpSettings struct {
28711	// ResourceManagerEndpoint - Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string).
28712	ResourceManagerEndpoint interface{} `json:"resourceManagerEndpoint,omitempty"`
28713	// 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).
28714	TempScriptPath interface{} `json:"tempScriptPath,omitempty"`
28715	// DistcpOptions - Specifies the Distcp options. Type: string (or Expression with resultType string).
28716	DistcpOptions interface{} `json:"distcpOptions,omitempty"`
28717}
28718
28719// DocumentDbCollectionDataset microsoft Azure Document Database Collection dataset.
28720type DocumentDbCollectionDataset struct {
28721	// DocumentDbCollectionDatasetTypeProperties - DocumentDB Collection dataset properties.
28722	*DocumentDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
28723	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
28724	AdditionalProperties map[string]interface{} `json:""`
28725	// Description - Dataset description.
28726	Description *string `json:"description,omitempty"`
28727	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
28728	Structure interface{} `json:"structure,omitempty"`
28729	// LinkedServiceName - Linked service reference.
28730	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
28731	// Parameters - Parameters for dataset.
28732	Parameters map[string]*ParameterSpecification `json:"parameters"`
28733	// Annotations - List of tags that can be used for describing the Dataset.
28734	Annotations *[]interface{} `json:"annotations,omitempty"`
28735	// 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'
28736	Type TypeBasicDataset `json:"type,omitempty"`
28737}
28738
28739// MarshalJSON is the custom marshaler for DocumentDbCollectionDataset.
28740func (ddcd DocumentDbCollectionDataset) MarshalJSON() ([]byte, error) {
28741	ddcd.Type = TypeDocumentDbCollection
28742	objectMap := make(map[string]interface{})
28743	if ddcd.DocumentDbCollectionDatasetTypeProperties != nil {
28744		objectMap["typeProperties"] = ddcd.DocumentDbCollectionDatasetTypeProperties
28745	}
28746	if ddcd.Description != nil {
28747		objectMap["description"] = ddcd.Description
28748	}
28749	if ddcd.Structure != nil {
28750		objectMap["structure"] = ddcd.Structure
28751	}
28752	if ddcd.LinkedServiceName != nil {
28753		objectMap["linkedServiceName"] = ddcd.LinkedServiceName
28754	}
28755	if ddcd.Parameters != nil {
28756		objectMap["parameters"] = ddcd.Parameters
28757	}
28758	if ddcd.Annotations != nil {
28759		objectMap["annotations"] = ddcd.Annotations
28760	}
28761	if ddcd.Type != "" {
28762		objectMap["type"] = ddcd.Type
28763	}
28764	for k, v := range ddcd.AdditionalProperties {
28765		objectMap[k] = v
28766	}
28767	return json.Marshal(objectMap)
28768}
28769
28770// AsResponsysObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28771func (ddcd DocumentDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
28772	return nil, false
28773}
28774
28775// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28776func (ddcd DocumentDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
28777	return nil, false
28778}
28779
28780// AsVerticaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28781func (ddcd DocumentDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
28782	return nil, false
28783}
28784
28785// AsNetezzaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28786func (ddcd DocumentDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
28787	return nil, false
28788}
28789
28790// AsZohoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28791func (ddcd DocumentDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
28792	return nil, false
28793}
28794
28795// AsXeroObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28796func (ddcd DocumentDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
28797	return nil, false
28798}
28799
28800// AsSquareObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28801func (ddcd DocumentDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
28802	return nil, false
28803}
28804
28805// AsSparkObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28806func (ddcd DocumentDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
28807	return nil, false
28808}
28809
28810// AsShopifyObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28811func (ddcd DocumentDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
28812	return nil, false
28813}
28814
28815// AsServiceNowObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28816func (ddcd DocumentDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
28817	return nil, false
28818}
28819
28820// AsQuickBooksObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28821func (ddcd DocumentDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
28822	return nil, false
28823}
28824
28825// AsPrestoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28826func (ddcd DocumentDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
28827	return nil, false
28828}
28829
28830// AsPhoenixObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28831func (ddcd DocumentDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
28832	return nil, false
28833}
28834
28835// AsPaypalObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28836func (ddcd DocumentDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
28837	return nil, false
28838}
28839
28840// AsMarketoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28841func (ddcd DocumentDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
28842	return nil, false
28843}
28844
28845// AsMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28846func (ddcd DocumentDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
28847	return nil, false
28848}
28849
28850// AsMagentoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28851func (ddcd DocumentDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
28852	return nil, false
28853}
28854
28855// AsJiraObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28856func (ddcd DocumentDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
28857	return nil, false
28858}
28859
28860// AsImpalaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28861func (ddcd DocumentDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
28862	return nil, false
28863}
28864
28865// AsHubspotObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28866func (ddcd DocumentDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
28867	return nil, false
28868}
28869
28870// AsHiveObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28871func (ddcd DocumentDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
28872	return nil, false
28873}
28874
28875// AsHBaseObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28876func (ddcd DocumentDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
28877	return nil, false
28878}
28879
28880// AsGreenplumTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28881func (ddcd DocumentDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
28882	return nil, false
28883}
28884
28885// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28886func (ddcd DocumentDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
28887	return nil, false
28888}
28889
28890// AsEloquaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28891func (ddcd DocumentDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
28892	return nil, false
28893}
28894
28895// AsDrillTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28896func (ddcd DocumentDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
28897	return nil, false
28898}
28899
28900// AsCouchbaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28901func (ddcd DocumentDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
28902	return nil, false
28903}
28904
28905// AsConcurObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28906func (ddcd DocumentDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
28907	return nil, false
28908}
28909
28910// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28911func (ddcd DocumentDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
28912	return nil, false
28913}
28914
28915// AsAmazonMWSObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28916func (ddcd DocumentDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
28917	return nil, false
28918}
28919
28920// AsHTTPDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28921func (ddcd DocumentDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) {
28922	return nil, false
28923}
28924
28925// AsAzureSearchIndexDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28926func (ddcd DocumentDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
28927	return nil, false
28928}
28929
28930// AsWebTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28931func (ddcd DocumentDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
28932	return nil, false
28933}
28934
28935// AsSQLServerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28936func (ddcd DocumentDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
28937	return nil, false
28938}
28939
28940// AsSapEccResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28941func (ddcd DocumentDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
28942	return nil, false
28943}
28944
28945// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28946func (ddcd DocumentDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
28947	return nil, false
28948}
28949
28950// AsSalesforceObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28951func (ddcd DocumentDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
28952	return nil, false
28953}
28954
28955// AsRelationalTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28956func (ddcd DocumentDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
28957	return nil, false
28958}
28959
28960// AsAzureMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28961func (ddcd DocumentDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
28962	return nil, false
28963}
28964
28965// AsOracleTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28966func (ddcd DocumentDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
28967	return nil, false
28968}
28969
28970// AsODataResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28971func (ddcd DocumentDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
28972	return nil, false
28973}
28974
28975// AsMongoDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28976func (ddcd DocumentDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
28977	return nil, false
28978}
28979
28980// AsFileShareDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28981func (ddcd DocumentDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) {
28982	return nil, false
28983}
28984
28985// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28986func (ddcd DocumentDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
28987	return nil, false
28988}
28989
28990// AsDynamicsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28991func (ddcd DocumentDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
28992	return nil, false
28993}
28994
28995// AsDocumentDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
28996func (ddcd DocumentDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
28997	return &ddcd, true
28998}
28999
29000// AsCustomDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29001func (ddcd DocumentDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
29002	return nil, false
29003}
29004
29005// AsCassandraTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29006func (ddcd DocumentDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
29007	return nil, false
29008}
29009
29010// AsAzureSQLDWTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29011func (ddcd DocumentDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
29012	return nil, false
29013}
29014
29015// AsAzureSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29016func (ddcd DocumentDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
29017	return nil, false
29018}
29019
29020// AsAzureTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29021func (ddcd DocumentDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
29022	return nil, false
29023}
29024
29025// AsAzureBlobDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29026func (ddcd DocumentDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
29027	return nil, false
29028}
29029
29030// AsAmazonS3Dataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29031func (ddcd DocumentDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
29032	return nil, false
29033}
29034
29035// AsDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29036func (ddcd DocumentDbCollectionDataset) AsDataset() (*Dataset, bool) {
29037	return nil, false
29038}
29039
29040// AsBasicDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
29041func (ddcd DocumentDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) {
29042	return &ddcd, true
29043}
29044
29045// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionDataset struct.
29046func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error {
29047	var m map[string]*json.RawMessage
29048	err := json.Unmarshal(body, &m)
29049	if err != nil {
29050		return err
29051	}
29052	for k, v := range m {
29053		switch k {
29054		case "typeProperties":
29055			if v != nil {
29056				var documentDbCollectionDatasetTypeProperties DocumentDbCollectionDatasetTypeProperties
29057				err = json.Unmarshal(*v, &documentDbCollectionDatasetTypeProperties)
29058				if err != nil {
29059					return err
29060				}
29061				ddcd.DocumentDbCollectionDatasetTypeProperties = &documentDbCollectionDatasetTypeProperties
29062			}
29063		default:
29064			if v != nil {
29065				var additionalProperties interface{}
29066				err = json.Unmarshal(*v, &additionalProperties)
29067				if err != nil {
29068					return err
29069				}
29070				if ddcd.AdditionalProperties == nil {
29071					ddcd.AdditionalProperties = make(map[string]interface{})
29072				}
29073				ddcd.AdditionalProperties[k] = additionalProperties
29074			}
29075		case "description":
29076			if v != nil {
29077				var description string
29078				err = json.Unmarshal(*v, &description)
29079				if err != nil {
29080					return err
29081				}
29082				ddcd.Description = &description
29083			}
29084		case "structure":
29085			if v != nil {
29086				var structure interface{}
29087				err = json.Unmarshal(*v, &structure)
29088				if err != nil {
29089					return err
29090				}
29091				ddcd.Structure = structure
29092			}
29093		case "linkedServiceName":
29094			if v != nil {
29095				var linkedServiceName LinkedServiceReference
29096				err = json.Unmarshal(*v, &linkedServiceName)
29097				if err != nil {
29098					return err
29099				}
29100				ddcd.LinkedServiceName = &linkedServiceName
29101			}
29102		case "parameters":
29103			if v != nil {
29104				var parameters map[string]*ParameterSpecification
29105				err = json.Unmarshal(*v, &parameters)
29106				if err != nil {
29107					return err
29108				}
29109				ddcd.Parameters = parameters
29110			}
29111		case "annotations":
29112			if v != nil {
29113				var annotations []interface{}
29114				err = json.Unmarshal(*v, &annotations)
29115				if err != nil {
29116					return err
29117				}
29118				ddcd.Annotations = &annotations
29119			}
29120		case "type":
29121			if v != nil {
29122				var typeVar TypeBasicDataset
29123				err = json.Unmarshal(*v, &typeVar)
29124				if err != nil {
29125					return err
29126				}
29127				ddcd.Type = typeVar
29128			}
29129		}
29130	}
29131
29132	return nil
29133}
29134
29135// DocumentDbCollectionDatasetTypeProperties documentDB Collection dataset properties.
29136type DocumentDbCollectionDatasetTypeProperties struct {
29137	// CollectionName - Document Database collection name. Type: string (or Expression with resultType string).
29138	CollectionName interface{} `json:"collectionName,omitempty"`
29139}
29140
29141// DocumentDbCollectionSink a copy activity Document Database Collection sink.
29142type DocumentDbCollectionSink struct {
29143	// NestingSeparator - Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string).
29144	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
29145	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
29146	AdditionalProperties map[string]interface{} `json:""`
29147	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
29148	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
29149	// 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])).
29150	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
29151	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
29152	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
29153	// 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])).
29154	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
29155	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
29156	Type TypeBasicCopySink `json:"type,omitempty"`
29157}
29158
29159// MarshalJSON is the custom marshaler for DocumentDbCollectionSink.
29160func (ddcs DocumentDbCollectionSink) MarshalJSON() ([]byte, error) {
29161	ddcs.Type = TypeDocumentDbCollectionSink
29162	objectMap := make(map[string]interface{})
29163	if ddcs.NestingSeparator != nil {
29164		objectMap["nestingSeparator"] = ddcs.NestingSeparator
29165	}
29166	if ddcs.WriteBatchSize != nil {
29167		objectMap["writeBatchSize"] = ddcs.WriteBatchSize
29168	}
29169	if ddcs.WriteBatchTimeout != nil {
29170		objectMap["writeBatchTimeout"] = ddcs.WriteBatchTimeout
29171	}
29172	if ddcs.SinkRetryCount != nil {
29173		objectMap["sinkRetryCount"] = ddcs.SinkRetryCount
29174	}
29175	if ddcs.SinkRetryWait != nil {
29176		objectMap["sinkRetryWait"] = ddcs.SinkRetryWait
29177	}
29178	if ddcs.Type != "" {
29179		objectMap["type"] = ddcs.Type
29180	}
29181	for k, v := range ddcs.AdditionalProperties {
29182		objectMap[k] = v
29183	}
29184	return json.Marshal(objectMap)
29185}
29186
29187// AsSalesforceSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29188func (ddcs DocumentDbCollectionSink) AsSalesforceSink() (*SalesforceSink, bool) {
29189	return nil, false
29190}
29191
29192// AsDynamicsSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29193func (ddcs DocumentDbCollectionSink) AsDynamicsSink() (*DynamicsSink, bool) {
29194	return nil, false
29195}
29196
29197// AsOdbcSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29198func (ddcs DocumentDbCollectionSink) AsOdbcSink() (*OdbcSink, bool) {
29199	return nil, false
29200}
29201
29202// AsAzureSearchIndexSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29203func (ddcs DocumentDbCollectionSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
29204	return nil, false
29205}
29206
29207// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29208func (ddcs DocumentDbCollectionSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
29209	return nil, false
29210}
29211
29212// AsOracleSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29213func (ddcs DocumentDbCollectionSink) AsOracleSink() (*OracleSink, bool) {
29214	return nil, false
29215}
29216
29217// AsSQLDWSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29218func (ddcs DocumentDbCollectionSink) AsSQLDWSink() (*SQLDWSink, bool) {
29219	return nil, false
29220}
29221
29222// AsSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29223func (ddcs DocumentDbCollectionSink) AsSQLSink() (*SQLSink, bool) {
29224	return nil, false
29225}
29226
29227// AsDocumentDbCollectionSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29228func (ddcs DocumentDbCollectionSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
29229	return &ddcs, true
29230}
29231
29232// AsFileSystemSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29233func (ddcs DocumentDbCollectionSink) AsFileSystemSink() (*FileSystemSink, bool) {
29234	return nil, false
29235}
29236
29237// AsBlobSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29238func (ddcs DocumentDbCollectionSink) AsBlobSink() (*BlobSink, bool) {
29239	return nil, false
29240}
29241
29242// AsAzureTableSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29243func (ddcs DocumentDbCollectionSink) AsAzureTableSink() (*AzureTableSink, bool) {
29244	return nil, false
29245}
29246
29247// AsAzureQueueSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29248func (ddcs DocumentDbCollectionSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
29249	return nil, false
29250}
29251
29252// AsSapCloudForCustomerSink is the BasicCopySink implementation for DocumentDbCollectionSink.
29253func (ddcs DocumentDbCollectionSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
29254	return nil, false
29255}
29256
29257// AsCopySink is the BasicCopySink implementation for DocumentDbCollectionSink.
29258func (ddcs DocumentDbCollectionSink) AsCopySink() (*CopySink, bool) {
29259	return nil, false
29260}
29261
29262// AsBasicCopySink is the BasicCopySink implementation for DocumentDbCollectionSink.
29263func (ddcs DocumentDbCollectionSink) AsBasicCopySink() (BasicCopySink, bool) {
29264	return &ddcs, true
29265}
29266
29267// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSink struct.
29268func (ddcs *DocumentDbCollectionSink) UnmarshalJSON(body []byte) error {
29269	var m map[string]*json.RawMessage
29270	err := json.Unmarshal(body, &m)
29271	if err != nil {
29272		return err
29273	}
29274	for k, v := range m {
29275		switch k {
29276		case "nestingSeparator":
29277			if v != nil {
29278				var nestingSeparator interface{}
29279				err = json.Unmarshal(*v, &nestingSeparator)
29280				if err != nil {
29281					return err
29282				}
29283				ddcs.NestingSeparator = nestingSeparator
29284			}
29285		default:
29286			if v != nil {
29287				var additionalProperties interface{}
29288				err = json.Unmarshal(*v, &additionalProperties)
29289				if err != nil {
29290					return err
29291				}
29292				if ddcs.AdditionalProperties == nil {
29293					ddcs.AdditionalProperties = make(map[string]interface{})
29294				}
29295				ddcs.AdditionalProperties[k] = additionalProperties
29296			}
29297		case "writeBatchSize":
29298			if v != nil {
29299				var writeBatchSize interface{}
29300				err = json.Unmarshal(*v, &writeBatchSize)
29301				if err != nil {
29302					return err
29303				}
29304				ddcs.WriteBatchSize = writeBatchSize
29305			}
29306		case "writeBatchTimeout":
29307			if v != nil {
29308				var writeBatchTimeout interface{}
29309				err = json.Unmarshal(*v, &writeBatchTimeout)
29310				if err != nil {
29311					return err
29312				}
29313				ddcs.WriteBatchTimeout = writeBatchTimeout
29314			}
29315		case "sinkRetryCount":
29316			if v != nil {
29317				var sinkRetryCount interface{}
29318				err = json.Unmarshal(*v, &sinkRetryCount)
29319				if err != nil {
29320					return err
29321				}
29322				ddcs.SinkRetryCount = sinkRetryCount
29323			}
29324		case "sinkRetryWait":
29325			if v != nil {
29326				var sinkRetryWait interface{}
29327				err = json.Unmarshal(*v, &sinkRetryWait)
29328				if err != nil {
29329					return err
29330				}
29331				ddcs.SinkRetryWait = sinkRetryWait
29332			}
29333		case "type":
29334			if v != nil {
29335				var typeVar TypeBasicCopySink
29336				err = json.Unmarshal(*v, &typeVar)
29337				if err != nil {
29338					return err
29339				}
29340				ddcs.Type = typeVar
29341			}
29342		}
29343	}
29344
29345	return nil
29346}
29347
29348// DocumentDbCollectionSource a copy activity Document Database Collection source.
29349type DocumentDbCollectionSource struct {
29350	// Query - Documents query. Type: string (or Expression with resultType string).
29351	Query interface{} `json:"query,omitempty"`
29352	// NestingSeparator - Nested properties separator. Type: string (or Expression with resultType string).
29353	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
29354	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
29355	AdditionalProperties map[string]interface{} `json:""`
29356	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
29357	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
29358	// 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])).
29359	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
29360	// 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'
29361	Type TypeBasicCopySource `json:"type,omitempty"`
29362}
29363
29364// MarshalJSON is the custom marshaler for DocumentDbCollectionSource.
29365func (ddcs DocumentDbCollectionSource) MarshalJSON() ([]byte, error) {
29366	ddcs.Type = TypeDocumentDbCollectionSource
29367	objectMap := make(map[string]interface{})
29368	if ddcs.Query != nil {
29369		objectMap["query"] = ddcs.Query
29370	}
29371	if ddcs.NestingSeparator != nil {
29372		objectMap["nestingSeparator"] = ddcs.NestingSeparator
29373	}
29374	if ddcs.SourceRetryCount != nil {
29375		objectMap["sourceRetryCount"] = ddcs.SourceRetryCount
29376	}
29377	if ddcs.SourceRetryWait != nil {
29378		objectMap["sourceRetryWait"] = ddcs.SourceRetryWait
29379	}
29380	if ddcs.Type != "" {
29381		objectMap["type"] = ddcs.Type
29382	}
29383	for k, v := range ddcs.AdditionalProperties {
29384		objectMap[k] = v
29385	}
29386	return json.Marshal(objectMap)
29387}
29388
29389// AsAmazonRedshiftSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29390func (ddcs DocumentDbCollectionSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
29391	return nil, false
29392}
29393
29394// AsResponsysSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29395func (ddcs DocumentDbCollectionSource) AsResponsysSource() (*ResponsysSource, bool) {
29396	return nil, false
29397}
29398
29399// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29400func (ddcs DocumentDbCollectionSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
29401	return nil, false
29402}
29403
29404// AsVerticaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29405func (ddcs DocumentDbCollectionSource) AsVerticaSource() (*VerticaSource, bool) {
29406	return nil, false
29407}
29408
29409// AsNetezzaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29410func (ddcs DocumentDbCollectionSource) AsNetezzaSource() (*NetezzaSource, bool) {
29411	return nil, false
29412}
29413
29414// AsZohoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29415func (ddcs DocumentDbCollectionSource) AsZohoSource() (*ZohoSource, bool) {
29416	return nil, false
29417}
29418
29419// AsXeroSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29420func (ddcs DocumentDbCollectionSource) AsXeroSource() (*XeroSource, bool) {
29421	return nil, false
29422}
29423
29424// AsSquareSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29425func (ddcs DocumentDbCollectionSource) AsSquareSource() (*SquareSource, bool) {
29426	return nil, false
29427}
29428
29429// AsSparkSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29430func (ddcs DocumentDbCollectionSource) AsSparkSource() (*SparkSource, bool) {
29431	return nil, false
29432}
29433
29434// AsShopifySource is the BasicCopySource implementation for DocumentDbCollectionSource.
29435func (ddcs DocumentDbCollectionSource) AsShopifySource() (*ShopifySource, bool) {
29436	return nil, false
29437}
29438
29439// AsServiceNowSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29440func (ddcs DocumentDbCollectionSource) AsServiceNowSource() (*ServiceNowSource, bool) {
29441	return nil, false
29442}
29443
29444// AsQuickBooksSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29445func (ddcs DocumentDbCollectionSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
29446	return nil, false
29447}
29448
29449// AsPrestoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29450func (ddcs DocumentDbCollectionSource) AsPrestoSource() (*PrestoSource, bool) {
29451	return nil, false
29452}
29453
29454// AsPhoenixSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29455func (ddcs DocumentDbCollectionSource) AsPhoenixSource() (*PhoenixSource, bool) {
29456	return nil, false
29457}
29458
29459// AsPaypalSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29460func (ddcs DocumentDbCollectionSource) AsPaypalSource() (*PaypalSource, bool) {
29461	return nil, false
29462}
29463
29464// AsMarketoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29465func (ddcs DocumentDbCollectionSource) AsMarketoSource() (*MarketoSource, bool) {
29466	return nil, false
29467}
29468
29469// AsMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29470func (ddcs DocumentDbCollectionSource) AsMariaDBSource() (*MariaDBSource, bool) {
29471	return nil, false
29472}
29473
29474// AsMagentoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29475func (ddcs DocumentDbCollectionSource) AsMagentoSource() (*MagentoSource, bool) {
29476	return nil, false
29477}
29478
29479// AsJiraSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29480func (ddcs DocumentDbCollectionSource) AsJiraSource() (*JiraSource, bool) {
29481	return nil, false
29482}
29483
29484// AsImpalaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29485func (ddcs DocumentDbCollectionSource) AsImpalaSource() (*ImpalaSource, bool) {
29486	return nil, false
29487}
29488
29489// AsHubspotSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29490func (ddcs DocumentDbCollectionSource) AsHubspotSource() (*HubspotSource, bool) {
29491	return nil, false
29492}
29493
29494// AsHiveSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29495func (ddcs DocumentDbCollectionSource) AsHiveSource() (*HiveSource, bool) {
29496	return nil, false
29497}
29498
29499// AsHBaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29500func (ddcs DocumentDbCollectionSource) AsHBaseSource() (*HBaseSource, bool) {
29501	return nil, false
29502}
29503
29504// AsGreenplumSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29505func (ddcs DocumentDbCollectionSource) AsGreenplumSource() (*GreenplumSource, bool) {
29506	return nil, false
29507}
29508
29509// AsGoogleBigQuerySource is the BasicCopySource implementation for DocumentDbCollectionSource.
29510func (ddcs DocumentDbCollectionSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
29511	return nil, false
29512}
29513
29514// AsEloquaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29515func (ddcs DocumentDbCollectionSource) AsEloquaSource() (*EloquaSource, bool) {
29516	return nil, false
29517}
29518
29519// AsDrillSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29520func (ddcs DocumentDbCollectionSource) AsDrillSource() (*DrillSource, bool) {
29521	return nil, false
29522}
29523
29524// AsCouchbaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29525func (ddcs DocumentDbCollectionSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
29526	return nil, false
29527}
29528
29529// AsConcurSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29530func (ddcs DocumentDbCollectionSource) AsConcurSource() (*ConcurSource, bool) {
29531	return nil, false
29532}
29533
29534// AsAzurePostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29535func (ddcs DocumentDbCollectionSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
29536	return nil, false
29537}
29538
29539// AsAmazonMWSSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29540func (ddcs DocumentDbCollectionSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
29541	return nil, false
29542}
29543
29544// AsHTTPSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29545func (ddcs DocumentDbCollectionSource) AsHTTPSource() (*HTTPSource, bool) {
29546	return nil, false
29547}
29548
29549// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29550func (ddcs DocumentDbCollectionSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
29551	return nil, false
29552}
29553
29554// AsMongoDbSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29555func (ddcs DocumentDbCollectionSource) AsMongoDbSource() (*MongoDbSource, bool) {
29556	return nil, false
29557}
29558
29559// AsCassandraSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29560func (ddcs DocumentDbCollectionSource) AsCassandraSource() (*CassandraSource, bool) {
29561	return nil, false
29562}
29563
29564// AsWebSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29565func (ddcs DocumentDbCollectionSource) AsWebSource() (*WebSource, bool) {
29566	return nil, false
29567}
29568
29569// AsOracleSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29570func (ddcs DocumentDbCollectionSource) AsOracleSource() (*OracleSource, bool) {
29571	return nil, false
29572}
29573
29574// AsAzureMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29575func (ddcs DocumentDbCollectionSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
29576	return nil, false
29577}
29578
29579// AsHdfsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29580func (ddcs DocumentDbCollectionSource) AsHdfsSource() (*HdfsSource, bool) {
29581	return nil, false
29582}
29583
29584// AsFileSystemSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29585func (ddcs DocumentDbCollectionSource) AsFileSystemSource() (*FileSystemSource, bool) {
29586	return nil, false
29587}
29588
29589// AsSQLDWSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29590func (ddcs DocumentDbCollectionSource) AsSQLDWSource() (*SQLDWSource, bool) {
29591	return nil, false
29592}
29593
29594// AsSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29595func (ddcs DocumentDbCollectionSource) AsSQLSource() (*SQLSource, bool) {
29596	return nil, false
29597}
29598
29599// AsSapEccSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29600func (ddcs DocumentDbCollectionSource) AsSapEccSource() (*SapEccSource, bool) {
29601	return nil, false
29602}
29603
29604// AsSapCloudForCustomerSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29605func (ddcs DocumentDbCollectionSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
29606	return nil, false
29607}
29608
29609// AsSalesforceSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29610func (ddcs DocumentDbCollectionSource) AsSalesforceSource() (*SalesforceSource, bool) {
29611	return nil, false
29612}
29613
29614// AsRelationalSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29615func (ddcs DocumentDbCollectionSource) AsRelationalSource() (*RelationalSource, bool) {
29616	return nil, false
29617}
29618
29619// AsDynamicsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29620func (ddcs DocumentDbCollectionSource) AsDynamicsSource() (*DynamicsSource, bool) {
29621	return nil, false
29622}
29623
29624// AsDocumentDbCollectionSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29625func (ddcs DocumentDbCollectionSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
29626	return &ddcs, true
29627}
29628
29629// AsBlobSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29630func (ddcs DocumentDbCollectionSource) AsBlobSource() (*BlobSource, bool) {
29631	return nil, false
29632}
29633
29634// AsAzureTableSource is the BasicCopySource implementation for DocumentDbCollectionSource.
29635func (ddcs DocumentDbCollectionSource) AsAzureTableSource() (*AzureTableSource, bool) {
29636	return nil, false
29637}
29638
29639// AsCopySource is the BasicCopySource implementation for DocumentDbCollectionSource.
29640func (ddcs DocumentDbCollectionSource) AsCopySource() (*CopySource, bool) {
29641	return nil, false
29642}
29643
29644// AsBasicCopySource is the BasicCopySource implementation for DocumentDbCollectionSource.
29645func (ddcs DocumentDbCollectionSource) AsBasicCopySource() (BasicCopySource, bool) {
29646	return &ddcs, true
29647}
29648
29649// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSource struct.
29650func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error {
29651	var m map[string]*json.RawMessage
29652	err := json.Unmarshal(body, &m)
29653	if err != nil {
29654		return err
29655	}
29656	for k, v := range m {
29657		switch k {
29658		case "query":
29659			if v != nil {
29660				var query interface{}
29661				err = json.Unmarshal(*v, &query)
29662				if err != nil {
29663					return err
29664				}
29665				ddcs.Query = query
29666			}
29667		case "nestingSeparator":
29668			if v != nil {
29669				var nestingSeparator interface{}
29670				err = json.Unmarshal(*v, &nestingSeparator)
29671				if err != nil {
29672					return err
29673				}
29674				ddcs.NestingSeparator = nestingSeparator
29675			}
29676		default:
29677			if v != nil {
29678				var additionalProperties interface{}
29679				err = json.Unmarshal(*v, &additionalProperties)
29680				if err != nil {
29681					return err
29682				}
29683				if ddcs.AdditionalProperties == nil {
29684					ddcs.AdditionalProperties = make(map[string]interface{})
29685				}
29686				ddcs.AdditionalProperties[k] = additionalProperties
29687			}
29688		case "sourceRetryCount":
29689			if v != nil {
29690				var sourceRetryCount interface{}
29691				err = json.Unmarshal(*v, &sourceRetryCount)
29692				if err != nil {
29693					return err
29694				}
29695				ddcs.SourceRetryCount = sourceRetryCount
29696			}
29697		case "sourceRetryWait":
29698			if v != nil {
29699				var sourceRetryWait interface{}
29700				err = json.Unmarshal(*v, &sourceRetryWait)
29701				if err != nil {
29702					return err
29703				}
29704				ddcs.SourceRetryWait = sourceRetryWait
29705			}
29706		case "type":
29707			if v != nil {
29708				var typeVar TypeBasicCopySource
29709				err = json.Unmarshal(*v, &typeVar)
29710				if err != nil {
29711					return err
29712				}
29713				ddcs.Type = typeVar
29714			}
29715		}
29716	}
29717
29718	return nil
29719}
29720
29721// DrillLinkedService drill server linked service.
29722type DrillLinkedService struct {
29723	// DrillLinkedServiceTypeProperties - Drill server linked service properties.
29724	*DrillLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
29725	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
29726	AdditionalProperties map[string]interface{} `json:""`
29727	// ConnectVia - The integration runtime reference.
29728	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
29729	// Description - Linked service description.
29730	Description *string `json:"description,omitempty"`
29731	// Parameters - Parameters for linked service.
29732	Parameters map[string]*ParameterSpecification `json:"parameters"`
29733	// Annotations - List of tags that can be used for describing the Dataset.
29734	Annotations *[]interface{} `json:"annotations,omitempty"`
29735	// 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'
29736	Type TypeBasicLinkedService `json:"type,omitempty"`
29737}
29738
29739// MarshalJSON is the custom marshaler for DrillLinkedService.
29740func (dls DrillLinkedService) MarshalJSON() ([]byte, error) {
29741	dls.Type = TypeDrill
29742	objectMap := make(map[string]interface{})
29743	if dls.DrillLinkedServiceTypeProperties != nil {
29744		objectMap["typeProperties"] = dls.DrillLinkedServiceTypeProperties
29745	}
29746	if dls.ConnectVia != nil {
29747		objectMap["connectVia"] = dls.ConnectVia
29748	}
29749	if dls.Description != nil {
29750		objectMap["description"] = dls.Description
29751	}
29752	if dls.Parameters != nil {
29753		objectMap["parameters"] = dls.Parameters
29754	}
29755	if dls.Annotations != nil {
29756		objectMap["annotations"] = dls.Annotations
29757	}
29758	if dls.Type != "" {
29759		objectMap["type"] = dls.Type
29760	}
29761	for k, v := range dls.AdditionalProperties {
29762		objectMap[k] = v
29763	}
29764	return json.Marshal(objectMap)
29765}
29766
29767// AsResponsysLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29768func (dls DrillLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
29769	return nil, false
29770}
29771
29772// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29773func (dls DrillLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
29774	return nil, false
29775}
29776
29777// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29778func (dls DrillLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
29779	return nil, false
29780}
29781
29782// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29783func (dls DrillLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
29784	return nil, false
29785}
29786
29787// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29788func (dls DrillLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
29789	return nil, false
29790}
29791
29792// AsNetezzaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29793func (dls DrillLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
29794	return nil, false
29795}
29796
29797// AsVerticaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29798func (dls DrillLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
29799	return nil, false
29800}
29801
29802// AsZohoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29803func (dls DrillLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
29804	return nil, false
29805}
29806
29807// AsXeroLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29808func (dls DrillLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
29809	return nil, false
29810}
29811
29812// AsSquareLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29813func (dls DrillLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
29814	return nil, false
29815}
29816
29817// AsSparkLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29818func (dls DrillLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
29819	return nil, false
29820}
29821
29822// AsShopifyLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29823func (dls DrillLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
29824	return nil, false
29825}
29826
29827// AsServiceNowLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29828func (dls DrillLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
29829	return nil, false
29830}
29831
29832// AsQuickBooksLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29833func (dls DrillLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
29834	return nil, false
29835}
29836
29837// AsPrestoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29838func (dls DrillLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
29839	return nil, false
29840}
29841
29842// AsPhoenixLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29843func (dls DrillLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
29844	return nil, false
29845}
29846
29847// AsPaypalLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29848func (dls DrillLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
29849	return nil, false
29850}
29851
29852// AsMarketoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29853func (dls DrillLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
29854	return nil, false
29855}
29856
29857// AsMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29858func (dls DrillLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
29859	return nil, false
29860}
29861
29862// AsMagentoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29863func (dls DrillLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
29864	return nil, false
29865}
29866
29867// AsJiraLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29868func (dls DrillLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
29869	return nil, false
29870}
29871
29872// AsImpalaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29873func (dls DrillLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
29874	return nil, false
29875}
29876
29877// AsHubspotLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29878func (dls DrillLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
29879	return nil, false
29880}
29881
29882// AsHiveLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29883func (dls DrillLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
29884	return nil, false
29885}
29886
29887// AsHBaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29888func (dls DrillLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
29889	return nil, false
29890}
29891
29892// AsGreenplumLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29893func (dls DrillLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
29894	return nil, false
29895}
29896
29897// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29898func (dls DrillLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
29899	return nil, false
29900}
29901
29902// AsEloquaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29903func (dls DrillLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
29904	return nil, false
29905}
29906
29907// AsDrillLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29908func (dls DrillLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
29909	return &dls, true
29910}
29911
29912// AsCouchbaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29913func (dls DrillLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
29914	return nil, false
29915}
29916
29917// AsConcurLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29918func (dls DrillLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
29919	return nil, false
29920}
29921
29922// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29923func (dls DrillLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
29924	return nil, false
29925}
29926
29927// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29928func (dls DrillLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
29929	return nil, false
29930}
29931
29932// AsSapHanaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29933func (dls DrillLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
29934	return nil, false
29935}
29936
29937// AsSapBWLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29938func (dls DrillLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
29939	return nil, false
29940}
29941
29942// AsSftpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29943func (dls DrillLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
29944	return nil, false
29945}
29946
29947// AsFtpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29948func (dls DrillLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
29949	return nil, false
29950}
29951
29952// AsHTTPLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29953func (dls DrillLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
29954	return nil, false
29955}
29956
29957// AsAzureSearchLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29958func (dls DrillLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
29959	return nil, false
29960}
29961
29962// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29963func (dls DrillLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
29964	return nil, false
29965}
29966
29967// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29968func (dls DrillLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
29969	return nil, false
29970}
29971
29972// AsAmazonS3LinkedService is the BasicLinkedService implementation for DrillLinkedService.
29973func (dls DrillLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
29974	return nil, false
29975}
29976
29977// AsSapEccLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29978func (dls DrillLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
29979	return nil, false
29980}
29981
29982// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29983func (dls DrillLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
29984	return nil, false
29985}
29986
29987// AsSalesforceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29988func (dls DrillLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
29989	return nil, false
29990}
29991
29992// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29993func (dls DrillLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
29994	return nil, false
29995}
29996
29997// AsMongoDbLinkedService is the BasicLinkedService implementation for DrillLinkedService.
29998func (dls DrillLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
29999	return nil, false
30000}
30001
30002// AsCassandraLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30003func (dls DrillLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
30004	return nil, false
30005}
30006
30007// AsWebLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30008func (dls DrillLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
30009	return nil, false
30010}
30011
30012// AsODataLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30013func (dls DrillLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
30014	return nil, false
30015}
30016
30017// AsHdfsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30018func (dls DrillLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
30019	return nil, false
30020}
30021
30022// AsOdbcLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30023func (dls DrillLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
30024	return nil, false
30025}
30026
30027// AsAzureMLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30028func (dls DrillLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
30029	return nil, false
30030}
30031
30032// AsTeradataLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30033func (dls DrillLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
30034	return nil, false
30035}
30036
30037// AsDb2LinkedService is the BasicLinkedService implementation for DrillLinkedService.
30038func (dls DrillLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
30039	return nil, false
30040}
30041
30042// AsSybaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30043func (dls DrillLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
30044	return nil, false
30045}
30046
30047// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30048func (dls DrillLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
30049	return nil, false
30050}
30051
30052// AsMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30053func (dls DrillLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
30054	return nil, false
30055}
30056
30057// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30058func (dls DrillLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
30059	return nil, false
30060}
30061
30062// AsOracleLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30063func (dls DrillLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
30064	return nil, false
30065}
30066
30067// AsFileServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30068func (dls DrillLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
30069	return nil, false
30070}
30071
30072// AsHDInsightLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30073func (dls DrillLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
30074	return nil, false
30075}
30076
30077// AsDynamicsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30078func (dls DrillLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
30079	return nil, false
30080}
30081
30082// AsCosmosDbLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30083func (dls DrillLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
30084	return nil, false
30085}
30086
30087// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30088func (dls DrillLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
30089	return nil, false
30090}
30091
30092// AsAzureBatchLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30093func (dls DrillLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
30094	return nil, false
30095}
30096
30097// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30098func (dls DrillLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
30099	return nil, false
30100}
30101
30102// AsSQLServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30103func (dls DrillLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
30104	return nil, false
30105}
30106
30107// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30108func (dls DrillLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
30109	return nil, false
30110}
30111
30112// AsAzureStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30113func (dls DrillLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
30114	return nil, false
30115}
30116
30117// AsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30118func (dls DrillLinkedService) AsLinkedService() (*LinkedService, bool) {
30119	return nil, false
30120}
30121
30122// AsBasicLinkedService is the BasicLinkedService implementation for DrillLinkedService.
30123func (dls DrillLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
30124	return &dls, true
30125}
30126
30127// UnmarshalJSON is the custom unmarshaler for DrillLinkedService struct.
30128func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error {
30129	var m map[string]*json.RawMessage
30130	err := json.Unmarshal(body, &m)
30131	if err != nil {
30132		return err
30133	}
30134	for k, v := range m {
30135		switch k {
30136		case "typeProperties":
30137			if v != nil {
30138				var drillLinkedServiceTypeProperties DrillLinkedServiceTypeProperties
30139				err = json.Unmarshal(*v, &drillLinkedServiceTypeProperties)
30140				if err != nil {
30141					return err
30142				}
30143				dls.DrillLinkedServiceTypeProperties = &drillLinkedServiceTypeProperties
30144			}
30145		default:
30146			if v != nil {
30147				var additionalProperties interface{}
30148				err = json.Unmarshal(*v, &additionalProperties)
30149				if err != nil {
30150					return err
30151				}
30152				if dls.AdditionalProperties == nil {
30153					dls.AdditionalProperties = make(map[string]interface{})
30154				}
30155				dls.AdditionalProperties[k] = additionalProperties
30156			}
30157		case "connectVia":
30158			if v != nil {
30159				var connectVia IntegrationRuntimeReference
30160				err = json.Unmarshal(*v, &connectVia)
30161				if err != nil {
30162					return err
30163				}
30164				dls.ConnectVia = &connectVia
30165			}
30166		case "description":
30167			if v != nil {
30168				var description string
30169				err = json.Unmarshal(*v, &description)
30170				if err != nil {
30171					return err
30172				}
30173				dls.Description = &description
30174			}
30175		case "parameters":
30176			if v != nil {
30177				var parameters map[string]*ParameterSpecification
30178				err = json.Unmarshal(*v, &parameters)
30179				if err != nil {
30180					return err
30181				}
30182				dls.Parameters = parameters
30183			}
30184		case "annotations":
30185			if v != nil {
30186				var annotations []interface{}
30187				err = json.Unmarshal(*v, &annotations)
30188				if err != nil {
30189					return err
30190				}
30191				dls.Annotations = &annotations
30192			}
30193		case "type":
30194			if v != nil {
30195				var typeVar TypeBasicLinkedService
30196				err = json.Unmarshal(*v, &typeVar)
30197				if err != nil {
30198					return err
30199				}
30200				dls.Type = typeVar
30201			}
30202		}
30203	}
30204
30205	return nil
30206}
30207
30208// DrillLinkedServiceTypeProperties drill server linked service properties.
30209type DrillLinkedServiceTypeProperties struct {
30210	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
30211	ConnectionString interface{} `json:"connectionString,omitempty"`
30212	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
30213	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
30214}
30215
30216// DrillSource a copy activity Drill server source.
30217type DrillSource struct {
30218	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
30219	Query interface{} `json:"query,omitempty"`
30220	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
30221	AdditionalProperties map[string]interface{} `json:""`
30222	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
30223	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
30224	// 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])).
30225	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
30226	// 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'
30227	Type TypeBasicCopySource `json:"type,omitempty"`
30228}
30229
30230// MarshalJSON is the custom marshaler for DrillSource.
30231func (ds DrillSource) MarshalJSON() ([]byte, error) {
30232	ds.Type = TypeDrillSource
30233	objectMap := make(map[string]interface{})
30234	if ds.Query != nil {
30235		objectMap["query"] = ds.Query
30236	}
30237	if ds.SourceRetryCount != nil {
30238		objectMap["sourceRetryCount"] = ds.SourceRetryCount
30239	}
30240	if ds.SourceRetryWait != nil {
30241		objectMap["sourceRetryWait"] = ds.SourceRetryWait
30242	}
30243	if ds.Type != "" {
30244		objectMap["type"] = ds.Type
30245	}
30246	for k, v := range ds.AdditionalProperties {
30247		objectMap[k] = v
30248	}
30249	return json.Marshal(objectMap)
30250}
30251
30252// AsAmazonRedshiftSource is the BasicCopySource implementation for DrillSource.
30253func (ds DrillSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
30254	return nil, false
30255}
30256
30257// AsResponsysSource is the BasicCopySource implementation for DrillSource.
30258func (ds DrillSource) AsResponsysSource() (*ResponsysSource, bool) {
30259	return nil, false
30260}
30261
30262// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DrillSource.
30263func (ds DrillSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
30264	return nil, false
30265}
30266
30267// AsVerticaSource is the BasicCopySource implementation for DrillSource.
30268func (ds DrillSource) AsVerticaSource() (*VerticaSource, bool) {
30269	return nil, false
30270}
30271
30272// AsNetezzaSource is the BasicCopySource implementation for DrillSource.
30273func (ds DrillSource) AsNetezzaSource() (*NetezzaSource, bool) {
30274	return nil, false
30275}
30276
30277// AsZohoSource is the BasicCopySource implementation for DrillSource.
30278func (ds DrillSource) AsZohoSource() (*ZohoSource, bool) {
30279	return nil, false
30280}
30281
30282// AsXeroSource is the BasicCopySource implementation for DrillSource.
30283func (ds DrillSource) AsXeroSource() (*XeroSource, bool) {
30284	return nil, false
30285}
30286
30287// AsSquareSource is the BasicCopySource implementation for DrillSource.
30288func (ds DrillSource) AsSquareSource() (*SquareSource, bool) {
30289	return nil, false
30290}
30291
30292// AsSparkSource is the BasicCopySource implementation for DrillSource.
30293func (ds DrillSource) AsSparkSource() (*SparkSource, bool) {
30294	return nil, false
30295}
30296
30297// AsShopifySource is the BasicCopySource implementation for DrillSource.
30298func (ds DrillSource) AsShopifySource() (*ShopifySource, bool) {
30299	return nil, false
30300}
30301
30302// AsServiceNowSource is the BasicCopySource implementation for DrillSource.
30303func (ds DrillSource) AsServiceNowSource() (*ServiceNowSource, bool) {
30304	return nil, false
30305}
30306
30307// AsQuickBooksSource is the BasicCopySource implementation for DrillSource.
30308func (ds DrillSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
30309	return nil, false
30310}
30311
30312// AsPrestoSource is the BasicCopySource implementation for DrillSource.
30313func (ds DrillSource) AsPrestoSource() (*PrestoSource, bool) {
30314	return nil, false
30315}
30316
30317// AsPhoenixSource is the BasicCopySource implementation for DrillSource.
30318func (ds DrillSource) AsPhoenixSource() (*PhoenixSource, bool) {
30319	return nil, false
30320}
30321
30322// AsPaypalSource is the BasicCopySource implementation for DrillSource.
30323func (ds DrillSource) AsPaypalSource() (*PaypalSource, bool) {
30324	return nil, false
30325}
30326
30327// AsMarketoSource is the BasicCopySource implementation for DrillSource.
30328func (ds DrillSource) AsMarketoSource() (*MarketoSource, bool) {
30329	return nil, false
30330}
30331
30332// AsMariaDBSource is the BasicCopySource implementation for DrillSource.
30333func (ds DrillSource) AsMariaDBSource() (*MariaDBSource, bool) {
30334	return nil, false
30335}
30336
30337// AsMagentoSource is the BasicCopySource implementation for DrillSource.
30338func (ds DrillSource) AsMagentoSource() (*MagentoSource, bool) {
30339	return nil, false
30340}
30341
30342// AsJiraSource is the BasicCopySource implementation for DrillSource.
30343func (ds DrillSource) AsJiraSource() (*JiraSource, bool) {
30344	return nil, false
30345}
30346
30347// AsImpalaSource is the BasicCopySource implementation for DrillSource.
30348func (ds DrillSource) AsImpalaSource() (*ImpalaSource, bool) {
30349	return nil, false
30350}
30351
30352// AsHubspotSource is the BasicCopySource implementation for DrillSource.
30353func (ds DrillSource) AsHubspotSource() (*HubspotSource, bool) {
30354	return nil, false
30355}
30356
30357// AsHiveSource is the BasicCopySource implementation for DrillSource.
30358func (ds DrillSource) AsHiveSource() (*HiveSource, bool) {
30359	return nil, false
30360}
30361
30362// AsHBaseSource is the BasicCopySource implementation for DrillSource.
30363func (ds DrillSource) AsHBaseSource() (*HBaseSource, bool) {
30364	return nil, false
30365}
30366
30367// AsGreenplumSource is the BasicCopySource implementation for DrillSource.
30368func (ds DrillSource) AsGreenplumSource() (*GreenplumSource, bool) {
30369	return nil, false
30370}
30371
30372// AsGoogleBigQuerySource is the BasicCopySource implementation for DrillSource.
30373func (ds DrillSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
30374	return nil, false
30375}
30376
30377// AsEloquaSource is the BasicCopySource implementation for DrillSource.
30378func (ds DrillSource) AsEloquaSource() (*EloquaSource, bool) {
30379	return nil, false
30380}
30381
30382// AsDrillSource is the BasicCopySource implementation for DrillSource.
30383func (ds DrillSource) AsDrillSource() (*DrillSource, bool) {
30384	return &ds, true
30385}
30386
30387// AsCouchbaseSource is the BasicCopySource implementation for DrillSource.
30388func (ds DrillSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
30389	return nil, false
30390}
30391
30392// AsConcurSource is the BasicCopySource implementation for DrillSource.
30393func (ds DrillSource) AsConcurSource() (*ConcurSource, bool) {
30394	return nil, false
30395}
30396
30397// AsAzurePostgreSQLSource is the BasicCopySource implementation for DrillSource.
30398func (ds DrillSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
30399	return nil, false
30400}
30401
30402// AsAmazonMWSSource is the BasicCopySource implementation for DrillSource.
30403func (ds DrillSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
30404	return nil, false
30405}
30406
30407// AsHTTPSource is the BasicCopySource implementation for DrillSource.
30408func (ds DrillSource) AsHTTPSource() (*HTTPSource, bool) {
30409	return nil, false
30410}
30411
30412// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DrillSource.
30413func (ds DrillSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
30414	return nil, false
30415}
30416
30417// AsMongoDbSource is the BasicCopySource implementation for DrillSource.
30418func (ds DrillSource) AsMongoDbSource() (*MongoDbSource, bool) {
30419	return nil, false
30420}
30421
30422// AsCassandraSource is the BasicCopySource implementation for DrillSource.
30423func (ds DrillSource) AsCassandraSource() (*CassandraSource, bool) {
30424	return nil, false
30425}
30426
30427// AsWebSource is the BasicCopySource implementation for DrillSource.
30428func (ds DrillSource) AsWebSource() (*WebSource, bool) {
30429	return nil, false
30430}
30431
30432// AsOracleSource is the BasicCopySource implementation for DrillSource.
30433func (ds DrillSource) AsOracleSource() (*OracleSource, bool) {
30434	return nil, false
30435}
30436
30437// AsAzureMySQLSource is the BasicCopySource implementation for DrillSource.
30438func (ds DrillSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
30439	return nil, false
30440}
30441
30442// AsHdfsSource is the BasicCopySource implementation for DrillSource.
30443func (ds DrillSource) AsHdfsSource() (*HdfsSource, bool) {
30444	return nil, false
30445}
30446
30447// AsFileSystemSource is the BasicCopySource implementation for DrillSource.
30448func (ds DrillSource) AsFileSystemSource() (*FileSystemSource, bool) {
30449	return nil, false
30450}
30451
30452// AsSQLDWSource is the BasicCopySource implementation for DrillSource.
30453func (ds DrillSource) AsSQLDWSource() (*SQLDWSource, bool) {
30454	return nil, false
30455}
30456
30457// AsSQLSource is the BasicCopySource implementation for DrillSource.
30458func (ds DrillSource) AsSQLSource() (*SQLSource, bool) {
30459	return nil, false
30460}
30461
30462// AsSapEccSource is the BasicCopySource implementation for DrillSource.
30463func (ds DrillSource) AsSapEccSource() (*SapEccSource, bool) {
30464	return nil, false
30465}
30466
30467// AsSapCloudForCustomerSource is the BasicCopySource implementation for DrillSource.
30468func (ds DrillSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
30469	return nil, false
30470}
30471
30472// AsSalesforceSource is the BasicCopySource implementation for DrillSource.
30473func (ds DrillSource) AsSalesforceSource() (*SalesforceSource, bool) {
30474	return nil, false
30475}
30476
30477// AsRelationalSource is the BasicCopySource implementation for DrillSource.
30478func (ds DrillSource) AsRelationalSource() (*RelationalSource, bool) {
30479	return nil, false
30480}
30481
30482// AsDynamicsSource is the BasicCopySource implementation for DrillSource.
30483func (ds DrillSource) AsDynamicsSource() (*DynamicsSource, bool) {
30484	return nil, false
30485}
30486
30487// AsDocumentDbCollectionSource is the BasicCopySource implementation for DrillSource.
30488func (ds DrillSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
30489	return nil, false
30490}
30491
30492// AsBlobSource is the BasicCopySource implementation for DrillSource.
30493func (ds DrillSource) AsBlobSource() (*BlobSource, bool) {
30494	return nil, false
30495}
30496
30497// AsAzureTableSource is the BasicCopySource implementation for DrillSource.
30498func (ds DrillSource) AsAzureTableSource() (*AzureTableSource, bool) {
30499	return nil, false
30500}
30501
30502// AsCopySource is the BasicCopySource implementation for DrillSource.
30503func (ds DrillSource) AsCopySource() (*CopySource, bool) {
30504	return nil, false
30505}
30506
30507// AsBasicCopySource is the BasicCopySource implementation for DrillSource.
30508func (ds DrillSource) AsBasicCopySource() (BasicCopySource, bool) {
30509	return &ds, true
30510}
30511
30512// UnmarshalJSON is the custom unmarshaler for DrillSource struct.
30513func (ds *DrillSource) UnmarshalJSON(body []byte) error {
30514	var m map[string]*json.RawMessage
30515	err := json.Unmarshal(body, &m)
30516	if err != nil {
30517		return err
30518	}
30519	for k, v := range m {
30520		switch k {
30521		case "query":
30522			if v != nil {
30523				var query interface{}
30524				err = json.Unmarshal(*v, &query)
30525				if err != nil {
30526					return err
30527				}
30528				ds.Query = query
30529			}
30530		default:
30531			if v != nil {
30532				var additionalProperties interface{}
30533				err = json.Unmarshal(*v, &additionalProperties)
30534				if err != nil {
30535					return err
30536				}
30537				if ds.AdditionalProperties == nil {
30538					ds.AdditionalProperties = make(map[string]interface{})
30539				}
30540				ds.AdditionalProperties[k] = additionalProperties
30541			}
30542		case "sourceRetryCount":
30543			if v != nil {
30544				var sourceRetryCount interface{}
30545				err = json.Unmarshal(*v, &sourceRetryCount)
30546				if err != nil {
30547					return err
30548				}
30549				ds.SourceRetryCount = sourceRetryCount
30550			}
30551		case "sourceRetryWait":
30552			if v != nil {
30553				var sourceRetryWait interface{}
30554				err = json.Unmarshal(*v, &sourceRetryWait)
30555				if err != nil {
30556					return err
30557				}
30558				ds.SourceRetryWait = sourceRetryWait
30559			}
30560		case "type":
30561			if v != nil {
30562				var typeVar TypeBasicCopySource
30563				err = json.Unmarshal(*v, &typeVar)
30564				if err != nil {
30565					return err
30566				}
30567				ds.Type = typeVar
30568			}
30569		}
30570	}
30571
30572	return nil
30573}
30574
30575// DrillTableDataset drill server dataset.
30576type DrillTableDataset struct {
30577	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
30578	AdditionalProperties map[string]interface{} `json:""`
30579	// Description - Dataset description.
30580	Description *string `json:"description,omitempty"`
30581	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
30582	Structure interface{} `json:"structure,omitempty"`
30583	// LinkedServiceName - Linked service reference.
30584	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
30585	// Parameters - Parameters for dataset.
30586	Parameters map[string]*ParameterSpecification `json:"parameters"`
30587	// Annotations - List of tags that can be used for describing the Dataset.
30588	Annotations *[]interface{} `json:"annotations,omitempty"`
30589	// 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'
30590	Type TypeBasicDataset `json:"type,omitempty"`
30591}
30592
30593// MarshalJSON is the custom marshaler for DrillTableDataset.
30594func (dtd DrillTableDataset) MarshalJSON() ([]byte, error) {
30595	dtd.Type = TypeDrillTable
30596	objectMap := make(map[string]interface{})
30597	if dtd.Description != nil {
30598		objectMap["description"] = dtd.Description
30599	}
30600	if dtd.Structure != nil {
30601		objectMap["structure"] = dtd.Structure
30602	}
30603	if dtd.LinkedServiceName != nil {
30604		objectMap["linkedServiceName"] = dtd.LinkedServiceName
30605	}
30606	if dtd.Parameters != nil {
30607		objectMap["parameters"] = dtd.Parameters
30608	}
30609	if dtd.Annotations != nil {
30610		objectMap["annotations"] = dtd.Annotations
30611	}
30612	if dtd.Type != "" {
30613		objectMap["type"] = dtd.Type
30614	}
30615	for k, v := range dtd.AdditionalProperties {
30616		objectMap[k] = v
30617	}
30618	return json.Marshal(objectMap)
30619}
30620
30621// AsResponsysObjectDataset is the BasicDataset implementation for DrillTableDataset.
30622func (dtd DrillTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
30623	return nil, false
30624}
30625
30626// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DrillTableDataset.
30627func (dtd DrillTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
30628	return nil, false
30629}
30630
30631// AsVerticaTableDataset is the BasicDataset implementation for DrillTableDataset.
30632func (dtd DrillTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
30633	return nil, false
30634}
30635
30636// AsNetezzaTableDataset is the BasicDataset implementation for DrillTableDataset.
30637func (dtd DrillTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
30638	return nil, false
30639}
30640
30641// AsZohoObjectDataset is the BasicDataset implementation for DrillTableDataset.
30642func (dtd DrillTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
30643	return nil, false
30644}
30645
30646// AsXeroObjectDataset is the BasicDataset implementation for DrillTableDataset.
30647func (dtd DrillTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
30648	return nil, false
30649}
30650
30651// AsSquareObjectDataset is the BasicDataset implementation for DrillTableDataset.
30652func (dtd DrillTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
30653	return nil, false
30654}
30655
30656// AsSparkObjectDataset is the BasicDataset implementation for DrillTableDataset.
30657func (dtd DrillTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
30658	return nil, false
30659}
30660
30661// AsShopifyObjectDataset is the BasicDataset implementation for DrillTableDataset.
30662func (dtd DrillTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
30663	return nil, false
30664}
30665
30666// AsServiceNowObjectDataset is the BasicDataset implementation for DrillTableDataset.
30667func (dtd DrillTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
30668	return nil, false
30669}
30670
30671// AsQuickBooksObjectDataset is the BasicDataset implementation for DrillTableDataset.
30672func (dtd DrillTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
30673	return nil, false
30674}
30675
30676// AsPrestoObjectDataset is the BasicDataset implementation for DrillTableDataset.
30677func (dtd DrillTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
30678	return nil, false
30679}
30680
30681// AsPhoenixObjectDataset is the BasicDataset implementation for DrillTableDataset.
30682func (dtd DrillTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
30683	return nil, false
30684}
30685
30686// AsPaypalObjectDataset is the BasicDataset implementation for DrillTableDataset.
30687func (dtd DrillTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
30688	return nil, false
30689}
30690
30691// AsMarketoObjectDataset is the BasicDataset implementation for DrillTableDataset.
30692func (dtd DrillTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
30693	return nil, false
30694}
30695
30696// AsMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset.
30697func (dtd DrillTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
30698	return nil, false
30699}
30700
30701// AsMagentoObjectDataset is the BasicDataset implementation for DrillTableDataset.
30702func (dtd DrillTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
30703	return nil, false
30704}
30705
30706// AsJiraObjectDataset is the BasicDataset implementation for DrillTableDataset.
30707func (dtd DrillTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
30708	return nil, false
30709}
30710
30711// AsImpalaObjectDataset is the BasicDataset implementation for DrillTableDataset.
30712func (dtd DrillTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
30713	return nil, false
30714}
30715
30716// AsHubspotObjectDataset is the BasicDataset implementation for DrillTableDataset.
30717func (dtd DrillTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
30718	return nil, false
30719}
30720
30721// AsHiveObjectDataset is the BasicDataset implementation for DrillTableDataset.
30722func (dtd DrillTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
30723	return nil, false
30724}
30725
30726// AsHBaseObjectDataset is the BasicDataset implementation for DrillTableDataset.
30727func (dtd DrillTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
30728	return nil, false
30729}
30730
30731// AsGreenplumTableDataset is the BasicDataset implementation for DrillTableDataset.
30732func (dtd DrillTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
30733	return nil, false
30734}
30735
30736// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DrillTableDataset.
30737func (dtd DrillTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
30738	return nil, false
30739}
30740
30741// AsEloquaObjectDataset is the BasicDataset implementation for DrillTableDataset.
30742func (dtd DrillTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
30743	return nil, false
30744}
30745
30746// AsDrillTableDataset is the BasicDataset implementation for DrillTableDataset.
30747func (dtd DrillTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
30748	return &dtd, true
30749}
30750
30751// AsCouchbaseTableDataset is the BasicDataset implementation for DrillTableDataset.
30752func (dtd DrillTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
30753	return nil, false
30754}
30755
30756// AsConcurObjectDataset is the BasicDataset implementation for DrillTableDataset.
30757func (dtd DrillTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
30758	return nil, false
30759}
30760
30761// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
30762func (dtd DrillTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
30763	return nil, false
30764}
30765
30766// AsAmazonMWSObjectDataset is the BasicDataset implementation for DrillTableDataset.
30767func (dtd DrillTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
30768	return nil, false
30769}
30770
30771// AsHTTPDataset is the BasicDataset implementation for DrillTableDataset.
30772func (dtd DrillTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
30773	return nil, false
30774}
30775
30776// AsAzureSearchIndexDataset is the BasicDataset implementation for DrillTableDataset.
30777func (dtd DrillTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
30778	return nil, false
30779}
30780
30781// AsWebTableDataset is the BasicDataset implementation for DrillTableDataset.
30782func (dtd DrillTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
30783	return nil, false
30784}
30785
30786// AsSQLServerTableDataset is the BasicDataset implementation for DrillTableDataset.
30787func (dtd DrillTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
30788	return nil, false
30789}
30790
30791// AsSapEccResourceDataset is the BasicDataset implementation for DrillTableDataset.
30792func (dtd DrillTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
30793	return nil, false
30794}
30795
30796// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DrillTableDataset.
30797func (dtd DrillTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
30798	return nil, false
30799}
30800
30801// AsSalesforceObjectDataset is the BasicDataset implementation for DrillTableDataset.
30802func (dtd DrillTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
30803	return nil, false
30804}
30805
30806// AsRelationalTableDataset is the BasicDataset implementation for DrillTableDataset.
30807func (dtd DrillTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
30808	return nil, false
30809}
30810
30811// AsAzureMySQLTableDataset is the BasicDataset implementation for DrillTableDataset.
30812func (dtd DrillTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
30813	return nil, false
30814}
30815
30816// AsOracleTableDataset is the BasicDataset implementation for DrillTableDataset.
30817func (dtd DrillTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
30818	return nil, false
30819}
30820
30821// AsODataResourceDataset is the BasicDataset implementation for DrillTableDataset.
30822func (dtd DrillTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
30823	return nil, false
30824}
30825
30826// AsMongoDbCollectionDataset is the BasicDataset implementation for DrillTableDataset.
30827func (dtd DrillTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
30828	return nil, false
30829}
30830
30831// AsFileShareDataset is the BasicDataset implementation for DrillTableDataset.
30832func (dtd DrillTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
30833	return nil, false
30834}
30835
30836// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DrillTableDataset.
30837func (dtd DrillTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
30838	return nil, false
30839}
30840
30841// AsDynamicsEntityDataset is the BasicDataset implementation for DrillTableDataset.
30842func (dtd DrillTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
30843	return nil, false
30844}
30845
30846// AsDocumentDbCollectionDataset is the BasicDataset implementation for DrillTableDataset.
30847func (dtd DrillTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
30848	return nil, false
30849}
30850
30851// AsCustomDataset is the BasicDataset implementation for DrillTableDataset.
30852func (dtd DrillTableDataset) AsCustomDataset() (*CustomDataset, bool) {
30853	return nil, false
30854}
30855
30856// AsCassandraTableDataset is the BasicDataset implementation for DrillTableDataset.
30857func (dtd DrillTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
30858	return nil, false
30859}
30860
30861// AsAzureSQLDWTableDataset is the BasicDataset implementation for DrillTableDataset.
30862func (dtd DrillTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
30863	return nil, false
30864}
30865
30866// AsAzureSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
30867func (dtd DrillTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
30868	return nil, false
30869}
30870
30871// AsAzureTableDataset is the BasicDataset implementation for DrillTableDataset.
30872func (dtd DrillTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
30873	return nil, false
30874}
30875
30876// AsAzureBlobDataset is the BasicDataset implementation for DrillTableDataset.
30877func (dtd DrillTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
30878	return nil, false
30879}
30880
30881// AsAmazonS3Dataset is the BasicDataset implementation for DrillTableDataset.
30882func (dtd DrillTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
30883	return nil, false
30884}
30885
30886// AsDataset is the BasicDataset implementation for DrillTableDataset.
30887func (dtd DrillTableDataset) AsDataset() (*Dataset, bool) {
30888	return nil, false
30889}
30890
30891// AsBasicDataset is the BasicDataset implementation for DrillTableDataset.
30892func (dtd DrillTableDataset) AsBasicDataset() (BasicDataset, bool) {
30893	return &dtd, true
30894}
30895
30896// UnmarshalJSON is the custom unmarshaler for DrillTableDataset struct.
30897func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error {
30898	var m map[string]*json.RawMessage
30899	err := json.Unmarshal(body, &m)
30900	if err != nil {
30901		return err
30902	}
30903	for k, v := range m {
30904		switch k {
30905		default:
30906			if v != nil {
30907				var additionalProperties interface{}
30908				err = json.Unmarshal(*v, &additionalProperties)
30909				if err != nil {
30910					return err
30911				}
30912				if dtd.AdditionalProperties == nil {
30913					dtd.AdditionalProperties = make(map[string]interface{})
30914				}
30915				dtd.AdditionalProperties[k] = additionalProperties
30916			}
30917		case "description":
30918			if v != nil {
30919				var description string
30920				err = json.Unmarshal(*v, &description)
30921				if err != nil {
30922					return err
30923				}
30924				dtd.Description = &description
30925			}
30926		case "structure":
30927			if v != nil {
30928				var structure interface{}
30929				err = json.Unmarshal(*v, &structure)
30930				if err != nil {
30931					return err
30932				}
30933				dtd.Structure = structure
30934			}
30935		case "linkedServiceName":
30936			if v != nil {
30937				var linkedServiceName LinkedServiceReference
30938				err = json.Unmarshal(*v, &linkedServiceName)
30939				if err != nil {
30940					return err
30941				}
30942				dtd.LinkedServiceName = &linkedServiceName
30943			}
30944		case "parameters":
30945			if v != nil {
30946				var parameters map[string]*ParameterSpecification
30947				err = json.Unmarshal(*v, &parameters)
30948				if err != nil {
30949					return err
30950				}
30951				dtd.Parameters = parameters
30952			}
30953		case "annotations":
30954			if v != nil {
30955				var annotations []interface{}
30956				err = json.Unmarshal(*v, &annotations)
30957				if err != nil {
30958					return err
30959				}
30960				dtd.Annotations = &annotations
30961			}
30962		case "type":
30963			if v != nil {
30964				var typeVar TypeBasicDataset
30965				err = json.Unmarshal(*v, &typeVar)
30966				if err != nil {
30967					return err
30968				}
30969				dtd.Type = typeVar
30970			}
30971		}
30972	}
30973
30974	return nil
30975}
30976
30977// DynamicsEntityDataset the Dynamics entity dataset.
30978type DynamicsEntityDataset struct {
30979	// DynamicsEntityDatasetTypeProperties - Dynamics entity dataset properties.
30980	*DynamicsEntityDatasetTypeProperties `json:"typeProperties,omitempty"`
30981	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
30982	AdditionalProperties map[string]interface{} `json:""`
30983	// Description - Dataset description.
30984	Description *string `json:"description,omitempty"`
30985	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
30986	Structure interface{} `json:"structure,omitempty"`
30987	// LinkedServiceName - Linked service reference.
30988	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
30989	// Parameters - Parameters for dataset.
30990	Parameters map[string]*ParameterSpecification `json:"parameters"`
30991	// Annotations - List of tags that can be used for describing the Dataset.
30992	Annotations *[]interface{} `json:"annotations,omitempty"`
30993	// 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'
30994	Type TypeBasicDataset `json:"type,omitempty"`
30995}
30996
30997// MarshalJSON is the custom marshaler for DynamicsEntityDataset.
30998func (ded DynamicsEntityDataset) MarshalJSON() ([]byte, error) {
30999	ded.Type = TypeDynamicsEntity
31000	objectMap := make(map[string]interface{})
31001	if ded.DynamicsEntityDatasetTypeProperties != nil {
31002		objectMap["typeProperties"] = ded.DynamicsEntityDatasetTypeProperties
31003	}
31004	if ded.Description != nil {
31005		objectMap["description"] = ded.Description
31006	}
31007	if ded.Structure != nil {
31008		objectMap["structure"] = ded.Structure
31009	}
31010	if ded.LinkedServiceName != nil {
31011		objectMap["linkedServiceName"] = ded.LinkedServiceName
31012	}
31013	if ded.Parameters != nil {
31014		objectMap["parameters"] = ded.Parameters
31015	}
31016	if ded.Annotations != nil {
31017		objectMap["annotations"] = ded.Annotations
31018	}
31019	if ded.Type != "" {
31020		objectMap["type"] = ded.Type
31021	}
31022	for k, v := range ded.AdditionalProperties {
31023		objectMap[k] = v
31024	}
31025	return json.Marshal(objectMap)
31026}
31027
31028// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31029func (ded DynamicsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
31030	return nil, false
31031}
31032
31033// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31034func (ded DynamicsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
31035	return nil, false
31036}
31037
31038// AsVerticaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31039func (ded DynamicsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
31040	return nil, false
31041}
31042
31043// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31044func (ded DynamicsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
31045	return nil, false
31046}
31047
31048// AsZohoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31049func (ded DynamicsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
31050	return nil, false
31051}
31052
31053// AsXeroObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31054func (ded DynamicsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
31055	return nil, false
31056}
31057
31058// AsSquareObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31059func (ded DynamicsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
31060	return nil, false
31061}
31062
31063// AsSparkObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31064func (ded DynamicsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
31065	return nil, false
31066}
31067
31068// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31069func (ded DynamicsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
31070	return nil, false
31071}
31072
31073// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31074func (ded DynamicsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
31075	return nil, false
31076}
31077
31078// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31079func (ded DynamicsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
31080	return nil, false
31081}
31082
31083// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31084func (ded DynamicsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
31085	return nil, false
31086}
31087
31088// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31089func (ded DynamicsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
31090	return nil, false
31091}
31092
31093// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31094func (ded DynamicsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
31095	return nil, false
31096}
31097
31098// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31099func (ded DynamicsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
31100	return nil, false
31101}
31102
31103// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31104func (ded DynamicsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
31105	return nil, false
31106}
31107
31108// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31109func (ded DynamicsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
31110	return nil, false
31111}
31112
31113// AsJiraObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31114func (ded DynamicsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
31115	return nil, false
31116}
31117
31118// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31119func (ded DynamicsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
31120	return nil, false
31121}
31122
31123// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31124func (ded DynamicsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
31125	return nil, false
31126}
31127
31128// AsHiveObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31129func (ded DynamicsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
31130	return nil, false
31131}
31132
31133// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31134func (ded DynamicsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
31135	return nil, false
31136}
31137
31138// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31139func (ded DynamicsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
31140	return nil, false
31141}
31142
31143// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31144func (ded DynamicsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
31145	return nil, false
31146}
31147
31148// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31149func (ded DynamicsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
31150	return nil, false
31151}
31152
31153// AsDrillTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31154func (ded DynamicsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
31155	return nil, false
31156}
31157
31158// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31159func (ded DynamicsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
31160	return nil, false
31161}
31162
31163// AsConcurObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31164func (ded DynamicsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
31165	return nil, false
31166}
31167
31168// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31169func (ded DynamicsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
31170	return nil, false
31171}
31172
31173// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31174func (ded DynamicsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
31175	return nil, false
31176}
31177
31178// AsHTTPDataset is the BasicDataset implementation for DynamicsEntityDataset.
31179func (ded DynamicsEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) {
31180	return nil, false
31181}
31182
31183// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsEntityDataset.
31184func (ded DynamicsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
31185	return nil, false
31186}
31187
31188// AsWebTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31189func (ded DynamicsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) {
31190	return nil, false
31191}
31192
31193// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31194func (ded DynamicsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
31195	return nil, false
31196}
31197
31198// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
31199func (ded DynamicsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
31200	return nil, false
31201}
31202
31203// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
31204func (ded DynamicsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
31205	return nil, false
31206}
31207
31208// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
31209func (ded DynamicsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
31210	return nil, false
31211}
31212
31213// AsRelationalTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31214func (ded DynamicsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
31215	return nil, false
31216}
31217
31218// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31219func (ded DynamicsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
31220	return nil, false
31221}
31222
31223// AsOracleTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31224func (ded DynamicsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
31225	return nil, false
31226}
31227
31228// AsODataResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
31229func (ded DynamicsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
31230	return nil, false
31231}
31232
31233// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
31234func (ded DynamicsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
31235	return nil, false
31236}
31237
31238// AsFileShareDataset is the BasicDataset implementation for DynamicsEntityDataset.
31239func (ded DynamicsEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) {
31240	return nil, false
31241}
31242
31243// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsEntityDataset.
31244func (ded DynamicsEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
31245	return nil, false
31246}
31247
31248// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset.
31249func (ded DynamicsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
31250	return &ded, true
31251}
31252
31253// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
31254func (ded DynamicsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
31255	return nil, false
31256}
31257
31258// AsCustomDataset is the BasicDataset implementation for DynamicsEntityDataset.
31259func (ded DynamicsEntityDataset) AsCustomDataset() (*CustomDataset, bool) {
31260	return nil, false
31261}
31262
31263// AsCassandraTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31264func (ded DynamicsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
31265	return nil, false
31266}
31267
31268// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31269func (ded DynamicsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
31270	return nil, false
31271}
31272
31273// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31274func (ded DynamicsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
31275	return nil, false
31276}
31277
31278// AsAzureTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
31279func (ded DynamicsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
31280	return nil, false
31281}
31282
31283// AsAzureBlobDataset is the BasicDataset implementation for DynamicsEntityDataset.
31284func (ded DynamicsEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
31285	return nil, false
31286}
31287
31288// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsEntityDataset.
31289func (ded DynamicsEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
31290	return nil, false
31291}
31292
31293// AsDataset is the BasicDataset implementation for DynamicsEntityDataset.
31294func (ded DynamicsEntityDataset) AsDataset() (*Dataset, bool) {
31295	return nil, false
31296}
31297
31298// AsBasicDataset is the BasicDataset implementation for DynamicsEntityDataset.
31299func (ded DynamicsEntityDataset) AsBasicDataset() (BasicDataset, bool) {
31300	return &ded, true
31301}
31302
31303// UnmarshalJSON is the custom unmarshaler for DynamicsEntityDataset struct.
31304func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error {
31305	var m map[string]*json.RawMessage
31306	err := json.Unmarshal(body, &m)
31307	if err != nil {
31308		return err
31309	}
31310	for k, v := range m {
31311		switch k {
31312		case "typeProperties":
31313			if v != nil {
31314				var dynamicsEntityDatasetTypeProperties DynamicsEntityDatasetTypeProperties
31315				err = json.Unmarshal(*v, &dynamicsEntityDatasetTypeProperties)
31316				if err != nil {
31317					return err
31318				}
31319				ded.DynamicsEntityDatasetTypeProperties = &dynamicsEntityDatasetTypeProperties
31320			}
31321		default:
31322			if v != nil {
31323				var additionalProperties interface{}
31324				err = json.Unmarshal(*v, &additionalProperties)
31325				if err != nil {
31326					return err
31327				}
31328				if ded.AdditionalProperties == nil {
31329					ded.AdditionalProperties = make(map[string]interface{})
31330				}
31331				ded.AdditionalProperties[k] = additionalProperties
31332			}
31333		case "description":
31334			if v != nil {
31335				var description string
31336				err = json.Unmarshal(*v, &description)
31337				if err != nil {
31338					return err
31339				}
31340				ded.Description = &description
31341			}
31342		case "structure":
31343			if v != nil {
31344				var structure interface{}
31345				err = json.Unmarshal(*v, &structure)
31346				if err != nil {
31347					return err
31348				}
31349				ded.Structure = structure
31350			}
31351		case "linkedServiceName":
31352			if v != nil {
31353				var linkedServiceName LinkedServiceReference
31354				err = json.Unmarshal(*v, &linkedServiceName)
31355				if err != nil {
31356					return err
31357				}
31358				ded.LinkedServiceName = &linkedServiceName
31359			}
31360		case "parameters":
31361			if v != nil {
31362				var parameters map[string]*ParameterSpecification
31363				err = json.Unmarshal(*v, &parameters)
31364				if err != nil {
31365					return err
31366				}
31367				ded.Parameters = parameters
31368			}
31369		case "annotations":
31370			if v != nil {
31371				var annotations []interface{}
31372				err = json.Unmarshal(*v, &annotations)
31373				if err != nil {
31374					return err
31375				}
31376				ded.Annotations = &annotations
31377			}
31378		case "type":
31379			if v != nil {
31380				var typeVar TypeBasicDataset
31381				err = json.Unmarshal(*v, &typeVar)
31382				if err != nil {
31383					return err
31384				}
31385				ded.Type = typeVar
31386			}
31387		}
31388	}
31389
31390	return nil
31391}
31392
31393// DynamicsEntityDatasetTypeProperties dynamics entity dataset properties.
31394type DynamicsEntityDatasetTypeProperties struct {
31395	// EntityName - The logical name of the entity. Type: string (or Expression with resultType string).
31396	EntityName interface{} `json:"entityName,omitempty"`
31397}
31398
31399// DynamicsLinkedService dynamics linked service.
31400type DynamicsLinkedService struct {
31401	// DynamicsLinkedServiceTypeProperties - Dynamics linked service properties.
31402	*DynamicsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
31403	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
31404	AdditionalProperties map[string]interface{} `json:""`
31405	// ConnectVia - The integration runtime reference.
31406	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
31407	// Description - Linked service description.
31408	Description *string `json:"description,omitempty"`
31409	// Parameters - Parameters for linked service.
31410	Parameters map[string]*ParameterSpecification `json:"parameters"`
31411	// Annotations - List of tags that can be used for describing the Dataset.
31412	Annotations *[]interface{} `json:"annotations,omitempty"`
31413	// 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'
31414	Type TypeBasicLinkedService `json:"type,omitempty"`
31415}
31416
31417// MarshalJSON is the custom marshaler for DynamicsLinkedService.
31418func (dls DynamicsLinkedService) MarshalJSON() ([]byte, error) {
31419	dls.Type = TypeDynamics
31420	objectMap := make(map[string]interface{})
31421	if dls.DynamicsLinkedServiceTypeProperties != nil {
31422		objectMap["typeProperties"] = dls.DynamicsLinkedServiceTypeProperties
31423	}
31424	if dls.ConnectVia != nil {
31425		objectMap["connectVia"] = dls.ConnectVia
31426	}
31427	if dls.Description != nil {
31428		objectMap["description"] = dls.Description
31429	}
31430	if dls.Parameters != nil {
31431		objectMap["parameters"] = dls.Parameters
31432	}
31433	if dls.Annotations != nil {
31434		objectMap["annotations"] = dls.Annotations
31435	}
31436	if dls.Type != "" {
31437		objectMap["type"] = dls.Type
31438	}
31439	for k, v := range dls.AdditionalProperties {
31440		objectMap[k] = v
31441	}
31442	return json.Marshal(objectMap)
31443}
31444
31445// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31446func (dls DynamicsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
31447	return nil, false
31448}
31449
31450// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31451func (dls DynamicsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
31452	return nil, false
31453}
31454
31455// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31456func (dls DynamicsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
31457	return nil, false
31458}
31459
31460// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31461func (dls DynamicsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
31462	return nil, false
31463}
31464
31465// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31466func (dls DynamicsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
31467	return nil, false
31468}
31469
31470// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31471func (dls DynamicsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
31472	return nil, false
31473}
31474
31475// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31476func (dls DynamicsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
31477	return nil, false
31478}
31479
31480// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31481func (dls DynamicsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
31482	return nil, false
31483}
31484
31485// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31486func (dls DynamicsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
31487	return nil, false
31488}
31489
31490// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31491func (dls DynamicsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
31492	return nil, false
31493}
31494
31495// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31496func (dls DynamicsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
31497	return nil, false
31498}
31499
31500// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31501func (dls DynamicsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
31502	return nil, false
31503}
31504
31505// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31506func (dls DynamicsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
31507	return nil, false
31508}
31509
31510// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31511func (dls DynamicsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
31512	return nil, false
31513}
31514
31515// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31516func (dls DynamicsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
31517	return nil, false
31518}
31519
31520// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31521func (dls DynamicsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
31522	return nil, false
31523}
31524
31525// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31526func (dls DynamicsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
31527	return nil, false
31528}
31529
31530// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31531func (dls DynamicsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
31532	return nil, false
31533}
31534
31535// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31536func (dls DynamicsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
31537	return nil, false
31538}
31539
31540// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31541func (dls DynamicsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
31542	return nil, false
31543}
31544
31545// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31546func (dls DynamicsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
31547	return nil, false
31548}
31549
31550// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31551func (dls DynamicsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
31552	return nil, false
31553}
31554
31555// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31556func (dls DynamicsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
31557	return nil, false
31558}
31559
31560// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31561func (dls DynamicsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
31562	return nil, false
31563}
31564
31565// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31566func (dls DynamicsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
31567	return nil, false
31568}
31569
31570// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31571func (dls DynamicsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
31572	return nil, false
31573}
31574
31575// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31576func (dls DynamicsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
31577	return nil, false
31578}
31579
31580// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31581func (dls DynamicsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
31582	return nil, false
31583}
31584
31585// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31586func (dls DynamicsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
31587	return nil, false
31588}
31589
31590// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31591func (dls DynamicsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
31592	return nil, false
31593}
31594
31595// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31596func (dls DynamicsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
31597	return nil, false
31598}
31599
31600// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31601func (dls DynamicsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
31602	return nil, false
31603}
31604
31605// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31606func (dls DynamicsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
31607	return nil, false
31608}
31609
31610// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31611func (dls DynamicsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
31612	return nil, false
31613}
31614
31615// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31616func (dls DynamicsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
31617	return nil, false
31618}
31619
31620// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31621func (dls DynamicsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
31622	return nil, false
31623}
31624
31625// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31626func (dls DynamicsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
31627	return nil, false
31628}
31629
31630// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31631func (dls DynamicsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
31632	return nil, false
31633}
31634
31635// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31636func (dls DynamicsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
31637	return nil, false
31638}
31639
31640// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31641func (dls DynamicsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
31642	return nil, false
31643}
31644
31645// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31646func (dls DynamicsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
31647	return nil, false
31648}
31649
31650// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31651func (dls DynamicsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
31652	return nil, false
31653}
31654
31655// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31656func (dls DynamicsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
31657	return nil, false
31658}
31659
31660// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31661func (dls DynamicsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
31662	return nil, false
31663}
31664
31665// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31666func (dls DynamicsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
31667	return nil, false
31668}
31669
31670// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31671func (dls DynamicsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
31672	return nil, false
31673}
31674
31675// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31676func (dls DynamicsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
31677	return nil, false
31678}
31679
31680// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31681func (dls DynamicsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
31682	return nil, false
31683}
31684
31685// AsWebLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31686func (dls DynamicsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
31687	return nil, false
31688}
31689
31690// AsODataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31691func (dls DynamicsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
31692	return nil, false
31693}
31694
31695// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31696func (dls DynamicsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
31697	return nil, false
31698}
31699
31700// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31701func (dls DynamicsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
31702	return nil, false
31703}
31704
31705// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31706func (dls DynamicsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
31707	return nil, false
31708}
31709
31710// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31711func (dls DynamicsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
31712	return nil, false
31713}
31714
31715// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31716func (dls DynamicsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
31717	return nil, false
31718}
31719
31720// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31721func (dls DynamicsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
31722	return nil, false
31723}
31724
31725// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31726func (dls DynamicsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
31727	return nil, false
31728}
31729
31730// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31731func (dls DynamicsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
31732	return nil, false
31733}
31734
31735// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31736func (dls DynamicsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
31737	return nil, false
31738}
31739
31740// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31741func (dls DynamicsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
31742	return nil, false
31743}
31744
31745// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31746func (dls DynamicsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
31747	return nil, false
31748}
31749
31750// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31751func (dls DynamicsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
31752	return nil, false
31753}
31754
31755// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31756func (dls DynamicsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
31757	return &dls, true
31758}
31759
31760// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31761func (dls DynamicsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
31762	return nil, false
31763}
31764
31765// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31766func (dls DynamicsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
31767	return nil, false
31768}
31769
31770// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31771func (dls DynamicsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
31772	return nil, false
31773}
31774
31775// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31776func (dls DynamicsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
31777	return nil, false
31778}
31779
31780// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31781func (dls DynamicsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
31782	return nil, false
31783}
31784
31785// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31786func (dls DynamicsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
31787	return nil, false
31788}
31789
31790// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31791func (dls DynamicsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
31792	return nil, false
31793}
31794
31795// AsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31796func (dls DynamicsLinkedService) AsLinkedService() (*LinkedService, bool) {
31797	return nil, false
31798}
31799
31800// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
31801func (dls DynamicsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
31802	return &dls, true
31803}
31804
31805// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedService struct.
31806func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error {
31807	var m map[string]*json.RawMessage
31808	err := json.Unmarshal(body, &m)
31809	if err != nil {
31810		return err
31811	}
31812	for k, v := range m {
31813		switch k {
31814		case "typeProperties":
31815			if v != nil {
31816				var dynamicsLinkedServiceTypeProperties DynamicsLinkedServiceTypeProperties
31817				err = json.Unmarshal(*v, &dynamicsLinkedServiceTypeProperties)
31818				if err != nil {
31819					return err
31820				}
31821				dls.DynamicsLinkedServiceTypeProperties = &dynamicsLinkedServiceTypeProperties
31822			}
31823		default:
31824			if v != nil {
31825				var additionalProperties interface{}
31826				err = json.Unmarshal(*v, &additionalProperties)
31827				if err != nil {
31828					return err
31829				}
31830				if dls.AdditionalProperties == nil {
31831					dls.AdditionalProperties = make(map[string]interface{})
31832				}
31833				dls.AdditionalProperties[k] = additionalProperties
31834			}
31835		case "connectVia":
31836			if v != nil {
31837				var connectVia IntegrationRuntimeReference
31838				err = json.Unmarshal(*v, &connectVia)
31839				if err != nil {
31840					return err
31841				}
31842				dls.ConnectVia = &connectVia
31843			}
31844		case "description":
31845			if v != nil {
31846				var description string
31847				err = json.Unmarshal(*v, &description)
31848				if err != nil {
31849					return err
31850				}
31851				dls.Description = &description
31852			}
31853		case "parameters":
31854			if v != nil {
31855				var parameters map[string]*ParameterSpecification
31856				err = json.Unmarshal(*v, &parameters)
31857				if err != nil {
31858					return err
31859				}
31860				dls.Parameters = parameters
31861			}
31862		case "annotations":
31863			if v != nil {
31864				var annotations []interface{}
31865				err = json.Unmarshal(*v, &annotations)
31866				if err != nil {
31867					return err
31868				}
31869				dls.Annotations = &annotations
31870			}
31871		case "type":
31872			if v != nil {
31873				var typeVar TypeBasicLinkedService
31874				err = json.Unmarshal(*v, &typeVar)
31875				if err != nil {
31876					return err
31877				}
31878				dls.Type = typeVar
31879			}
31880		}
31881	}
31882
31883	return nil
31884}
31885
31886// DynamicsLinkedServiceTypeProperties dynamics linked service properties.
31887type DynamicsLinkedServiceTypeProperties struct {
31888	// 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).
31889	DeploymentType interface{} `json:"deploymentType,omitempty"`
31890	// 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).
31891	HostName interface{} `json:"hostName,omitempty"`
31892	// 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.
31893	Port interface{} `json:"port,omitempty"`
31894	// 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).
31895	ServiceURI interface{} `json:"serviceUri,omitempty"`
31896	// 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).
31897	OrganizationName interface{} `json:"organizationName,omitempty"`
31898	// 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).
31899	AuthenticationType interface{} `json:"authenticationType,omitempty"`
31900	// Username - User name to access the Dynamics instance. Type: string (or Expression with resultType string).
31901	Username interface{} `json:"username,omitempty"`
31902	// Password - Password to access the Dynamics instance.
31903	Password BasicSecretBase `json:"password,omitempty"`
31904	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
31905	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
31906}
31907
31908// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedServiceTypeProperties struct.
31909func (dlstp *DynamicsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
31910	var m map[string]*json.RawMessage
31911	err := json.Unmarshal(body, &m)
31912	if err != nil {
31913		return err
31914	}
31915	for k, v := range m {
31916		switch k {
31917		case "deploymentType":
31918			if v != nil {
31919				var deploymentType interface{}
31920				err = json.Unmarshal(*v, &deploymentType)
31921				if err != nil {
31922					return err
31923				}
31924				dlstp.DeploymentType = deploymentType
31925			}
31926		case "hostName":
31927			if v != nil {
31928				var hostName interface{}
31929				err = json.Unmarshal(*v, &hostName)
31930				if err != nil {
31931					return err
31932				}
31933				dlstp.HostName = hostName
31934			}
31935		case "port":
31936			if v != nil {
31937				var port interface{}
31938				err = json.Unmarshal(*v, &port)
31939				if err != nil {
31940					return err
31941				}
31942				dlstp.Port = port
31943			}
31944		case "serviceUri":
31945			if v != nil {
31946				var serviceURI interface{}
31947				err = json.Unmarshal(*v, &serviceURI)
31948				if err != nil {
31949					return err
31950				}
31951				dlstp.ServiceURI = serviceURI
31952			}
31953		case "organizationName":
31954			if v != nil {
31955				var organizationName interface{}
31956				err = json.Unmarshal(*v, &organizationName)
31957				if err != nil {
31958					return err
31959				}
31960				dlstp.OrganizationName = organizationName
31961			}
31962		case "authenticationType":
31963			if v != nil {
31964				var authenticationType interface{}
31965				err = json.Unmarshal(*v, &authenticationType)
31966				if err != nil {
31967					return err
31968				}
31969				dlstp.AuthenticationType = authenticationType
31970			}
31971		case "username":
31972			if v != nil {
31973				var username interface{}
31974				err = json.Unmarshal(*v, &username)
31975				if err != nil {
31976					return err
31977				}
31978				dlstp.Username = username
31979			}
31980		case "password":
31981			if v != nil {
31982				password, err := unmarshalBasicSecretBase(*v)
31983				if err != nil {
31984					return err
31985				}
31986				dlstp.Password = password
31987			}
31988		case "encryptedCredential":
31989			if v != nil {
31990				var encryptedCredential interface{}
31991				err = json.Unmarshal(*v, &encryptedCredential)
31992				if err != nil {
31993					return err
31994				}
31995				dlstp.EncryptedCredential = encryptedCredential
31996			}
31997		}
31998	}
31999
32000	return nil
32001}
32002
32003// DynamicsSink a copy activity Dynamics sink.
32004type DynamicsSink struct {
32005	// WriteBehavior - The write behavior for the operation.
32006	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
32007	// 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).
32008	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
32009	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
32010	AdditionalProperties map[string]interface{} `json:""`
32011	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
32012	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
32013	// 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])).
32014	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
32015	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
32016	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
32017	// 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])).
32018	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
32019	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
32020	Type TypeBasicCopySink `json:"type,omitempty"`
32021}
32022
32023// MarshalJSON is the custom marshaler for DynamicsSink.
32024func (ds DynamicsSink) MarshalJSON() ([]byte, error) {
32025	ds.Type = TypeDynamicsSink
32026	objectMap := make(map[string]interface{})
32027	if ds.WriteBehavior != nil {
32028		objectMap["writeBehavior"] = ds.WriteBehavior
32029	}
32030	if ds.IgnoreNullValues != nil {
32031		objectMap["ignoreNullValues"] = ds.IgnoreNullValues
32032	}
32033	if ds.WriteBatchSize != nil {
32034		objectMap["writeBatchSize"] = ds.WriteBatchSize
32035	}
32036	if ds.WriteBatchTimeout != nil {
32037		objectMap["writeBatchTimeout"] = ds.WriteBatchTimeout
32038	}
32039	if ds.SinkRetryCount != nil {
32040		objectMap["sinkRetryCount"] = ds.SinkRetryCount
32041	}
32042	if ds.SinkRetryWait != nil {
32043		objectMap["sinkRetryWait"] = ds.SinkRetryWait
32044	}
32045	if ds.Type != "" {
32046		objectMap["type"] = ds.Type
32047	}
32048	for k, v := range ds.AdditionalProperties {
32049		objectMap[k] = v
32050	}
32051	return json.Marshal(objectMap)
32052}
32053
32054// AsSalesforceSink is the BasicCopySink implementation for DynamicsSink.
32055func (ds DynamicsSink) AsSalesforceSink() (*SalesforceSink, bool) {
32056	return nil, false
32057}
32058
32059// AsDynamicsSink is the BasicCopySink implementation for DynamicsSink.
32060func (ds DynamicsSink) AsDynamicsSink() (*DynamicsSink, bool) {
32061	return &ds, true
32062}
32063
32064// AsOdbcSink is the BasicCopySink implementation for DynamicsSink.
32065func (ds DynamicsSink) AsOdbcSink() (*OdbcSink, bool) {
32066	return nil, false
32067}
32068
32069// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsSink.
32070func (ds DynamicsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
32071	return nil, false
32072}
32073
32074// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsSink.
32075func (ds DynamicsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
32076	return nil, false
32077}
32078
32079// AsOracleSink is the BasicCopySink implementation for DynamicsSink.
32080func (ds DynamicsSink) AsOracleSink() (*OracleSink, bool) {
32081	return nil, false
32082}
32083
32084// AsSQLDWSink is the BasicCopySink implementation for DynamicsSink.
32085func (ds DynamicsSink) AsSQLDWSink() (*SQLDWSink, bool) {
32086	return nil, false
32087}
32088
32089// AsSQLSink is the BasicCopySink implementation for DynamicsSink.
32090func (ds DynamicsSink) AsSQLSink() (*SQLSink, bool) {
32091	return nil, false
32092}
32093
32094// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsSink.
32095func (ds DynamicsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
32096	return nil, false
32097}
32098
32099// AsFileSystemSink is the BasicCopySink implementation for DynamicsSink.
32100func (ds DynamicsSink) AsFileSystemSink() (*FileSystemSink, bool) {
32101	return nil, false
32102}
32103
32104// AsBlobSink is the BasicCopySink implementation for DynamicsSink.
32105func (ds DynamicsSink) AsBlobSink() (*BlobSink, bool) {
32106	return nil, false
32107}
32108
32109// AsAzureTableSink is the BasicCopySink implementation for DynamicsSink.
32110func (ds DynamicsSink) AsAzureTableSink() (*AzureTableSink, bool) {
32111	return nil, false
32112}
32113
32114// AsAzureQueueSink is the BasicCopySink implementation for DynamicsSink.
32115func (ds DynamicsSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
32116	return nil, false
32117}
32118
32119// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsSink.
32120func (ds DynamicsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
32121	return nil, false
32122}
32123
32124// AsCopySink is the BasicCopySink implementation for DynamicsSink.
32125func (ds DynamicsSink) AsCopySink() (*CopySink, bool) {
32126	return nil, false
32127}
32128
32129// AsBasicCopySink is the BasicCopySink implementation for DynamicsSink.
32130func (ds DynamicsSink) AsBasicCopySink() (BasicCopySink, bool) {
32131	return &ds, true
32132}
32133
32134// UnmarshalJSON is the custom unmarshaler for DynamicsSink struct.
32135func (ds *DynamicsSink) UnmarshalJSON(body []byte) error {
32136	var m map[string]*json.RawMessage
32137	err := json.Unmarshal(body, &m)
32138	if err != nil {
32139		return err
32140	}
32141	for k, v := range m {
32142		switch k {
32143		case "writeBehavior":
32144			if v != nil {
32145				var writeBehavior interface{}
32146				err = json.Unmarshal(*v, &writeBehavior)
32147				if err != nil {
32148					return err
32149				}
32150				ds.WriteBehavior = writeBehavior
32151			}
32152		case "ignoreNullValues":
32153			if v != nil {
32154				var ignoreNullValues interface{}
32155				err = json.Unmarshal(*v, &ignoreNullValues)
32156				if err != nil {
32157					return err
32158				}
32159				ds.IgnoreNullValues = ignoreNullValues
32160			}
32161		default:
32162			if v != nil {
32163				var additionalProperties interface{}
32164				err = json.Unmarshal(*v, &additionalProperties)
32165				if err != nil {
32166					return err
32167				}
32168				if ds.AdditionalProperties == nil {
32169					ds.AdditionalProperties = make(map[string]interface{})
32170				}
32171				ds.AdditionalProperties[k] = additionalProperties
32172			}
32173		case "writeBatchSize":
32174			if v != nil {
32175				var writeBatchSize interface{}
32176				err = json.Unmarshal(*v, &writeBatchSize)
32177				if err != nil {
32178					return err
32179				}
32180				ds.WriteBatchSize = writeBatchSize
32181			}
32182		case "writeBatchTimeout":
32183			if v != nil {
32184				var writeBatchTimeout interface{}
32185				err = json.Unmarshal(*v, &writeBatchTimeout)
32186				if err != nil {
32187					return err
32188				}
32189				ds.WriteBatchTimeout = writeBatchTimeout
32190			}
32191		case "sinkRetryCount":
32192			if v != nil {
32193				var sinkRetryCount interface{}
32194				err = json.Unmarshal(*v, &sinkRetryCount)
32195				if err != nil {
32196					return err
32197				}
32198				ds.SinkRetryCount = sinkRetryCount
32199			}
32200		case "sinkRetryWait":
32201			if v != nil {
32202				var sinkRetryWait interface{}
32203				err = json.Unmarshal(*v, &sinkRetryWait)
32204				if err != nil {
32205					return err
32206				}
32207				ds.SinkRetryWait = sinkRetryWait
32208			}
32209		case "type":
32210			if v != nil {
32211				var typeVar TypeBasicCopySink
32212				err = json.Unmarshal(*v, &typeVar)
32213				if err != nil {
32214					return err
32215				}
32216				ds.Type = typeVar
32217			}
32218		}
32219	}
32220
32221	return nil
32222}
32223
32224// DynamicsSource a copy activity Dynamics source.
32225type DynamicsSource struct {
32226	// Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string).
32227	Query interface{} `json:"query,omitempty"`
32228	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
32229	AdditionalProperties map[string]interface{} `json:""`
32230	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
32231	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
32232	// 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])).
32233	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
32234	// 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'
32235	Type TypeBasicCopySource `json:"type,omitempty"`
32236}
32237
32238// MarshalJSON is the custom marshaler for DynamicsSource.
32239func (ds DynamicsSource) MarshalJSON() ([]byte, error) {
32240	ds.Type = TypeDynamicsSource
32241	objectMap := make(map[string]interface{})
32242	if ds.Query != nil {
32243		objectMap["query"] = ds.Query
32244	}
32245	if ds.SourceRetryCount != nil {
32246		objectMap["sourceRetryCount"] = ds.SourceRetryCount
32247	}
32248	if ds.SourceRetryWait != nil {
32249		objectMap["sourceRetryWait"] = ds.SourceRetryWait
32250	}
32251	if ds.Type != "" {
32252		objectMap["type"] = ds.Type
32253	}
32254	for k, v := range ds.AdditionalProperties {
32255		objectMap[k] = v
32256	}
32257	return json.Marshal(objectMap)
32258}
32259
32260// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsSource.
32261func (ds DynamicsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
32262	return nil, false
32263}
32264
32265// AsResponsysSource is the BasicCopySource implementation for DynamicsSource.
32266func (ds DynamicsSource) AsResponsysSource() (*ResponsysSource, bool) {
32267	return nil, false
32268}
32269
32270// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsSource.
32271func (ds DynamicsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
32272	return nil, false
32273}
32274
32275// AsVerticaSource is the BasicCopySource implementation for DynamicsSource.
32276func (ds DynamicsSource) AsVerticaSource() (*VerticaSource, bool) {
32277	return nil, false
32278}
32279
32280// AsNetezzaSource is the BasicCopySource implementation for DynamicsSource.
32281func (ds DynamicsSource) AsNetezzaSource() (*NetezzaSource, bool) {
32282	return nil, false
32283}
32284
32285// AsZohoSource is the BasicCopySource implementation for DynamicsSource.
32286func (ds DynamicsSource) AsZohoSource() (*ZohoSource, bool) {
32287	return nil, false
32288}
32289
32290// AsXeroSource is the BasicCopySource implementation for DynamicsSource.
32291func (ds DynamicsSource) AsXeroSource() (*XeroSource, bool) {
32292	return nil, false
32293}
32294
32295// AsSquareSource is the BasicCopySource implementation for DynamicsSource.
32296func (ds DynamicsSource) AsSquareSource() (*SquareSource, bool) {
32297	return nil, false
32298}
32299
32300// AsSparkSource is the BasicCopySource implementation for DynamicsSource.
32301func (ds DynamicsSource) AsSparkSource() (*SparkSource, bool) {
32302	return nil, false
32303}
32304
32305// AsShopifySource is the BasicCopySource implementation for DynamicsSource.
32306func (ds DynamicsSource) AsShopifySource() (*ShopifySource, bool) {
32307	return nil, false
32308}
32309
32310// AsServiceNowSource is the BasicCopySource implementation for DynamicsSource.
32311func (ds DynamicsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
32312	return nil, false
32313}
32314
32315// AsQuickBooksSource is the BasicCopySource implementation for DynamicsSource.
32316func (ds DynamicsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
32317	return nil, false
32318}
32319
32320// AsPrestoSource is the BasicCopySource implementation for DynamicsSource.
32321func (ds DynamicsSource) AsPrestoSource() (*PrestoSource, bool) {
32322	return nil, false
32323}
32324
32325// AsPhoenixSource is the BasicCopySource implementation for DynamicsSource.
32326func (ds DynamicsSource) AsPhoenixSource() (*PhoenixSource, bool) {
32327	return nil, false
32328}
32329
32330// AsPaypalSource is the BasicCopySource implementation for DynamicsSource.
32331func (ds DynamicsSource) AsPaypalSource() (*PaypalSource, bool) {
32332	return nil, false
32333}
32334
32335// AsMarketoSource is the BasicCopySource implementation for DynamicsSource.
32336func (ds DynamicsSource) AsMarketoSource() (*MarketoSource, bool) {
32337	return nil, false
32338}
32339
32340// AsMariaDBSource is the BasicCopySource implementation for DynamicsSource.
32341func (ds DynamicsSource) AsMariaDBSource() (*MariaDBSource, bool) {
32342	return nil, false
32343}
32344
32345// AsMagentoSource is the BasicCopySource implementation for DynamicsSource.
32346func (ds DynamicsSource) AsMagentoSource() (*MagentoSource, bool) {
32347	return nil, false
32348}
32349
32350// AsJiraSource is the BasicCopySource implementation for DynamicsSource.
32351func (ds DynamicsSource) AsJiraSource() (*JiraSource, bool) {
32352	return nil, false
32353}
32354
32355// AsImpalaSource is the BasicCopySource implementation for DynamicsSource.
32356func (ds DynamicsSource) AsImpalaSource() (*ImpalaSource, bool) {
32357	return nil, false
32358}
32359
32360// AsHubspotSource is the BasicCopySource implementation for DynamicsSource.
32361func (ds DynamicsSource) AsHubspotSource() (*HubspotSource, bool) {
32362	return nil, false
32363}
32364
32365// AsHiveSource is the BasicCopySource implementation for DynamicsSource.
32366func (ds DynamicsSource) AsHiveSource() (*HiveSource, bool) {
32367	return nil, false
32368}
32369
32370// AsHBaseSource is the BasicCopySource implementation for DynamicsSource.
32371func (ds DynamicsSource) AsHBaseSource() (*HBaseSource, bool) {
32372	return nil, false
32373}
32374
32375// AsGreenplumSource is the BasicCopySource implementation for DynamicsSource.
32376func (ds DynamicsSource) AsGreenplumSource() (*GreenplumSource, bool) {
32377	return nil, false
32378}
32379
32380// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsSource.
32381func (ds DynamicsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
32382	return nil, false
32383}
32384
32385// AsEloquaSource is the BasicCopySource implementation for DynamicsSource.
32386func (ds DynamicsSource) AsEloquaSource() (*EloquaSource, bool) {
32387	return nil, false
32388}
32389
32390// AsDrillSource is the BasicCopySource implementation for DynamicsSource.
32391func (ds DynamicsSource) AsDrillSource() (*DrillSource, bool) {
32392	return nil, false
32393}
32394
32395// AsCouchbaseSource is the BasicCopySource implementation for DynamicsSource.
32396func (ds DynamicsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
32397	return nil, false
32398}
32399
32400// AsConcurSource is the BasicCopySource implementation for DynamicsSource.
32401func (ds DynamicsSource) AsConcurSource() (*ConcurSource, bool) {
32402	return nil, false
32403}
32404
32405// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsSource.
32406func (ds DynamicsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
32407	return nil, false
32408}
32409
32410// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsSource.
32411func (ds DynamicsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
32412	return nil, false
32413}
32414
32415// AsHTTPSource is the BasicCopySource implementation for DynamicsSource.
32416func (ds DynamicsSource) AsHTTPSource() (*HTTPSource, bool) {
32417	return nil, false
32418}
32419
32420// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsSource.
32421func (ds DynamicsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
32422	return nil, false
32423}
32424
32425// AsMongoDbSource is the BasicCopySource implementation for DynamicsSource.
32426func (ds DynamicsSource) AsMongoDbSource() (*MongoDbSource, bool) {
32427	return nil, false
32428}
32429
32430// AsCassandraSource is the BasicCopySource implementation for DynamicsSource.
32431func (ds DynamicsSource) AsCassandraSource() (*CassandraSource, bool) {
32432	return nil, false
32433}
32434
32435// AsWebSource is the BasicCopySource implementation for DynamicsSource.
32436func (ds DynamicsSource) AsWebSource() (*WebSource, bool) {
32437	return nil, false
32438}
32439
32440// AsOracleSource is the BasicCopySource implementation for DynamicsSource.
32441func (ds DynamicsSource) AsOracleSource() (*OracleSource, bool) {
32442	return nil, false
32443}
32444
32445// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsSource.
32446func (ds DynamicsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
32447	return nil, false
32448}
32449
32450// AsHdfsSource is the BasicCopySource implementation for DynamicsSource.
32451func (ds DynamicsSource) AsHdfsSource() (*HdfsSource, bool) {
32452	return nil, false
32453}
32454
32455// AsFileSystemSource is the BasicCopySource implementation for DynamicsSource.
32456func (ds DynamicsSource) AsFileSystemSource() (*FileSystemSource, bool) {
32457	return nil, false
32458}
32459
32460// AsSQLDWSource is the BasicCopySource implementation for DynamicsSource.
32461func (ds DynamicsSource) AsSQLDWSource() (*SQLDWSource, bool) {
32462	return nil, false
32463}
32464
32465// AsSQLSource is the BasicCopySource implementation for DynamicsSource.
32466func (ds DynamicsSource) AsSQLSource() (*SQLSource, bool) {
32467	return nil, false
32468}
32469
32470// AsSapEccSource is the BasicCopySource implementation for DynamicsSource.
32471func (ds DynamicsSource) AsSapEccSource() (*SapEccSource, bool) {
32472	return nil, false
32473}
32474
32475// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsSource.
32476func (ds DynamicsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
32477	return nil, false
32478}
32479
32480// AsSalesforceSource is the BasicCopySource implementation for DynamicsSource.
32481func (ds DynamicsSource) AsSalesforceSource() (*SalesforceSource, bool) {
32482	return nil, false
32483}
32484
32485// AsRelationalSource is the BasicCopySource implementation for DynamicsSource.
32486func (ds DynamicsSource) AsRelationalSource() (*RelationalSource, bool) {
32487	return nil, false
32488}
32489
32490// AsDynamicsSource is the BasicCopySource implementation for DynamicsSource.
32491func (ds DynamicsSource) AsDynamicsSource() (*DynamicsSource, bool) {
32492	return &ds, true
32493}
32494
32495// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsSource.
32496func (ds DynamicsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
32497	return nil, false
32498}
32499
32500// AsBlobSource is the BasicCopySource implementation for DynamicsSource.
32501func (ds DynamicsSource) AsBlobSource() (*BlobSource, bool) {
32502	return nil, false
32503}
32504
32505// AsAzureTableSource is the BasicCopySource implementation for DynamicsSource.
32506func (ds DynamicsSource) AsAzureTableSource() (*AzureTableSource, bool) {
32507	return nil, false
32508}
32509
32510// AsCopySource is the BasicCopySource implementation for DynamicsSource.
32511func (ds DynamicsSource) AsCopySource() (*CopySource, bool) {
32512	return nil, false
32513}
32514
32515// AsBasicCopySource is the BasicCopySource implementation for DynamicsSource.
32516func (ds DynamicsSource) AsBasicCopySource() (BasicCopySource, bool) {
32517	return &ds, true
32518}
32519
32520// UnmarshalJSON is the custom unmarshaler for DynamicsSource struct.
32521func (ds *DynamicsSource) UnmarshalJSON(body []byte) error {
32522	var m map[string]*json.RawMessage
32523	err := json.Unmarshal(body, &m)
32524	if err != nil {
32525		return err
32526	}
32527	for k, v := range m {
32528		switch k {
32529		case "query":
32530			if v != nil {
32531				var query interface{}
32532				err = json.Unmarshal(*v, &query)
32533				if err != nil {
32534					return err
32535				}
32536				ds.Query = query
32537			}
32538		default:
32539			if v != nil {
32540				var additionalProperties interface{}
32541				err = json.Unmarshal(*v, &additionalProperties)
32542				if err != nil {
32543					return err
32544				}
32545				if ds.AdditionalProperties == nil {
32546					ds.AdditionalProperties = make(map[string]interface{})
32547				}
32548				ds.AdditionalProperties[k] = additionalProperties
32549			}
32550		case "sourceRetryCount":
32551			if v != nil {
32552				var sourceRetryCount interface{}
32553				err = json.Unmarshal(*v, &sourceRetryCount)
32554				if err != nil {
32555					return err
32556				}
32557				ds.SourceRetryCount = sourceRetryCount
32558			}
32559		case "sourceRetryWait":
32560			if v != nil {
32561				var sourceRetryWait interface{}
32562				err = json.Unmarshal(*v, &sourceRetryWait)
32563				if err != nil {
32564					return err
32565				}
32566				ds.SourceRetryWait = sourceRetryWait
32567			}
32568		case "type":
32569			if v != nil {
32570				var typeVar TypeBasicCopySource
32571				err = json.Unmarshal(*v, &typeVar)
32572				if err != nil {
32573					return err
32574				}
32575				ds.Type = typeVar
32576			}
32577		}
32578	}
32579
32580	return nil
32581}
32582
32583// EloquaLinkedService eloqua server linked service.
32584type EloquaLinkedService struct {
32585	// EloquaLinkedServiceTypeProperties - Eloqua server linked service properties.
32586	*EloquaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
32587	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
32588	AdditionalProperties map[string]interface{} `json:""`
32589	// ConnectVia - The integration runtime reference.
32590	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
32591	// Description - Linked service description.
32592	Description *string `json:"description,omitempty"`
32593	// Parameters - Parameters for linked service.
32594	Parameters map[string]*ParameterSpecification `json:"parameters"`
32595	// Annotations - List of tags that can be used for describing the Dataset.
32596	Annotations *[]interface{} `json:"annotations,omitempty"`
32597	// 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'
32598	Type TypeBasicLinkedService `json:"type,omitempty"`
32599}
32600
32601// MarshalJSON is the custom marshaler for EloquaLinkedService.
32602func (els EloquaLinkedService) MarshalJSON() ([]byte, error) {
32603	els.Type = TypeEloqua
32604	objectMap := make(map[string]interface{})
32605	if els.EloquaLinkedServiceTypeProperties != nil {
32606		objectMap["typeProperties"] = els.EloquaLinkedServiceTypeProperties
32607	}
32608	if els.ConnectVia != nil {
32609		objectMap["connectVia"] = els.ConnectVia
32610	}
32611	if els.Description != nil {
32612		objectMap["description"] = els.Description
32613	}
32614	if els.Parameters != nil {
32615		objectMap["parameters"] = els.Parameters
32616	}
32617	if els.Annotations != nil {
32618		objectMap["annotations"] = els.Annotations
32619	}
32620	if els.Type != "" {
32621		objectMap["type"] = els.Type
32622	}
32623	for k, v := range els.AdditionalProperties {
32624		objectMap[k] = v
32625	}
32626	return json.Marshal(objectMap)
32627}
32628
32629// AsResponsysLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32630func (els EloquaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
32631	return nil, false
32632}
32633
32634// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32635func (els EloquaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
32636	return nil, false
32637}
32638
32639// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32640func (els EloquaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
32641	return nil, false
32642}
32643
32644// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32645func (els EloquaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
32646	return nil, false
32647}
32648
32649// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32650func (els EloquaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
32651	return nil, false
32652}
32653
32654// AsNetezzaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32655func (els EloquaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
32656	return nil, false
32657}
32658
32659// AsVerticaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32660func (els EloquaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
32661	return nil, false
32662}
32663
32664// AsZohoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32665func (els EloquaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
32666	return nil, false
32667}
32668
32669// AsXeroLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32670func (els EloquaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
32671	return nil, false
32672}
32673
32674// AsSquareLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32675func (els EloquaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
32676	return nil, false
32677}
32678
32679// AsSparkLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32680func (els EloquaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
32681	return nil, false
32682}
32683
32684// AsShopifyLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32685func (els EloquaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
32686	return nil, false
32687}
32688
32689// AsServiceNowLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32690func (els EloquaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
32691	return nil, false
32692}
32693
32694// AsQuickBooksLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32695func (els EloquaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
32696	return nil, false
32697}
32698
32699// AsPrestoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32700func (els EloquaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
32701	return nil, false
32702}
32703
32704// AsPhoenixLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32705func (els EloquaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
32706	return nil, false
32707}
32708
32709// AsPaypalLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32710func (els EloquaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
32711	return nil, false
32712}
32713
32714// AsMarketoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32715func (els EloquaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
32716	return nil, false
32717}
32718
32719// AsMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32720func (els EloquaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
32721	return nil, false
32722}
32723
32724// AsMagentoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32725func (els EloquaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
32726	return nil, false
32727}
32728
32729// AsJiraLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32730func (els EloquaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
32731	return nil, false
32732}
32733
32734// AsImpalaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32735func (els EloquaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
32736	return nil, false
32737}
32738
32739// AsHubspotLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32740func (els EloquaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
32741	return nil, false
32742}
32743
32744// AsHiveLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32745func (els EloquaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
32746	return nil, false
32747}
32748
32749// AsHBaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32750func (els EloquaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
32751	return nil, false
32752}
32753
32754// AsGreenplumLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32755func (els EloquaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
32756	return nil, false
32757}
32758
32759// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32760func (els EloquaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
32761	return nil, false
32762}
32763
32764// AsEloquaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32765func (els EloquaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
32766	return &els, true
32767}
32768
32769// AsDrillLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32770func (els EloquaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
32771	return nil, false
32772}
32773
32774// AsCouchbaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32775func (els EloquaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
32776	return nil, false
32777}
32778
32779// AsConcurLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32780func (els EloquaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
32781	return nil, false
32782}
32783
32784// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32785func (els EloquaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
32786	return nil, false
32787}
32788
32789// AsAmazonMWSLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32790func (els EloquaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
32791	return nil, false
32792}
32793
32794// AsSapHanaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32795func (els EloquaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
32796	return nil, false
32797}
32798
32799// AsSapBWLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32800func (els EloquaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
32801	return nil, false
32802}
32803
32804// AsSftpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32805func (els EloquaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
32806	return nil, false
32807}
32808
32809// AsFtpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32810func (els EloquaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
32811	return nil, false
32812}
32813
32814// AsHTTPLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32815func (els EloquaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
32816	return nil, false
32817}
32818
32819// AsAzureSearchLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32820func (els EloquaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
32821	return nil, false
32822}
32823
32824// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32825func (els EloquaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
32826	return nil, false
32827}
32828
32829// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32830func (els EloquaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
32831	return nil, false
32832}
32833
32834// AsAmazonS3LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32835func (els EloquaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
32836	return nil, false
32837}
32838
32839// AsSapEccLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32840func (els EloquaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
32841	return nil, false
32842}
32843
32844// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32845func (els EloquaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
32846	return nil, false
32847}
32848
32849// AsSalesforceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32850func (els EloquaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
32851	return nil, false
32852}
32853
32854// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32855func (els EloquaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
32856	return nil, false
32857}
32858
32859// AsMongoDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32860func (els EloquaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
32861	return nil, false
32862}
32863
32864// AsCassandraLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32865func (els EloquaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
32866	return nil, false
32867}
32868
32869// AsWebLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32870func (els EloquaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
32871	return nil, false
32872}
32873
32874// AsODataLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32875func (els EloquaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
32876	return nil, false
32877}
32878
32879// AsHdfsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32880func (els EloquaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
32881	return nil, false
32882}
32883
32884// AsOdbcLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32885func (els EloquaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
32886	return nil, false
32887}
32888
32889// AsAzureMLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32890func (els EloquaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
32891	return nil, false
32892}
32893
32894// AsTeradataLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32895func (els EloquaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
32896	return nil, false
32897}
32898
32899// AsDb2LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32900func (els EloquaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
32901	return nil, false
32902}
32903
32904// AsSybaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32905func (els EloquaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
32906	return nil, false
32907}
32908
32909// AsPostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32910func (els EloquaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
32911	return nil, false
32912}
32913
32914// AsMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32915func (els EloquaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
32916	return nil, false
32917}
32918
32919// AsAzureMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32920func (els EloquaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
32921	return nil, false
32922}
32923
32924// AsOracleLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32925func (els EloquaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
32926	return nil, false
32927}
32928
32929// AsFileServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32930func (els EloquaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
32931	return nil, false
32932}
32933
32934// AsHDInsightLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32935func (els EloquaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
32936	return nil, false
32937}
32938
32939// AsDynamicsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32940func (els EloquaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
32941	return nil, false
32942}
32943
32944// AsCosmosDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32945func (els EloquaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
32946	return nil, false
32947}
32948
32949// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32950func (els EloquaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
32951	return nil, false
32952}
32953
32954// AsAzureBatchLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32955func (els EloquaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
32956	return nil, false
32957}
32958
32959// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32960func (els EloquaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
32961	return nil, false
32962}
32963
32964// AsSQLServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32965func (els EloquaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
32966	return nil, false
32967}
32968
32969// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32970func (els EloquaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
32971	return nil, false
32972}
32973
32974// AsAzureStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32975func (els EloquaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
32976	return nil, false
32977}
32978
32979// AsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32980func (els EloquaLinkedService) AsLinkedService() (*LinkedService, bool) {
32981	return nil, false
32982}
32983
32984// AsBasicLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
32985func (els EloquaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
32986	return &els, true
32987}
32988
32989// UnmarshalJSON is the custom unmarshaler for EloquaLinkedService struct.
32990func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error {
32991	var m map[string]*json.RawMessage
32992	err := json.Unmarshal(body, &m)
32993	if err != nil {
32994		return err
32995	}
32996	for k, v := range m {
32997		switch k {
32998		case "typeProperties":
32999			if v != nil {
33000				var eloquaLinkedServiceTypeProperties EloquaLinkedServiceTypeProperties
33001				err = json.Unmarshal(*v, &eloquaLinkedServiceTypeProperties)
33002				if err != nil {
33003					return err
33004				}
33005				els.EloquaLinkedServiceTypeProperties = &eloquaLinkedServiceTypeProperties
33006			}
33007		default:
33008			if v != nil {
33009				var additionalProperties interface{}
33010				err = json.Unmarshal(*v, &additionalProperties)
33011				if err != nil {
33012					return err
33013				}
33014				if els.AdditionalProperties == nil {
33015					els.AdditionalProperties = make(map[string]interface{})
33016				}
33017				els.AdditionalProperties[k] = additionalProperties
33018			}
33019		case "connectVia":
33020			if v != nil {
33021				var connectVia IntegrationRuntimeReference
33022				err = json.Unmarshal(*v, &connectVia)
33023				if err != nil {
33024					return err
33025				}
33026				els.ConnectVia = &connectVia
33027			}
33028		case "description":
33029			if v != nil {
33030				var description string
33031				err = json.Unmarshal(*v, &description)
33032				if err != nil {
33033					return err
33034				}
33035				els.Description = &description
33036			}
33037		case "parameters":
33038			if v != nil {
33039				var parameters map[string]*ParameterSpecification
33040				err = json.Unmarshal(*v, &parameters)
33041				if err != nil {
33042					return err
33043				}
33044				els.Parameters = parameters
33045			}
33046		case "annotations":
33047			if v != nil {
33048				var annotations []interface{}
33049				err = json.Unmarshal(*v, &annotations)
33050				if err != nil {
33051					return err
33052				}
33053				els.Annotations = &annotations
33054			}
33055		case "type":
33056			if v != nil {
33057				var typeVar TypeBasicLinkedService
33058				err = json.Unmarshal(*v, &typeVar)
33059				if err != nil {
33060					return err
33061				}
33062				els.Type = typeVar
33063			}
33064		}
33065	}
33066
33067	return nil
33068}
33069
33070// EloquaLinkedServiceTypeProperties eloqua server linked service properties.
33071type EloquaLinkedServiceTypeProperties struct {
33072	// Endpoint - The endpoint of the Eloqua server. (i.e. eloqua.example.com)
33073	Endpoint interface{} `json:"endpoint,omitempty"`
33074	// Username - The site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice)
33075	Username interface{} `json:"username,omitempty"`
33076	// Password - The password corresponding to the user name.
33077	Password BasicSecretBase `json:"password,omitempty"`
33078	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
33079	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
33080	// 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.
33081	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
33082	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
33083	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
33084	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
33085	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
33086}
33087
33088// UnmarshalJSON is the custom unmarshaler for EloquaLinkedServiceTypeProperties struct.
33089func (elstp *EloquaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
33090	var m map[string]*json.RawMessage
33091	err := json.Unmarshal(body, &m)
33092	if err != nil {
33093		return err
33094	}
33095	for k, v := range m {
33096		switch k {
33097		case "endpoint":
33098			if v != nil {
33099				var endpoint interface{}
33100				err = json.Unmarshal(*v, &endpoint)
33101				if err != nil {
33102					return err
33103				}
33104				elstp.Endpoint = endpoint
33105			}
33106		case "username":
33107			if v != nil {
33108				var username interface{}
33109				err = json.Unmarshal(*v, &username)
33110				if err != nil {
33111					return err
33112				}
33113				elstp.Username = username
33114			}
33115		case "password":
33116			if v != nil {
33117				password, err := unmarshalBasicSecretBase(*v)
33118				if err != nil {
33119					return err
33120				}
33121				elstp.Password = password
33122			}
33123		case "useEncryptedEndpoints":
33124			if v != nil {
33125				var useEncryptedEndpoints interface{}
33126				err = json.Unmarshal(*v, &useEncryptedEndpoints)
33127				if err != nil {
33128					return err
33129				}
33130				elstp.UseEncryptedEndpoints = useEncryptedEndpoints
33131			}
33132		case "useHostVerification":
33133			if v != nil {
33134				var useHostVerification interface{}
33135				err = json.Unmarshal(*v, &useHostVerification)
33136				if err != nil {
33137					return err
33138				}
33139				elstp.UseHostVerification = useHostVerification
33140			}
33141		case "usePeerVerification":
33142			if v != nil {
33143				var usePeerVerification interface{}
33144				err = json.Unmarshal(*v, &usePeerVerification)
33145				if err != nil {
33146					return err
33147				}
33148				elstp.UsePeerVerification = usePeerVerification
33149			}
33150		case "encryptedCredential":
33151			if v != nil {
33152				var encryptedCredential interface{}
33153				err = json.Unmarshal(*v, &encryptedCredential)
33154				if err != nil {
33155					return err
33156				}
33157				elstp.EncryptedCredential = encryptedCredential
33158			}
33159		}
33160	}
33161
33162	return nil
33163}
33164
33165// EloquaObjectDataset eloqua server dataset.
33166type EloquaObjectDataset struct {
33167	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
33168	AdditionalProperties map[string]interface{} `json:""`
33169	// Description - Dataset description.
33170	Description *string `json:"description,omitempty"`
33171	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
33172	Structure interface{} `json:"structure,omitempty"`
33173	// LinkedServiceName - Linked service reference.
33174	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
33175	// Parameters - Parameters for dataset.
33176	Parameters map[string]*ParameterSpecification `json:"parameters"`
33177	// Annotations - List of tags that can be used for describing the Dataset.
33178	Annotations *[]interface{} `json:"annotations,omitempty"`
33179	// 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'
33180	Type TypeBasicDataset `json:"type,omitempty"`
33181}
33182
33183// MarshalJSON is the custom marshaler for EloquaObjectDataset.
33184func (eod EloquaObjectDataset) MarshalJSON() ([]byte, error) {
33185	eod.Type = TypeEloquaObject
33186	objectMap := make(map[string]interface{})
33187	if eod.Description != nil {
33188		objectMap["description"] = eod.Description
33189	}
33190	if eod.Structure != nil {
33191		objectMap["structure"] = eod.Structure
33192	}
33193	if eod.LinkedServiceName != nil {
33194		objectMap["linkedServiceName"] = eod.LinkedServiceName
33195	}
33196	if eod.Parameters != nil {
33197		objectMap["parameters"] = eod.Parameters
33198	}
33199	if eod.Annotations != nil {
33200		objectMap["annotations"] = eod.Annotations
33201	}
33202	if eod.Type != "" {
33203		objectMap["type"] = eod.Type
33204	}
33205	for k, v := range eod.AdditionalProperties {
33206		objectMap[k] = v
33207	}
33208	return json.Marshal(objectMap)
33209}
33210
33211// AsResponsysObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33212func (eod EloquaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
33213	return nil, false
33214}
33215
33216// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33217func (eod EloquaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
33218	return nil, false
33219}
33220
33221// AsVerticaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33222func (eod EloquaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
33223	return nil, false
33224}
33225
33226// AsNetezzaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33227func (eod EloquaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
33228	return nil, false
33229}
33230
33231// AsZohoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33232func (eod EloquaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
33233	return nil, false
33234}
33235
33236// AsXeroObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33237func (eod EloquaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
33238	return nil, false
33239}
33240
33241// AsSquareObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33242func (eod EloquaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
33243	return nil, false
33244}
33245
33246// AsSparkObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33247func (eod EloquaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
33248	return nil, false
33249}
33250
33251// AsShopifyObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33252func (eod EloquaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
33253	return nil, false
33254}
33255
33256// AsServiceNowObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33257func (eod EloquaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
33258	return nil, false
33259}
33260
33261// AsQuickBooksObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33262func (eod EloquaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
33263	return nil, false
33264}
33265
33266// AsPrestoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33267func (eod EloquaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
33268	return nil, false
33269}
33270
33271// AsPhoenixObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33272func (eod EloquaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
33273	return nil, false
33274}
33275
33276// AsPaypalObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33277func (eod EloquaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
33278	return nil, false
33279}
33280
33281// AsMarketoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33282func (eod EloquaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
33283	return nil, false
33284}
33285
33286// AsMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33287func (eod EloquaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
33288	return nil, false
33289}
33290
33291// AsMagentoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33292func (eod EloquaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
33293	return nil, false
33294}
33295
33296// AsJiraObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33297func (eod EloquaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
33298	return nil, false
33299}
33300
33301// AsImpalaObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33302func (eod EloquaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
33303	return nil, false
33304}
33305
33306// AsHubspotObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33307func (eod EloquaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
33308	return nil, false
33309}
33310
33311// AsHiveObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33312func (eod EloquaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
33313	return nil, false
33314}
33315
33316// AsHBaseObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33317func (eod EloquaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
33318	return nil, false
33319}
33320
33321// AsGreenplumTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33322func (eod EloquaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
33323	return nil, false
33324}
33325
33326// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33327func (eod EloquaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
33328	return nil, false
33329}
33330
33331// AsEloquaObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33332func (eod EloquaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
33333	return &eod, true
33334}
33335
33336// AsDrillTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33337func (eod EloquaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
33338	return nil, false
33339}
33340
33341// AsCouchbaseTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33342func (eod EloquaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
33343	return nil, false
33344}
33345
33346// AsConcurObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33347func (eod EloquaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
33348	return nil, false
33349}
33350
33351// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33352func (eod EloquaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
33353	return nil, false
33354}
33355
33356// AsAmazonMWSObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33357func (eod EloquaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
33358	return nil, false
33359}
33360
33361// AsHTTPDataset is the BasicDataset implementation for EloquaObjectDataset.
33362func (eod EloquaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
33363	return nil, false
33364}
33365
33366// AsAzureSearchIndexDataset is the BasicDataset implementation for EloquaObjectDataset.
33367func (eod EloquaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
33368	return nil, false
33369}
33370
33371// AsWebTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33372func (eod EloquaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
33373	return nil, false
33374}
33375
33376// AsSQLServerTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33377func (eod EloquaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
33378	return nil, false
33379}
33380
33381// AsSapEccResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
33382func (eod EloquaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
33383	return nil, false
33384}
33385
33386// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
33387func (eod EloquaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
33388	return nil, false
33389}
33390
33391// AsSalesforceObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
33392func (eod EloquaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
33393	return nil, false
33394}
33395
33396// AsRelationalTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33397func (eod EloquaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
33398	return nil, false
33399}
33400
33401// AsAzureMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33402func (eod EloquaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
33403	return nil, false
33404}
33405
33406// AsOracleTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33407func (eod EloquaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
33408	return nil, false
33409}
33410
33411// AsODataResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
33412func (eod EloquaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
33413	return nil, false
33414}
33415
33416// AsMongoDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
33417func (eod EloquaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
33418	return nil, false
33419}
33420
33421// AsFileShareDataset is the BasicDataset implementation for EloquaObjectDataset.
33422func (eod EloquaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
33423	return nil, false
33424}
33425
33426// AsAzureDataLakeStoreDataset is the BasicDataset implementation for EloquaObjectDataset.
33427func (eod EloquaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
33428	return nil, false
33429}
33430
33431// AsDynamicsEntityDataset is the BasicDataset implementation for EloquaObjectDataset.
33432func (eod EloquaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
33433	return nil, false
33434}
33435
33436// AsDocumentDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
33437func (eod EloquaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
33438	return nil, false
33439}
33440
33441// AsCustomDataset is the BasicDataset implementation for EloquaObjectDataset.
33442func (eod EloquaObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
33443	return nil, false
33444}
33445
33446// AsCassandraTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33447func (eod EloquaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
33448	return nil, false
33449}
33450
33451// AsAzureSQLDWTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33452func (eod EloquaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
33453	return nil, false
33454}
33455
33456// AsAzureSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33457func (eod EloquaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
33458	return nil, false
33459}
33460
33461// AsAzureTableDataset is the BasicDataset implementation for EloquaObjectDataset.
33462func (eod EloquaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
33463	return nil, false
33464}
33465
33466// AsAzureBlobDataset is the BasicDataset implementation for EloquaObjectDataset.
33467func (eod EloquaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
33468	return nil, false
33469}
33470
33471// AsAmazonS3Dataset is the BasicDataset implementation for EloquaObjectDataset.
33472func (eod EloquaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
33473	return nil, false
33474}
33475
33476// AsDataset is the BasicDataset implementation for EloquaObjectDataset.
33477func (eod EloquaObjectDataset) AsDataset() (*Dataset, bool) {
33478	return nil, false
33479}
33480
33481// AsBasicDataset is the BasicDataset implementation for EloquaObjectDataset.
33482func (eod EloquaObjectDataset) AsBasicDataset() (BasicDataset, bool) {
33483	return &eod, true
33484}
33485
33486// UnmarshalJSON is the custom unmarshaler for EloquaObjectDataset struct.
33487func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error {
33488	var m map[string]*json.RawMessage
33489	err := json.Unmarshal(body, &m)
33490	if err != nil {
33491		return err
33492	}
33493	for k, v := range m {
33494		switch k {
33495		default:
33496			if v != nil {
33497				var additionalProperties interface{}
33498				err = json.Unmarshal(*v, &additionalProperties)
33499				if err != nil {
33500					return err
33501				}
33502				if eod.AdditionalProperties == nil {
33503					eod.AdditionalProperties = make(map[string]interface{})
33504				}
33505				eod.AdditionalProperties[k] = additionalProperties
33506			}
33507		case "description":
33508			if v != nil {
33509				var description string
33510				err = json.Unmarshal(*v, &description)
33511				if err != nil {
33512					return err
33513				}
33514				eod.Description = &description
33515			}
33516		case "structure":
33517			if v != nil {
33518				var structure interface{}
33519				err = json.Unmarshal(*v, &structure)
33520				if err != nil {
33521					return err
33522				}
33523				eod.Structure = structure
33524			}
33525		case "linkedServiceName":
33526			if v != nil {
33527				var linkedServiceName LinkedServiceReference
33528				err = json.Unmarshal(*v, &linkedServiceName)
33529				if err != nil {
33530					return err
33531				}
33532				eod.LinkedServiceName = &linkedServiceName
33533			}
33534		case "parameters":
33535			if v != nil {
33536				var parameters map[string]*ParameterSpecification
33537				err = json.Unmarshal(*v, &parameters)
33538				if err != nil {
33539					return err
33540				}
33541				eod.Parameters = parameters
33542			}
33543		case "annotations":
33544			if v != nil {
33545				var annotations []interface{}
33546				err = json.Unmarshal(*v, &annotations)
33547				if err != nil {
33548					return err
33549				}
33550				eod.Annotations = &annotations
33551			}
33552		case "type":
33553			if v != nil {
33554				var typeVar TypeBasicDataset
33555				err = json.Unmarshal(*v, &typeVar)
33556				if err != nil {
33557					return err
33558				}
33559				eod.Type = typeVar
33560			}
33561		}
33562	}
33563
33564	return nil
33565}
33566
33567// EloquaSource a copy activity Eloqua server source.
33568type EloquaSource struct {
33569	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
33570	Query interface{} `json:"query,omitempty"`
33571	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
33572	AdditionalProperties map[string]interface{} `json:""`
33573	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
33574	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
33575	// 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])).
33576	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
33577	// 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'
33578	Type TypeBasicCopySource `json:"type,omitempty"`
33579}
33580
33581// MarshalJSON is the custom marshaler for EloquaSource.
33582func (es EloquaSource) MarshalJSON() ([]byte, error) {
33583	es.Type = TypeEloquaSource
33584	objectMap := make(map[string]interface{})
33585	if es.Query != nil {
33586		objectMap["query"] = es.Query
33587	}
33588	if es.SourceRetryCount != nil {
33589		objectMap["sourceRetryCount"] = es.SourceRetryCount
33590	}
33591	if es.SourceRetryWait != nil {
33592		objectMap["sourceRetryWait"] = es.SourceRetryWait
33593	}
33594	if es.Type != "" {
33595		objectMap["type"] = es.Type
33596	}
33597	for k, v := range es.AdditionalProperties {
33598		objectMap[k] = v
33599	}
33600	return json.Marshal(objectMap)
33601}
33602
33603// AsAmazonRedshiftSource is the BasicCopySource implementation for EloquaSource.
33604func (es EloquaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
33605	return nil, false
33606}
33607
33608// AsResponsysSource is the BasicCopySource implementation for EloquaSource.
33609func (es EloquaSource) AsResponsysSource() (*ResponsysSource, bool) {
33610	return nil, false
33611}
33612
33613// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for EloquaSource.
33614func (es EloquaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
33615	return nil, false
33616}
33617
33618// AsVerticaSource is the BasicCopySource implementation for EloquaSource.
33619func (es EloquaSource) AsVerticaSource() (*VerticaSource, bool) {
33620	return nil, false
33621}
33622
33623// AsNetezzaSource is the BasicCopySource implementation for EloquaSource.
33624func (es EloquaSource) AsNetezzaSource() (*NetezzaSource, bool) {
33625	return nil, false
33626}
33627
33628// AsZohoSource is the BasicCopySource implementation for EloquaSource.
33629func (es EloquaSource) AsZohoSource() (*ZohoSource, bool) {
33630	return nil, false
33631}
33632
33633// AsXeroSource is the BasicCopySource implementation for EloquaSource.
33634func (es EloquaSource) AsXeroSource() (*XeroSource, bool) {
33635	return nil, false
33636}
33637
33638// AsSquareSource is the BasicCopySource implementation for EloquaSource.
33639func (es EloquaSource) AsSquareSource() (*SquareSource, bool) {
33640	return nil, false
33641}
33642
33643// AsSparkSource is the BasicCopySource implementation for EloquaSource.
33644func (es EloquaSource) AsSparkSource() (*SparkSource, bool) {
33645	return nil, false
33646}
33647
33648// AsShopifySource is the BasicCopySource implementation for EloquaSource.
33649func (es EloquaSource) AsShopifySource() (*ShopifySource, bool) {
33650	return nil, false
33651}
33652
33653// AsServiceNowSource is the BasicCopySource implementation for EloquaSource.
33654func (es EloquaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
33655	return nil, false
33656}
33657
33658// AsQuickBooksSource is the BasicCopySource implementation for EloquaSource.
33659func (es EloquaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
33660	return nil, false
33661}
33662
33663// AsPrestoSource is the BasicCopySource implementation for EloquaSource.
33664func (es EloquaSource) AsPrestoSource() (*PrestoSource, bool) {
33665	return nil, false
33666}
33667
33668// AsPhoenixSource is the BasicCopySource implementation for EloquaSource.
33669func (es EloquaSource) AsPhoenixSource() (*PhoenixSource, bool) {
33670	return nil, false
33671}
33672
33673// AsPaypalSource is the BasicCopySource implementation for EloquaSource.
33674func (es EloquaSource) AsPaypalSource() (*PaypalSource, bool) {
33675	return nil, false
33676}
33677
33678// AsMarketoSource is the BasicCopySource implementation for EloquaSource.
33679func (es EloquaSource) AsMarketoSource() (*MarketoSource, bool) {
33680	return nil, false
33681}
33682
33683// AsMariaDBSource is the BasicCopySource implementation for EloquaSource.
33684func (es EloquaSource) AsMariaDBSource() (*MariaDBSource, bool) {
33685	return nil, false
33686}
33687
33688// AsMagentoSource is the BasicCopySource implementation for EloquaSource.
33689func (es EloquaSource) AsMagentoSource() (*MagentoSource, bool) {
33690	return nil, false
33691}
33692
33693// AsJiraSource is the BasicCopySource implementation for EloquaSource.
33694func (es EloquaSource) AsJiraSource() (*JiraSource, bool) {
33695	return nil, false
33696}
33697
33698// AsImpalaSource is the BasicCopySource implementation for EloquaSource.
33699func (es EloquaSource) AsImpalaSource() (*ImpalaSource, bool) {
33700	return nil, false
33701}
33702
33703// AsHubspotSource is the BasicCopySource implementation for EloquaSource.
33704func (es EloquaSource) AsHubspotSource() (*HubspotSource, bool) {
33705	return nil, false
33706}
33707
33708// AsHiveSource is the BasicCopySource implementation for EloquaSource.
33709func (es EloquaSource) AsHiveSource() (*HiveSource, bool) {
33710	return nil, false
33711}
33712
33713// AsHBaseSource is the BasicCopySource implementation for EloquaSource.
33714func (es EloquaSource) AsHBaseSource() (*HBaseSource, bool) {
33715	return nil, false
33716}
33717
33718// AsGreenplumSource is the BasicCopySource implementation for EloquaSource.
33719func (es EloquaSource) AsGreenplumSource() (*GreenplumSource, bool) {
33720	return nil, false
33721}
33722
33723// AsGoogleBigQuerySource is the BasicCopySource implementation for EloquaSource.
33724func (es EloquaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
33725	return nil, false
33726}
33727
33728// AsEloquaSource is the BasicCopySource implementation for EloquaSource.
33729func (es EloquaSource) AsEloquaSource() (*EloquaSource, bool) {
33730	return &es, true
33731}
33732
33733// AsDrillSource is the BasicCopySource implementation for EloquaSource.
33734func (es EloquaSource) AsDrillSource() (*DrillSource, bool) {
33735	return nil, false
33736}
33737
33738// AsCouchbaseSource is the BasicCopySource implementation for EloquaSource.
33739func (es EloquaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
33740	return nil, false
33741}
33742
33743// AsConcurSource is the BasicCopySource implementation for EloquaSource.
33744func (es EloquaSource) AsConcurSource() (*ConcurSource, bool) {
33745	return nil, false
33746}
33747
33748// AsAzurePostgreSQLSource is the BasicCopySource implementation for EloquaSource.
33749func (es EloquaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
33750	return nil, false
33751}
33752
33753// AsAmazonMWSSource is the BasicCopySource implementation for EloquaSource.
33754func (es EloquaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
33755	return nil, false
33756}
33757
33758// AsHTTPSource is the BasicCopySource implementation for EloquaSource.
33759func (es EloquaSource) AsHTTPSource() (*HTTPSource, bool) {
33760	return nil, false
33761}
33762
33763// AsAzureDataLakeStoreSource is the BasicCopySource implementation for EloquaSource.
33764func (es EloquaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
33765	return nil, false
33766}
33767
33768// AsMongoDbSource is the BasicCopySource implementation for EloquaSource.
33769func (es EloquaSource) AsMongoDbSource() (*MongoDbSource, bool) {
33770	return nil, false
33771}
33772
33773// AsCassandraSource is the BasicCopySource implementation for EloquaSource.
33774func (es EloquaSource) AsCassandraSource() (*CassandraSource, bool) {
33775	return nil, false
33776}
33777
33778// AsWebSource is the BasicCopySource implementation for EloquaSource.
33779func (es EloquaSource) AsWebSource() (*WebSource, bool) {
33780	return nil, false
33781}
33782
33783// AsOracleSource is the BasicCopySource implementation for EloquaSource.
33784func (es EloquaSource) AsOracleSource() (*OracleSource, bool) {
33785	return nil, false
33786}
33787
33788// AsAzureMySQLSource is the BasicCopySource implementation for EloquaSource.
33789func (es EloquaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
33790	return nil, false
33791}
33792
33793// AsHdfsSource is the BasicCopySource implementation for EloquaSource.
33794func (es EloquaSource) AsHdfsSource() (*HdfsSource, bool) {
33795	return nil, false
33796}
33797
33798// AsFileSystemSource is the BasicCopySource implementation for EloquaSource.
33799func (es EloquaSource) AsFileSystemSource() (*FileSystemSource, bool) {
33800	return nil, false
33801}
33802
33803// AsSQLDWSource is the BasicCopySource implementation for EloquaSource.
33804func (es EloquaSource) AsSQLDWSource() (*SQLDWSource, bool) {
33805	return nil, false
33806}
33807
33808// AsSQLSource is the BasicCopySource implementation for EloquaSource.
33809func (es EloquaSource) AsSQLSource() (*SQLSource, bool) {
33810	return nil, false
33811}
33812
33813// AsSapEccSource is the BasicCopySource implementation for EloquaSource.
33814func (es EloquaSource) AsSapEccSource() (*SapEccSource, bool) {
33815	return nil, false
33816}
33817
33818// AsSapCloudForCustomerSource is the BasicCopySource implementation for EloquaSource.
33819func (es EloquaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
33820	return nil, false
33821}
33822
33823// AsSalesforceSource is the BasicCopySource implementation for EloquaSource.
33824func (es EloquaSource) AsSalesforceSource() (*SalesforceSource, bool) {
33825	return nil, false
33826}
33827
33828// AsRelationalSource is the BasicCopySource implementation for EloquaSource.
33829func (es EloquaSource) AsRelationalSource() (*RelationalSource, bool) {
33830	return nil, false
33831}
33832
33833// AsDynamicsSource is the BasicCopySource implementation for EloquaSource.
33834func (es EloquaSource) AsDynamicsSource() (*DynamicsSource, bool) {
33835	return nil, false
33836}
33837
33838// AsDocumentDbCollectionSource is the BasicCopySource implementation for EloquaSource.
33839func (es EloquaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
33840	return nil, false
33841}
33842
33843// AsBlobSource is the BasicCopySource implementation for EloquaSource.
33844func (es EloquaSource) AsBlobSource() (*BlobSource, bool) {
33845	return nil, false
33846}
33847
33848// AsAzureTableSource is the BasicCopySource implementation for EloquaSource.
33849func (es EloquaSource) AsAzureTableSource() (*AzureTableSource, bool) {
33850	return nil, false
33851}
33852
33853// AsCopySource is the BasicCopySource implementation for EloquaSource.
33854func (es EloquaSource) AsCopySource() (*CopySource, bool) {
33855	return nil, false
33856}
33857
33858// AsBasicCopySource is the BasicCopySource implementation for EloquaSource.
33859func (es EloquaSource) AsBasicCopySource() (BasicCopySource, bool) {
33860	return &es, true
33861}
33862
33863// UnmarshalJSON is the custom unmarshaler for EloquaSource struct.
33864func (es *EloquaSource) UnmarshalJSON(body []byte) error {
33865	var m map[string]*json.RawMessage
33866	err := json.Unmarshal(body, &m)
33867	if err != nil {
33868		return err
33869	}
33870	for k, v := range m {
33871		switch k {
33872		case "query":
33873			if v != nil {
33874				var query interface{}
33875				err = json.Unmarshal(*v, &query)
33876				if err != nil {
33877					return err
33878				}
33879				es.Query = query
33880			}
33881		default:
33882			if v != nil {
33883				var additionalProperties interface{}
33884				err = json.Unmarshal(*v, &additionalProperties)
33885				if err != nil {
33886					return err
33887				}
33888				if es.AdditionalProperties == nil {
33889					es.AdditionalProperties = make(map[string]interface{})
33890				}
33891				es.AdditionalProperties[k] = additionalProperties
33892			}
33893		case "sourceRetryCount":
33894			if v != nil {
33895				var sourceRetryCount interface{}
33896				err = json.Unmarshal(*v, &sourceRetryCount)
33897				if err != nil {
33898					return err
33899				}
33900				es.SourceRetryCount = sourceRetryCount
33901			}
33902		case "sourceRetryWait":
33903			if v != nil {
33904				var sourceRetryWait interface{}
33905				err = json.Unmarshal(*v, &sourceRetryWait)
33906				if err != nil {
33907					return err
33908				}
33909				es.SourceRetryWait = sourceRetryWait
33910			}
33911		case "type":
33912			if v != nil {
33913				var typeVar TypeBasicCopySource
33914				err = json.Unmarshal(*v, &typeVar)
33915				if err != nil {
33916					return err
33917				}
33918				es.Type = typeVar
33919			}
33920		}
33921	}
33922
33923	return nil
33924}
33925
33926// EntityReference the entity reference.
33927type EntityReference struct {
33928	// Type - The type of this referenced entity. Possible values include: 'IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference', 'IntegrationRuntimeEntityReferenceTypeLinkedServiceReference'
33929	Type IntegrationRuntimeEntityReferenceType `json:"type,omitempty"`
33930	// ReferenceName - The name of this referenced entity.
33931	ReferenceName *string `json:"referenceName,omitempty"`
33932}
33933
33934// ErrorResponse the object that defines the structure of an Azure Data Factory response.
33935type ErrorResponse struct {
33936	// Code - Error code.
33937	Code *string `json:"code,omitempty"`
33938	// Message - Error message.
33939	Message *string `json:"message,omitempty"`
33940	// Target - Property name/path in request associated with error.
33941	Target *string `json:"target,omitempty"`
33942	// Details - Array with additional error details.
33943	Details *[]ErrorResponse `json:"details,omitempty"`
33944}
33945
33946// ExecutePipelineActivity execute pipeline activity.
33947type ExecutePipelineActivity struct {
33948	// ExecutePipelineActivityTypeProperties - Execute pipeline activity properties.
33949	*ExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"`
33950	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
33951	AdditionalProperties map[string]interface{} `json:""`
33952	// Name - Activity name.
33953	Name *string `json:"name,omitempty"`
33954	// Description - Activity description.
33955	Description *string `json:"description,omitempty"`
33956	// DependsOn - Activity depends on condition.
33957	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
33958	// 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'
33959	Type TypeBasicActivity `json:"type,omitempty"`
33960}
33961
33962// MarshalJSON is the custom marshaler for ExecutePipelineActivity.
33963func (epa ExecutePipelineActivity) MarshalJSON() ([]byte, error) {
33964	epa.Type = TypeExecutePipeline
33965	objectMap := make(map[string]interface{})
33966	if epa.ExecutePipelineActivityTypeProperties != nil {
33967		objectMap["typeProperties"] = epa.ExecutePipelineActivityTypeProperties
33968	}
33969	if epa.Name != nil {
33970		objectMap["name"] = epa.Name
33971	}
33972	if epa.Description != nil {
33973		objectMap["description"] = epa.Description
33974	}
33975	if epa.DependsOn != nil {
33976		objectMap["dependsOn"] = epa.DependsOn
33977	}
33978	if epa.Type != "" {
33979		objectMap["type"] = epa.Type
33980	}
33981	for k, v := range epa.AdditionalProperties {
33982		objectMap[k] = v
33983	}
33984	return json.Marshal(objectMap)
33985}
33986
33987// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutePipelineActivity.
33988func (epa ExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
33989	return nil, false
33990}
33991
33992// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutePipelineActivity.
33993func (epa ExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
33994	return nil, false
33995}
33996
33997// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutePipelineActivity.
33998func (epa ExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
33999	return nil, false
34000}
34001
34002// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
34003func (epa ExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
34004	return nil, false
34005}
34006
34007// AsGetMetadataActivity is the BasicActivity implementation for ExecutePipelineActivity.
34008func (epa ExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
34009	return nil, false
34010}
34011
34012// AsWebActivity is the BasicActivity implementation for ExecutePipelineActivity.
34013func (epa ExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) {
34014	return nil, false
34015}
34016
34017// AsLookupActivity is the BasicActivity implementation for ExecutePipelineActivity.
34018func (epa ExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) {
34019	return nil, false
34020}
34021
34022// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutePipelineActivity.
34023func (epa ExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
34024	return nil, false
34025}
34026
34027// AsCustomActivity is the BasicActivity implementation for ExecutePipelineActivity.
34028func (epa ExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) {
34029	return nil, false
34030}
34031
34032// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutePipelineActivity.
34033func (epa ExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
34034	return nil, false
34035}
34036
34037// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutePipelineActivity.
34038func (epa ExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
34039	return nil, false
34040}
34041
34042// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutePipelineActivity.
34043func (epa ExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
34044	return nil, false
34045}
34046
34047// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutePipelineActivity.
34048func (epa ExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
34049	return nil, false
34050}
34051
34052// AsHDInsightPigActivity is the BasicActivity implementation for ExecutePipelineActivity.
34053func (epa ExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
34054	return nil, false
34055}
34056
34057// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutePipelineActivity.
34058func (epa ExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
34059	return nil, false
34060}
34061
34062// AsCopyActivity is the BasicActivity implementation for ExecutePipelineActivity.
34063func (epa ExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) {
34064	return nil, false
34065}
34066
34067// AsExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
34068func (epa ExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
34069	return nil, false
34070}
34071
34072// AsBasicExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
34073func (epa ExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
34074	return nil, false
34075}
34076
34077// AsFilterActivity is the BasicActivity implementation for ExecutePipelineActivity.
34078func (epa ExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) {
34079	return nil, false
34080}
34081
34082// AsUntilActivity is the BasicActivity implementation for ExecutePipelineActivity.
34083func (epa ExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) {
34084	return nil, false
34085}
34086
34087// AsWaitActivity is the BasicActivity implementation for ExecutePipelineActivity.
34088func (epa ExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) {
34089	return nil, false
34090}
34091
34092// AsForEachActivity is the BasicActivity implementation for ExecutePipelineActivity.
34093func (epa ExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) {
34094	return nil, false
34095}
34096
34097// AsIfConditionActivity is the BasicActivity implementation for ExecutePipelineActivity.
34098func (epa ExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
34099	return nil, false
34100}
34101
34102// AsExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity.
34103func (epa ExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
34104	return &epa, true
34105}
34106
34107// AsControlActivity is the BasicActivity implementation for ExecutePipelineActivity.
34108func (epa ExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) {
34109	return nil, false
34110}
34111
34112// AsBasicControlActivity is the BasicActivity implementation for ExecutePipelineActivity.
34113func (epa ExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
34114	return &epa, true
34115}
34116
34117// AsActivity is the BasicActivity implementation for ExecutePipelineActivity.
34118func (epa ExecutePipelineActivity) AsActivity() (*Activity, bool) {
34119	return nil, false
34120}
34121
34122// AsBasicActivity is the BasicActivity implementation for ExecutePipelineActivity.
34123func (epa ExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) {
34124	return &epa, true
34125}
34126
34127// UnmarshalJSON is the custom unmarshaler for ExecutePipelineActivity struct.
34128func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error {
34129	var m map[string]*json.RawMessage
34130	err := json.Unmarshal(body, &m)
34131	if err != nil {
34132		return err
34133	}
34134	for k, v := range m {
34135		switch k {
34136		case "typeProperties":
34137			if v != nil {
34138				var executePipelineActivityTypeProperties ExecutePipelineActivityTypeProperties
34139				err = json.Unmarshal(*v, &executePipelineActivityTypeProperties)
34140				if err != nil {
34141					return err
34142				}
34143				epa.ExecutePipelineActivityTypeProperties = &executePipelineActivityTypeProperties
34144			}
34145		default:
34146			if v != nil {
34147				var additionalProperties interface{}
34148				err = json.Unmarshal(*v, &additionalProperties)
34149				if err != nil {
34150					return err
34151				}
34152				if epa.AdditionalProperties == nil {
34153					epa.AdditionalProperties = make(map[string]interface{})
34154				}
34155				epa.AdditionalProperties[k] = additionalProperties
34156			}
34157		case "name":
34158			if v != nil {
34159				var name string
34160				err = json.Unmarshal(*v, &name)
34161				if err != nil {
34162					return err
34163				}
34164				epa.Name = &name
34165			}
34166		case "description":
34167			if v != nil {
34168				var description string
34169				err = json.Unmarshal(*v, &description)
34170				if err != nil {
34171					return err
34172				}
34173				epa.Description = &description
34174			}
34175		case "dependsOn":
34176			if v != nil {
34177				var dependsOn []ActivityDependency
34178				err = json.Unmarshal(*v, &dependsOn)
34179				if err != nil {
34180					return err
34181				}
34182				epa.DependsOn = &dependsOn
34183			}
34184		case "type":
34185			if v != nil {
34186				var typeVar TypeBasicActivity
34187				err = json.Unmarshal(*v, &typeVar)
34188				if err != nil {
34189					return err
34190				}
34191				epa.Type = typeVar
34192			}
34193		}
34194	}
34195
34196	return nil
34197}
34198
34199// ExecutePipelineActivityTypeProperties execute pipeline activity properties.
34200type ExecutePipelineActivityTypeProperties struct {
34201	// Pipeline - Pipeline reference.
34202	Pipeline *PipelineReference `json:"pipeline,omitempty"`
34203	// Parameters - Pipeline parameters.
34204	Parameters map[string]interface{} `json:"parameters"`
34205	// WaitOnCompletion - Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false.
34206	WaitOnCompletion *bool `json:"waitOnCompletion,omitempty"`
34207}
34208
34209// MarshalJSON is the custom marshaler for ExecutePipelineActivityTypeProperties.
34210func (epatp ExecutePipelineActivityTypeProperties) MarshalJSON() ([]byte, error) {
34211	objectMap := make(map[string]interface{})
34212	if epatp.Pipeline != nil {
34213		objectMap["pipeline"] = epatp.Pipeline
34214	}
34215	if epatp.Parameters != nil {
34216		objectMap["parameters"] = epatp.Parameters
34217	}
34218	if epatp.WaitOnCompletion != nil {
34219		objectMap["waitOnCompletion"] = epatp.WaitOnCompletion
34220	}
34221	return json.Marshal(objectMap)
34222}
34223
34224// ExecuteSSISPackageActivity execute SSIS package activity.
34225type ExecuteSSISPackageActivity struct {
34226	// ExecuteSSISPackageActivityTypeProperties - Execute SSIS package activity properties.
34227	*ExecuteSSISPackageActivityTypeProperties `json:"typeProperties,omitempty"`
34228	// LinkedServiceName - Linked service reference.
34229	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
34230	// Policy - Activity policy.
34231	Policy *ActivityPolicy `json:"policy,omitempty"`
34232	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
34233	AdditionalProperties map[string]interface{} `json:""`
34234	// Name - Activity name.
34235	Name *string `json:"name,omitempty"`
34236	// Description - Activity description.
34237	Description *string `json:"description,omitempty"`
34238	// DependsOn - Activity depends on condition.
34239	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
34240	// 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'
34241	Type TypeBasicActivity `json:"type,omitempty"`
34242}
34243
34244// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivity.
34245func (espa ExecuteSSISPackageActivity) MarshalJSON() ([]byte, error) {
34246	espa.Type = TypeExecuteSSISPackage
34247	objectMap := make(map[string]interface{})
34248	if espa.ExecuteSSISPackageActivityTypeProperties != nil {
34249		objectMap["typeProperties"] = espa.ExecuteSSISPackageActivityTypeProperties
34250	}
34251	if espa.LinkedServiceName != nil {
34252		objectMap["linkedServiceName"] = espa.LinkedServiceName
34253	}
34254	if espa.Policy != nil {
34255		objectMap["policy"] = espa.Policy
34256	}
34257	if espa.Name != nil {
34258		objectMap["name"] = espa.Name
34259	}
34260	if espa.Description != nil {
34261		objectMap["description"] = espa.Description
34262	}
34263	if espa.DependsOn != nil {
34264		objectMap["dependsOn"] = espa.DependsOn
34265	}
34266	if espa.Type != "" {
34267		objectMap["type"] = espa.Type
34268	}
34269	for k, v := range espa.AdditionalProperties {
34270		objectMap[k] = v
34271	}
34272	return json.Marshal(objectMap)
34273}
34274
34275// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34276func (espa ExecuteSSISPackageActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
34277	return nil, false
34278}
34279
34280// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34281func (espa ExecuteSSISPackageActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
34282	return nil, false
34283}
34284
34285// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34286func (espa ExecuteSSISPackageActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
34287	return nil, false
34288}
34289
34290// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34291func (espa ExecuteSSISPackageActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
34292	return nil, false
34293}
34294
34295// AsGetMetadataActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34296func (espa ExecuteSSISPackageActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
34297	return nil, false
34298}
34299
34300// AsWebActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34301func (espa ExecuteSSISPackageActivity) AsWebActivity() (*WebActivity, bool) {
34302	return nil, false
34303}
34304
34305// AsLookupActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34306func (espa ExecuteSSISPackageActivity) AsLookupActivity() (*LookupActivity, bool) {
34307	return nil, false
34308}
34309
34310// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34311func (espa ExecuteSSISPackageActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
34312	return nil, false
34313}
34314
34315// AsCustomActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34316func (espa ExecuteSSISPackageActivity) AsCustomActivity() (*CustomActivity, bool) {
34317	return nil, false
34318}
34319
34320// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34321func (espa ExecuteSSISPackageActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
34322	return &espa, true
34323}
34324
34325// AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34326func (espa ExecuteSSISPackageActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
34327	return nil, false
34328}
34329
34330// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34331func (espa ExecuteSSISPackageActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
34332	return nil, false
34333}
34334
34335// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34336func (espa ExecuteSSISPackageActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
34337	return nil, false
34338}
34339
34340// AsHDInsightPigActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34341func (espa ExecuteSSISPackageActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
34342	return nil, false
34343}
34344
34345// AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34346func (espa ExecuteSSISPackageActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
34347	return nil, false
34348}
34349
34350// AsCopyActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34351func (espa ExecuteSSISPackageActivity) AsCopyActivity() (*CopyActivity, bool) {
34352	return nil, false
34353}
34354
34355// AsExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34356func (espa ExecuteSSISPackageActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
34357	return nil, false
34358}
34359
34360// AsBasicExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34361func (espa ExecuteSSISPackageActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
34362	return &espa, true
34363}
34364
34365// AsFilterActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34366func (espa ExecuteSSISPackageActivity) AsFilterActivity() (*FilterActivity, bool) {
34367	return nil, false
34368}
34369
34370// AsUntilActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34371func (espa ExecuteSSISPackageActivity) AsUntilActivity() (*UntilActivity, bool) {
34372	return nil, false
34373}
34374
34375// AsWaitActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34376func (espa ExecuteSSISPackageActivity) AsWaitActivity() (*WaitActivity, bool) {
34377	return nil, false
34378}
34379
34380// AsForEachActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34381func (espa ExecuteSSISPackageActivity) AsForEachActivity() (*ForEachActivity, bool) {
34382	return nil, false
34383}
34384
34385// AsIfConditionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34386func (espa ExecuteSSISPackageActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
34387	return nil, false
34388}
34389
34390// AsExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34391func (espa ExecuteSSISPackageActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
34392	return nil, false
34393}
34394
34395// AsControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34396func (espa ExecuteSSISPackageActivity) AsControlActivity() (*ControlActivity, bool) {
34397	return nil, false
34398}
34399
34400// AsBasicControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34401func (espa ExecuteSSISPackageActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
34402	return nil, false
34403}
34404
34405// AsActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34406func (espa ExecuteSSISPackageActivity) AsActivity() (*Activity, bool) {
34407	return nil, false
34408}
34409
34410// AsBasicActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
34411func (espa ExecuteSSISPackageActivity) AsBasicActivity() (BasicActivity, bool) {
34412	return &espa, true
34413}
34414
34415// UnmarshalJSON is the custom unmarshaler for ExecuteSSISPackageActivity struct.
34416func (espa *ExecuteSSISPackageActivity) UnmarshalJSON(body []byte) error {
34417	var m map[string]*json.RawMessage
34418	err := json.Unmarshal(body, &m)
34419	if err != nil {
34420		return err
34421	}
34422	for k, v := range m {
34423		switch k {
34424		case "typeProperties":
34425			if v != nil {
34426				var executeSSISPackageActivityTypeProperties ExecuteSSISPackageActivityTypeProperties
34427				err = json.Unmarshal(*v, &executeSSISPackageActivityTypeProperties)
34428				if err != nil {
34429					return err
34430				}
34431				espa.ExecuteSSISPackageActivityTypeProperties = &executeSSISPackageActivityTypeProperties
34432			}
34433		case "linkedServiceName":
34434			if v != nil {
34435				var linkedServiceName LinkedServiceReference
34436				err = json.Unmarshal(*v, &linkedServiceName)
34437				if err != nil {
34438					return err
34439				}
34440				espa.LinkedServiceName = &linkedServiceName
34441			}
34442		case "policy":
34443			if v != nil {
34444				var policy ActivityPolicy
34445				err = json.Unmarshal(*v, &policy)
34446				if err != nil {
34447					return err
34448				}
34449				espa.Policy = &policy
34450			}
34451		default:
34452			if v != nil {
34453				var additionalProperties interface{}
34454				err = json.Unmarshal(*v, &additionalProperties)
34455				if err != nil {
34456					return err
34457				}
34458				if espa.AdditionalProperties == nil {
34459					espa.AdditionalProperties = make(map[string]interface{})
34460				}
34461				espa.AdditionalProperties[k] = additionalProperties
34462			}
34463		case "name":
34464			if v != nil {
34465				var name string
34466				err = json.Unmarshal(*v, &name)
34467				if err != nil {
34468					return err
34469				}
34470				espa.Name = &name
34471			}
34472		case "description":
34473			if v != nil {
34474				var description string
34475				err = json.Unmarshal(*v, &description)
34476				if err != nil {
34477					return err
34478				}
34479				espa.Description = &description
34480			}
34481		case "dependsOn":
34482			if v != nil {
34483				var dependsOn []ActivityDependency
34484				err = json.Unmarshal(*v, &dependsOn)
34485				if err != nil {
34486					return err
34487				}
34488				espa.DependsOn = &dependsOn
34489			}
34490		case "type":
34491			if v != nil {
34492				var typeVar TypeBasicActivity
34493				err = json.Unmarshal(*v, &typeVar)
34494				if err != nil {
34495					return err
34496				}
34497				espa.Type = typeVar
34498			}
34499		}
34500	}
34501
34502	return nil
34503}
34504
34505// ExecuteSSISPackageActivityTypeProperties execute SSIS package activity properties.
34506type ExecuteSSISPackageActivityTypeProperties struct {
34507	// PackageLocation - SSIS package location.
34508	PackageLocation *SSISPackageLocation `json:"packageLocation,omitempty"`
34509	// Runtime - Specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string).
34510	Runtime interface{} `json:"runtime,omitempty"`
34511	// LoggingLevel - The logging level of SSIS package execution. Type: string (or Expression with resultType string).
34512	LoggingLevel interface{} `json:"loggingLevel,omitempty"`
34513	// EnvironmentPath - The environment path to execute the SSIS package. Type: string (or Expression with resultType string).
34514	EnvironmentPath interface{} `json:"environmentPath,omitempty"`
34515	// ExecutionCredential - The package execution credential.
34516	ExecutionCredential *SSISExecutionCredential `json:"executionCredential,omitempty"`
34517	// ConnectVia - The integration runtime reference.
34518	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
34519	// ProjectParameters - The project level parameters to execute the SSIS package.
34520	ProjectParameters map[string]*SSISExecutionParameter `json:"projectParameters"`
34521	// PackageParameters - The package level parameters to execute the SSIS package.
34522	PackageParameters map[string]*SSISExecutionParameter `json:"packageParameters"`
34523	// ProjectConnectionManagers - The project level connection managers to execute the SSIS package.
34524	ProjectConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"projectConnectionManagers"`
34525	// PackageConnectionManagers - The package level connection managers to execute the SSIS package.
34526	PackageConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"packageConnectionManagers"`
34527	// PropertyOverrides - The property overrides to execute the SSIS package.
34528	PropertyOverrides map[string]*SSISPropertyOverride `json:"propertyOverrides"`
34529	// LogLocation - SSIS package execution log location.
34530	LogLocation *SSISLogLocation `json:"logLocation,omitempty"`
34531}
34532
34533// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivityTypeProperties.
34534func (espatp ExecuteSSISPackageActivityTypeProperties) MarshalJSON() ([]byte, error) {
34535	objectMap := make(map[string]interface{})
34536	if espatp.PackageLocation != nil {
34537		objectMap["packageLocation"] = espatp.PackageLocation
34538	}
34539	if espatp.Runtime != nil {
34540		objectMap["runtime"] = espatp.Runtime
34541	}
34542	if espatp.LoggingLevel != nil {
34543		objectMap["loggingLevel"] = espatp.LoggingLevel
34544	}
34545	if espatp.EnvironmentPath != nil {
34546		objectMap["environmentPath"] = espatp.EnvironmentPath
34547	}
34548	if espatp.ExecutionCredential != nil {
34549		objectMap["executionCredential"] = espatp.ExecutionCredential
34550	}
34551	if espatp.ConnectVia != nil {
34552		objectMap["connectVia"] = espatp.ConnectVia
34553	}
34554	if espatp.ProjectParameters != nil {
34555		objectMap["projectParameters"] = espatp.ProjectParameters
34556	}
34557	if espatp.PackageParameters != nil {
34558		objectMap["packageParameters"] = espatp.PackageParameters
34559	}
34560	if espatp.ProjectConnectionManagers != nil {
34561		objectMap["projectConnectionManagers"] = espatp.ProjectConnectionManagers
34562	}
34563	if espatp.PackageConnectionManagers != nil {
34564		objectMap["packageConnectionManagers"] = espatp.PackageConnectionManagers
34565	}
34566	if espatp.PropertyOverrides != nil {
34567		objectMap["propertyOverrides"] = espatp.PropertyOverrides
34568	}
34569	if espatp.LogLocation != nil {
34570		objectMap["logLocation"] = espatp.LogLocation
34571	}
34572	return json.Marshal(objectMap)
34573}
34574
34575// BasicExecutionActivity base class for all execution activities.
34576type BasicExecutionActivity interface {
34577	AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool)
34578	AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool)
34579	AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool)
34580	AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool)
34581	AsGetMetadataActivity() (*GetMetadataActivity, bool)
34582	AsWebActivity() (*WebActivity, bool)
34583	AsLookupActivity() (*LookupActivity, bool)
34584	AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool)
34585	AsCustomActivity() (*CustomActivity, bool)
34586	AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool)
34587	AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool)
34588	AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool)
34589	AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool)
34590	AsHDInsightPigActivity() (*HDInsightPigActivity, bool)
34591	AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool)
34592	AsCopyActivity() (*CopyActivity, bool)
34593	AsExecutionActivity() (*ExecutionActivity, bool)
34594}
34595
34596// ExecutionActivity base class for all execution activities.
34597type ExecutionActivity struct {
34598	// LinkedServiceName - Linked service reference.
34599	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
34600	// Policy - Activity policy.
34601	Policy *ActivityPolicy `json:"policy,omitempty"`
34602	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
34603	AdditionalProperties map[string]interface{} `json:""`
34604	// Name - Activity name.
34605	Name *string `json:"name,omitempty"`
34606	// Description - Activity description.
34607	Description *string `json:"description,omitempty"`
34608	// DependsOn - Activity depends on condition.
34609	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
34610	// 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'
34611	Type TypeBasicActivity `json:"type,omitempty"`
34612}
34613
34614func unmarshalBasicExecutionActivity(body []byte) (BasicExecutionActivity, error) {
34615	var m map[string]interface{}
34616	err := json.Unmarshal(body, &m)
34617	if err != nil {
34618		return nil, err
34619	}
34620
34621	switch m["type"] {
34622	case string(TypeDatabricksNotebook):
34623		var dna DatabricksNotebookActivity
34624		err := json.Unmarshal(body, &dna)
34625		return dna, err
34626	case string(TypeDataLakeAnalyticsUSQL):
34627		var dlaua DataLakeAnalyticsUSQLActivity
34628		err := json.Unmarshal(body, &dlaua)
34629		return dlaua, err
34630	case string(TypeAzureMLUpdateResource):
34631		var amura AzureMLUpdateResourceActivity
34632		err := json.Unmarshal(body, &amura)
34633		return amura, err
34634	case string(TypeAzureMLBatchExecution):
34635		var ambea AzureMLBatchExecutionActivity
34636		err := json.Unmarshal(body, &ambea)
34637		return ambea, err
34638	case string(TypeGetMetadata):
34639		var gma GetMetadataActivity
34640		err := json.Unmarshal(body, &gma)
34641		return gma, err
34642	case string(TypeWebActivity):
34643		var wa WebActivity
34644		err := json.Unmarshal(body, &wa)
34645		return wa, err
34646	case string(TypeLookup):
34647		var la LookupActivity
34648		err := json.Unmarshal(body, &la)
34649		return la, err
34650	case string(TypeSQLServerStoredProcedure):
34651		var ssspa SQLServerStoredProcedureActivity
34652		err := json.Unmarshal(body, &ssspa)
34653		return ssspa, err
34654	case string(TypeCustom):
34655		var ca CustomActivity
34656		err := json.Unmarshal(body, &ca)
34657		return ca, err
34658	case string(TypeExecuteSSISPackage):
34659		var espa ExecuteSSISPackageActivity
34660		err := json.Unmarshal(body, &espa)
34661		return espa, err
34662	case string(TypeHDInsightSpark):
34663		var hisa HDInsightSparkActivity
34664		err := json.Unmarshal(body, &hisa)
34665		return hisa, err
34666	case string(TypeHDInsightStreaming):
34667		var hisa HDInsightStreamingActivity
34668		err := json.Unmarshal(body, &hisa)
34669		return hisa, err
34670	case string(TypeHDInsightMapReduce):
34671		var himra HDInsightMapReduceActivity
34672		err := json.Unmarshal(body, &himra)
34673		return himra, err
34674	case string(TypeHDInsightPig):
34675		var hipa HDInsightPigActivity
34676		err := json.Unmarshal(body, &hipa)
34677		return hipa, err
34678	case string(TypeHDInsightHive):
34679		var hiha HDInsightHiveActivity
34680		err := json.Unmarshal(body, &hiha)
34681		return hiha, err
34682	case string(TypeCopy):
34683		var ca CopyActivity
34684		err := json.Unmarshal(body, &ca)
34685		return ca, err
34686	default:
34687		var ea ExecutionActivity
34688		err := json.Unmarshal(body, &ea)
34689		return ea, err
34690	}
34691}
34692func unmarshalBasicExecutionActivityArray(body []byte) ([]BasicExecutionActivity, error) {
34693	var rawMessages []*json.RawMessage
34694	err := json.Unmarshal(body, &rawMessages)
34695	if err != nil {
34696		return nil, err
34697	}
34698
34699	eaArray := make([]BasicExecutionActivity, len(rawMessages))
34700
34701	for index, rawMessage := range rawMessages {
34702		ea, err := unmarshalBasicExecutionActivity(*rawMessage)
34703		if err != nil {
34704			return nil, err
34705		}
34706		eaArray[index] = ea
34707	}
34708	return eaArray, nil
34709}
34710
34711// MarshalJSON is the custom marshaler for ExecutionActivity.
34712func (ea ExecutionActivity) MarshalJSON() ([]byte, error) {
34713	ea.Type = TypeExecution
34714	objectMap := make(map[string]interface{})
34715	if ea.LinkedServiceName != nil {
34716		objectMap["linkedServiceName"] = ea.LinkedServiceName
34717	}
34718	if ea.Policy != nil {
34719		objectMap["policy"] = ea.Policy
34720	}
34721	if ea.Name != nil {
34722		objectMap["name"] = ea.Name
34723	}
34724	if ea.Description != nil {
34725		objectMap["description"] = ea.Description
34726	}
34727	if ea.DependsOn != nil {
34728		objectMap["dependsOn"] = ea.DependsOn
34729	}
34730	if ea.Type != "" {
34731		objectMap["type"] = ea.Type
34732	}
34733	for k, v := range ea.AdditionalProperties {
34734		objectMap[k] = v
34735	}
34736	return json.Marshal(objectMap)
34737}
34738
34739// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutionActivity.
34740func (ea ExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
34741	return nil, false
34742}
34743
34744// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutionActivity.
34745func (ea ExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
34746	return nil, false
34747}
34748
34749// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutionActivity.
34750func (ea ExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
34751	return nil, false
34752}
34753
34754// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutionActivity.
34755func (ea ExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
34756	return nil, false
34757}
34758
34759// AsGetMetadataActivity is the BasicActivity implementation for ExecutionActivity.
34760func (ea ExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
34761	return nil, false
34762}
34763
34764// AsWebActivity is the BasicActivity implementation for ExecutionActivity.
34765func (ea ExecutionActivity) AsWebActivity() (*WebActivity, bool) {
34766	return nil, false
34767}
34768
34769// AsLookupActivity is the BasicActivity implementation for ExecutionActivity.
34770func (ea ExecutionActivity) AsLookupActivity() (*LookupActivity, bool) {
34771	return nil, false
34772}
34773
34774// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutionActivity.
34775func (ea ExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
34776	return nil, false
34777}
34778
34779// AsCustomActivity is the BasicActivity implementation for ExecutionActivity.
34780func (ea ExecutionActivity) AsCustomActivity() (*CustomActivity, bool) {
34781	return nil, false
34782}
34783
34784// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutionActivity.
34785func (ea ExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
34786	return nil, false
34787}
34788
34789// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutionActivity.
34790func (ea ExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
34791	return nil, false
34792}
34793
34794// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutionActivity.
34795func (ea ExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
34796	return nil, false
34797}
34798
34799// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutionActivity.
34800func (ea ExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
34801	return nil, false
34802}
34803
34804// AsHDInsightPigActivity is the BasicActivity implementation for ExecutionActivity.
34805func (ea ExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
34806	return nil, false
34807}
34808
34809// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutionActivity.
34810func (ea ExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
34811	return nil, false
34812}
34813
34814// AsCopyActivity is the BasicActivity implementation for ExecutionActivity.
34815func (ea ExecutionActivity) AsCopyActivity() (*CopyActivity, bool) {
34816	return nil, false
34817}
34818
34819// AsExecutionActivity is the BasicActivity implementation for ExecutionActivity.
34820func (ea ExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
34821	return &ea, true
34822}
34823
34824// AsBasicExecutionActivity is the BasicActivity implementation for ExecutionActivity.
34825func (ea ExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
34826	return &ea, true
34827}
34828
34829// AsFilterActivity is the BasicActivity implementation for ExecutionActivity.
34830func (ea ExecutionActivity) AsFilterActivity() (*FilterActivity, bool) {
34831	return nil, false
34832}
34833
34834// AsUntilActivity is the BasicActivity implementation for ExecutionActivity.
34835func (ea ExecutionActivity) AsUntilActivity() (*UntilActivity, bool) {
34836	return nil, false
34837}
34838
34839// AsWaitActivity is the BasicActivity implementation for ExecutionActivity.
34840func (ea ExecutionActivity) AsWaitActivity() (*WaitActivity, bool) {
34841	return nil, false
34842}
34843
34844// AsForEachActivity is the BasicActivity implementation for ExecutionActivity.
34845func (ea ExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) {
34846	return nil, false
34847}
34848
34849// AsIfConditionActivity is the BasicActivity implementation for ExecutionActivity.
34850func (ea ExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
34851	return nil, false
34852}
34853
34854// AsExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity.
34855func (ea ExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
34856	return nil, false
34857}
34858
34859// AsControlActivity is the BasicActivity implementation for ExecutionActivity.
34860func (ea ExecutionActivity) AsControlActivity() (*ControlActivity, bool) {
34861	return nil, false
34862}
34863
34864// AsBasicControlActivity is the BasicActivity implementation for ExecutionActivity.
34865func (ea ExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
34866	return nil, false
34867}
34868
34869// AsActivity is the BasicActivity implementation for ExecutionActivity.
34870func (ea ExecutionActivity) AsActivity() (*Activity, bool) {
34871	return nil, false
34872}
34873
34874// AsBasicActivity is the BasicActivity implementation for ExecutionActivity.
34875func (ea ExecutionActivity) AsBasicActivity() (BasicActivity, bool) {
34876	return &ea, true
34877}
34878
34879// UnmarshalJSON is the custom unmarshaler for ExecutionActivity struct.
34880func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error {
34881	var m map[string]*json.RawMessage
34882	err := json.Unmarshal(body, &m)
34883	if err != nil {
34884		return err
34885	}
34886	for k, v := range m {
34887		switch k {
34888		case "linkedServiceName":
34889			if v != nil {
34890				var linkedServiceName LinkedServiceReference
34891				err = json.Unmarshal(*v, &linkedServiceName)
34892				if err != nil {
34893					return err
34894				}
34895				ea.LinkedServiceName = &linkedServiceName
34896			}
34897		case "policy":
34898			if v != nil {
34899				var policy ActivityPolicy
34900				err = json.Unmarshal(*v, &policy)
34901				if err != nil {
34902					return err
34903				}
34904				ea.Policy = &policy
34905			}
34906		default:
34907			if v != nil {
34908				var additionalProperties interface{}
34909				err = json.Unmarshal(*v, &additionalProperties)
34910				if err != nil {
34911					return err
34912				}
34913				if ea.AdditionalProperties == nil {
34914					ea.AdditionalProperties = make(map[string]interface{})
34915				}
34916				ea.AdditionalProperties[k] = additionalProperties
34917			}
34918		case "name":
34919			if v != nil {
34920				var name string
34921				err = json.Unmarshal(*v, &name)
34922				if err != nil {
34923					return err
34924				}
34925				ea.Name = &name
34926			}
34927		case "description":
34928			if v != nil {
34929				var description string
34930				err = json.Unmarshal(*v, &description)
34931				if err != nil {
34932					return err
34933				}
34934				ea.Description = &description
34935			}
34936		case "dependsOn":
34937			if v != nil {
34938				var dependsOn []ActivityDependency
34939				err = json.Unmarshal(*v, &dependsOn)
34940				if err != nil {
34941					return err
34942				}
34943				ea.DependsOn = &dependsOn
34944			}
34945		case "type":
34946			if v != nil {
34947				var typeVar TypeBasicActivity
34948				err = json.Unmarshal(*v, &typeVar)
34949				if err != nil {
34950					return err
34951				}
34952				ea.Type = typeVar
34953			}
34954		}
34955	}
34956
34957	return nil
34958}
34959
34960// Expression azure Data Factory expression definition.
34961type Expression struct {
34962	// Type - Expression type.
34963	Type *string `json:"type,omitempty"`
34964	// Value - Expression value.
34965	Value *string `json:"value,omitempty"`
34966}
34967
34968// Factory factory resource type.
34969type Factory struct {
34970	autorest.Response `json:"-"`
34971	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
34972	AdditionalProperties map[string]interface{} `json:""`
34973	// Identity - Managed service identity of the factory.
34974	Identity *FactoryIdentity `json:"identity,omitempty"`
34975	// FactoryProperties - Properties of the factory.
34976	*FactoryProperties `json:"properties,omitempty"`
34977	// ID - READ-ONLY; The resource identifier.
34978	ID *string `json:"id,omitempty"`
34979	// Name - READ-ONLY; The resource name.
34980	Name *string `json:"name,omitempty"`
34981	// Type - READ-ONLY; The resource type.
34982	Type *string `json:"type,omitempty"`
34983	// Location - The resource location.
34984	Location *string `json:"location,omitempty"`
34985	// Tags - The resource tags.
34986	Tags map[string]*string `json:"tags"`
34987}
34988
34989// MarshalJSON is the custom marshaler for Factory.
34990func (f Factory) MarshalJSON() ([]byte, error) {
34991	objectMap := make(map[string]interface{})
34992	if f.Identity != nil {
34993		objectMap["identity"] = f.Identity
34994	}
34995	if f.FactoryProperties != nil {
34996		objectMap["properties"] = f.FactoryProperties
34997	}
34998	if f.Location != nil {
34999		objectMap["location"] = f.Location
35000	}
35001	if f.Tags != nil {
35002		objectMap["tags"] = f.Tags
35003	}
35004	for k, v := range f.AdditionalProperties {
35005		objectMap[k] = v
35006	}
35007	return json.Marshal(objectMap)
35008}
35009
35010// UnmarshalJSON is the custom unmarshaler for Factory struct.
35011func (f *Factory) UnmarshalJSON(body []byte) error {
35012	var m map[string]*json.RawMessage
35013	err := json.Unmarshal(body, &m)
35014	if err != nil {
35015		return err
35016	}
35017	for k, v := range m {
35018		switch k {
35019		default:
35020			if v != nil {
35021				var additionalProperties interface{}
35022				err = json.Unmarshal(*v, &additionalProperties)
35023				if err != nil {
35024					return err
35025				}
35026				if f.AdditionalProperties == nil {
35027					f.AdditionalProperties = make(map[string]interface{})
35028				}
35029				f.AdditionalProperties[k] = additionalProperties
35030			}
35031		case "identity":
35032			if v != nil {
35033				var identity FactoryIdentity
35034				err = json.Unmarshal(*v, &identity)
35035				if err != nil {
35036					return err
35037				}
35038				f.Identity = &identity
35039			}
35040		case "properties":
35041			if v != nil {
35042				var factoryProperties FactoryProperties
35043				err = json.Unmarshal(*v, &factoryProperties)
35044				if err != nil {
35045					return err
35046				}
35047				f.FactoryProperties = &factoryProperties
35048			}
35049		case "id":
35050			if v != nil {
35051				var ID string
35052				err = json.Unmarshal(*v, &ID)
35053				if err != nil {
35054					return err
35055				}
35056				f.ID = &ID
35057			}
35058		case "name":
35059			if v != nil {
35060				var name string
35061				err = json.Unmarshal(*v, &name)
35062				if err != nil {
35063					return err
35064				}
35065				f.Name = &name
35066			}
35067		case "type":
35068			if v != nil {
35069				var typeVar string
35070				err = json.Unmarshal(*v, &typeVar)
35071				if err != nil {
35072					return err
35073				}
35074				f.Type = &typeVar
35075			}
35076		case "location":
35077			if v != nil {
35078				var location string
35079				err = json.Unmarshal(*v, &location)
35080				if err != nil {
35081					return err
35082				}
35083				f.Location = &location
35084			}
35085		case "tags":
35086			if v != nil {
35087				var tags map[string]*string
35088				err = json.Unmarshal(*v, &tags)
35089				if err != nil {
35090					return err
35091				}
35092				f.Tags = tags
35093			}
35094		}
35095	}
35096
35097	return nil
35098}
35099
35100// FactoryIdentity identity properties of the factory resource.
35101type FactoryIdentity struct {
35102	// Type - The identity type. Currently the only supported type is 'SystemAssigned'.
35103	Type *string `json:"type,omitempty"`
35104	// PrincipalID - READ-ONLY; The principal id of the identity.
35105	PrincipalID *uuid.UUID `json:"principalId,omitempty"`
35106	// TenantID - READ-ONLY; The client tenant id of the identity.
35107	TenantID *uuid.UUID `json:"tenantId,omitempty"`
35108}
35109
35110// MarshalJSON is the custom marshaler for FactoryIdentity.
35111func (fi FactoryIdentity) MarshalJSON() ([]byte, error) {
35112	objectMap := make(map[string]interface{})
35113	if fi.Type != nil {
35114		objectMap["type"] = fi.Type
35115	}
35116	return json.Marshal(objectMap)
35117}
35118
35119// FactoryListResponse a list of factory resources.
35120type FactoryListResponse struct {
35121	autorest.Response `json:"-"`
35122	// Value - List of factories.
35123	Value *[]Factory `json:"value,omitempty"`
35124	// NextLink - The link to the next page of results, if any remaining results exist.
35125	NextLink *string `json:"nextLink,omitempty"`
35126}
35127
35128// FactoryListResponseIterator provides access to a complete listing of Factory values.
35129type FactoryListResponseIterator struct {
35130	i    int
35131	page FactoryListResponsePage
35132}
35133
35134// NextWithContext advances to the next value.  If there was an error making
35135// the request the iterator does not advance and the error is returned.
35136func (iter *FactoryListResponseIterator) NextWithContext(ctx context.Context) (err error) {
35137	if tracing.IsEnabled() {
35138		ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponseIterator.NextWithContext")
35139		defer func() {
35140			sc := -1
35141			if iter.Response().Response.Response != nil {
35142				sc = iter.Response().Response.Response.StatusCode
35143			}
35144			tracing.EndSpan(ctx, sc, err)
35145		}()
35146	}
35147	iter.i++
35148	if iter.i < len(iter.page.Values()) {
35149		return nil
35150	}
35151	err = iter.page.NextWithContext(ctx)
35152	if err != nil {
35153		iter.i--
35154		return err
35155	}
35156	iter.i = 0
35157	return nil
35158}
35159
35160// Next advances to the next value.  If there was an error making
35161// the request the iterator does not advance and the error is returned.
35162// Deprecated: Use NextWithContext() instead.
35163func (iter *FactoryListResponseIterator) Next() error {
35164	return iter.NextWithContext(context.Background())
35165}
35166
35167// NotDone returns true if the enumeration should be started or is not yet complete.
35168func (iter FactoryListResponseIterator) NotDone() bool {
35169	return iter.page.NotDone() && iter.i < len(iter.page.Values())
35170}
35171
35172// Response returns the raw server response from the last page request.
35173func (iter FactoryListResponseIterator) Response() FactoryListResponse {
35174	return iter.page.Response()
35175}
35176
35177// Value returns the current value or a zero-initialized value if the
35178// iterator has advanced beyond the end of the collection.
35179func (iter FactoryListResponseIterator) Value() Factory {
35180	if !iter.page.NotDone() {
35181		return Factory{}
35182	}
35183	return iter.page.Values()[iter.i]
35184}
35185
35186// Creates a new instance of the FactoryListResponseIterator type.
35187func NewFactoryListResponseIterator(page FactoryListResponsePage) FactoryListResponseIterator {
35188	return FactoryListResponseIterator{page: page}
35189}
35190
35191// IsEmpty returns true if the ListResult contains no values.
35192func (flr FactoryListResponse) IsEmpty() bool {
35193	return flr.Value == nil || len(*flr.Value) == 0
35194}
35195
35196// hasNextLink returns true if the NextLink is not empty.
35197func (flr FactoryListResponse) hasNextLink() bool {
35198	return flr.NextLink != nil && len(*flr.NextLink) != 0
35199}
35200
35201// factoryListResponsePreparer prepares a request to retrieve the next set of results.
35202// It returns nil if no more results exist.
35203func (flr FactoryListResponse) factoryListResponsePreparer(ctx context.Context) (*http.Request, error) {
35204	if !flr.hasNextLink() {
35205		return nil, nil
35206	}
35207	return autorest.Prepare((&http.Request{}).WithContext(ctx),
35208		autorest.AsJSON(),
35209		autorest.AsGet(),
35210		autorest.WithBaseURL(to.String(flr.NextLink)))
35211}
35212
35213// FactoryListResponsePage contains a page of Factory values.
35214type FactoryListResponsePage struct {
35215	fn  func(context.Context, FactoryListResponse) (FactoryListResponse, error)
35216	flr FactoryListResponse
35217}
35218
35219// NextWithContext advances to the next page of values.  If there was an error making
35220// the request the page does not advance and the error is returned.
35221func (page *FactoryListResponsePage) NextWithContext(ctx context.Context) (err error) {
35222	if tracing.IsEnabled() {
35223		ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponsePage.NextWithContext")
35224		defer func() {
35225			sc := -1
35226			if page.Response().Response.Response != nil {
35227				sc = page.Response().Response.Response.StatusCode
35228			}
35229			tracing.EndSpan(ctx, sc, err)
35230		}()
35231	}
35232	for {
35233		next, err := page.fn(ctx, page.flr)
35234		if err != nil {
35235			return err
35236		}
35237		page.flr = next
35238		if !next.hasNextLink() || !next.IsEmpty() {
35239			break
35240		}
35241	}
35242	return nil
35243}
35244
35245// Next advances to the next page of values.  If there was an error making
35246// the request the page does not advance and the error is returned.
35247// Deprecated: Use NextWithContext() instead.
35248func (page *FactoryListResponsePage) Next() error {
35249	return page.NextWithContext(context.Background())
35250}
35251
35252// NotDone returns true if the page enumeration should be started or is not yet complete.
35253func (page FactoryListResponsePage) NotDone() bool {
35254	return !page.flr.IsEmpty()
35255}
35256
35257// Response returns the raw server response from the last page request.
35258func (page FactoryListResponsePage) Response() FactoryListResponse {
35259	return page.flr
35260}
35261
35262// Values returns the slice of values for the current page or nil if there are no values.
35263func (page FactoryListResponsePage) Values() []Factory {
35264	if page.flr.IsEmpty() {
35265		return nil
35266	}
35267	return *page.flr.Value
35268}
35269
35270// Creates a new instance of the FactoryListResponsePage type.
35271func NewFactoryListResponsePage(cur FactoryListResponse, getNextPage func(context.Context, FactoryListResponse) (FactoryListResponse, error)) FactoryListResponsePage {
35272	return FactoryListResponsePage{
35273		fn:  getNextPage,
35274		flr: cur,
35275	}
35276}
35277
35278// FactoryProperties factory resource properties.
35279type FactoryProperties struct {
35280	// ProvisioningState - READ-ONLY; Factory provisioning state, example Succeeded.
35281	ProvisioningState *string `json:"provisioningState,omitempty"`
35282	// CreateTime - READ-ONLY; Time the factory was created in ISO8601 format.
35283	CreateTime *date.Time `json:"createTime,omitempty"`
35284	// Version - READ-ONLY; Version of the factory.
35285	Version *string `json:"version,omitempty"`
35286	// VstsConfiguration - VSTS repo information of the factory.
35287	VstsConfiguration *FactoryVSTSConfiguration `json:"vstsConfiguration,omitempty"`
35288}
35289
35290// MarshalJSON is the custom marshaler for FactoryProperties.
35291func (fp FactoryProperties) MarshalJSON() ([]byte, error) {
35292	objectMap := make(map[string]interface{})
35293	if fp.VstsConfiguration != nil {
35294		objectMap["vstsConfiguration"] = fp.VstsConfiguration
35295	}
35296	return json.Marshal(objectMap)
35297}
35298
35299// FactoryRepoUpdate factory's VSTS repo information.
35300type FactoryRepoUpdate struct {
35301	// FactoryResourceID - The factory resource id.
35302	FactoryResourceID *string `json:"factoryResourceId,omitempty"`
35303	// ResourceGroupName - The resource group name.
35304	ResourceGroupName *string `json:"resourceGroupName,omitempty"`
35305	// VstsConfiguration - VSTS repo information of the factory.
35306	VstsConfiguration *FactoryVSTSConfiguration `json:"vstsConfiguration,omitempty"`
35307}
35308
35309// FactoryUpdateParameters parameters for updating a factory resource.
35310type FactoryUpdateParameters struct {
35311	// Tags - The resource tags.
35312	Tags map[string]*string `json:"tags"`
35313	// Identity - Managed service identity of the factory.
35314	Identity *FactoryIdentity `json:"identity,omitempty"`
35315}
35316
35317// MarshalJSON is the custom marshaler for FactoryUpdateParameters.
35318func (fup FactoryUpdateParameters) MarshalJSON() ([]byte, error) {
35319	objectMap := make(map[string]interface{})
35320	if fup.Tags != nil {
35321		objectMap["tags"] = fup.Tags
35322	}
35323	if fup.Identity != nil {
35324		objectMap["identity"] = fup.Identity
35325	}
35326	return json.Marshal(objectMap)
35327}
35328
35329// FactoryVSTSConfiguration factory's VSTS repo information.
35330type FactoryVSTSConfiguration struct {
35331	// AccountName - VSTS account name.
35332	AccountName *string `json:"accountName,omitempty"`
35333	// ProjectName - VSTS project name.
35334	ProjectName *string `json:"projectName,omitempty"`
35335	// RepositoryName - VSTS repository name.
35336	RepositoryName *string `json:"repositoryName,omitempty"`
35337	// CollaborationBranch - VSTS collaboration branch.
35338	CollaborationBranch *string `json:"collaborationBranch,omitempty"`
35339	// RootFolder - VSTS root folder.
35340	RootFolder *string `json:"rootFolder,omitempty"`
35341	// LastCommitID - VSTS last commit id.
35342	LastCommitID *string `json:"lastCommitId,omitempty"`
35343	// TenantID - VSTS tenant id.
35344	TenantID *string `json:"tenantId,omitempty"`
35345}
35346
35347// FileServerLinkedService file system linked service.
35348type FileServerLinkedService struct {
35349	// FileServerLinkedServiceTypeProperties - File system linked service properties.
35350	*FileServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
35351	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
35352	AdditionalProperties map[string]interface{} `json:""`
35353	// ConnectVia - The integration runtime reference.
35354	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
35355	// Description - Linked service description.
35356	Description *string `json:"description,omitempty"`
35357	// Parameters - Parameters for linked service.
35358	Parameters map[string]*ParameterSpecification `json:"parameters"`
35359	// Annotations - List of tags that can be used for describing the Dataset.
35360	Annotations *[]interface{} `json:"annotations,omitempty"`
35361	// 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'
35362	Type TypeBasicLinkedService `json:"type,omitempty"`
35363}
35364
35365// MarshalJSON is the custom marshaler for FileServerLinkedService.
35366func (fsls FileServerLinkedService) MarshalJSON() ([]byte, error) {
35367	fsls.Type = TypeFileServer
35368	objectMap := make(map[string]interface{})
35369	if fsls.FileServerLinkedServiceTypeProperties != nil {
35370		objectMap["typeProperties"] = fsls.FileServerLinkedServiceTypeProperties
35371	}
35372	if fsls.ConnectVia != nil {
35373		objectMap["connectVia"] = fsls.ConnectVia
35374	}
35375	if fsls.Description != nil {
35376		objectMap["description"] = fsls.Description
35377	}
35378	if fsls.Parameters != nil {
35379		objectMap["parameters"] = fsls.Parameters
35380	}
35381	if fsls.Annotations != nil {
35382		objectMap["annotations"] = fsls.Annotations
35383	}
35384	if fsls.Type != "" {
35385		objectMap["type"] = fsls.Type
35386	}
35387	for k, v := range fsls.AdditionalProperties {
35388		objectMap[k] = v
35389	}
35390	return json.Marshal(objectMap)
35391}
35392
35393// AsResponsysLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35394func (fsls FileServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
35395	return nil, false
35396}
35397
35398// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35399func (fsls FileServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
35400	return nil, false
35401}
35402
35403// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35404func (fsls FileServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
35405	return nil, false
35406}
35407
35408// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35409func (fsls FileServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
35410	return nil, false
35411}
35412
35413// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35414func (fsls FileServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
35415	return nil, false
35416}
35417
35418// AsNetezzaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35419func (fsls FileServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
35420	return nil, false
35421}
35422
35423// AsVerticaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35424func (fsls FileServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
35425	return nil, false
35426}
35427
35428// AsZohoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35429func (fsls FileServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
35430	return nil, false
35431}
35432
35433// AsXeroLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35434func (fsls FileServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
35435	return nil, false
35436}
35437
35438// AsSquareLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35439func (fsls FileServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
35440	return nil, false
35441}
35442
35443// AsSparkLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35444func (fsls FileServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
35445	return nil, false
35446}
35447
35448// AsShopifyLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35449func (fsls FileServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
35450	return nil, false
35451}
35452
35453// AsServiceNowLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35454func (fsls FileServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
35455	return nil, false
35456}
35457
35458// AsQuickBooksLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35459func (fsls FileServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
35460	return nil, false
35461}
35462
35463// AsPrestoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35464func (fsls FileServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
35465	return nil, false
35466}
35467
35468// AsPhoenixLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35469func (fsls FileServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
35470	return nil, false
35471}
35472
35473// AsPaypalLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35474func (fsls FileServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
35475	return nil, false
35476}
35477
35478// AsMarketoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35479func (fsls FileServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
35480	return nil, false
35481}
35482
35483// AsMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35484func (fsls FileServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
35485	return nil, false
35486}
35487
35488// AsMagentoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35489func (fsls FileServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
35490	return nil, false
35491}
35492
35493// AsJiraLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35494func (fsls FileServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
35495	return nil, false
35496}
35497
35498// AsImpalaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35499func (fsls FileServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
35500	return nil, false
35501}
35502
35503// AsHubspotLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35504func (fsls FileServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
35505	return nil, false
35506}
35507
35508// AsHiveLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35509func (fsls FileServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
35510	return nil, false
35511}
35512
35513// AsHBaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35514func (fsls FileServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
35515	return nil, false
35516}
35517
35518// AsGreenplumLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35519func (fsls FileServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
35520	return nil, false
35521}
35522
35523// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35524func (fsls FileServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
35525	return nil, false
35526}
35527
35528// AsEloquaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35529func (fsls FileServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
35530	return nil, false
35531}
35532
35533// AsDrillLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35534func (fsls FileServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
35535	return nil, false
35536}
35537
35538// AsCouchbaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35539func (fsls FileServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
35540	return nil, false
35541}
35542
35543// AsConcurLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35544func (fsls FileServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
35545	return nil, false
35546}
35547
35548// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35549func (fsls FileServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
35550	return nil, false
35551}
35552
35553// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35554func (fsls FileServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
35555	return nil, false
35556}
35557
35558// AsSapHanaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35559func (fsls FileServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
35560	return nil, false
35561}
35562
35563// AsSapBWLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35564func (fsls FileServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
35565	return nil, false
35566}
35567
35568// AsSftpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35569func (fsls FileServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
35570	return nil, false
35571}
35572
35573// AsFtpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35574func (fsls FileServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
35575	return nil, false
35576}
35577
35578// AsHTTPLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35579func (fsls FileServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
35580	return nil, false
35581}
35582
35583// AsAzureSearchLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35584func (fsls FileServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
35585	return nil, false
35586}
35587
35588// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35589func (fsls FileServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
35590	return nil, false
35591}
35592
35593// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35594func (fsls FileServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
35595	return nil, false
35596}
35597
35598// AsAmazonS3LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35599func (fsls FileServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
35600	return nil, false
35601}
35602
35603// AsSapEccLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35604func (fsls FileServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
35605	return nil, false
35606}
35607
35608// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35609func (fsls FileServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
35610	return nil, false
35611}
35612
35613// AsSalesforceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35614func (fsls FileServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
35615	return nil, false
35616}
35617
35618// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35619func (fsls FileServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
35620	return nil, false
35621}
35622
35623// AsMongoDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35624func (fsls FileServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
35625	return nil, false
35626}
35627
35628// AsCassandraLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35629func (fsls FileServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
35630	return nil, false
35631}
35632
35633// AsWebLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35634func (fsls FileServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
35635	return nil, false
35636}
35637
35638// AsODataLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35639func (fsls FileServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
35640	return nil, false
35641}
35642
35643// AsHdfsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35644func (fsls FileServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
35645	return nil, false
35646}
35647
35648// AsOdbcLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35649func (fsls FileServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
35650	return nil, false
35651}
35652
35653// AsAzureMLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35654func (fsls FileServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
35655	return nil, false
35656}
35657
35658// AsTeradataLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35659func (fsls FileServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
35660	return nil, false
35661}
35662
35663// AsDb2LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35664func (fsls FileServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
35665	return nil, false
35666}
35667
35668// AsSybaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35669func (fsls FileServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
35670	return nil, false
35671}
35672
35673// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35674func (fsls FileServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
35675	return nil, false
35676}
35677
35678// AsMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35679func (fsls FileServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
35680	return nil, false
35681}
35682
35683// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35684func (fsls FileServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
35685	return nil, false
35686}
35687
35688// AsOracleLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35689func (fsls FileServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
35690	return nil, false
35691}
35692
35693// AsFileServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35694func (fsls FileServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
35695	return &fsls, true
35696}
35697
35698// AsHDInsightLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35699func (fsls FileServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
35700	return nil, false
35701}
35702
35703// AsDynamicsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35704func (fsls FileServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
35705	return nil, false
35706}
35707
35708// AsCosmosDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35709func (fsls FileServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
35710	return nil, false
35711}
35712
35713// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35714func (fsls FileServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
35715	return nil, false
35716}
35717
35718// AsAzureBatchLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35719func (fsls FileServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
35720	return nil, false
35721}
35722
35723// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35724func (fsls FileServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
35725	return nil, false
35726}
35727
35728// AsSQLServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35729func (fsls FileServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
35730	return nil, false
35731}
35732
35733// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35734func (fsls FileServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
35735	return nil, false
35736}
35737
35738// AsAzureStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35739func (fsls FileServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
35740	return nil, false
35741}
35742
35743// AsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35744func (fsls FileServerLinkedService) AsLinkedService() (*LinkedService, bool) {
35745	return nil, false
35746}
35747
35748// AsBasicLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
35749func (fsls FileServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
35750	return &fsls, true
35751}
35752
35753// UnmarshalJSON is the custom unmarshaler for FileServerLinkedService struct.
35754func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error {
35755	var m map[string]*json.RawMessage
35756	err := json.Unmarshal(body, &m)
35757	if err != nil {
35758		return err
35759	}
35760	for k, v := range m {
35761		switch k {
35762		case "typeProperties":
35763			if v != nil {
35764				var fileServerLinkedServiceTypeProperties FileServerLinkedServiceTypeProperties
35765				err = json.Unmarshal(*v, &fileServerLinkedServiceTypeProperties)
35766				if err != nil {
35767					return err
35768				}
35769				fsls.FileServerLinkedServiceTypeProperties = &fileServerLinkedServiceTypeProperties
35770			}
35771		default:
35772			if v != nil {
35773				var additionalProperties interface{}
35774				err = json.Unmarshal(*v, &additionalProperties)
35775				if err != nil {
35776					return err
35777				}
35778				if fsls.AdditionalProperties == nil {
35779					fsls.AdditionalProperties = make(map[string]interface{})
35780				}
35781				fsls.AdditionalProperties[k] = additionalProperties
35782			}
35783		case "connectVia":
35784			if v != nil {
35785				var connectVia IntegrationRuntimeReference
35786				err = json.Unmarshal(*v, &connectVia)
35787				if err != nil {
35788					return err
35789				}
35790				fsls.ConnectVia = &connectVia
35791			}
35792		case "description":
35793			if v != nil {
35794				var description string
35795				err = json.Unmarshal(*v, &description)
35796				if err != nil {
35797					return err
35798				}
35799				fsls.Description = &description
35800			}
35801		case "parameters":
35802			if v != nil {
35803				var parameters map[string]*ParameterSpecification
35804				err = json.Unmarshal(*v, &parameters)
35805				if err != nil {
35806					return err
35807				}
35808				fsls.Parameters = parameters
35809			}
35810		case "annotations":
35811			if v != nil {
35812				var annotations []interface{}
35813				err = json.Unmarshal(*v, &annotations)
35814				if err != nil {
35815					return err
35816				}
35817				fsls.Annotations = &annotations
35818			}
35819		case "type":
35820			if v != nil {
35821				var typeVar TypeBasicLinkedService
35822				err = json.Unmarshal(*v, &typeVar)
35823				if err != nil {
35824					return err
35825				}
35826				fsls.Type = typeVar
35827			}
35828		}
35829	}
35830
35831	return nil
35832}
35833
35834// FileServerLinkedServiceTypeProperties file system linked service properties.
35835type FileServerLinkedServiceTypeProperties struct {
35836	// Host - Host name of the server. Type: string (or Expression with resultType string).
35837	Host interface{} `json:"host,omitempty"`
35838	// UserID - User ID to logon the server. Type: string (or Expression with resultType string).
35839	UserID interface{} `json:"userId,omitempty"`
35840	// Password - Password to logon the server.
35841	Password BasicSecretBase `json:"password,omitempty"`
35842	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
35843	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
35844}
35845
35846// UnmarshalJSON is the custom unmarshaler for FileServerLinkedServiceTypeProperties struct.
35847func (fslstp *FileServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
35848	var m map[string]*json.RawMessage
35849	err := json.Unmarshal(body, &m)
35850	if err != nil {
35851		return err
35852	}
35853	for k, v := range m {
35854		switch k {
35855		case "host":
35856			if v != nil {
35857				var host interface{}
35858				err = json.Unmarshal(*v, &host)
35859				if err != nil {
35860					return err
35861				}
35862				fslstp.Host = host
35863			}
35864		case "userId":
35865			if v != nil {
35866				var userID interface{}
35867				err = json.Unmarshal(*v, &userID)
35868				if err != nil {
35869					return err
35870				}
35871				fslstp.UserID = userID
35872			}
35873		case "password":
35874			if v != nil {
35875				password, err := unmarshalBasicSecretBase(*v)
35876				if err != nil {
35877					return err
35878				}
35879				fslstp.Password = password
35880			}
35881		case "encryptedCredential":
35882			if v != nil {
35883				var encryptedCredential interface{}
35884				err = json.Unmarshal(*v, &encryptedCredential)
35885				if err != nil {
35886					return err
35887				}
35888				fslstp.EncryptedCredential = encryptedCredential
35889			}
35890		}
35891	}
35892
35893	return nil
35894}
35895
35896// FileShareDataset an on-premises file system dataset.
35897type FileShareDataset struct {
35898	// FileShareDatasetTypeProperties - On-premises file system dataset properties.
35899	*FileShareDatasetTypeProperties `json:"typeProperties,omitempty"`
35900	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
35901	AdditionalProperties map[string]interface{} `json:""`
35902	// Description - Dataset description.
35903	Description *string `json:"description,omitempty"`
35904	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
35905	Structure interface{} `json:"structure,omitempty"`
35906	// LinkedServiceName - Linked service reference.
35907	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
35908	// Parameters - Parameters for dataset.
35909	Parameters map[string]*ParameterSpecification `json:"parameters"`
35910	// Annotations - List of tags that can be used for describing the Dataset.
35911	Annotations *[]interface{} `json:"annotations,omitempty"`
35912	// 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'
35913	Type TypeBasicDataset `json:"type,omitempty"`
35914}
35915
35916// MarshalJSON is the custom marshaler for FileShareDataset.
35917func (fsd FileShareDataset) MarshalJSON() ([]byte, error) {
35918	fsd.Type = TypeFileShare
35919	objectMap := make(map[string]interface{})
35920	if fsd.FileShareDatasetTypeProperties != nil {
35921		objectMap["typeProperties"] = fsd.FileShareDatasetTypeProperties
35922	}
35923	if fsd.Description != nil {
35924		objectMap["description"] = fsd.Description
35925	}
35926	if fsd.Structure != nil {
35927		objectMap["structure"] = fsd.Structure
35928	}
35929	if fsd.LinkedServiceName != nil {
35930		objectMap["linkedServiceName"] = fsd.LinkedServiceName
35931	}
35932	if fsd.Parameters != nil {
35933		objectMap["parameters"] = fsd.Parameters
35934	}
35935	if fsd.Annotations != nil {
35936		objectMap["annotations"] = fsd.Annotations
35937	}
35938	if fsd.Type != "" {
35939		objectMap["type"] = fsd.Type
35940	}
35941	for k, v := range fsd.AdditionalProperties {
35942		objectMap[k] = v
35943	}
35944	return json.Marshal(objectMap)
35945}
35946
35947// AsResponsysObjectDataset is the BasicDataset implementation for FileShareDataset.
35948func (fsd FileShareDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
35949	return nil, false
35950}
35951
35952// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for FileShareDataset.
35953func (fsd FileShareDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
35954	return nil, false
35955}
35956
35957// AsVerticaTableDataset is the BasicDataset implementation for FileShareDataset.
35958func (fsd FileShareDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
35959	return nil, false
35960}
35961
35962// AsNetezzaTableDataset is the BasicDataset implementation for FileShareDataset.
35963func (fsd FileShareDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
35964	return nil, false
35965}
35966
35967// AsZohoObjectDataset is the BasicDataset implementation for FileShareDataset.
35968func (fsd FileShareDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
35969	return nil, false
35970}
35971
35972// AsXeroObjectDataset is the BasicDataset implementation for FileShareDataset.
35973func (fsd FileShareDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
35974	return nil, false
35975}
35976
35977// AsSquareObjectDataset is the BasicDataset implementation for FileShareDataset.
35978func (fsd FileShareDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
35979	return nil, false
35980}
35981
35982// AsSparkObjectDataset is the BasicDataset implementation for FileShareDataset.
35983func (fsd FileShareDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
35984	return nil, false
35985}
35986
35987// AsShopifyObjectDataset is the BasicDataset implementation for FileShareDataset.
35988func (fsd FileShareDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
35989	return nil, false
35990}
35991
35992// AsServiceNowObjectDataset is the BasicDataset implementation for FileShareDataset.
35993func (fsd FileShareDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
35994	return nil, false
35995}
35996
35997// AsQuickBooksObjectDataset is the BasicDataset implementation for FileShareDataset.
35998func (fsd FileShareDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
35999	return nil, false
36000}
36001
36002// AsPrestoObjectDataset is the BasicDataset implementation for FileShareDataset.
36003func (fsd FileShareDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
36004	return nil, false
36005}
36006
36007// AsPhoenixObjectDataset is the BasicDataset implementation for FileShareDataset.
36008func (fsd FileShareDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
36009	return nil, false
36010}
36011
36012// AsPaypalObjectDataset is the BasicDataset implementation for FileShareDataset.
36013func (fsd FileShareDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
36014	return nil, false
36015}
36016
36017// AsMarketoObjectDataset is the BasicDataset implementation for FileShareDataset.
36018func (fsd FileShareDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
36019	return nil, false
36020}
36021
36022// AsMariaDBTableDataset is the BasicDataset implementation for FileShareDataset.
36023func (fsd FileShareDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
36024	return nil, false
36025}
36026
36027// AsMagentoObjectDataset is the BasicDataset implementation for FileShareDataset.
36028func (fsd FileShareDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
36029	return nil, false
36030}
36031
36032// AsJiraObjectDataset is the BasicDataset implementation for FileShareDataset.
36033func (fsd FileShareDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
36034	return nil, false
36035}
36036
36037// AsImpalaObjectDataset is the BasicDataset implementation for FileShareDataset.
36038func (fsd FileShareDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
36039	return nil, false
36040}
36041
36042// AsHubspotObjectDataset is the BasicDataset implementation for FileShareDataset.
36043func (fsd FileShareDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
36044	return nil, false
36045}
36046
36047// AsHiveObjectDataset is the BasicDataset implementation for FileShareDataset.
36048func (fsd FileShareDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
36049	return nil, false
36050}
36051
36052// AsHBaseObjectDataset is the BasicDataset implementation for FileShareDataset.
36053func (fsd FileShareDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
36054	return nil, false
36055}
36056
36057// AsGreenplumTableDataset is the BasicDataset implementation for FileShareDataset.
36058func (fsd FileShareDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
36059	return nil, false
36060}
36061
36062// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for FileShareDataset.
36063func (fsd FileShareDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
36064	return nil, false
36065}
36066
36067// AsEloquaObjectDataset is the BasicDataset implementation for FileShareDataset.
36068func (fsd FileShareDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
36069	return nil, false
36070}
36071
36072// AsDrillTableDataset is the BasicDataset implementation for FileShareDataset.
36073func (fsd FileShareDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
36074	return nil, false
36075}
36076
36077// AsCouchbaseTableDataset is the BasicDataset implementation for FileShareDataset.
36078func (fsd FileShareDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
36079	return nil, false
36080}
36081
36082// AsConcurObjectDataset is the BasicDataset implementation for FileShareDataset.
36083func (fsd FileShareDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
36084	return nil, false
36085}
36086
36087// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for FileShareDataset.
36088func (fsd FileShareDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
36089	return nil, false
36090}
36091
36092// AsAmazonMWSObjectDataset is the BasicDataset implementation for FileShareDataset.
36093func (fsd FileShareDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
36094	return nil, false
36095}
36096
36097// AsHTTPDataset is the BasicDataset implementation for FileShareDataset.
36098func (fsd FileShareDataset) AsHTTPDataset() (*HTTPDataset, bool) {
36099	return nil, false
36100}
36101
36102// AsAzureSearchIndexDataset is the BasicDataset implementation for FileShareDataset.
36103func (fsd FileShareDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
36104	return nil, false
36105}
36106
36107// AsWebTableDataset is the BasicDataset implementation for FileShareDataset.
36108func (fsd FileShareDataset) AsWebTableDataset() (*WebTableDataset, bool) {
36109	return nil, false
36110}
36111
36112// AsSQLServerTableDataset is the BasicDataset implementation for FileShareDataset.
36113func (fsd FileShareDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
36114	return nil, false
36115}
36116
36117// AsSapEccResourceDataset is the BasicDataset implementation for FileShareDataset.
36118func (fsd FileShareDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
36119	return nil, false
36120}
36121
36122// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for FileShareDataset.
36123func (fsd FileShareDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
36124	return nil, false
36125}
36126
36127// AsSalesforceObjectDataset is the BasicDataset implementation for FileShareDataset.
36128func (fsd FileShareDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
36129	return nil, false
36130}
36131
36132// AsRelationalTableDataset is the BasicDataset implementation for FileShareDataset.
36133func (fsd FileShareDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
36134	return nil, false
36135}
36136
36137// AsAzureMySQLTableDataset is the BasicDataset implementation for FileShareDataset.
36138func (fsd FileShareDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
36139	return nil, false
36140}
36141
36142// AsOracleTableDataset is the BasicDataset implementation for FileShareDataset.
36143func (fsd FileShareDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
36144	return nil, false
36145}
36146
36147// AsODataResourceDataset is the BasicDataset implementation for FileShareDataset.
36148func (fsd FileShareDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
36149	return nil, false
36150}
36151
36152// AsMongoDbCollectionDataset is the BasicDataset implementation for FileShareDataset.
36153func (fsd FileShareDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
36154	return nil, false
36155}
36156
36157// AsFileShareDataset is the BasicDataset implementation for FileShareDataset.
36158func (fsd FileShareDataset) AsFileShareDataset() (*FileShareDataset, bool) {
36159	return &fsd, true
36160}
36161
36162// AsAzureDataLakeStoreDataset is the BasicDataset implementation for FileShareDataset.
36163func (fsd FileShareDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
36164	return nil, false
36165}
36166
36167// AsDynamicsEntityDataset is the BasicDataset implementation for FileShareDataset.
36168func (fsd FileShareDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
36169	return nil, false
36170}
36171
36172// AsDocumentDbCollectionDataset is the BasicDataset implementation for FileShareDataset.
36173func (fsd FileShareDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
36174	return nil, false
36175}
36176
36177// AsCustomDataset is the BasicDataset implementation for FileShareDataset.
36178func (fsd FileShareDataset) AsCustomDataset() (*CustomDataset, bool) {
36179	return nil, false
36180}
36181
36182// AsCassandraTableDataset is the BasicDataset implementation for FileShareDataset.
36183func (fsd FileShareDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
36184	return nil, false
36185}
36186
36187// AsAzureSQLDWTableDataset is the BasicDataset implementation for FileShareDataset.
36188func (fsd FileShareDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
36189	return nil, false
36190}
36191
36192// AsAzureSQLTableDataset is the BasicDataset implementation for FileShareDataset.
36193func (fsd FileShareDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
36194	return nil, false
36195}
36196
36197// AsAzureTableDataset is the BasicDataset implementation for FileShareDataset.
36198func (fsd FileShareDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
36199	return nil, false
36200}
36201
36202// AsAzureBlobDataset is the BasicDataset implementation for FileShareDataset.
36203func (fsd FileShareDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
36204	return nil, false
36205}
36206
36207// AsAmazonS3Dataset is the BasicDataset implementation for FileShareDataset.
36208func (fsd FileShareDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
36209	return nil, false
36210}
36211
36212// AsDataset is the BasicDataset implementation for FileShareDataset.
36213func (fsd FileShareDataset) AsDataset() (*Dataset, bool) {
36214	return nil, false
36215}
36216
36217// AsBasicDataset is the BasicDataset implementation for FileShareDataset.
36218func (fsd FileShareDataset) AsBasicDataset() (BasicDataset, bool) {
36219	return &fsd, true
36220}
36221
36222// UnmarshalJSON is the custom unmarshaler for FileShareDataset struct.
36223func (fsd *FileShareDataset) UnmarshalJSON(body []byte) error {
36224	var m map[string]*json.RawMessage
36225	err := json.Unmarshal(body, &m)
36226	if err != nil {
36227		return err
36228	}
36229	for k, v := range m {
36230		switch k {
36231		case "typeProperties":
36232			if v != nil {
36233				var fileShareDatasetTypeProperties FileShareDatasetTypeProperties
36234				err = json.Unmarshal(*v, &fileShareDatasetTypeProperties)
36235				if err != nil {
36236					return err
36237				}
36238				fsd.FileShareDatasetTypeProperties = &fileShareDatasetTypeProperties
36239			}
36240		default:
36241			if v != nil {
36242				var additionalProperties interface{}
36243				err = json.Unmarshal(*v, &additionalProperties)
36244				if err != nil {
36245					return err
36246				}
36247				if fsd.AdditionalProperties == nil {
36248					fsd.AdditionalProperties = make(map[string]interface{})
36249				}
36250				fsd.AdditionalProperties[k] = additionalProperties
36251			}
36252		case "description":
36253			if v != nil {
36254				var description string
36255				err = json.Unmarshal(*v, &description)
36256				if err != nil {
36257					return err
36258				}
36259				fsd.Description = &description
36260			}
36261		case "structure":
36262			if v != nil {
36263				var structure interface{}
36264				err = json.Unmarshal(*v, &structure)
36265				if err != nil {
36266					return err
36267				}
36268				fsd.Structure = structure
36269			}
36270		case "linkedServiceName":
36271			if v != nil {
36272				var linkedServiceName LinkedServiceReference
36273				err = json.Unmarshal(*v, &linkedServiceName)
36274				if err != nil {
36275					return err
36276				}
36277				fsd.LinkedServiceName = &linkedServiceName
36278			}
36279		case "parameters":
36280			if v != nil {
36281				var parameters map[string]*ParameterSpecification
36282				err = json.Unmarshal(*v, &parameters)
36283				if err != nil {
36284					return err
36285				}
36286				fsd.Parameters = parameters
36287			}
36288		case "annotations":
36289			if v != nil {
36290				var annotations []interface{}
36291				err = json.Unmarshal(*v, &annotations)
36292				if err != nil {
36293					return err
36294				}
36295				fsd.Annotations = &annotations
36296			}
36297		case "type":
36298			if v != nil {
36299				var typeVar TypeBasicDataset
36300				err = json.Unmarshal(*v, &typeVar)
36301				if err != nil {
36302					return err
36303				}
36304				fsd.Type = typeVar
36305			}
36306		}
36307	}
36308
36309	return nil
36310}
36311
36312// FileShareDatasetTypeProperties on-premises file system dataset properties.
36313type FileShareDatasetTypeProperties struct {
36314	// FolderPath - The path of the on-premises file system. Type: string (or Expression with resultType string).
36315	FolderPath interface{} `json:"folderPath,omitempty"`
36316	// FileName - The name of the on-premises file system. Type: string (or Expression with resultType string).
36317	FileName interface{} `json:"fileName,omitempty"`
36318	// Format - The format of the files.
36319	Format BasicDatasetStorageFormat `json:"format,omitempty"`
36320	// 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).
36321	FileFilter interface{} `json:"fileFilter,omitempty"`
36322	// Compression - The data compression method used for the file system.
36323	Compression BasicDatasetCompression `json:"compression,omitempty"`
36324}
36325
36326// UnmarshalJSON is the custom unmarshaler for FileShareDatasetTypeProperties struct.
36327func (fsdtp *FileShareDatasetTypeProperties) UnmarshalJSON(body []byte) error {
36328	var m map[string]*json.RawMessage
36329	err := json.Unmarshal(body, &m)
36330	if err != nil {
36331		return err
36332	}
36333	for k, v := range m {
36334		switch k {
36335		case "folderPath":
36336			if v != nil {
36337				var folderPath interface{}
36338				err = json.Unmarshal(*v, &folderPath)
36339				if err != nil {
36340					return err
36341				}
36342				fsdtp.FolderPath = folderPath
36343			}
36344		case "fileName":
36345			if v != nil {
36346				var fileName interface{}
36347				err = json.Unmarshal(*v, &fileName)
36348				if err != nil {
36349					return err
36350				}
36351				fsdtp.FileName = fileName
36352			}
36353		case "format":
36354			if v != nil {
36355				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
36356				if err != nil {
36357					return err
36358				}
36359				fsdtp.Format = formatVar
36360			}
36361		case "fileFilter":
36362			if v != nil {
36363				var fileFilter interface{}
36364				err = json.Unmarshal(*v, &fileFilter)
36365				if err != nil {
36366					return err
36367				}
36368				fsdtp.FileFilter = fileFilter
36369			}
36370		case "compression":
36371			if v != nil {
36372				compression, err := unmarshalBasicDatasetCompression(*v)
36373				if err != nil {
36374					return err
36375				}
36376				fsdtp.Compression = compression
36377			}
36378		}
36379	}
36380
36381	return nil
36382}
36383
36384// FileSystemSink a copy activity file system sink.
36385type FileSystemSink struct {
36386	// CopyBehavior - The type of copy behavior for copy sink.
36387	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
36388	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36389	AdditionalProperties map[string]interface{} `json:""`
36390	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
36391	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
36392	// 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])).
36393	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
36394	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
36395	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
36396	// 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])).
36397	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
36398	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
36399	Type TypeBasicCopySink `json:"type,omitempty"`
36400}
36401
36402// MarshalJSON is the custom marshaler for FileSystemSink.
36403func (fss FileSystemSink) MarshalJSON() ([]byte, error) {
36404	fss.Type = TypeFileSystemSink
36405	objectMap := make(map[string]interface{})
36406	if fss.CopyBehavior != nil {
36407		objectMap["copyBehavior"] = fss.CopyBehavior
36408	}
36409	if fss.WriteBatchSize != nil {
36410		objectMap["writeBatchSize"] = fss.WriteBatchSize
36411	}
36412	if fss.WriteBatchTimeout != nil {
36413		objectMap["writeBatchTimeout"] = fss.WriteBatchTimeout
36414	}
36415	if fss.SinkRetryCount != nil {
36416		objectMap["sinkRetryCount"] = fss.SinkRetryCount
36417	}
36418	if fss.SinkRetryWait != nil {
36419		objectMap["sinkRetryWait"] = fss.SinkRetryWait
36420	}
36421	if fss.Type != "" {
36422		objectMap["type"] = fss.Type
36423	}
36424	for k, v := range fss.AdditionalProperties {
36425		objectMap[k] = v
36426	}
36427	return json.Marshal(objectMap)
36428}
36429
36430// AsSalesforceSink is the BasicCopySink implementation for FileSystemSink.
36431func (fss FileSystemSink) AsSalesforceSink() (*SalesforceSink, bool) {
36432	return nil, false
36433}
36434
36435// AsDynamicsSink is the BasicCopySink implementation for FileSystemSink.
36436func (fss FileSystemSink) AsDynamicsSink() (*DynamicsSink, bool) {
36437	return nil, false
36438}
36439
36440// AsOdbcSink is the BasicCopySink implementation for FileSystemSink.
36441func (fss FileSystemSink) AsOdbcSink() (*OdbcSink, bool) {
36442	return nil, false
36443}
36444
36445// AsAzureSearchIndexSink is the BasicCopySink implementation for FileSystemSink.
36446func (fss FileSystemSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
36447	return nil, false
36448}
36449
36450// AsAzureDataLakeStoreSink is the BasicCopySink implementation for FileSystemSink.
36451func (fss FileSystemSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
36452	return nil, false
36453}
36454
36455// AsOracleSink is the BasicCopySink implementation for FileSystemSink.
36456func (fss FileSystemSink) AsOracleSink() (*OracleSink, bool) {
36457	return nil, false
36458}
36459
36460// AsSQLDWSink is the BasicCopySink implementation for FileSystemSink.
36461func (fss FileSystemSink) AsSQLDWSink() (*SQLDWSink, bool) {
36462	return nil, false
36463}
36464
36465// AsSQLSink is the BasicCopySink implementation for FileSystemSink.
36466func (fss FileSystemSink) AsSQLSink() (*SQLSink, bool) {
36467	return nil, false
36468}
36469
36470// AsDocumentDbCollectionSink is the BasicCopySink implementation for FileSystemSink.
36471func (fss FileSystemSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
36472	return nil, false
36473}
36474
36475// AsFileSystemSink is the BasicCopySink implementation for FileSystemSink.
36476func (fss FileSystemSink) AsFileSystemSink() (*FileSystemSink, bool) {
36477	return &fss, true
36478}
36479
36480// AsBlobSink is the BasicCopySink implementation for FileSystemSink.
36481func (fss FileSystemSink) AsBlobSink() (*BlobSink, bool) {
36482	return nil, false
36483}
36484
36485// AsAzureTableSink is the BasicCopySink implementation for FileSystemSink.
36486func (fss FileSystemSink) AsAzureTableSink() (*AzureTableSink, bool) {
36487	return nil, false
36488}
36489
36490// AsAzureQueueSink is the BasicCopySink implementation for FileSystemSink.
36491func (fss FileSystemSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
36492	return nil, false
36493}
36494
36495// AsSapCloudForCustomerSink is the BasicCopySink implementation for FileSystemSink.
36496func (fss FileSystemSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
36497	return nil, false
36498}
36499
36500// AsCopySink is the BasicCopySink implementation for FileSystemSink.
36501func (fss FileSystemSink) AsCopySink() (*CopySink, bool) {
36502	return nil, false
36503}
36504
36505// AsBasicCopySink is the BasicCopySink implementation for FileSystemSink.
36506func (fss FileSystemSink) AsBasicCopySink() (BasicCopySink, bool) {
36507	return &fss, true
36508}
36509
36510// UnmarshalJSON is the custom unmarshaler for FileSystemSink struct.
36511func (fss *FileSystemSink) UnmarshalJSON(body []byte) error {
36512	var m map[string]*json.RawMessage
36513	err := json.Unmarshal(body, &m)
36514	if err != nil {
36515		return err
36516	}
36517	for k, v := range m {
36518		switch k {
36519		case "copyBehavior":
36520			if v != nil {
36521				var copyBehavior interface{}
36522				err = json.Unmarshal(*v, &copyBehavior)
36523				if err != nil {
36524					return err
36525				}
36526				fss.CopyBehavior = copyBehavior
36527			}
36528		default:
36529			if v != nil {
36530				var additionalProperties interface{}
36531				err = json.Unmarshal(*v, &additionalProperties)
36532				if err != nil {
36533					return err
36534				}
36535				if fss.AdditionalProperties == nil {
36536					fss.AdditionalProperties = make(map[string]interface{})
36537				}
36538				fss.AdditionalProperties[k] = additionalProperties
36539			}
36540		case "writeBatchSize":
36541			if v != nil {
36542				var writeBatchSize interface{}
36543				err = json.Unmarshal(*v, &writeBatchSize)
36544				if err != nil {
36545					return err
36546				}
36547				fss.WriteBatchSize = writeBatchSize
36548			}
36549		case "writeBatchTimeout":
36550			if v != nil {
36551				var writeBatchTimeout interface{}
36552				err = json.Unmarshal(*v, &writeBatchTimeout)
36553				if err != nil {
36554					return err
36555				}
36556				fss.WriteBatchTimeout = writeBatchTimeout
36557			}
36558		case "sinkRetryCount":
36559			if v != nil {
36560				var sinkRetryCount interface{}
36561				err = json.Unmarshal(*v, &sinkRetryCount)
36562				if err != nil {
36563					return err
36564				}
36565				fss.SinkRetryCount = sinkRetryCount
36566			}
36567		case "sinkRetryWait":
36568			if v != nil {
36569				var sinkRetryWait interface{}
36570				err = json.Unmarshal(*v, &sinkRetryWait)
36571				if err != nil {
36572					return err
36573				}
36574				fss.SinkRetryWait = sinkRetryWait
36575			}
36576		case "type":
36577			if v != nil {
36578				var typeVar TypeBasicCopySink
36579				err = json.Unmarshal(*v, &typeVar)
36580				if err != nil {
36581					return err
36582				}
36583				fss.Type = typeVar
36584			}
36585		}
36586	}
36587
36588	return nil
36589}
36590
36591// FileSystemSource a copy activity file system source.
36592type FileSystemSource struct {
36593	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
36594	Recursive interface{} `json:"recursive,omitempty"`
36595	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36596	AdditionalProperties map[string]interface{} `json:""`
36597	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
36598	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
36599	// 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])).
36600	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
36601	// 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'
36602	Type TypeBasicCopySource `json:"type,omitempty"`
36603}
36604
36605// MarshalJSON is the custom marshaler for FileSystemSource.
36606func (fss FileSystemSource) MarshalJSON() ([]byte, error) {
36607	fss.Type = TypeFileSystemSource
36608	objectMap := make(map[string]interface{})
36609	if fss.Recursive != nil {
36610		objectMap["recursive"] = fss.Recursive
36611	}
36612	if fss.SourceRetryCount != nil {
36613		objectMap["sourceRetryCount"] = fss.SourceRetryCount
36614	}
36615	if fss.SourceRetryWait != nil {
36616		objectMap["sourceRetryWait"] = fss.SourceRetryWait
36617	}
36618	if fss.Type != "" {
36619		objectMap["type"] = fss.Type
36620	}
36621	for k, v := range fss.AdditionalProperties {
36622		objectMap[k] = v
36623	}
36624	return json.Marshal(objectMap)
36625}
36626
36627// AsAmazonRedshiftSource is the BasicCopySource implementation for FileSystemSource.
36628func (fss FileSystemSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
36629	return nil, false
36630}
36631
36632// AsResponsysSource is the BasicCopySource implementation for FileSystemSource.
36633func (fss FileSystemSource) AsResponsysSource() (*ResponsysSource, bool) {
36634	return nil, false
36635}
36636
36637// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for FileSystemSource.
36638func (fss FileSystemSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
36639	return nil, false
36640}
36641
36642// AsVerticaSource is the BasicCopySource implementation for FileSystemSource.
36643func (fss FileSystemSource) AsVerticaSource() (*VerticaSource, bool) {
36644	return nil, false
36645}
36646
36647// AsNetezzaSource is the BasicCopySource implementation for FileSystemSource.
36648func (fss FileSystemSource) AsNetezzaSource() (*NetezzaSource, bool) {
36649	return nil, false
36650}
36651
36652// AsZohoSource is the BasicCopySource implementation for FileSystemSource.
36653func (fss FileSystemSource) AsZohoSource() (*ZohoSource, bool) {
36654	return nil, false
36655}
36656
36657// AsXeroSource is the BasicCopySource implementation for FileSystemSource.
36658func (fss FileSystemSource) AsXeroSource() (*XeroSource, bool) {
36659	return nil, false
36660}
36661
36662// AsSquareSource is the BasicCopySource implementation for FileSystemSource.
36663func (fss FileSystemSource) AsSquareSource() (*SquareSource, bool) {
36664	return nil, false
36665}
36666
36667// AsSparkSource is the BasicCopySource implementation for FileSystemSource.
36668func (fss FileSystemSource) AsSparkSource() (*SparkSource, bool) {
36669	return nil, false
36670}
36671
36672// AsShopifySource is the BasicCopySource implementation for FileSystemSource.
36673func (fss FileSystemSource) AsShopifySource() (*ShopifySource, bool) {
36674	return nil, false
36675}
36676
36677// AsServiceNowSource is the BasicCopySource implementation for FileSystemSource.
36678func (fss FileSystemSource) AsServiceNowSource() (*ServiceNowSource, bool) {
36679	return nil, false
36680}
36681
36682// AsQuickBooksSource is the BasicCopySource implementation for FileSystemSource.
36683func (fss FileSystemSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
36684	return nil, false
36685}
36686
36687// AsPrestoSource is the BasicCopySource implementation for FileSystemSource.
36688func (fss FileSystemSource) AsPrestoSource() (*PrestoSource, bool) {
36689	return nil, false
36690}
36691
36692// AsPhoenixSource is the BasicCopySource implementation for FileSystemSource.
36693func (fss FileSystemSource) AsPhoenixSource() (*PhoenixSource, bool) {
36694	return nil, false
36695}
36696
36697// AsPaypalSource is the BasicCopySource implementation for FileSystemSource.
36698func (fss FileSystemSource) AsPaypalSource() (*PaypalSource, bool) {
36699	return nil, false
36700}
36701
36702// AsMarketoSource is the BasicCopySource implementation for FileSystemSource.
36703func (fss FileSystemSource) AsMarketoSource() (*MarketoSource, bool) {
36704	return nil, false
36705}
36706
36707// AsMariaDBSource is the BasicCopySource implementation for FileSystemSource.
36708func (fss FileSystemSource) AsMariaDBSource() (*MariaDBSource, bool) {
36709	return nil, false
36710}
36711
36712// AsMagentoSource is the BasicCopySource implementation for FileSystemSource.
36713func (fss FileSystemSource) AsMagentoSource() (*MagentoSource, bool) {
36714	return nil, false
36715}
36716
36717// AsJiraSource is the BasicCopySource implementation for FileSystemSource.
36718func (fss FileSystemSource) AsJiraSource() (*JiraSource, bool) {
36719	return nil, false
36720}
36721
36722// AsImpalaSource is the BasicCopySource implementation for FileSystemSource.
36723func (fss FileSystemSource) AsImpalaSource() (*ImpalaSource, bool) {
36724	return nil, false
36725}
36726
36727// AsHubspotSource is the BasicCopySource implementation for FileSystemSource.
36728func (fss FileSystemSource) AsHubspotSource() (*HubspotSource, bool) {
36729	return nil, false
36730}
36731
36732// AsHiveSource is the BasicCopySource implementation for FileSystemSource.
36733func (fss FileSystemSource) AsHiveSource() (*HiveSource, bool) {
36734	return nil, false
36735}
36736
36737// AsHBaseSource is the BasicCopySource implementation for FileSystemSource.
36738func (fss FileSystemSource) AsHBaseSource() (*HBaseSource, bool) {
36739	return nil, false
36740}
36741
36742// AsGreenplumSource is the BasicCopySource implementation for FileSystemSource.
36743func (fss FileSystemSource) AsGreenplumSource() (*GreenplumSource, bool) {
36744	return nil, false
36745}
36746
36747// AsGoogleBigQuerySource is the BasicCopySource implementation for FileSystemSource.
36748func (fss FileSystemSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
36749	return nil, false
36750}
36751
36752// AsEloquaSource is the BasicCopySource implementation for FileSystemSource.
36753func (fss FileSystemSource) AsEloquaSource() (*EloquaSource, bool) {
36754	return nil, false
36755}
36756
36757// AsDrillSource is the BasicCopySource implementation for FileSystemSource.
36758func (fss FileSystemSource) AsDrillSource() (*DrillSource, bool) {
36759	return nil, false
36760}
36761
36762// AsCouchbaseSource is the BasicCopySource implementation for FileSystemSource.
36763func (fss FileSystemSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
36764	return nil, false
36765}
36766
36767// AsConcurSource is the BasicCopySource implementation for FileSystemSource.
36768func (fss FileSystemSource) AsConcurSource() (*ConcurSource, bool) {
36769	return nil, false
36770}
36771
36772// AsAzurePostgreSQLSource is the BasicCopySource implementation for FileSystemSource.
36773func (fss FileSystemSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
36774	return nil, false
36775}
36776
36777// AsAmazonMWSSource is the BasicCopySource implementation for FileSystemSource.
36778func (fss FileSystemSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
36779	return nil, false
36780}
36781
36782// AsHTTPSource is the BasicCopySource implementation for FileSystemSource.
36783func (fss FileSystemSource) AsHTTPSource() (*HTTPSource, bool) {
36784	return nil, false
36785}
36786
36787// AsAzureDataLakeStoreSource is the BasicCopySource implementation for FileSystemSource.
36788func (fss FileSystemSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
36789	return nil, false
36790}
36791
36792// AsMongoDbSource is the BasicCopySource implementation for FileSystemSource.
36793func (fss FileSystemSource) AsMongoDbSource() (*MongoDbSource, bool) {
36794	return nil, false
36795}
36796
36797// AsCassandraSource is the BasicCopySource implementation for FileSystemSource.
36798func (fss FileSystemSource) AsCassandraSource() (*CassandraSource, bool) {
36799	return nil, false
36800}
36801
36802// AsWebSource is the BasicCopySource implementation for FileSystemSource.
36803func (fss FileSystemSource) AsWebSource() (*WebSource, bool) {
36804	return nil, false
36805}
36806
36807// AsOracleSource is the BasicCopySource implementation for FileSystemSource.
36808func (fss FileSystemSource) AsOracleSource() (*OracleSource, bool) {
36809	return nil, false
36810}
36811
36812// AsAzureMySQLSource is the BasicCopySource implementation for FileSystemSource.
36813func (fss FileSystemSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
36814	return nil, false
36815}
36816
36817// AsHdfsSource is the BasicCopySource implementation for FileSystemSource.
36818func (fss FileSystemSource) AsHdfsSource() (*HdfsSource, bool) {
36819	return nil, false
36820}
36821
36822// AsFileSystemSource is the BasicCopySource implementation for FileSystemSource.
36823func (fss FileSystemSource) AsFileSystemSource() (*FileSystemSource, bool) {
36824	return &fss, true
36825}
36826
36827// AsSQLDWSource is the BasicCopySource implementation for FileSystemSource.
36828func (fss FileSystemSource) AsSQLDWSource() (*SQLDWSource, bool) {
36829	return nil, false
36830}
36831
36832// AsSQLSource is the BasicCopySource implementation for FileSystemSource.
36833func (fss FileSystemSource) AsSQLSource() (*SQLSource, bool) {
36834	return nil, false
36835}
36836
36837// AsSapEccSource is the BasicCopySource implementation for FileSystemSource.
36838func (fss FileSystemSource) AsSapEccSource() (*SapEccSource, bool) {
36839	return nil, false
36840}
36841
36842// AsSapCloudForCustomerSource is the BasicCopySource implementation for FileSystemSource.
36843func (fss FileSystemSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
36844	return nil, false
36845}
36846
36847// AsSalesforceSource is the BasicCopySource implementation for FileSystemSource.
36848func (fss FileSystemSource) AsSalesforceSource() (*SalesforceSource, bool) {
36849	return nil, false
36850}
36851
36852// AsRelationalSource is the BasicCopySource implementation for FileSystemSource.
36853func (fss FileSystemSource) AsRelationalSource() (*RelationalSource, bool) {
36854	return nil, false
36855}
36856
36857// AsDynamicsSource is the BasicCopySource implementation for FileSystemSource.
36858func (fss FileSystemSource) AsDynamicsSource() (*DynamicsSource, bool) {
36859	return nil, false
36860}
36861
36862// AsDocumentDbCollectionSource is the BasicCopySource implementation for FileSystemSource.
36863func (fss FileSystemSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
36864	return nil, false
36865}
36866
36867// AsBlobSource is the BasicCopySource implementation for FileSystemSource.
36868func (fss FileSystemSource) AsBlobSource() (*BlobSource, bool) {
36869	return nil, false
36870}
36871
36872// AsAzureTableSource is the BasicCopySource implementation for FileSystemSource.
36873func (fss FileSystemSource) AsAzureTableSource() (*AzureTableSource, bool) {
36874	return nil, false
36875}
36876
36877// AsCopySource is the BasicCopySource implementation for FileSystemSource.
36878func (fss FileSystemSource) AsCopySource() (*CopySource, bool) {
36879	return nil, false
36880}
36881
36882// AsBasicCopySource is the BasicCopySource implementation for FileSystemSource.
36883func (fss FileSystemSource) AsBasicCopySource() (BasicCopySource, bool) {
36884	return &fss, true
36885}
36886
36887// UnmarshalJSON is the custom unmarshaler for FileSystemSource struct.
36888func (fss *FileSystemSource) UnmarshalJSON(body []byte) error {
36889	var m map[string]*json.RawMessage
36890	err := json.Unmarshal(body, &m)
36891	if err != nil {
36892		return err
36893	}
36894	for k, v := range m {
36895		switch k {
36896		case "recursive":
36897			if v != nil {
36898				var recursive interface{}
36899				err = json.Unmarshal(*v, &recursive)
36900				if err != nil {
36901					return err
36902				}
36903				fss.Recursive = recursive
36904			}
36905		default:
36906			if v != nil {
36907				var additionalProperties interface{}
36908				err = json.Unmarshal(*v, &additionalProperties)
36909				if err != nil {
36910					return err
36911				}
36912				if fss.AdditionalProperties == nil {
36913					fss.AdditionalProperties = make(map[string]interface{})
36914				}
36915				fss.AdditionalProperties[k] = additionalProperties
36916			}
36917		case "sourceRetryCount":
36918			if v != nil {
36919				var sourceRetryCount interface{}
36920				err = json.Unmarshal(*v, &sourceRetryCount)
36921				if err != nil {
36922					return err
36923				}
36924				fss.SourceRetryCount = sourceRetryCount
36925			}
36926		case "sourceRetryWait":
36927			if v != nil {
36928				var sourceRetryWait interface{}
36929				err = json.Unmarshal(*v, &sourceRetryWait)
36930				if err != nil {
36931					return err
36932				}
36933				fss.SourceRetryWait = sourceRetryWait
36934			}
36935		case "type":
36936			if v != nil {
36937				var typeVar TypeBasicCopySource
36938				err = json.Unmarshal(*v, &typeVar)
36939				if err != nil {
36940					return err
36941				}
36942				fss.Type = typeVar
36943			}
36944		}
36945	}
36946
36947	return nil
36948}
36949
36950// FilterActivity filter and return results from input array based on the conditions.
36951type FilterActivity struct {
36952	// FilterActivityTypeProperties - Filter activity properties.
36953	*FilterActivityTypeProperties `json:"typeProperties,omitempty"`
36954	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36955	AdditionalProperties map[string]interface{} `json:""`
36956	// Name - Activity name.
36957	Name *string `json:"name,omitempty"`
36958	// Description - Activity description.
36959	Description *string `json:"description,omitempty"`
36960	// DependsOn - Activity depends on condition.
36961	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
36962	// 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'
36963	Type TypeBasicActivity `json:"type,omitempty"`
36964}
36965
36966// MarshalJSON is the custom marshaler for FilterActivity.
36967func (fa FilterActivity) MarshalJSON() ([]byte, error) {
36968	fa.Type = TypeFilter
36969	objectMap := make(map[string]interface{})
36970	if fa.FilterActivityTypeProperties != nil {
36971		objectMap["typeProperties"] = fa.FilterActivityTypeProperties
36972	}
36973	if fa.Name != nil {
36974		objectMap["name"] = fa.Name
36975	}
36976	if fa.Description != nil {
36977		objectMap["description"] = fa.Description
36978	}
36979	if fa.DependsOn != nil {
36980		objectMap["dependsOn"] = fa.DependsOn
36981	}
36982	if fa.Type != "" {
36983		objectMap["type"] = fa.Type
36984	}
36985	for k, v := range fa.AdditionalProperties {
36986		objectMap[k] = v
36987	}
36988	return json.Marshal(objectMap)
36989}
36990
36991// AsDatabricksNotebookActivity is the BasicActivity implementation for FilterActivity.
36992func (fa FilterActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
36993	return nil, false
36994}
36995
36996// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for FilterActivity.
36997func (fa FilterActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
36998	return nil, false
36999}
37000
37001// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for FilterActivity.
37002func (fa FilterActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
37003	return nil, false
37004}
37005
37006// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for FilterActivity.
37007func (fa FilterActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
37008	return nil, false
37009}
37010
37011// AsGetMetadataActivity is the BasicActivity implementation for FilterActivity.
37012func (fa FilterActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
37013	return nil, false
37014}
37015
37016// AsWebActivity is the BasicActivity implementation for FilterActivity.
37017func (fa FilterActivity) AsWebActivity() (*WebActivity, bool) {
37018	return nil, false
37019}
37020
37021// AsLookupActivity is the BasicActivity implementation for FilterActivity.
37022func (fa FilterActivity) AsLookupActivity() (*LookupActivity, bool) {
37023	return nil, false
37024}
37025
37026// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for FilterActivity.
37027func (fa FilterActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
37028	return nil, false
37029}
37030
37031// AsCustomActivity is the BasicActivity implementation for FilterActivity.
37032func (fa FilterActivity) AsCustomActivity() (*CustomActivity, bool) {
37033	return nil, false
37034}
37035
37036// AsExecuteSSISPackageActivity is the BasicActivity implementation for FilterActivity.
37037func (fa FilterActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
37038	return nil, false
37039}
37040
37041// AsHDInsightSparkActivity is the BasicActivity implementation for FilterActivity.
37042func (fa FilterActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
37043	return nil, false
37044}
37045
37046// AsHDInsightStreamingActivity is the BasicActivity implementation for FilterActivity.
37047func (fa FilterActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
37048	return nil, false
37049}
37050
37051// AsHDInsightMapReduceActivity is the BasicActivity implementation for FilterActivity.
37052func (fa FilterActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
37053	return nil, false
37054}
37055
37056// AsHDInsightPigActivity is the BasicActivity implementation for FilterActivity.
37057func (fa FilterActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
37058	return nil, false
37059}
37060
37061// AsHDInsightHiveActivity is the BasicActivity implementation for FilterActivity.
37062func (fa FilterActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
37063	return nil, false
37064}
37065
37066// AsCopyActivity is the BasicActivity implementation for FilterActivity.
37067func (fa FilterActivity) AsCopyActivity() (*CopyActivity, bool) {
37068	return nil, false
37069}
37070
37071// AsExecutionActivity is the BasicActivity implementation for FilterActivity.
37072func (fa FilterActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
37073	return nil, false
37074}
37075
37076// AsBasicExecutionActivity is the BasicActivity implementation for FilterActivity.
37077func (fa FilterActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
37078	return nil, false
37079}
37080
37081// AsFilterActivity is the BasicActivity implementation for FilterActivity.
37082func (fa FilterActivity) AsFilterActivity() (*FilterActivity, bool) {
37083	return &fa, true
37084}
37085
37086// AsUntilActivity is the BasicActivity implementation for FilterActivity.
37087func (fa FilterActivity) AsUntilActivity() (*UntilActivity, bool) {
37088	return nil, false
37089}
37090
37091// AsWaitActivity is the BasicActivity implementation for FilterActivity.
37092func (fa FilterActivity) AsWaitActivity() (*WaitActivity, bool) {
37093	return nil, false
37094}
37095
37096// AsForEachActivity is the BasicActivity implementation for FilterActivity.
37097func (fa FilterActivity) AsForEachActivity() (*ForEachActivity, bool) {
37098	return nil, false
37099}
37100
37101// AsIfConditionActivity is the BasicActivity implementation for FilterActivity.
37102func (fa FilterActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
37103	return nil, false
37104}
37105
37106// AsExecutePipelineActivity is the BasicActivity implementation for FilterActivity.
37107func (fa FilterActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
37108	return nil, false
37109}
37110
37111// AsControlActivity is the BasicActivity implementation for FilterActivity.
37112func (fa FilterActivity) AsControlActivity() (*ControlActivity, bool) {
37113	return nil, false
37114}
37115
37116// AsBasicControlActivity is the BasicActivity implementation for FilterActivity.
37117func (fa FilterActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
37118	return &fa, true
37119}
37120
37121// AsActivity is the BasicActivity implementation for FilterActivity.
37122func (fa FilterActivity) AsActivity() (*Activity, bool) {
37123	return nil, false
37124}
37125
37126// AsBasicActivity is the BasicActivity implementation for FilterActivity.
37127func (fa FilterActivity) AsBasicActivity() (BasicActivity, bool) {
37128	return &fa, true
37129}
37130
37131// UnmarshalJSON is the custom unmarshaler for FilterActivity struct.
37132func (fa *FilterActivity) UnmarshalJSON(body []byte) error {
37133	var m map[string]*json.RawMessage
37134	err := json.Unmarshal(body, &m)
37135	if err != nil {
37136		return err
37137	}
37138	for k, v := range m {
37139		switch k {
37140		case "typeProperties":
37141			if v != nil {
37142				var filterActivityTypeProperties FilterActivityTypeProperties
37143				err = json.Unmarshal(*v, &filterActivityTypeProperties)
37144				if err != nil {
37145					return err
37146				}
37147				fa.FilterActivityTypeProperties = &filterActivityTypeProperties
37148			}
37149		default:
37150			if v != nil {
37151				var additionalProperties interface{}
37152				err = json.Unmarshal(*v, &additionalProperties)
37153				if err != nil {
37154					return err
37155				}
37156				if fa.AdditionalProperties == nil {
37157					fa.AdditionalProperties = make(map[string]interface{})
37158				}
37159				fa.AdditionalProperties[k] = additionalProperties
37160			}
37161		case "name":
37162			if v != nil {
37163				var name string
37164				err = json.Unmarshal(*v, &name)
37165				if err != nil {
37166					return err
37167				}
37168				fa.Name = &name
37169			}
37170		case "description":
37171			if v != nil {
37172				var description string
37173				err = json.Unmarshal(*v, &description)
37174				if err != nil {
37175					return err
37176				}
37177				fa.Description = &description
37178			}
37179		case "dependsOn":
37180			if v != nil {
37181				var dependsOn []ActivityDependency
37182				err = json.Unmarshal(*v, &dependsOn)
37183				if err != nil {
37184					return err
37185				}
37186				fa.DependsOn = &dependsOn
37187			}
37188		case "type":
37189			if v != nil {
37190				var typeVar TypeBasicActivity
37191				err = json.Unmarshal(*v, &typeVar)
37192				if err != nil {
37193					return err
37194				}
37195				fa.Type = typeVar
37196			}
37197		}
37198	}
37199
37200	return nil
37201}
37202
37203// FilterActivityTypeProperties filter activity properties.
37204type FilterActivityTypeProperties struct {
37205	// Items - Input array on which filter should be applied.
37206	Items *Expression `json:"items,omitempty"`
37207	// Condition - Condition to be used for filtering the input.
37208	Condition *Expression `json:"condition,omitempty"`
37209}
37210
37211// ForEachActivity this activity is used for iterating over a collection and execute given activities.
37212type ForEachActivity struct {
37213	// ForEachActivityTypeProperties - ForEach activity properties.
37214	*ForEachActivityTypeProperties `json:"typeProperties,omitempty"`
37215	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
37216	AdditionalProperties map[string]interface{} `json:""`
37217	// Name - Activity name.
37218	Name *string `json:"name,omitempty"`
37219	// Description - Activity description.
37220	Description *string `json:"description,omitempty"`
37221	// DependsOn - Activity depends on condition.
37222	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
37223	// 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'
37224	Type TypeBasicActivity `json:"type,omitempty"`
37225}
37226
37227// MarshalJSON is the custom marshaler for ForEachActivity.
37228func (fea ForEachActivity) MarshalJSON() ([]byte, error) {
37229	fea.Type = TypeForEach
37230	objectMap := make(map[string]interface{})
37231	if fea.ForEachActivityTypeProperties != nil {
37232		objectMap["typeProperties"] = fea.ForEachActivityTypeProperties
37233	}
37234	if fea.Name != nil {
37235		objectMap["name"] = fea.Name
37236	}
37237	if fea.Description != nil {
37238		objectMap["description"] = fea.Description
37239	}
37240	if fea.DependsOn != nil {
37241		objectMap["dependsOn"] = fea.DependsOn
37242	}
37243	if fea.Type != "" {
37244		objectMap["type"] = fea.Type
37245	}
37246	for k, v := range fea.AdditionalProperties {
37247		objectMap[k] = v
37248	}
37249	return json.Marshal(objectMap)
37250}
37251
37252// AsDatabricksNotebookActivity is the BasicActivity implementation for ForEachActivity.
37253func (fea ForEachActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
37254	return nil, false
37255}
37256
37257// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ForEachActivity.
37258func (fea ForEachActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
37259	return nil, false
37260}
37261
37262// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ForEachActivity.
37263func (fea ForEachActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
37264	return nil, false
37265}
37266
37267// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ForEachActivity.
37268func (fea ForEachActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
37269	return nil, false
37270}
37271
37272// AsGetMetadataActivity is the BasicActivity implementation for ForEachActivity.
37273func (fea ForEachActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
37274	return nil, false
37275}
37276
37277// AsWebActivity is the BasicActivity implementation for ForEachActivity.
37278func (fea ForEachActivity) AsWebActivity() (*WebActivity, bool) {
37279	return nil, false
37280}
37281
37282// AsLookupActivity is the BasicActivity implementation for ForEachActivity.
37283func (fea ForEachActivity) AsLookupActivity() (*LookupActivity, bool) {
37284	return nil, false
37285}
37286
37287// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ForEachActivity.
37288func (fea ForEachActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
37289	return nil, false
37290}
37291
37292// AsCustomActivity is the BasicActivity implementation for ForEachActivity.
37293func (fea ForEachActivity) AsCustomActivity() (*CustomActivity, bool) {
37294	return nil, false
37295}
37296
37297// AsExecuteSSISPackageActivity is the BasicActivity implementation for ForEachActivity.
37298func (fea ForEachActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
37299	return nil, false
37300}
37301
37302// AsHDInsightSparkActivity is the BasicActivity implementation for ForEachActivity.
37303func (fea ForEachActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
37304	return nil, false
37305}
37306
37307// AsHDInsightStreamingActivity is the BasicActivity implementation for ForEachActivity.
37308func (fea ForEachActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
37309	return nil, false
37310}
37311
37312// AsHDInsightMapReduceActivity is the BasicActivity implementation for ForEachActivity.
37313func (fea ForEachActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
37314	return nil, false
37315}
37316
37317// AsHDInsightPigActivity is the BasicActivity implementation for ForEachActivity.
37318func (fea ForEachActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
37319	return nil, false
37320}
37321
37322// AsHDInsightHiveActivity is the BasicActivity implementation for ForEachActivity.
37323func (fea ForEachActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
37324	return nil, false
37325}
37326
37327// AsCopyActivity is the BasicActivity implementation for ForEachActivity.
37328func (fea ForEachActivity) AsCopyActivity() (*CopyActivity, bool) {
37329	return nil, false
37330}
37331
37332// AsExecutionActivity is the BasicActivity implementation for ForEachActivity.
37333func (fea ForEachActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
37334	return nil, false
37335}
37336
37337// AsBasicExecutionActivity is the BasicActivity implementation for ForEachActivity.
37338func (fea ForEachActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
37339	return nil, false
37340}
37341
37342// AsFilterActivity is the BasicActivity implementation for ForEachActivity.
37343func (fea ForEachActivity) AsFilterActivity() (*FilterActivity, bool) {
37344	return nil, false
37345}
37346
37347// AsUntilActivity is the BasicActivity implementation for ForEachActivity.
37348func (fea ForEachActivity) AsUntilActivity() (*UntilActivity, bool) {
37349	return nil, false
37350}
37351
37352// AsWaitActivity is the BasicActivity implementation for ForEachActivity.
37353func (fea ForEachActivity) AsWaitActivity() (*WaitActivity, bool) {
37354	return nil, false
37355}
37356
37357// AsForEachActivity is the BasicActivity implementation for ForEachActivity.
37358func (fea ForEachActivity) AsForEachActivity() (*ForEachActivity, bool) {
37359	return &fea, true
37360}
37361
37362// AsIfConditionActivity is the BasicActivity implementation for ForEachActivity.
37363func (fea ForEachActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
37364	return nil, false
37365}
37366
37367// AsExecutePipelineActivity is the BasicActivity implementation for ForEachActivity.
37368func (fea ForEachActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
37369	return nil, false
37370}
37371
37372// AsControlActivity is the BasicActivity implementation for ForEachActivity.
37373func (fea ForEachActivity) AsControlActivity() (*ControlActivity, bool) {
37374	return nil, false
37375}
37376
37377// AsBasicControlActivity is the BasicActivity implementation for ForEachActivity.
37378func (fea ForEachActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
37379	return &fea, true
37380}
37381
37382// AsActivity is the BasicActivity implementation for ForEachActivity.
37383func (fea ForEachActivity) AsActivity() (*Activity, bool) {
37384	return nil, false
37385}
37386
37387// AsBasicActivity is the BasicActivity implementation for ForEachActivity.
37388func (fea ForEachActivity) AsBasicActivity() (BasicActivity, bool) {
37389	return &fea, true
37390}
37391
37392// UnmarshalJSON is the custom unmarshaler for ForEachActivity struct.
37393func (fea *ForEachActivity) UnmarshalJSON(body []byte) error {
37394	var m map[string]*json.RawMessage
37395	err := json.Unmarshal(body, &m)
37396	if err != nil {
37397		return err
37398	}
37399	for k, v := range m {
37400		switch k {
37401		case "typeProperties":
37402			if v != nil {
37403				var forEachActivityTypeProperties ForEachActivityTypeProperties
37404				err = json.Unmarshal(*v, &forEachActivityTypeProperties)
37405				if err != nil {
37406					return err
37407				}
37408				fea.ForEachActivityTypeProperties = &forEachActivityTypeProperties
37409			}
37410		default:
37411			if v != nil {
37412				var additionalProperties interface{}
37413				err = json.Unmarshal(*v, &additionalProperties)
37414				if err != nil {
37415					return err
37416				}
37417				if fea.AdditionalProperties == nil {
37418					fea.AdditionalProperties = make(map[string]interface{})
37419				}
37420				fea.AdditionalProperties[k] = additionalProperties
37421			}
37422		case "name":
37423			if v != nil {
37424				var name string
37425				err = json.Unmarshal(*v, &name)
37426				if err != nil {
37427					return err
37428				}
37429				fea.Name = &name
37430			}
37431		case "description":
37432			if v != nil {
37433				var description string
37434				err = json.Unmarshal(*v, &description)
37435				if err != nil {
37436					return err
37437				}
37438				fea.Description = &description
37439			}
37440		case "dependsOn":
37441			if v != nil {
37442				var dependsOn []ActivityDependency
37443				err = json.Unmarshal(*v, &dependsOn)
37444				if err != nil {
37445					return err
37446				}
37447				fea.DependsOn = &dependsOn
37448			}
37449		case "type":
37450			if v != nil {
37451				var typeVar TypeBasicActivity
37452				err = json.Unmarshal(*v, &typeVar)
37453				if err != nil {
37454					return err
37455				}
37456				fea.Type = typeVar
37457			}
37458		}
37459	}
37460
37461	return nil
37462}
37463
37464// ForEachActivityTypeProperties forEach activity properties.
37465type ForEachActivityTypeProperties struct {
37466	// IsSequential - Should the loop be executed in sequence or in parallel (max 50)
37467	IsSequential *bool `json:"isSequential,omitempty"`
37468	// BatchCount - Batch count to be used for controlling the number of parallel execution (when isSequential is set to false).
37469	BatchCount *int32 `json:"batchCount,omitempty"`
37470	// Items - Collection to iterate.
37471	Items *Expression `json:"items,omitempty"`
37472	// Activities - List of activities to execute .
37473	Activities *[]BasicActivity `json:"activities,omitempty"`
37474}
37475
37476// UnmarshalJSON is the custom unmarshaler for ForEachActivityTypeProperties struct.
37477func (featp *ForEachActivityTypeProperties) UnmarshalJSON(body []byte) error {
37478	var m map[string]*json.RawMessage
37479	err := json.Unmarshal(body, &m)
37480	if err != nil {
37481		return err
37482	}
37483	for k, v := range m {
37484		switch k {
37485		case "isSequential":
37486			if v != nil {
37487				var isSequential bool
37488				err = json.Unmarshal(*v, &isSequential)
37489				if err != nil {
37490					return err
37491				}
37492				featp.IsSequential = &isSequential
37493			}
37494		case "batchCount":
37495			if v != nil {
37496				var batchCount int32
37497				err = json.Unmarshal(*v, &batchCount)
37498				if err != nil {
37499					return err
37500				}
37501				featp.BatchCount = &batchCount
37502			}
37503		case "items":
37504			if v != nil {
37505				var items Expression
37506				err = json.Unmarshal(*v, &items)
37507				if err != nil {
37508					return err
37509				}
37510				featp.Items = &items
37511			}
37512		case "activities":
37513			if v != nil {
37514				activities, err := unmarshalBasicActivityArray(*v)
37515				if err != nil {
37516					return err
37517				}
37518				featp.Activities = &activities
37519			}
37520		}
37521	}
37522
37523	return nil
37524}
37525
37526// FtpServerLinkedService a FTP server Linked Service.
37527type FtpServerLinkedService struct {
37528	// FtpServerLinkedServiceTypeProperties - Properties specific to this linked service type.
37529	*FtpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
37530	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
37531	AdditionalProperties map[string]interface{} `json:""`
37532	// ConnectVia - The integration runtime reference.
37533	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
37534	// Description - Linked service description.
37535	Description *string `json:"description,omitempty"`
37536	// Parameters - Parameters for linked service.
37537	Parameters map[string]*ParameterSpecification `json:"parameters"`
37538	// Annotations - List of tags that can be used for describing the Dataset.
37539	Annotations *[]interface{} `json:"annotations,omitempty"`
37540	// 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'
37541	Type TypeBasicLinkedService `json:"type,omitempty"`
37542}
37543
37544// MarshalJSON is the custom marshaler for FtpServerLinkedService.
37545func (fsls FtpServerLinkedService) MarshalJSON() ([]byte, error) {
37546	fsls.Type = TypeFtpServer
37547	objectMap := make(map[string]interface{})
37548	if fsls.FtpServerLinkedServiceTypeProperties != nil {
37549		objectMap["typeProperties"] = fsls.FtpServerLinkedServiceTypeProperties
37550	}
37551	if fsls.ConnectVia != nil {
37552		objectMap["connectVia"] = fsls.ConnectVia
37553	}
37554	if fsls.Description != nil {
37555		objectMap["description"] = fsls.Description
37556	}
37557	if fsls.Parameters != nil {
37558		objectMap["parameters"] = fsls.Parameters
37559	}
37560	if fsls.Annotations != nil {
37561		objectMap["annotations"] = fsls.Annotations
37562	}
37563	if fsls.Type != "" {
37564		objectMap["type"] = fsls.Type
37565	}
37566	for k, v := range fsls.AdditionalProperties {
37567		objectMap[k] = v
37568	}
37569	return json.Marshal(objectMap)
37570}
37571
37572// AsResponsysLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37573func (fsls FtpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
37574	return nil, false
37575}
37576
37577// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37578func (fsls FtpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
37579	return nil, false
37580}
37581
37582// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37583func (fsls FtpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
37584	return nil, false
37585}
37586
37587// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37588func (fsls FtpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
37589	return nil, false
37590}
37591
37592// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37593func (fsls FtpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
37594	return nil, false
37595}
37596
37597// AsNetezzaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37598func (fsls FtpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
37599	return nil, false
37600}
37601
37602// AsVerticaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37603func (fsls FtpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
37604	return nil, false
37605}
37606
37607// AsZohoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37608func (fsls FtpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
37609	return nil, false
37610}
37611
37612// AsXeroLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37613func (fsls FtpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
37614	return nil, false
37615}
37616
37617// AsSquareLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37618func (fsls FtpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
37619	return nil, false
37620}
37621
37622// AsSparkLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37623func (fsls FtpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
37624	return nil, false
37625}
37626
37627// AsShopifyLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37628func (fsls FtpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
37629	return nil, false
37630}
37631
37632// AsServiceNowLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37633func (fsls FtpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
37634	return nil, false
37635}
37636
37637// AsQuickBooksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37638func (fsls FtpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
37639	return nil, false
37640}
37641
37642// AsPrestoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37643func (fsls FtpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
37644	return nil, false
37645}
37646
37647// AsPhoenixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37648func (fsls FtpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
37649	return nil, false
37650}
37651
37652// AsPaypalLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37653func (fsls FtpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
37654	return nil, false
37655}
37656
37657// AsMarketoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37658func (fsls FtpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
37659	return nil, false
37660}
37661
37662// AsMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37663func (fsls FtpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
37664	return nil, false
37665}
37666
37667// AsMagentoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37668func (fsls FtpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
37669	return nil, false
37670}
37671
37672// AsJiraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37673func (fsls FtpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
37674	return nil, false
37675}
37676
37677// AsImpalaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37678func (fsls FtpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
37679	return nil, false
37680}
37681
37682// AsHubspotLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37683func (fsls FtpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
37684	return nil, false
37685}
37686
37687// AsHiveLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37688func (fsls FtpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
37689	return nil, false
37690}
37691
37692// AsHBaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37693func (fsls FtpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
37694	return nil, false
37695}
37696
37697// AsGreenplumLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37698func (fsls FtpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
37699	return nil, false
37700}
37701
37702// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37703func (fsls FtpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
37704	return nil, false
37705}
37706
37707// AsEloquaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37708func (fsls FtpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
37709	return nil, false
37710}
37711
37712// AsDrillLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37713func (fsls FtpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
37714	return nil, false
37715}
37716
37717// AsCouchbaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37718func (fsls FtpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
37719	return nil, false
37720}
37721
37722// AsConcurLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37723func (fsls FtpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
37724	return nil, false
37725}
37726
37727// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37728func (fsls FtpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
37729	return nil, false
37730}
37731
37732// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37733func (fsls FtpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
37734	return nil, false
37735}
37736
37737// AsSapHanaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37738func (fsls FtpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
37739	return nil, false
37740}
37741
37742// AsSapBWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37743func (fsls FtpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
37744	return nil, false
37745}
37746
37747// AsSftpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37748func (fsls FtpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
37749	return nil, false
37750}
37751
37752// AsFtpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37753func (fsls FtpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
37754	return &fsls, true
37755}
37756
37757// AsHTTPLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37758func (fsls FtpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
37759	return nil, false
37760}
37761
37762// AsAzureSearchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37763func (fsls FtpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
37764	return nil, false
37765}
37766
37767// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37768func (fsls FtpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
37769	return nil, false
37770}
37771
37772// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37773func (fsls FtpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
37774	return nil, false
37775}
37776
37777// AsAmazonS3LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37778func (fsls FtpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
37779	return nil, false
37780}
37781
37782// AsSapEccLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37783func (fsls FtpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
37784	return nil, false
37785}
37786
37787// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37788func (fsls FtpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
37789	return nil, false
37790}
37791
37792// AsSalesforceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37793func (fsls FtpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
37794	return nil, false
37795}
37796
37797// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37798func (fsls FtpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
37799	return nil, false
37800}
37801
37802// AsMongoDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37803func (fsls FtpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
37804	return nil, false
37805}
37806
37807// AsCassandraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37808func (fsls FtpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
37809	return nil, false
37810}
37811
37812// AsWebLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37813func (fsls FtpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
37814	return nil, false
37815}
37816
37817// AsODataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37818func (fsls FtpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
37819	return nil, false
37820}
37821
37822// AsHdfsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37823func (fsls FtpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
37824	return nil, false
37825}
37826
37827// AsOdbcLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37828func (fsls FtpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
37829	return nil, false
37830}
37831
37832// AsAzureMLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37833func (fsls FtpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
37834	return nil, false
37835}
37836
37837// AsTeradataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37838func (fsls FtpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
37839	return nil, false
37840}
37841
37842// AsDb2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37843func (fsls FtpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
37844	return nil, false
37845}
37846
37847// AsSybaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37848func (fsls FtpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
37849	return nil, false
37850}
37851
37852// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37853func (fsls FtpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
37854	return nil, false
37855}
37856
37857// AsMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37858func (fsls FtpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
37859	return nil, false
37860}
37861
37862// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37863func (fsls FtpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
37864	return nil, false
37865}
37866
37867// AsOracleLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37868func (fsls FtpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
37869	return nil, false
37870}
37871
37872// AsFileServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37873func (fsls FtpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
37874	return nil, false
37875}
37876
37877// AsHDInsightLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37878func (fsls FtpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
37879	return nil, false
37880}
37881
37882// AsDynamicsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37883func (fsls FtpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
37884	return nil, false
37885}
37886
37887// AsCosmosDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37888func (fsls FtpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
37889	return nil, false
37890}
37891
37892// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37893func (fsls FtpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
37894	return nil, false
37895}
37896
37897// AsAzureBatchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37898func (fsls FtpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
37899	return nil, false
37900}
37901
37902// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37903func (fsls FtpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
37904	return nil, false
37905}
37906
37907// AsSQLServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37908func (fsls FtpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
37909	return nil, false
37910}
37911
37912// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37913func (fsls FtpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
37914	return nil, false
37915}
37916
37917// AsAzureStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37918func (fsls FtpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
37919	return nil, false
37920}
37921
37922// AsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37923func (fsls FtpServerLinkedService) AsLinkedService() (*LinkedService, bool) {
37924	return nil, false
37925}
37926
37927// AsBasicLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
37928func (fsls FtpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
37929	return &fsls, true
37930}
37931
37932// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedService struct.
37933func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error {
37934	var m map[string]*json.RawMessage
37935	err := json.Unmarshal(body, &m)
37936	if err != nil {
37937		return err
37938	}
37939	for k, v := range m {
37940		switch k {
37941		case "typeProperties":
37942			if v != nil {
37943				var ftpServerLinkedServiceTypeProperties FtpServerLinkedServiceTypeProperties
37944				err = json.Unmarshal(*v, &ftpServerLinkedServiceTypeProperties)
37945				if err != nil {
37946					return err
37947				}
37948				fsls.FtpServerLinkedServiceTypeProperties = &ftpServerLinkedServiceTypeProperties
37949			}
37950		default:
37951			if v != nil {
37952				var additionalProperties interface{}
37953				err = json.Unmarshal(*v, &additionalProperties)
37954				if err != nil {
37955					return err
37956				}
37957				if fsls.AdditionalProperties == nil {
37958					fsls.AdditionalProperties = make(map[string]interface{})
37959				}
37960				fsls.AdditionalProperties[k] = additionalProperties
37961			}
37962		case "connectVia":
37963			if v != nil {
37964				var connectVia IntegrationRuntimeReference
37965				err = json.Unmarshal(*v, &connectVia)
37966				if err != nil {
37967					return err
37968				}
37969				fsls.ConnectVia = &connectVia
37970			}
37971		case "description":
37972			if v != nil {
37973				var description string
37974				err = json.Unmarshal(*v, &description)
37975				if err != nil {
37976					return err
37977				}
37978				fsls.Description = &description
37979			}
37980		case "parameters":
37981			if v != nil {
37982				var parameters map[string]*ParameterSpecification
37983				err = json.Unmarshal(*v, &parameters)
37984				if err != nil {
37985					return err
37986				}
37987				fsls.Parameters = parameters
37988			}
37989		case "annotations":
37990			if v != nil {
37991				var annotations []interface{}
37992				err = json.Unmarshal(*v, &annotations)
37993				if err != nil {
37994					return err
37995				}
37996				fsls.Annotations = &annotations
37997			}
37998		case "type":
37999			if v != nil {
38000				var typeVar TypeBasicLinkedService
38001				err = json.Unmarshal(*v, &typeVar)
38002				if err != nil {
38003					return err
38004				}
38005				fsls.Type = typeVar
38006			}
38007		}
38008	}
38009
38010	return nil
38011}
38012
38013// FtpServerLinkedServiceTypeProperties properties specific to this linked service type.
38014type FtpServerLinkedServiceTypeProperties struct {
38015	// Host - Host name of the FTP server. Type: string (or Expression with resultType string).
38016	Host interface{} `json:"host,omitempty"`
38017	// 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.
38018	Port interface{} `json:"port,omitempty"`
38019	// AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'FtpAuthenticationTypeBasic', 'FtpAuthenticationTypeAnonymous'
38020	AuthenticationType FtpAuthenticationType `json:"authenticationType,omitempty"`
38021	// UserName - Username to logon the FTP server. Type: string (or Expression with resultType string).
38022	UserName interface{} `json:"userName,omitempty"`
38023	// Password - Password to logon the FTP server.
38024	Password BasicSecretBase `json:"password,omitempty"`
38025	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
38026	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
38027	// EnableSsl - If true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
38028	EnableSsl interface{} `json:"enableSsl,omitempty"`
38029	// 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).
38030	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
38031}
38032
38033// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedServiceTypeProperties struct.
38034func (fslstp *FtpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
38035	var m map[string]*json.RawMessage
38036	err := json.Unmarshal(body, &m)
38037	if err != nil {
38038		return err
38039	}
38040	for k, v := range m {
38041		switch k {
38042		case "host":
38043			if v != nil {
38044				var host interface{}
38045				err = json.Unmarshal(*v, &host)
38046				if err != nil {
38047					return err
38048				}
38049				fslstp.Host = host
38050			}
38051		case "port":
38052			if v != nil {
38053				var port interface{}
38054				err = json.Unmarshal(*v, &port)
38055				if err != nil {
38056					return err
38057				}
38058				fslstp.Port = port
38059			}
38060		case "authenticationType":
38061			if v != nil {
38062				var authenticationType FtpAuthenticationType
38063				err = json.Unmarshal(*v, &authenticationType)
38064				if err != nil {
38065					return err
38066				}
38067				fslstp.AuthenticationType = authenticationType
38068			}
38069		case "userName":
38070			if v != nil {
38071				var userName interface{}
38072				err = json.Unmarshal(*v, &userName)
38073				if err != nil {
38074					return err
38075				}
38076				fslstp.UserName = userName
38077			}
38078		case "password":
38079			if v != nil {
38080				password, err := unmarshalBasicSecretBase(*v)
38081				if err != nil {
38082					return err
38083				}
38084				fslstp.Password = password
38085			}
38086		case "encryptedCredential":
38087			if v != nil {
38088				var encryptedCredential interface{}
38089				err = json.Unmarshal(*v, &encryptedCredential)
38090				if err != nil {
38091					return err
38092				}
38093				fslstp.EncryptedCredential = encryptedCredential
38094			}
38095		case "enableSsl":
38096			if v != nil {
38097				var enableSsl interface{}
38098				err = json.Unmarshal(*v, &enableSsl)
38099				if err != nil {
38100					return err
38101				}
38102				fslstp.EnableSsl = enableSsl
38103			}
38104		case "enableServerCertificateValidation":
38105			if v != nil {
38106				var enableServerCertificateValidation interface{}
38107				err = json.Unmarshal(*v, &enableServerCertificateValidation)
38108				if err != nil {
38109					return err
38110				}
38111				fslstp.EnableServerCertificateValidation = enableServerCertificateValidation
38112			}
38113		}
38114	}
38115
38116	return nil
38117}
38118
38119// GetMetadataActivity activity to get metadata of dataset
38120type GetMetadataActivity struct {
38121	// GetMetadataActivityTypeProperties - GetMetadata activity properties.
38122	*GetMetadataActivityTypeProperties `json:"typeProperties,omitempty"`
38123	// LinkedServiceName - Linked service reference.
38124	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
38125	// Policy - Activity policy.
38126	Policy *ActivityPolicy `json:"policy,omitempty"`
38127	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
38128	AdditionalProperties map[string]interface{} `json:""`
38129	// Name - Activity name.
38130	Name *string `json:"name,omitempty"`
38131	// Description - Activity description.
38132	Description *string `json:"description,omitempty"`
38133	// DependsOn - Activity depends on condition.
38134	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
38135	// 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'
38136	Type TypeBasicActivity `json:"type,omitempty"`
38137}
38138
38139// MarshalJSON is the custom marshaler for GetMetadataActivity.
38140func (gma GetMetadataActivity) MarshalJSON() ([]byte, error) {
38141	gma.Type = TypeGetMetadata
38142	objectMap := make(map[string]interface{})
38143	if gma.GetMetadataActivityTypeProperties != nil {
38144		objectMap["typeProperties"] = gma.GetMetadataActivityTypeProperties
38145	}
38146	if gma.LinkedServiceName != nil {
38147		objectMap["linkedServiceName"] = gma.LinkedServiceName
38148	}
38149	if gma.Policy != nil {
38150		objectMap["policy"] = gma.Policy
38151	}
38152	if gma.Name != nil {
38153		objectMap["name"] = gma.Name
38154	}
38155	if gma.Description != nil {
38156		objectMap["description"] = gma.Description
38157	}
38158	if gma.DependsOn != nil {
38159		objectMap["dependsOn"] = gma.DependsOn
38160	}
38161	if gma.Type != "" {
38162		objectMap["type"] = gma.Type
38163	}
38164	for k, v := range gma.AdditionalProperties {
38165		objectMap[k] = v
38166	}
38167	return json.Marshal(objectMap)
38168}
38169
38170// AsDatabricksNotebookActivity is the BasicActivity implementation for GetMetadataActivity.
38171func (gma GetMetadataActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
38172	return nil, false
38173}
38174
38175// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for GetMetadataActivity.
38176func (gma GetMetadataActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
38177	return nil, false
38178}
38179
38180// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for GetMetadataActivity.
38181func (gma GetMetadataActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
38182	return nil, false
38183}
38184
38185// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
38186func (gma GetMetadataActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
38187	return nil, false
38188}
38189
38190// AsGetMetadataActivity is the BasicActivity implementation for GetMetadataActivity.
38191func (gma GetMetadataActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
38192	return &gma, true
38193}
38194
38195// AsWebActivity is the BasicActivity implementation for GetMetadataActivity.
38196func (gma GetMetadataActivity) AsWebActivity() (*WebActivity, bool) {
38197	return nil, false
38198}
38199
38200// AsLookupActivity is the BasicActivity implementation for GetMetadataActivity.
38201func (gma GetMetadataActivity) AsLookupActivity() (*LookupActivity, bool) {
38202	return nil, false
38203}
38204
38205// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for GetMetadataActivity.
38206func (gma GetMetadataActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
38207	return nil, false
38208}
38209
38210// AsCustomActivity is the BasicActivity implementation for GetMetadataActivity.
38211func (gma GetMetadataActivity) AsCustomActivity() (*CustomActivity, bool) {
38212	return nil, false
38213}
38214
38215// AsExecuteSSISPackageActivity is the BasicActivity implementation for GetMetadataActivity.
38216func (gma GetMetadataActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
38217	return nil, false
38218}
38219
38220// AsHDInsightSparkActivity is the BasicActivity implementation for GetMetadataActivity.
38221func (gma GetMetadataActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
38222	return nil, false
38223}
38224
38225// AsHDInsightStreamingActivity is the BasicActivity implementation for GetMetadataActivity.
38226func (gma GetMetadataActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
38227	return nil, false
38228}
38229
38230// AsHDInsightMapReduceActivity is the BasicActivity implementation for GetMetadataActivity.
38231func (gma GetMetadataActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
38232	return nil, false
38233}
38234
38235// AsHDInsightPigActivity is the BasicActivity implementation for GetMetadataActivity.
38236func (gma GetMetadataActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
38237	return nil, false
38238}
38239
38240// AsHDInsightHiveActivity is the BasicActivity implementation for GetMetadataActivity.
38241func (gma GetMetadataActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
38242	return nil, false
38243}
38244
38245// AsCopyActivity is the BasicActivity implementation for GetMetadataActivity.
38246func (gma GetMetadataActivity) AsCopyActivity() (*CopyActivity, bool) {
38247	return nil, false
38248}
38249
38250// AsExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
38251func (gma GetMetadataActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
38252	return nil, false
38253}
38254
38255// AsBasicExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
38256func (gma GetMetadataActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
38257	return &gma, true
38258}
38259
38260// AsFilterActivity is the BasicActivity implementation for GetMetadataActivity.
38261func (gma GetMetadataActivity) AsFilterActivity() (*FilterActivity, bool) {
38262	return nil, false
38263}
38264
38265// AsUntilActivity is the BasicActivity implementation for GetMetadataActivity.
38266func (gma GetMetadataActivity) AsUntilActivity() (*UntilActivity, bool) {
38267	return nil, false
38268}
38269
38270// AsWaitActivity is the BasicActivity implementation for GetMetadataActivity.
38271func (gma GetMetadataActivity) AsWaitActivity() (*WaitActivity, bool) {
38272	return nil, false
38273}
38274
38275// AsForEachActivity is the BasicActivity implementation for GetMetadataActivity.
38276func (gma GetMetadataActivity) AsForEachActivity() (*ForEachActivity, bool) {
38277	return nil, false
38278}
38279
38280// AsIfConditionActivity is the BasicActivity implementation for GetMetadataActivity.
38281func (gma GetMetadataActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
38282	return nil, false
38283}
38284
38285// AsExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity.
38286func (gma GetMetadataActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
38287	return nil, false
38288}
38289
38290// AsControlActivity is the BasicActivity implementation for GetMetadataActivity.
38291func (gma GetMetadataActivity) AsControlActivity() (*ControlActivity, bool) {
38292	return nil, false
38293}
38294
38295// AsBasicControlActivity is the BasicActivity implementation for GetMetadataActivity.
38296func (gma GetMetadataActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
38297	return nil, false
38298}
38299
38300// AsActivity is the BasicActivity implementation for GetMetadataActivity.
38301func (gma GetMetadataActivity) AsActivity() (*Activity, bool) {
38302	return nil, false
38303}
38304
38305// AsBasicActivity is the BasicActivity implementation for GetMetadataActivity.
38306func (gma GetMetadataActivity) AsBasicActivity() (BasicActivity, bool) {
38307	return &gma, true
38308}
38309
38310// UnmarshalJSON is the custom unmarshaler for GetMetadataActivity struct.
38311func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error {
38312	var m map[string]*json.RawMessage
38313	err := json.Unmarshal(body, &m)
38314	if err != nil {
38315		return err
38316	}
38317	for k, v := range m {
38318		switch k {
38319		case "typeProperties":
38320			if v != nil {
38321				var getMetadataActivityTypeProperties GetMetadataActivityTypeProperties
38322				err = json.Unmarshal(*v, &getMetadataActivityTypeProperties)
38323				if err != nil {
38324					return err
38325				}
38326				gma.GetMetadataActivityTypeProperties = &getMetadataActivityTypeProperties
38327			}
38328		case "linkedServiceName":
38329			if v != nil {
38330				var linkedServiceName LinkedServiceReference
38331				err = json.Unmarshal(*v, &linkedServiceName)
38332				if err != nil {
38333					return err
38334				}
38335				gma.LinkedServiceName = &linkedServiceName
38336			}
38337		case "policy":
38338			if v != nil {
38339				var policy ActivityPolicy
38340				err = json.Unmarshal(*v, &policy)
38341				if err != nil {
38342					return err
38343				}
38344				gma.Policy = &policy
38345			}
38346		default:
38347			if v != nil {
38348				var additionalProperties interface{}
38349				err = json.Unmarshal(*v, &additionalProperties)
38350				if err != nil {
38351					return err
38352				}
38353				if gma.AdditionalProperties == nil {
38354					gma.AdditionalProperties = make(map[string]interface{})
38355				}
38356				gma.AdditionalProperties[k] = additionalProperties
38357			}
38358		case "name":
38359			if v != nil {
38360				var name string
38361				err = json.Unmarshal(*v, &name)
38362				if err != nil {
38363					return err
38364				}
38365				gma.Name = &name
38366			}
38367		case "description":
38368			if v != nil {
38369				var description string
38370				err = json.Unmarshal(*v, &description)
38371				if err != nil {
38372					return err
38373				}
38374				gma.Description = &description
38375			}
38376		case "dependsOn":
38377			if v != nil {
38378				var dependsOn []ActivityDependency
38379				err = json.Unmarshal(*v, &dependsOn)
38380				if err != nil {
38381					return err
38382				}
38383				gma.DependsOn = &dependsOn
38384			}
38385		case "type":
38386			if v != nil {
38387				var typeVar TypeBasicActivity
38388				err = json.Unmarshal(*v, &typeVar)
38389				if err != nil {
38390					return err
38391				}
38392				gma.Type = typeVar
38393			}
38394		}
38395	}
38396
38397	return nil
38398}
38399
38400// GetMetadataActivityTypeProperties getMetadata activity properties.
38401type GetMetadataActivityTypeProperties struct {
38402	// Dataset - GetMetadata activity dataset reference.
38403	Dataset *DatasetReference `json:"dataset,omitempty"`
38404	// FieldList - Fields of metadata to get from dataset.
38405	FieldList *[]interface{} `json:"fieldList,omitempty"`
38406}
38407
38408// GoogleBigQueryLinkedService google BigQuery service linked service.
38409type GoogleBigQueryLinkedService struct {
38410	// GoogleBigQueryLinkedServiceTypeProperties - Google BigQuery service linked service properties.
38411	*GoogleBigQueryLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
38412	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
38413	AdditionalProperties map[string]interface{} `json:""`
38414	// ConnectVia - The integration runtime reference.
38415	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
38416	// Description - Linked service description.
38417	Description *string `json:"description,omitempty"`
38418	// Parameters - Parameters for linked service.
38419	Parameters map[string]*ParameterSpecification `json:"parameters"`
38420	// Annotations - List of tags that can be used for describing the Dataset.
38421	Annotations *[]interface{} `json:"annotations,omitempty"`
38422	// 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'
38423	Type TypeBasicLinkedService `json:"type,omitempty"`
38424}
38425
38426// MarshalJSON is the custom marshaler for GoogleBigQueryLinkedService.
38427func (gbqls GoogleBigQueryLinkedService) MarshalJSON() ([]byte, error) {
38428	gbqls.Type = TypeGoogleBigQuery
38429	objectMap := make(map[string]interface{})
38430	if gbqls.GoogleBigQueryLinkedServiceTypeProperties != nil {
38431		objectMap["typeProperties"] = gbqls.GoogleBigQueryLinkedServiceTypeProperties
38432	}
38433	if gbqls.ConnectVia != nil {
38434		objectMap["connectVia"] = gbqls.ConnectVia
38435	}
38436	if gbqls.Description != nil {
38437		objectMap["description"] = gbqls.Description
38438	}
38439	if gbqls.Parameters != nil {
38440		objectMap["parameters"] = gbqls.Parameters
38441	}
38442	if gbqls.Annotations != nil {
38443		objectMap["annotations"] = gbqls.Annotations
38444	}
38445	if gbqls.Type != "" {
38446		objectMap["type"] = gbqls.Type
38447	}
38448	for k, v := range gbqls.AdditionalProperties {
38449		objectMap[k] = v
38450	}
38451	return json.Marshal(objectMap)
38452}
38453
38454// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38455func (gbqls GoogleBigQueryLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
38456	return nil, false
38457}
38458
38459// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38460func (gbqls GoogleBigQueryLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
38461	return nil, false
38462}
38463
38464// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38465func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
38466	return nil, false
38467}
38468
38469// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38470func (gbqls GoogleBigQueryLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
38471	return nil, false
38472}
38473
38474// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38475func (gbqls GoogleBigQueryLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
38476	return nil, false
38477}
38478
38479// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38480func (gbqls GoogleBigQueryLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
38481	return nil, false
38482}
38483
38484// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38485func (gbqls GoogleBigQueryLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
38486	return nil, false
38487}
38488
38489// AsZohoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38490func (gbqls GoogleBigQueryLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
38491	return nil, false
38492}
38493
38494// AsXeroLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38495func (gbqls GoogleBigQueryLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
38496	return nil, false
38497}
38498
38499// AsSquareLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38500func (gbqls GoogleBigQueryLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
38501	return nil, false
38502}
38503
38504// AsSparkLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38505func (gbqls GoogleBigQueryLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
38506	return nil, false
38507}
38508
38509// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38510func (gbqls GoogleBigQueryLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
38511	return nil, false
38512}
38513
38514// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38515func (gbqls GoogleBigQueryLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
38516	return nil, false
38517}
38518
38519// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38520func (gbqls GoogleBigQueryLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
38521	return nil, false
38522}
38523
38524// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38525func (gbqls GoogleBigQueryLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
38526	return nil, false
38527}
38528
38529// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38530func (gbqls GoogleBigQueryLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
38531	return nil, false
38532}
38533
38534// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38535func (gbqls GoogleBigQueryLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
38536	return nil, false
38537}
38538
38539// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38540func (gbqls GoogleBigQueryLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
38541	return nil, false
38542}
38543
38544// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38545func (gbqls GoogleBigQueryLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
38546	return nil, false
38547}
38548
38549// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38550func (gbqls GoogleBigQueryLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
38551	return nil, false
38552}
38553
38554// AsJiraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38555func (gbqls GoogleBigQueryLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
38556	return nil, false
38557}
38558
38559// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38560func (gbqls GoogleBigQueryLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
38561	return nil, false
38562}
38563
38564// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38565func (gbqls GoogleBigQueryLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
38566	return nil, false
38567}
38568
38569// AsHiveLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38570func (gbqls GoogleBigQueryLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
38571	return nil, false
38572}
38573
38574// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38575func (gbqls GoogleBigQueryLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
38576	return nil, false
38577}
38578
38579// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38580func (gbqls GoogleBigQueryLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
38581	return nil, false
38582}
38583
38584// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38585func (gbqls GoogleBigQueryLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
38586	return &gbqls, true
38587}
38588
38589// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38590func (gbqls GoogleBigQueryLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
38591	return nil, false
38592}
38593
38594// AsDrillLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38595func (gbqls GoogleBigQueryLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
38596	return nil, false
38597}
38598
38599// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38600func (gbqls GoogleBigQueryLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
38601	return nil, false
38602}
38603
38604// AsConcurLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38605func (gbqls GoogleBigQueryLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
38606	return nil, false
38607}
38608
38609// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38610func (gbqls GoogleBigQueryLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
38611	return nil, false
38612}
38613
38614// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38615func (gbqls GoogleBigQueryLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
38616	return nil, false
38617}
38618
38619// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38620func (gbqls GoogleBigQueryLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
38621	return nil, false
38622}
38623
38624// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38625func (gbqls GoogleBigQueryLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
38626	return nil, false
38627}
38628
38629// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38630func (gbqls GoogleBigQueryLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
38631	return nil, false
38632}
38633
38634// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38635func (gbqls GoogleBigQueryLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
38636	return nil, false
38637}
38638
38639// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38640func (gbqls GoogleBigQueryLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
38641	return nil, false
38642}
38643
38644// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38645func (gbqls GoogleBigQueryLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
38646	return nil, false
38647}
38648
38649// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38650func (gbqls GoogleBigQueryLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
38651	return nil, false
38652}
38653
38654// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38655func (gbqls GoogleBigQueryLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
38656	return nil, false
38657}
38658
38659// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38660func (gbqls GoogleBigQueryLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
38661	return nil, false
38662}
38663
38664// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38665func (gbqls GoogleBigQueryLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
38666	return nil, false
38667}
38668
38669// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38670func (gbqls GoogleBigQueryLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
38671	return nil, false
38672}
38673
38674// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38675func (gbqls GoogleBigQueryLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
38676	return nil, false
38677}
38678
38679// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38680func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
38681	return nil, false
38682}
38683
38684// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38685func (gbqls GoogleBigQueryLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
38686	return nil, false
38687}
38688
38689// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38690func (gbqls GoogleBigQueryLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
38691	return nil, false
38692}
38693
38694// AsWebLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38695func (gbqls GoogleBigQueryLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
38696	return nil, false
38697}
38698
38699// AsODataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38700func (gbqls GoogleBigQueryLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
38701	return nil, false
38702}
38703
38704// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38705func (gbqls GoogleBigQueryLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
38706	return nil, false
38707}
38708
38709// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38710func (gbqls GoogleBigQueryLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
38711	return nil, false
38712}
38713
38714// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38715func (gbqls GoogleBigQueryLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
38716	return nil, false
38717}
38718
38719// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38720func (gbqls GoogleBigQueryLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
38721	return nil, false
38722}
38723
38724// AsDb2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38725func (gbqls GoogleBigQueryLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
38726	return nil, false
38727}
38728
38729// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38730func (gbqls GoogleBigQueryLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
38731	return nil, false
38732}
38733
38734// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38735func (gbqls GoogleBigQueryLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
38736	return nil, false
38737}
38738
38739// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38740func (gbqls GoogleBigQueryLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
38741	return nil, false
38742}
38743
38744// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38745func (gbqls GoogleBigQueryLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
38746	return nil, false
38747}
38748
38749// AsOracleLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38750func (gbqls GoogleBigQueryLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
38751	return nil, false
38752}
38753
38754// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38755func (gbqls GoogleBigQueryLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
38756	return nil, false
38757}
38758
38759// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38760func (gbqls GoogleBigQueryLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
38761	return nil, false
38762}
38763
38764// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38765func (gbqls GoogleBigQueryLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
38766	return nil, false
38767}
38768
38769// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38770func (gbqls GoogleBigQueryLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
38771	return nil, false
38772}
38773
38774// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38775func (gbqls GoogleBigQueryLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
38776	return nil, false
38777}
38778
38779// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38780func (gbqls GoogleBigQueryLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
38781	return nil, false
38782}
38783
38784// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38785func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
38786	return nil, false
38787}
38788
38789// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38790func (gbqls GoogleBigQueryLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
38791	return nil, false
38792}
38793
38794// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38795func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
38796	return nil, false
38797}
38798
38799// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38800func (gbqls GoogleBigQueryLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
38801	return nil, false
38802}
38803
38804// AsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38805func (gbqls GoogleBigQueryLinkedService) AsLinkedService() (*LinkedService, bool) {
38806	return nil, false
38807}
38808
38809// AsBasicLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
38810func (gbqls GoogleBigQueryLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
38811	return &gbqls, true
38812}
38813
38814// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedService struct.
38815func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error {
38816	var m map[string]*json.RawMessage
38817	err := json.Unmarshal(body, &m)
38818	if err != nil {
38819		return err
38820	}
38821	for k, v := range m {
38822		switch k {
38823		case "typeProperties":
38824			if v != nil {
38825				var googleBigQueryLinkedServiceTypeProperties GoogleBigQueryLinkedServiceTypeProperties
38826				err = json.Unmarshal(*v, &googleBigQueryLinkedServiceTypeProperties)
38827				if err != nil {
38828					return err
38829				}
38830				gbqls.GoogleBigQueryLinkedServiceTypeProperties = &googleBigQueryLinkedServiceTypeProperties
38831			}
38832		default:
38833			if v != nil {
38834				var additionalProperties interface{}
38835				err = json.Unmarshal(*v, &additionalProperties)
38836				if err != nil {
38837					return err
38838				}
38839				if gbqls.AdditionalProperties == nil {
38840					gbqls.AdditionalProperties = make(map[string]interface{})
38841				}
38842				gbqls.AdditionalProperties[k] = additionalProperties
38843			}
38844		case "connectVia":
38845			if v != nil {
38846				var connectVia IntegrationRuntimeReference
38847				err = json.Unmarshal(*v, &connectVia)
38848				if err != nil {
38849					return err
38850				}
38851				gbqls.ConnectVia = &connectVia
38852			}
38853		case "description":
38854			if v != nil {
38855				var description string
38856				err = json.Unmarshal(*v, &description)
38857				if err != nil {
38858					return err
38859				}
38860				gbqls.Description = &description
38861			}
38862		case "parameters":
38863			if v != nil {
38864				var parameters map[string]*ParameterSpecification
38865				err = json.Unmarshal(*v, &parameters)
38866				if err != nil {
38867					return err
38868				}
38869				gbqls.Parameters = parameters
38870			}
38871		case "annotations":
38872			if v != nil {
38873				var annotations []interface{}
38874				err = json.Unmarshal(*v, &annotations)
38875				if err != nil {
38876					return err
38877				}
38878				gbqls.Annotations = &annotations
38879			}
38880		case "type":
38881			if v != nil {
38882				var typeVar TypeBasicLinkedService
38883				err = json.Unmarshal(*v, &typeVar)
38884				if err != nil {
38885					return err
38886				}
38887				gbqls.Type = typeVar
38888			}
38889		}
38890	}
38891
38892	return nil
38893}
38894
38895// GoogleBigQueryLinkedServiceTypeProperties google BigQuery service linked service properties.
38896type GoogleBigQueryLinkedServiceTypeProperties struct {
38897	// Project - The default BigQuery project to query against.
38898	Project interface{} `json:"project,omitempty"`
38899	// AdditionalProjects - A comma-separated list of public BigQuery projects to access.
38900	AdditionalProjects interface{} `json:"additionalProjects,omitempty"`
38901	// 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.
38902	RequestGoogleDriveScope interface{} `json:"requestGoogleDriveScope,omitempty"`
38903	// AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'ServiceAuthentication', 'UserAuthentication'
38904	AuthenticationType GoogleBigQueryAuthenticationType `json:"authenticationType,omitempty"`
38905	// RefreshToken - The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication.
38906	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
38907	// ClientID - The client id of the google application used to acquire the refresh token.
38908	ClientID BasicSecretBase `json:"clientId,omitempty"`
38909	// ClientSecret - The client secret of the google application used to acquire the refresh token.
38910	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
38911	// Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.
38912	Email interface{} `json:"email,omitempty"`
38913	// 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.
38914	KeyFilePath interface{} `json:"keyFilePath,omitempty"`
38915	// 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.
38916	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
38917	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
38918	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
38919	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
38920	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
38921}
38922
38923// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedServiceTypeProperties struct.
38924func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
38925	var m map[string]*json.RawMessage
38926	err := json.Unmarshal(body, &m)
38927	if err != nil {
38928		return err
38929	}
38930	for k, v := range m {
38931		switch k {
38932		case "project":
38933			if v != nil {
38934				var project interface{}
38935				err = json.Unmarshal(*v, &project)
38936				if err != nil {
38937					return err
38938				}
38939				gbqlstp.Project = project
38940			}
38941		case "additionalProjects":
38942			if v != nil {
38943				var additionalProjects interface{}
38944				err = json.Unmarshal(*v, &additionalProjects)
38945				if err != nil {
38946					return err
38947				}
38948				gbqlstp.AdditionalProjects = additionalProjects
38949			}
38950		case "requestGoogleDriveScope":
38951			if v != nil {
38952				var requestGoogleDriveScope interface{}
38953				err = json.Unmarshal(*v, &requestGoogleDriveScope)
38954				if err != nil {
38955					return err
38956				}
38957				gbqlstp.RequestGoogleDriveScope = requestGoogleDriveScope
38958			}
38959		case "authenticationType":
38960			if v != nil {
38961				var authenticationType GoogleBigQueryAuthenticationType
38962				err = json.Unmarshal(*v, &authenticationType)
38963				if err != nil {
38964					return err
38965				}
38966				gbqlstp.AuthenticationType = authenticationType
38967			}
38968		case "refreshToken":
38969			if v != nil {
38970				refreshToken, err := unmarshalBasicSecretBase(*v)
38971				if err != nil {
38972					return err
38973				}
38974				gbqlstp.RefreshToken = refreshToken
38975			}
38976		case "clientId":
38977			if v != nil {
38978				clientID, err := unmarshalBasicSecretBase(*v)
38979				if err != nil {
38980					return err
38981				}
38982				gbqlstp.ClientID = clientID
38983			}
38984		case "clientSecret":
38985			if v != nil {
38986				clientSecret, err := unmarshalBasicSecretBase(*v)
38987				if err != nil {
38988					return err
38989				}
38990				gbqlstp.ClientSecret = clientSecret
38991			}
38992		case "email":
38993			if v != nil {
38994				var email interface{}
38995				err = json.Unmarshal(*v, &email)
38996				if err != nil {
38997					return err
38998				}
38999				gbqlstp.Email = email
39000			}
39001		case "keyFilePath":
39002			if v != nil {
39003				var keyFilePath interface{}
39004				err = json.Unmarshal(*v, &keyFilePath)
39005				if err != nil {
39006					return err
39007				}
39008				gbqlstp.KeyFilePath = keyFilePath
39009			}
39010		case "trustedCertPath":
39011			if v != nil {
39012				var trustedCertPath interface{}
39013				err = json.Unmarshal(*v, &trustedCertPath)
39014				if err != nil {
39015					return err
39016				}
39017				gbqlstp.TrustedCertPath = trustedCertPath
39018			}
39019		case "useSystemTrustStore":
39020			if v != nil {
39021				var useSystemTrustStore interface{}
39022				err = json.Unmarshal(*v, &useSystemTrustStore)
39023				if err != nil {
39024					return err
39025				}
39026				gbqlstp.UseSystemTrustStore = useSystemTrustStore
39027			}
39028		case "encryptedCredential":
39029			if v != nil {
39030				var encryptedCredential interface{}
39031				err = json.Unmarshal(*v, &encryptedCredential)
39032				if err != nil {
39033					return err
39034				}
39035				gbqlstp.EncryptedCredential = encryptedCredential
39036			}
39037		}
39038	}
39039
39040	return nil
39041}
39042
39043// GoogleBigQueryObjectDataset google BigQuery service dataset.
39044type GoogleBigQueryObjectDataset struct {
39045	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
39046	AdditionalProperties map[string]interface{} `json:""`
39047	// Description - Dataset description.
39048	Description *string `json:"description,omitempty"`
39049	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
39050	Structure interface{} `json:"structure,omitempty"`
39051	// LinkedServiceName - Linked service reference.
39052	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
39053	// Parameters - Parameters for dataset.
39054	Parameters map[string]*ParameterSpecification `json:"parameters"`
39055	// Annotations - List of tags that can be used for describing the Dataset.
39056	Annotations *[]interface{} `json:"annotations,omitempty"`
39057	// 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'
39058	Type TypeBasicDataset `json:"type,omitempty"`
39059}
39060
39061// MarshalJSON is the custom marshaler for GoogleBigQueryObjectDataset.
39062func (gbqod GoogleBigQueryObjectDataset) MarshalJSON() ([]byte, error) {
39063	gbqod.Type = TypeGoogleBigQueryObject
39064	objectMap := make(map[string]interface{})
39065	if gbqod.Description != nil {
39066		objectMap["description"] = gbqod.Description
39067	}
39068	if gbqod.Structure != nil {
39069		objectMap["structure"] = gbqod.Structure
39070	}
39071	if gbqod.LinkedServiceName != nil {
39072		objectMap["linkedServiceName"] = gbqod.LinkedServiceName
39073	}
39074	if gbqod.Parameters != nil {
39075		objectMap["parameters"] = gbqod.Parameters
39076	}
39077	if gbqod.Annotations != nil {
39078		objectMap["annotations"] = gbqod.Annotations
39079	}
39080	if gbqod.Type != "" {
39081		objectMap["type"] = gbqod.Type
39082	}
39083	for k, v := range gbqod.AdditionalProperties {
39084		objectMap[k] = v
39085	}
39086	return json.Marshal(objectMap)
39087}
39088
39089// AsResponsysObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39090func (gbqod GoogleBigQueryObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
39091	return nil, false
39092}
39093
39094// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39095func (gbqod GoogleBigQueryObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
39096	return nil, false
39097}
39098
39099// AsVerticaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39100func (gbqod GoogleBigQueryObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
39101	return nil, false
39102}
39103
39104// AsNetezzaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39105func (gbqod GoogleBigQueryObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
39106	return nil, false
39107}
39108
39109// AsZohoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39110func (gbqod GoogleBigQueryObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
39111	return nil, false
39112}
39113
39114// AsXeroObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39115func (gbqod GoogleBigQueryObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
39116	return nil, false
39117}
39118
39119// AsSquareObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39120func (gbqod GoogleBigQueryObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
39121	return nil, false
39122}
39123
39124// AsSparkObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39125func (gbqod GoogleBigQueryObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
39126	return nil, false
39127}
39128
39129// AsShopifyObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39130func (gbqod GoogleBigQueryObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
39131	return nil, false
39132}
39133
39134// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39135func (gbqod GoogleBigQueryObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
39136	return nil, false
39137}
39138
39139// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39140func (gbqod GoogleBigQueryObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
39141	return nil, false
39142}
39143
39144// AsPrestoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39145func (gbqod GoogleBigQueryObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
39146	return nil, false
39147}
39148
39149// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39150func (gbqod GoogleBigQueryObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
39151	return nil, false
39152}
39153
39154// AsPaypalObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39155func (gbqod GoogleBigQueryObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
39156	return nil, false
39157}
39158
39159// AsMarketoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39160func (gbqod GoogleBigQueryObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
39161	return nil, false
39162}
39163
39164// AsMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39165func (gbqod GoogleBigQueryObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
39166	return nil, false
39167}
39168
39169// AsMagentoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39170func (gbqod GoogleBigQueryObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
39171	return nil, false
39172}
39173
39174// AsJiraObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39175func (gbqod GoogleBigQueryObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
39176	return nil, false
39177}
39178
39179// AsImpalaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39180func (gbqod GoogleBigQueryObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
39181	return nil, false
39182}
39183
39184// AsHubspotObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39185func (gbqod GoogleBigQueryObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
39186	return nil, false
39187}
39188
39189// AsHiveObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39190func (gbqod GoogleBigQueryObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
39191	return nil, false
39192}
39193
39194// AsHBaseObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39195func (gbqod GoogleBigQueryObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
39196	return nil, false
39197}
39198
39199// AsGreenplumTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39200func (gbqod GoogleBigQueryObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
39201	return nil, false
39202}
39203
39204// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39205func (gbqod GoogleBigQueryObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
39206	return &gbqod, true
39207}
39208
39209// AsEloquaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39210func (gbqod GoogleBigQueryObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
39211	return nil, false
39212}
39213
39214// AsDrillTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39215func (gbqod GoogleBigQueryObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
39216	return nil, false
39217}
39218
39219// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39220func (gbqod GoogleBigQueryObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
39221	return nil, false
39222}
39223
39224// AsConcurObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39225func (gbqod GoogleBigQueryObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
39226	return nil, false
39227}
39228
39229// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39230func (gbqod GoogleBigQueryObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
39231	return nil, false
39232}
39233
39234// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39235func (gbqod GoogleBigQueryObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
39236	return nil, false
39237}
39238
39239// AsHTTPDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39240func (gbqod GoogleBigQueryObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
39241	return nil, false
39242}
39243
39244// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39245func (gbqod GoogleBigQueryObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
39246	return nil, false
39247}
39248
39249// AsWebTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39250func (gbqod GoogleBigQueryObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
39251	return nil, false
39252}
39253
39254// AsSQLServerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39255func (gbqod GoogleBigQueryObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
39256	return nil, false
39257}
39258
39259// AsSapEccResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39260func (gbqod GoogleBigQueryObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
39261	return nil, false
39262}
39263
39264// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39265func (gbqod GoogleBigQueryObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
39266	return nil, false
39267}
39268
39269// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39270func (gbqod GoogleBigQueryObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
39271	return nil, false
39272}
39273
39274// AsRelationalTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39275func (gbqod GoogleBigQueryObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
39276	return nil, false
39277}
39278
39279// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39280func (gbqod GoogleBigQueryObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
39281	return nil, false
39282}
39283
39284// AsOracleTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39285func (gbqod GoogleBigQueryObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
39286	return nil, false
39287}
39288
39289// AsODataResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39290func (gbqod GoogleBigQueryObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
39291	return nil, false
39292}
39293
39294// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39295func (gbqod GoogleBigQueryObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
39296	return nil, false
39297}
39298
39299// AsFileShareDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39300func (gbqod GoogleBigQueryObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
39301	return nil, false
39302}
39303
39304// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39305func (gbqod GoogleBigQueryObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
39306	return nil, false
39307}
39308
39309// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39310func (gbqod GoogleBigQueryObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
39311	return nil, false
39312}
39313
39314// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39315func (gbqod GoogleBigQueryObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
39316	return nil, false
39317}
39318
39319// AsCustomDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39320func (gbqod GoogleBigQueryObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
39321	return nil, false
39322}
39323
39324// AsCassandraTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39325func (gbqod GoogleBigQueryObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
39326	return nil, false
39327}
39328
39329// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39330func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
39331	return nil, false
39332}
39333
39334// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39335func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
39336	return nil, false
39337}
39338
39339// AsAzureTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39340func (gbqod GoogleBigQueryObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
39341	return nil, false
39342}
39343
39344// AsAzureBlobDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39345func (gbqod GoogleBigQueryObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
39346	return nil, false
39347}
39348
39349// AsAmazonS3Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39350func (gbqod GoogleBigQueryObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
39351	return nil, false
39352}
39353
39354// AsDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39355func (gbqod GoogleBigQueryObjectDataset) AsDataset() (*Dataset, bool) {
39356	return nil, false
39357}
39358
39359// AsBasicDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
39360func (gbqod GoogleBigQueryObjectDataset) AsBasicDataset() (BasicDataset, bool) {
39361	return &gbqod, true
39362}
39363
39364// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryObjectDataset struct.
39365func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error {
39366	var m map[string]*json.RawMessage
39367	err := json.Unmarshal(body, &m)
39368	if err != nil {
39369		return err
39370	}
39371	for k, v := range m {
39372		switch k {
39373		default:
39374			if v != nil {
39375				var additionalProperties interface{}
39376				err = json.Unmarshal(*v, &additionalProperties)
39377				if err != nil {
39378					return err
39379				}
39380				if gbqod.AdditionalProperties == nil {
39381					gbqod.AdditionalProperties = make(map[string]interface{})
39382				}
39383				gbqod.AdditionalProperties[k] = additionalProperties
39384			}
39385		case "description":
39386			if v != nil {
39387				var description string
39388				err = json.Unmarshal(*v, &description)
39389				if err != nil {
39390					return err
39391				}
39392				gbqod.Description = &description
39393			}
39394		case "structure":
39395			if v != nil {
39396				var structure interface{}
39397				err = json.Unmarshal(*v, &structure)
39398				if err != nil {
39399					return err
39400				}
39401				gbqod.Structure = structure
39402			}
39403		case "linkedServiceName":
39404			if v != nil {
39405				var linkedServiceName LinkedServiceReference
39406				err = json.Unmarshal(*v, &linkedServiceName)
39407				if err != nil {
39408					return err
39409				}
39410				gbqod.LinkedServiceName = &linkedServiceName
39411			}
39412		case "parameters":
39413			if v != nil {
39414				var parameters map[string]*ParameterSpecification
39415				err = json.Unmarshal(*v, &parameters)
39416				if err != nil {
39417					return err
39418				}
39419				gbqod.Parameters = parameters
39420			}
39421		case "annotations":
39422			if v != nil {
39423				var annotations []interface{}
39424				err = json.Unmarshal(*v, &annotations)
39425				if err != nil {
39426					return err
39427				}
39428				gbqod.Annotations = &annotations
39429			}
39430		case "type":
39431			if v != nil {
39432				var typeVar TypeBasicDataset
39433				err = json.Unmarshal(*v, &typeVar)
39434				if err != nil {
39435					return err
39436				}
39437				gbqod.Type = typeVar
39438			}
39439		}
39440	}
39441
39442	return nil
39443}
39444
39445// GoogleBigQuerySource a copy activity Google BigQuery service source.
39446type GoogleBigQuerySource struct {
39447	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
39448	Query interface{} `json:"query,omitempty"`
39449	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
39450	AdditionalProperties map[string]interface{} `json:""`
39451	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
39452	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
39453	// 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])).
39454	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
39455	// 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'
39456	Type TypeBasicCopySource `json:"type,omitempty"`
39457}
39458
39459// MarshalJSON is the custom marshaler for GoogleBigQuerySource.
39460func (gbqs GoogleBigQuerySource) MarshalJSON() ([]byte, error) {
39461	gbqs.Type = TypeGoogleBigQuerySource
39462	objectMap := make(map[string]interface{})
39463	if gbqs.Query != nil {
39464		objectMap["query"] = gbqs.Query
39465	}
39466	if gbqs.SourceRetryCount != nil {
39467		objectMap["sourceRetryCount"] = gbqs.SourceRetryCount
39468	}
39469	if gbqs.SourceRetryWait != nil {
39470		objectMap["sourceRetryWait"] = gbqs.SourceRetryWait
39471	}
39472	if gbqs.Type != "" {
39473		objectMap["type"] = gbqs.Type
39474	}
39475	for k, v := range gbqs.AdditionalProperties {
39476		objectMap[k] = v
39477	}
39478	return json.Marshal(objectMap)
39479}
39480
39481// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleBigQuerySource.
39482func (gbqs GoogleBigQuerySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
39483	return nil, false
39484}
39485
39486// AsResponsysSource is the BasicCopySource implementation for GoogleBigQuerySource.
39487func (gbqs GoogleBigQuerySource) AsResponsysSource() (*ResponsysSource, bool) {
39488	return nil, false
39489}
39490
39491// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleBigQuerySource.
39492func (gbqs GoogleBigQuerySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
39493	return nil, false
39494}
39495
39496// AsVerticaSource is the BasicCopySource implementation for GoogleBigQuerySource.
39497func (gbqs GoogleBigQuerySource) AsVerticaSource() (*VerticaSource, bool) {
39498	return nil, false
39499}
39500
39501// AsNetezzaSource is the BasicCopySource implementation for GoogleBigQuerySource.
39502func (gbqs GoogleBigQuerySource) AsNetezzaSource() (*NetezzaSource, bool) {
39503	return nil, false
39504}
39505
39506// AsZohoSource is the BasicCopySource implementation for GoogleBigQuerySource.
39507func (gbqs GoogleBigQuerySource) AsZohoSource() (*ZohoSource, bool) {
39508	return nil, false
39509}
39510
39511// AsXeroSource is the BasicCopySource implementation for GoogleBigQuerySource.
39512func (gbqs GoogleBigQuerySource) AsXeroSource() (*XeroSource, bool) {
39513	return nil, false
39514}
39515
39516// AsSquareSource is the BasicCopySource implementation for GoogleBigQuerySource.
39517func (gbqs GoogleBigQuerySource) AsSquareSource() (*SquareSource, bool) {
39518	return nil, false
39519}
39520
39521// AsSparkSource is the BasicCopySource implementation for GoogleBigQuerySource.
39522func (gbqs GoogleBigQuerySource) AsSparkSource() (*SparkSource, bool) {
39523	return nil, false
39524}
39525
39526// AsShopifySource is the BasicCopySource implementation for GoogleBigQuerySource.
39527func (gbqs GoogleBigQuerySource) AsShopifySource() (*ShopifySource, bool) {
39528	return nil, false
39529}
39530
39531// AsServiceNowSource is the BasicCopySource implementation for GoogleBigQuerySource.
39532func (gbqs GoogleBigQuerySource) AsServiceNowSource() (*ServiceNowSource, bool) {
39533	return nil, false
39534}
39535
39536// AsQuickBooksSource is the BasicCopySource implementation for GoogleBigQuerySource.
39537func (gbqs GoogleBigQuerySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
39538	return nil, false
39539}
39540
39541// AsPrestoSource is the BasicCopySource implementation for GoogleBigQuerySource.
39542func (gbqs GoogleBigQuerySource) AsPrestoSource() (*PrestoSource, bool) {
39543	return nil, false
39544}
39545
39546// AsPhoenixSource is the BasicCopySource implementation for GoogleBigQuerySource.
39547func (gbqs GoogleBigQuerySource) AsPhoenixSource() (*PhoenixSource, bool) {
39548	return nil, false
39549}
39550
39551// AsPaypalSource is the BasicCopySource implementation for GoogleBigQuerySource.
39552func (gbqs GoogleBigQuerySource) AsPaypalSource() (*PaypalSource, bool) {
39553	return nil, false
39554}
39555
39556// AsMarketoSource is the BasicCopySource implementation for GoogleBigQuerySource.
39557func (gbqs GoogleBigQuerySource) AsMarketoSource() (*MarketoSource, bool) {
39558	return nil, false
39559}
39560
39561// AsMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource.
39562func (gbqs GoogleBigQuerySource) AsMariaDBSource() (*MariaDBSource, bool) {
39563	return nil, false
39564}
39565
39566// AsMagentoSource is the BasicCopySource implementation for GoogleBigQuerySource.
39567func (gbqs GoogleBigQuerySource) AsMagentoSource() (*MagentoSource, bool) {
39568	return nil, false
39569}
39570
39571// AsJiraSource is the BasicCopySource implementation for GoogleBigQuerySource.
39572func (gbqs GoogleBigQuerySource) AsJiraSource() (*JiraSource, bool) {
39573	return nil, false
39574}
39575
39576// AsImpalaSource is the BasicCopySource implementation for GoogleBigQuerySource.
39577func (gbqs GoogleBigQuerySource) AsImpalaSource() (*ImpalaSource, bool) {
39578	return nil, false
39579}
39580
39581// AsHubspotSource is the BasicCopySource implementation for GoogleBigQuerySource.
39582func (gbqs GoogleBigQuerySource) AsHubspotSource() (*HubspotSource, bool) {
39583	return nil, false
39584}
39585
39586// AsHiveSource is the BasicCopySource implementation for GoogleBigQuerySource.
39587func (gbqs GoogleBigQuerySource) AsHiveSource() (*HiveSource, bool) {
39588	return nil, false
39589}
39590
39591// AsHBaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
39592func (gbqs GoogleBigQuerySource) AsHBaseSource() (*HBaseSource, bool) {
39593	return nil, false
39594}
39595
39596// AsGreenplumSource is the BasicCopySource implementation for GoogleBigQuerySource.
39597func (gbqs GoogleBigQuerySource) AsGreenplumSource() (*GreenplumSource, bool) {
39598	return nil, false
39599}
39600
39601// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleBigQuerySource.
39602func (gbqs GoogleBigQuerySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
39603	return &gbqs, true
39604}
39605
39606// AsEloquaSource is the BasicCopySource implementation for GoogleBigQuerySource.
39607func (gbqs GoogleBigQuerySource) AsEloquaSource() (*EloquaSource, bool) {
39608	return nil, false
39609}
39610
39611// AsDrillSource is the BasicCopySource implementation for GoogleBigQuerySource.
39612func (gbqs GoogleBigQuerySource) AsDrillSource() (*DrillSource, bool) {
39613	return nil, false
39614}
39615
39616// AsCouchbaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
39617func (gbqs GoogleBigQuerySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
39618	return nil, false
39619}
39620
39621// AsConcurSource is the BasicCopySource implementation for GoogleBigQuerySource.
39622func (gbqs GoogleBigQuerySource) AsConcurSource() (*ConcurSource, bool) {
39623	return nil, false
39624}
39625
39626// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
39627func (gbqs GoogleBigQuerySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
39628	return nil, false
39629}
39630
39631// AsAmazonMWSSource is the BasicCopySource implementation for GoogleBigQuerySource.
39632func (gbqs GoogleBigQuerySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
39633	return nil, false
39634}
39635
39636// AsHTTPSource is the BasicCopySource implementation for GoogleBigQuerySource.
39637func (gbqs GoogleBigQuerySource) AsHTTPSource() (*HTTPSource, bool) {
39638	return nil, false
39639}
39640
39641// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleBigQuerySource.
39642func (gbqs GoogleBigQuerySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
39643	return nil, false
39644}
39645
39646// AsMongoDbSource is the BasicCopySource implementation for GoogleBigQuerySource.
39647func (gbqs GoogleBigQuerySource) AsMongoDbSource() (*MongoDbSource, bool) {
39648	return nil, false
39649}
39650
39651// AsCassandraSource is the BasicCopySource implementation for GoogleBigQuerySource.
39652func (gbqs GoogleBigQuerySource) AsCassandraSource() (*CassandraSource, bool) {
39653	return nil, false
39654}
39655
39656// AsWebSource is the BasicCopySource implementation for GoogleBigQuerySource.
39657func (gbqs GoogleBigQuerySource) AsWebSource() (*WebSource, bool) {
39658	return nil, false
39659}
39660
39661// AsOracleSource is the BasicCopySource implementation for GoogleBigQuerySource.
39662func (gbqs GoogleBigQuerySource) AsOracleSource() (*OracleSource, bool) {
39663	return nil, false
39664}
39665
39666// AsAzureMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
39667func (gbqs GoogleBigQuerySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
39668	return nil, false
39669}
39670
39671// AsHdfsSource is the BasicCopySource implementation for GoogleBigQuerySource.
39672func (gbqs GoogleBigQuerySource) AsHdfsSource() (*HdfsSource, bool) {
39673	return nil, false
39674}
39675
39676// AsFileSystemSource is the BasicCopySource implementation for GoogleBigQuerySource.
39677func (gbqs GoogleBigQuerySource) AsFileSystemSource() (*FileSystemSource, bool) {
39678	return nil, false
39679}
39680
39681// AsSQLDWSource is the BasicCopySource implementation for GoogleBigQuerySource.
39682func (gbqs GoogleBigQuerySource) AsSQLDWSource() (*SQLDWSource, bool) {
39683	return nil, false
39684}
39685
39686// AsSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
39687func (gbqs GoogleBigQuerySource) AsSQLSource() (*SQLSource, bool) {
39688	return nil, false
39689}
39690
39691// AsSapEccSource is the BasicCopySource implementation for GoogleBigQuerySource.
39692func (gbqs GoogleBigQuerySource) AsSapEccSource() (*SapEccSource, bool) {
39693	return nil, false
39694}
39695
39696// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleBigQuerySource.
39697func (gbqs GoogleBigQuerySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
39698	return nil, false
39699}
39700
39701// AsSalesforceSource is the BasicCopySource implementation for GoogleBigQuerySource.
39702func (gbqs GoogleBigQuerySource) AsSalesforceSource() (*SalesforceSource, bool) {
39703	return nil, false
39704}
39705
39706// AsRelationalSource is the BasicCopySource implementation for GoogleBigQuerySource.
39707func (gbqs GoogleBigQuerySource) AsRelationalSource() (*RelationalSource, bool) {
39708	return nil, false
39709}
39710
39711// AsDynamicsSource is the BasicCopySource implementation for GoogleBigQuerySource.
39712func (gbqs GoogleBigQuerySource) AsDynamicsSource() (*DynamicsSource, bool) {
39713	return nil, false
39714}
39715
39716// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleBigQuerySource.
39717func (gbqs GoogleBigQuerySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
39718	return nil, false
39719}
39720
39721// AsBlobSource is the BasicCopySource implementation for GoogleBigQuerySource.
39722func (gbqs GoogleBigQuerySource) AsBlobSource() (*BlobSource, bool) {
39723	return nil, false
39724}
39725
39726// AsAzureTableSource is the BasicCopySource implementation for GoogleBigQuerySource.
39727func (gbqs GoogleBigQuerySource) AsAzureTableSource() (*AzureTableSource, bool) {
39728	return nil, false
39729}
39730
39731// AsCopySource is the BasicCopySource implementation for GoogleBigQuerySource.
39732func (gbqs GoogleBigQuerySource) AsCopySource() (*CopySource, bool) {
39733	return nil, false
39734}
39735
39736// AsBasicCopySource is the BasicCopySource implementation for GoogleBigQuerySource.
39737func (gbqs GoogleBigQuerySource) AsBasicCopySource() (BasicCopySource, bool) {
39738	return &gbqs, true
39739}
39740
39741// UnmarshalJSON is the custom unmarshaler for GoogleBigQuerySource struct.
39742func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error {
39743	var m map[string]*json.RawMessage
39744	err := json.Unmarshal(body, &m)
39745	if err != nil {
39746		return err
39747	}
39748	for k, v := range m {
39749		switch k {
39750		case "query":
39751			if v != nil {
39752				var query interface{}
39753				err = json.Unmarshal(*v, &query)
39754				if err != nil {
39755					return err
39756				}
39757				gbqs.Query = query
39758			}
39759		default:
39760			if v != nil {
39761				var additionalProperties interface{}
39762				err = json.Unmarshal(*v, &additionalProperties)
39763				if err != nil {
39764					return err
39765				}
39766				if gbqs.AdditionalProperties == nil {
39767					gbqs.AdditionalProperties = make(map[string]interface{})
39768				}
39769				gbqs.AdditionalProperties[k] = additionalProperties
39770			}
39771		case "sourceRetryCount":
39772			if v != nil {
39773				var sourceRetryCount interface{}
39774				err = json.Unmarshal(*v, &sourceRetryCount)
39775				if err != nil {
39776					return err
39777				}
39778				gbqs.SourceRetryCount = sourceRetryCount
39779			}
39780		case "sourceRetryWait":
39781			if v != nil {
39782				var sourceRetryWait interface{}
39783				err = json.Unmarshal(*v, &sourceRetryWait)
39784				if err != nil {
39785					return err
39786				}
39787				gbqs.SourceRetryWait = sourceRetryWait
39788			}
39789		case "type":
39790			if v != nil {
39791				var typeVar TypeBasicCopySource
39792				err = json.Unmarshal(*v, &typeVar)
39793				if err != nil {
39794					return err
39795				}
39796				gbqs.Type = typeVar
39797			}
39798		}
39799	}
39800
39801	return nil
39802}
39803
39804// GreenplumLinkedService greenplum Database linked service.
39805type GreenplumLinkedService struct {
39806	// GreenplumLinkedServiceTypeProperties - Greenplum Database linked service properties.
39807	*GreenplumLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
39808	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
39809	AdditionalProperties map[string]interface{} `json:""`
39810	// ConnectVia - The integration runtime reference.
39811	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
39812	// Description - Linked service description.
39813	Description *string `json:"description,omitempty"`
39814	// Parameters - Parameters for linked service.
39815	Parameters map[string]*ParameterSpecification `json:"parameters"`
39816	// Annotations - List of tags that can be used for describing the Dataset.
39817	Annotations *[]interface{} `json:"annotations,omitempty"`
39818	// 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'
39819	Type TypeBasicLinkedService `json:"type,omitempty"`
39820}
39821
39822// MarshalJSON is the custom marshaler for GreenplumLinkedService.
39823func (gls GreenplumLinkedService) MarshalJSON() ([]byte, error) {
39824	gls.Type = TypeGreenplum
39825	objectMap := make(map[string]interface{})
39826	if gls.GreenplumLinkedServiceTypeProperties != nil {
39827		objectMap["typeProperties"] = gls.GreenplumLinkedServiceTypeProperties
39828	}
39829	if gls.ConnectVia != nil {
39830		objectMap["connectVia"] = gls.ConnectVia
39831	}
39832	if gls.Description != nil {
39833		objectMap["description"] = gls.Description
39834	}
39835	if gls.Parameters != nil {
39836		objectMap["parameters"] = gls.Parameters
39837	}
39838	if gls.Annotations != nil {
39839		objectMap["annotations"] = gls.Annotations
39840	}
39841	if gls.Type != "" {
39842		objectMap["type"] = gls.Type
39843	}
39844	for k, v := range gls.AdditionalProperties {
39845		objectMap[k] = v
39846	}
39847	return json.Marshal(objectMap)
39848}
39849
39850// AsResponsysLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39851func (gls GreenplumLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
39852	return nil, false
39853}
39854
39855// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39856func (gls GreenplumLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
39857	return nil, false
39858}
39859
39860// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39861func (gls GreenplumLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
39862	return nil, false
39863}
39864
39865// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39866func (gls GreenplumLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
39867	return nil, false
39868}
39869
39870// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39871func (gls GreenplumLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
39872	return nil, false
39873}
39874
39875// AsNetezzaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39876func (gls GreenplumLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
39877	return nil, false
39878}
39879
39880// AsVerticaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39881func (gls GreenplumLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
39882	return nil, false
39883}
39884
39885// AsZohoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39886func (gls GreenplumLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
39887	return nil, false
39888}
39889
39890// AsXeroLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39891func (gls GreenplumLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
39892	return nil, false
39893}
39894
39895// AsSquareLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39896func (gls GreenplumLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
39897	return nil, false
39898}
39899
39900// AsSparkLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39901func (gls GreenplumLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
39902	return nil, false
39903}
39904
39905// AsShopifyLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39906func (gls GreenplumLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
39907	return nil, false
39908}
39909
39910// AsServiceNowLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39911func (gls GreenplumLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
39912	return nil, false
39913}
39914
39915// AsQuickBooksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39916func (gls GreenplumLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
39917	return nil, false
39918}
39919
39920// AsPrestoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39921func (gls GreenplumLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
39922	return nil, false
39923}
39924
39925// AsPhoenixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39926func (gls GreenplumLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
39927	return nil, false
39928}
39929
39930// AsPaypalLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39931func (gls GreenplumLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
39932	return nil, false
39933}
39934
39935// AsMarketoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39936func (gls GreenplumLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
39937	return nil, false
39938}
39939
39940// AsMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39941func (gls GreenplumLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
39942	return nil, false
39943}
39944
39945// AsMagentoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39946func (gls GreenplumLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
39947	return nil, false
39948}
39949
39950// AsJiraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39951func (gls GreenplumLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
39952	return nil, false
39953}
39954
39955// AsImpalaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39956func (gls GreenplumLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
39957	return nil, false
39958}
39959
39960// AsHubspotLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39961func (gls GreenplumLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
39962	return nil, false
39963}
39964
39965// AsHiveLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39966func (gls GreenplumLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
39967	return nil, false
39968}
39969
39970// AsHBaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39971func (gls GreenplumLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
39972	return nil, false
39973}
39974
39975// AsGreenplumLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39976func (gls GreenplumLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
39977	return &gls, true
39978}
39979
39980// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39981func (gls GreenplumLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
39982	return nil, false
39983}
39984
39985// AsEloquaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39986func (gls GreenplumLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
39987	return nil, false
39988}
39989
39990// AsDrillLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39991func (gls GreenplumLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
39992	return nil, false
39993}
39994
39995// AsCouchbaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
39996func (gls GreenplumLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
39997	return nil, false
39998}
39999
40000// AsConcurLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40001func (gls GreenplumLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
40002	return nil, false
40003}
40004
40005// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40006func (gls GreenplumLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
40007	return nil, false
40008}
40009
40010// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40011func (gls GreenplumLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
40012	return nil, false
40013}
40014
40015// AsSapHanaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40016func (gls GreenplumLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
40017	return nil, false
40018}
40019
40020// AsSapBWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40021func (gls GreenplumLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
40022	return nil, false
40023}
40024
40025// AsSftpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40026func (gls GreenplumLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
40027	return nil, false
40028}
40029
40030// AsFtpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40031func (gls GreenplumLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
40032	return nil, false
40033}
40034
40035// AsHTTPLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40036func (gls GreenplumLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
40037	return nil, false
40038}
40039
40040// AsAzureSearchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40041func (gls GreenplumLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
40042	return nil, false
40043}
40044
40045// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40046func (gls GreenplumLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
40047	return nil, false
40048}
40049
40050// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40051func (gls GreenplumLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
40052	return nil, false
40053}
40054
40055// AsAmazonS3LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40056func (gls GreenplumLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
40057	return nil, false
40058}
40059
40060// AsSapEccLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40061func (gls GreenplumLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
40062	return nil, false
40063}
40064
40065// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40066func (gls GreenplumLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
40067	return nil, false
40068}
40069
40070// AsSalesforceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40071func (gls GreenplumLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
40072	return nil, false
40073}
40074
40075// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40076func (gls GreenplumLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
40077	return nil, false
40078}
40079
40080// AsMongoDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40081func (gls GreenplumLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
40082	return nil, false
40083}
40084
40085// AsCassandraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40086func (gls GreenplumLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
40087	return nil, false
40088}
40089
40090// AsWebLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40091func (gls GreenplumLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
40092	return nil, false
40093}
40094
40095// AsODataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40096func (gls GreenplumLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
40097	return nil, false
40098}
40099
40100// AsHdfsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40101func (gls GreenplumLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
40102	return nil, false
40103}
40104
40105// AsOdbcLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40106func (gls GreenplumLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
40107	return nil, false
40108}
40109
40110// AsAzureMLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40111func (gls GreenplumLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
40112	return nil, false
40113}
40114
40115// AsTeradataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40116func (gls GreenplumLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
40117	return nil, false
40118}
40119
40120// AsDb2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40121func (gls GreenplumLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
40122	return nil, false
40123}
40124
40125// AsSybaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40126func (gls GreenplumLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
40127	return nil, false
40128}
40129
40130// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40131func (gls GreenplumLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
40132	return nil, false
40133}
40134
40135// AsMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40136func (gls GreenplumLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
40137	return nil, false
40138}
40139
40140// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40141func (gls GreenplumLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
40142	return nil, false
40143}
40144
40145// AsOracleLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40146func (gls GreenplumLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
40147	return nil, false
40148}
40149
40150// AsFileServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40151func (gls GreenplumLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
40152	return nil, false
40153}
40154
40155// AsHDInsightLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40156func (gls GreenplumLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
40157	return nil, false
40158}
40159
40160// AsDynamicsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40161func (gls GreenplumLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
40162	return nil, false
40163}
40164
40165// AsCosmosDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40166func (gls GreenplumLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
40167	return nil, false
40168}
40169
40170// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40171func (gls GreenplumLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
40172	return nil, false
40173}
40174
40175// AsAzureBatchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40176func (gls GreenplumLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
40177	return nil, false
40178}
40179
40180// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40181func (gls GreenplumLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
40182	return nil, false
40183}
40184
40185// AsSQLServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40186func (gls GreenplumLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
40187	return nil, false
40188}
40189
40190// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40191func (gls GreenplumLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
40192	return nil, false
40193}
40194
40195// AsAzureStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40196func (gls GreenplumLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
40197	return nil, false
40198}
40199
40200// AsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40201func (gls GreenplumLinkedService) AsLinkedService() (*LinkedService, bool) {
40202	return nil, false
40203}
40204
40205// AsBasicLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
40206func (gls GreenplumLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
40207	return &gls, true
40208}
40209
40210// UnmarshalJSON is the custom unmarshaler for GreenplumLinkedService struct.
40211func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error {
40212	var m map[string]*json.RawMessage
40213	err := json.Unmarshal(body, &m)
40214	if err != nil {
40215		return err
40216	}
40217	for k, v := range m {
40218		switch k {
40219		case "typeProperties":
40220			if v != nil {
40221				var greenplumLinkedServiceTypeProperties GreenplumLinkedServiceTypeProperties
40222				err = json.Unmarshal(*v, &greenplumLinkedServiceTypeProperties)
40223				if err != nil {
40224					return err
40225				}
40226				gls.GreenplumLinkedServiceTypeProperties = &greenplumLinkedServiceTypeProperties
40227			}
40228		default:
40229			if v != nil {
40230				var additionalProperties interface{}
40231				err = json.Unmarshal(*v, &additionalProperties)
40232				if err != nil {
40233					return err
40234				}
40235				if gls.AdditionalProperties == nil {
40236					gls.AdditionalProperties = make(map[string]interface{})
40237				}
40238				gls.AdditionalProperties[k] = additionalProperties
40239			}
40240		case "connectVia":
40241			if v != nil {
40242				var connectVia IntegrationRuntimeReference
40243				err = json.Unmarshal(*v, &connectVia)
40244				if err != nil {
40245					return err
40246				}
40247				gls.ConnectVia = &connectVia
40248			}
40249		case "description":
40250			if v != nil {
40251				var description string
40252				err = json.Unmarshal(*v, &description)
40253				if err != nil {
40254					return err
40255				}
40256				gls.Description = &description
40257			}
40258		case "parameters":
40259			if v != nil {
40260				var parameters map[string]*ParameterSpecification
40261				err = json.Unmarshal(*v, &parameters)
40262				if err != nil {
40263					return err
40264				}
40265				gls.Parameters = parameters
40266			}
40267		case "annotations":
40268			if v != nil {
40269				var annotations []interface{}
40270				err = json.Unmarshal(*v, &annotations)
40271				if err != nil {
40272					return err
40273				}
40274				gls.Annotations = &annotations
40275			}
40276		case "type":
40277			if v != nil {
40278				var typeVar TypeBasicLinkedService
40279				err = json.Unmarshal(*v, &typeVar)
40280				if err != nil {
40281					return err
40282				}
40283				gls.Type = typeVar
40284			}
40285		}
40286	}
40287
40288	return nil
40289}
40290
40291// GreenplumLinkedServiceTypeProperties greenplum Database linked service properties.
40292type GreenplumLinkedServiceTypeProperties struct {
40293	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
40294	ConnectionString interface{} `json:"connectionString,omitempty"`
40295	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
40296	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
40297}
40298
40299// GreenplumSource a copy activity Greenplum Database source.
40300type GreenplumSource struct {
40301	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
40302	Query interface{} `json:"query,omitempty"`
40303	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
40304	AdditionalProperties map[string]interface{} `json:""`
40305	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
40306	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
40307	// 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])).
40308	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
40309	// 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'
40310	Type TypeBasicCopySource `json:"type,omitempty"`
40311}
40312
40313// MarshalJSON is the custom marshaler for GreenplumSource.
40314func (gs GreenplumSource) MarshalJSON() ([]byte, error) {
40315	gs.Type = TypeGreenplumSource
40316	objectMap := make(map[string]interface{})
40317	if gs.Query != nil {
40318		objectMap["query"] = gs.Query
40319	}
40320	if gs.SourceRetryCount != nil {
40321		objectMap["sourceRetryCount"] = gs.SourceRetryCount
40322	}
40323	if gs.SourceRetryWait != nil {
40324		objectMap["sourceRetryWait"] = gs.SourceRetryWait
40325	}
40326	if gs.Type != "" {
40327		objectMap["type"] = gs.Type
40328	}
40329	for k, v := range gs.AdditionalProperties {
40330		objectMap[k] = v
40331	}
40332	return json.Marshal(objectMap)
40333}
40334
40335// AsAmazonRedshiftSource is the BasicCopySource implementation for GreenplumSource.
40336func (gs GreenplumSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
40337	return nil, false
40338}
40339
40340// AsResponsysSource is the BasicCopySource implementation for GreenplumSource.
40341func (gs GreenplumSource) AsResponsysSource() (*ResponsysSource, bool) {
40342	return nil, false
40343}
40344
40345// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GreenplumSource.
40346func (gs GreenplumSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
40347	return nil, false
40348}
40349
40350// AsVerticaSource is the BasicCopySource implementation for GreenplumSource.
40351func (gs GreenplumSource) AsVerticaSource() (*VerticaSource, bool) {
40352	return nil, false
40353}
40354
40355// AsNetezzaSource is the BasicCopySource implementation for GreenplumSource.
40356func (gs GreenplumSource) AsNetezzaSource() (*NetezzaSource, bool) {
40357	return nil, false
40358}
40359
40360// AsZohoSource is the BasicCopySource implementation for GreenplumSource.
40361func (gs GreenplumSource) AsZohoSource() (*ZohoSource, bool) {
40362	return nil, false
40363}
40364
40365// AsXeroSource is the BasicCopySource implementation for GreenplumSource.
40366func (gs GreenplumSource) AsXeroSource() (*XeroSource, bool) {
40367	return nil, false
40368}
40369
40370// AsSquareSource is the BasicCopySource implementation for GreenplumSource.
40371func (gs GreenplumSource) AsSquareSource() (*SquareSource, bool) {
40372	return nil, false
40373}
40374
40375// AsSparkSource is the BasicCopySource implementation for GreenplumSource.
40376func (gs GreenplumSource) AsSparkSource() (*SparkSource, bool) {
40377	return nil, false
40378}
40379
40380// AsShopifySource is the BasicCopySource implementation for GreenplumSource.
40381func (gs GreenplumSource) AsShopifySource() (*ShopifySource, bool) {
40382	return nil, false
40383}
40384
40385// AsServiceNowSource is the BasicCopySource implementation for GreenplumSource.
40386func (gs GreenplumSource) AsServiceNowSource() (*ServiceNowSource, bool) {
40387	return nil, false
40388}
40389
40390// AsQuickBooksSource is the BasicCopySource implementation for GreenplumSource.
40391func (gs GreenplumSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
40392	return nil, false
40393}
40394
40395// AsPrestoSource is the BasicCopySource implementation for GreenplumSource.
40396func (gs GreenplumSource) AsPrestoSource() (*PrestoSource, bool) {
40397	return nil, false
40398}
40399
40400// AsPhoenixSource is the BasicCopySource implementation for GreenplumSource.
40401func (gs GreenplumSource) AsPhoenixSource() (*PhoenixSource, bool) {
40402	return nil, false
40403}
40404
40405// AsPaypalSource is the BasicCopySource implementation for GreenplumSource.
40406func (gs GreenplumSource) AsPaypalSource() (*PaypalSource, bool) {
40407	return nil, false
40408}
40409
40410// AsMarketoSource is the BasicCopySource implementation for GreenplumSource.
40411func (gs GreenplumSource) AsMarketoSource() (*MarketoSource, bool) {
40412	return nil, false
40413}
40414
40415// AsMariaDBSource is the BasicCopySource implementation for GreenplumSource.
40416func (gs GreenplumSource) AsMariaDBSource() (*MariaDBSource, bool) {
40417	return nil, false
40418}
40419
40420// AsMagentoSource is the BasicCopySource implementation for GreenplumSource.
40421func (gs GreenplumSource) AsMagentoSource() (*MagentoSource, bool) {
40422	return nil, false
40423}
40424
40425// AsJiraSource is the BasicCopySource implementation for GreenplumSource.
40426func (gs GreenplumSource) AsJiraSource() (*JiraSource, bool) {
40427	return nil, false
40428}
40429
40430// AsImpalaSource is the BasicCopySource implementation for GreenplumSource.
40431func (gs GreenplumSource) AsImpalaSource() (*ImpalaSource, bool) {
40432	return nil, false
40433}
40434
40435// AsHubspotSource is the BasicCopySource implementation for GreenplumSource.
40436func (gs GreenplumSource) AsHubspotSource() (*HubspotSource, bool) {
40437	return nil, false
40438}
40439
40440// AsHiveSource is the BasicCopySource implementation for GreenplumSource.
40441func (gs GreenplumSource) AsHiveSource() (*HiveSource, bool) {
40442	return nil, false
40443}
40444
40445// AsHBaseSource is the BasicCopySource implementation for GreenplumSource.
40446func (gs GreenplumSource) AsHBaseSource() (*HBaseSource, bool) {
40447	return nil, false
40448}
40449
40450// AsGreenplumSource is the BasicCopySource implementation for GreenplumSource.
40451func (gs GreenplumSource) AsGreenplumSource() (*GreenplumSource, bool) {
40452	return &gs, true
40453}
40454
40455// AsGoogleBigQuerySource is the BasicCopySource implementation for GreenplumSource.
40456func (gs GreenplumSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
40457	return nil, false
40458}
40459
40460// AsEloquaSource is the BasicCopySource implementation for GreenplumSource.
40461func (gs GreenplumSource) AsEloquaSource() (*EloquaSource, bool) {
40462	return nil, false
40463}
40464
40465// AsDrillSource is the BasicCopySource implementation for GreenplumSource.
40466func (gs GreenplumSource) AsDrillSource() (*DrillSource, bool) {
40467	return nil, false
40468}
40469
40470// AsCouchbaseSource is the BasicCopySource implementation for GreenplumSource.
40471func (gs GreenplumSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
40472	return nil, false
40473}
40474
40475// AsConcurSource is the BasicCopySource implementation for GreenplumSource.
40476func (gs GreenplumSource) AsConcurSource() (*ConcurSource, bool) {
40477	return nil, false
40478}
40479
40480// AsAzurePostgreSQLSource is the BasicCopySource implementation for GreenplumSource.
40481func (gs GreenplumSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
40482	return nil, false
40483}
40484
40485// AsAmazonMWSSource is the BasicCopySource implementation for GreenplumSource.
40486func (gs GreenplumSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
40487	return nil, false
40488}
40489
40490// AsHTTPSource is the BasicCopySource implementation for GreenplumSource.
40491func (gs GreenplumSource) AsHTTPSource() (*HTTPSource, bool) {
40492	return nil, false
40493}
40494
40495// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GreenplumSource.
40496func (gs GreenplumSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
40497	return nil, false
40498}
40499
40500// AsMongoDbSource is the BasicCopySource implementation for GreenplumSource.
40501func (gs GreenplumSource) AsMongoDbSource() (*MongoDbSource, bool) {
40502	return nil, false
40503}
40504
40505// AsCassandraSource is the BasicCopySource implementation for GreenplumSource.
40506func (gs GreenplumSource) AsCassandraSource() (*CassandraSource, bool) {
40507	return nil, false
40508}
40509
40510// AsWebSource is the BasicCopySource implementation for GreenplumSource.
40511func (gs GreenplumSource) AsWebSource() (*WebSource, bool) {
40512	return nil, false
40513}
40514
40515// AsOracleSource is the BasicCopySource implementation for GreenplumSource.
40516func (gs GreenplumSource) AsOracleSource() (*OracleSource, bool) {
40517	return nil, false
40518}
40519
40520// AsAzureMySQLSource is the BasicCopySource implementation for GreenplumSource.
40521func (gs GreenplumSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
40522	return nil, false
40523}
40524
40525// AsHdfsSource is the BasicCopySource implementation for GreenplumSource.
40526func (gs GreenplumSource) AsHdfsSource() (*HdfsSource, bool) {
40527	return nil, false
40528}
40529
40530// AsFileSystemSource is the BasicCopySource implementation for GreenplumSource.
40531func (gs GreenplumSource) AsFileSystemSource() (*FileSystemSource, bool) {
40532	return nil, false
40533}
40534
40535// AsSQLDWSource is the BasicCopySource implementation for GreenplumSource.
40536func (gs GreenplumSource) AsSQLDWSource() (*SQLDWSource, bool) {
40537	return nil, false
40538}
40539
40540// AsSQLSource is the BasicCopySource implementation for GreenplumSource.
40541func (gs GreenplumSource) AsSQLSource() (*SQLSource, bool) {
40542	return nil, false
40543}
40544
40545// AsSapEccSource is the BasicCopySource implementation for GreenplumSource.
40546func (gs GreenplumSource) AsSapEccSource() (*SapEccSource, bool) {
40547	return nil, false
40548}
40549
40550// AsSapCloudForCustomerSource is the BasicCopySource implementation for GreenplumSource.
40551func (gs GreenplumSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
40552	return nil, false
40553}
40554
40555// AsSalesforceSource is the BasicCopySource implementation for GreenplumSource.
40556func (gs GreenplumSource) AsSalesforceSource() (*SalesforceSource, bool) {
40557	return nil, false
40558}
40559
40560// AsRelationalSource is the BasicCopySource implementation for GreenplumSource.
40561func (gs GreenplumSource) AsRelationalSource() (*RelationalSource, bool) {
40562	return nil, false
40563}
40564
40565// AsDynamicsSource is the BasicCopySource implementation for GreenplumSource.
40566func (gs GreenplumSource) AsDynamicsSource() (*DynamicsSource, bool) {
40567	return nil, false
40568}
40569
40570// AsDocumentDbCollectionSource is the BasicCopySource implementation for GreenplumSource.
40571func (gs GreenplumSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
40572	return nil, false
40573}
40574
40575// AsBlobSource is the BasicCopySource implementation for GreenplumSource.
40576func (gs GreenplumSource) AsBlobSource() (*BlobSource, bool) {
40577	return nil, false
40578}
40579
40580// AsAzureTableSource is the BasicCopySource implementation for GreenplumSource.
40581func (gs GreenplumSource) AsAzureTableSource() (*AzureTableSource, bool) {
40582	return nil, false
40583}
40584
40585// AsCopySource is the BasicCopySource implementation for GreenplumSource.
40586func (gs GreenplumSource) AsCopySource() (*CopySource, bool) {
40587	return nil, false
40588}
40589
40590// AsBasicCopySource is the BasicCopySource implementation for GreenplumSource.
40591func (gs GreenplumSource) AsBasicCopySource() (BasicCopySource, bool) {
40592	return &gs, true
40593}
40594
40595// UnmarshalJSON is the custom unmarshaler for GreenplumSource struct.
40596func (gs *GreenplumSource) UnmarshalJSON(body []byte) error {
40597	var m map[string]*json.RawMessage
40598	err := json.Unmarshal(body, &m)
40599	if err != nil {
40600		return err
40601	}
40602	for k, v := range m {
40603		switch k {
40604		case "query":
40605			if v != nil {
40606				var query interface{}
40607				err = json.Unmarshal(*v, &query)
40608				if err != nil {
40609					return err
40610				}
40611				gs.Query = query
40612			}
40613		default:
40614			if v != nil {
40615				var additionalProperties interface{}
40616				err = json.Unmarshal(*v, &additionalProperties)
40617				if err != nil {
40618					return err
40619				}
40620				if gs.AdditionalProperties == nil {
40621					gs.AdditionalProperties = make(map[string]interface{})
40622				}
40623				gs.AdditionalProperties[k] = additionalProperties
40624			}
40625		case "sourceRetryCount":
40626			if v != nil {
40627				var sourceRetryCount interface{}
40628				err = json.Unmarshal(*v, &sourceRetryCount)
40629				if err != nil {
40630					return err
40631				}
40632				gs.SourceRetryCount = sourceRetryCount
40633			}
40634		case "sourceRetryWait":
40635			if v != nil {
40636				var sourceRetryWait interface{}
40637				err = json.Unmarshal(*v, &sourceRetryWait)
40638				if err != nil {
40639					return err
40640				}
40641				gs.SourceRetryWait = sourceRetryWait
40642			}
40643		case "type":
40644			if v != nil {
40645				var typeVar TypeBasicCopySource
40646				err = json.Unmarshal(*v, &typeVar)
40647				if err != nil {
40648					return err
40649				}
40650				gs.Type = typeVar
40651			}
40652		}
40653	}
40654
40655	return nil
40656}
40657
40658// GreenplumTableDataset greenplum Database dataset.
40659type GreenplumTableDataset struct {
40660	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
40661	AdditionalProperties map[string]interface{} `json:""`
40662	// Description - Dataset description.
40663	Description *string `json:"description,omitempty"`
40664	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
40665	Structure interface{} `json:"structure,omitempty"`
40666	// LinkedServiceName - Linked service reference.
40667	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
40668	// Parameters - Parameters for dataset.
40669	Parameters map[string]*ParameterSpecification `json:"parameters"`
40670	// Annotations - List of tags that can be used for describing the Dataset.
40671	Annotations *[]interface{} `json:"annotations,omitempty"`
40672	// 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'
40673	Type TypeBasicDataset `json:"type,omitempty"`
40674}
40675
40676// MarshalJSON is the custom marshaler for GreenplumTableDataset.
40677func (gtd GreenplumTableDataset) MarshalJSON() ([]byte, error) {
40678	gtd.Type = TypeGreenplumTable
40679	objectMap := make(map[string]interface{})
40680	if gtd.Description != nil {
40681		objectMap["description"] = gtd.Description
40682	}
40683	if gtd.Structure != nil {
40684		objectMap["structure"] = gtd.Structure
40685	}
40686	if gtd.LinkedServiceName != nil {
40687		objectMap["linkedServiceName"] = gtd.LinkedServiceName
40688	}
40689	if gtd.Parameters != nil {
40690		objectMap["parameters"] = gtd.Parameters
40691	}
40692	if gtd.Annotations != nil {
40693		objectMap["annotations"] = gtd.Annotations
40694	}
40695	if gtd.Type != "" {
40696		objectMap["type"] = gtd.Type
40697	}
40698	for k, v := range gtd.AdditionalProperties {
40699		objectMap[k] = v
40700	}
40701	return json.Marshal(objectMap)
40702}
40703
40704// AsResponsysObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40705func (gtd GreenplumTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
40706	return nil, false
40707}
40708
40709// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40710func (gtd GreenplumTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
40711	return nil, false
40712}
40713
40714// AsVerticaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40715func (gtd GreenplumTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
40716	return nil, false
40717}
40718
40719// AsNetezzaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40720func (gtd GreenplumTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
40721	return nil, false
40722}
40723
40724// AsZohoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40725func (gtd GreenplumTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
40726	return nil, false
40727}
40728
40729// AsXeroObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40730func (gtd GreenplumTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
40731	return nil, false
40732}
40733
40734// AsSquareObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40735func (gtd GreenplumTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
40736	return nil, false
40737}
40738
40739// AsSparkObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40740func (gtd GreenplumTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
40741	return nil, false
40742}
40743
40744// AsShopifyObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40745func (gtd GreenplumTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
40746	return nil, false
40747}
40748
40749// AsServiceNowObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40750func (gtd GreenplumTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
40751	return nil, false
40752}
40753
40754// AsQuickBooksObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40755func (gtd GreenplumTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
40756	return nil, false
40757}
40758
40759// AsPrestoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40760func (gtd GreenplumTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
40761	return nil, false
40762}
40763
40764// AsPhoenixObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40765func (gtd GreenplumTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
40766	return nil, false
40767}
40768
40769// AsPaypalObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40770func (gtd GreenplumTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
40771	return nil, false
40772}
40773
40774// AsMarketoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40775func (gtd GreenplumTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
40776	return nil, false
40777}
40778
40779// AsMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40780func (gtd GreenplumTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
40781	return nil, false
40782}
40783
40784// AsMagentoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40785func (gtd GreenplumTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
40786	return nil, false
40787}
40788
40789// AsJiraObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40790func (gtd GreenplumTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
40791	return nil, false
40792}
40793
40794// AsImpalaObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40795func (gtd GreenplumTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
40796	return nil, false
40797}
40798
40799// AsHubspotObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40800func (gtd GreenplumTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
40801	return nil, false
40802}
40803
40804// AsHiveObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40805func (gtd GreenplumTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
40806	return nil, false
40807}
40808
40809// AsHBaseObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40810func (gtd GreenplumTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
40811	return nil, false
40812}
40813
40814// AsGreenplumTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40815func (gtd GreenplumTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
40816	return &gtd, true
40817}
40818
40819// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40820func (gtd GreenplumTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
40821	return nil, false
40822}
40823
40824// AsEloquaObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40825func (gtd GreenplumTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
40826	return nil, false
40827}
40828
40829// AsDrillTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40830func (gtd GreenplumTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
40831	return nil, false
40832}
40833
40834// AsCouchbaseTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40835func (gtd GreenplumTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
40836	return nil, false
40837}
40838
40839// AsConcurObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40840func (gtd GreenplumTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
40841	return nil, false
40842}
40843
40844// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40845func (gtd GreenplumTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
40846	return nil, false
40847}
40848
40849// AsAmazonMWSObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40850func (gtd GreenplumTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
40851	return nil, false
40852}
40853
40854// AsHTTPDataset is the BasicDataset implementation for GreenplumTableDataset.
40855func (gtd GreenplumTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
40856	return nil, false
40857}
40858
40859// AsAzureSearchIndexDataset is the BasicDataset implementation for GreenplumTableDataset.
40860func (gtd GreenplumTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
40861	return nil, false
40862}
40863
40864// AsWebTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40865func (gtd GreenplumTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
40866	return nil, false
40867}
40868
40869// AsSQLServerTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40870func (gtd GreenplumTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
40871	return nil, false
40872}
40873
40874// AsSapEccResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
40875func (gtd GreenplumTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
40876	return nil, false
40877}
40878
40879// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
40880func (gtd GreenplumTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
40881	return nil, false
40882}
40883
40884// AsSalesforceObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
40885func (gtd GreenplumTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
40886	return nil, false
40887}
40888
40889// AsRelationalTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40890func (gtd GreenplumTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
40891	return nil, false
40892}
40893
40894// AsAzureMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40895func (gtd GreenplumTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
40896	return nil, false
40897}
40898
40899// AsOracleTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40900func (gtd GreenplumTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
40901	return nil, false
40902}
40903
40904// AsODataResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
40905func (gtd GreenplumTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
40906	return nil, false
40907}
40908
40909// AsMongoDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
40910func (gtd GreenplumTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
40911	return nil, false
40912}
40913
40914// AsFileShareDataset is the BasicDataset implementation for GreenplumTableDataset.
40915func (gtd GreenplumTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
40916	return nil, false
40917}
40918
40919// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GreenplumTableDataset.
40920func (gtd GreenplumTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
40921	return nil, false
40922}
40923
40924// AsDynamicsEntityDataset is the BasicDataset implementation for GreenplumTableDataset.
40925func (gtd GreenplumTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
40926	return nil, false
40927}
40928
40929// AsDocumentDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
40930func (gtd GreenplumTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
40931	return nil, false
40932}
40933
40934// AsCustomDataset is the BasicDataset implementation for GreenplumTableDataset.
40935func (gtd GreenplumTableDataset) AsCustomDataset() (*CustomDataset, bool) {
40936	return nil, false
40937}
40938
40939// AsCassandraTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40940func (gtd GreenplumTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
40941	return nil, false
40942}
40943
40944// AsAzureSQLDWTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40945func (gtd GreenplumTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
40946	return nil, false
40947}
40948
40949// AsAzureSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40950func (gtd GreenplumTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
40951	return nil, false
40952}
40953
40954// AsAzureTableDataset is the BasicDataset implementation for GreenplumTableDataset.
40955func (gtd GreenplumTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
40956	return nil, false
40957}
40958
40959// AsAzureBlobDataset is the BasicDataset implementation for GreenplumTableDataset.
40960func (gtd GreenplumTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
40961	return nil, false
40962}
40963
40964// AsAmazonS3Dataset is the BasicDataset implementation for GreenplumTableDataset.
40965func (gtd GreenplumTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
40966	return nil, false
40967}
40968
40969// AsDataset is the BasicDataset implementation for GreenplumTableDataset.
40970func (gtd GreenplumTableDataset) AsDataset() (*Dataset, bool) {
40971	return nil, false
40972}
40973
40974// AsBasicDataset is the BasicDataset implementation for GreenplumTableDataset.
40975func (gtd GreenplumTableDataset) AsBasicDataset() (BasicDataset, bool) {
40976	return &gtd, true
40977}
40978
40979// UnmarshalJSON is the custom unmarshaler for GreenplumTableDataset struct.
40980func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error {
40981	var m map[string]*json.RawMessage
40982	err := json.Unmarshal(body, &m)
40983	if err != nil {
40984		return err
40985	}
40986	for k, v := range m {
40987		switch k {
40988		default:
40989			if v != nil {
40990				var additionalProperties interface{}
40991				err = json.Unmarshal(*v, &additionalProperties)
40992				if err != nil {
40993					return err
40994				}
40995				if gtd.AdditionalProperties == nil {
40996					gtd.AdditionalProperties = make(map[string]interface{})
40997				}
40998				gtd.AdditionalProperties[k] = additionalProperties
40999			}
41000		case "description":
41001			if v != nil {
41002				var description string
41003				err = json.Unmarshal(*v, &description)
41004				if err != nil {
41005					return err
41006				}
41007				gtd.Description = &description
41008			}
41009		case "structure":
41010			if v != nil {
41011				var structure interface{}
41012				err = json.Unmarshal(*v, &structure)
41013				if err != nil {
41014					return err
41015				}
41016				gtd.Structure = structure
41017			}
41018		case "linkedServiceName":
41019			if v != nil {
41020				var linkedServiceName LinkedServiceReference
41021				err = json.Unmarshal(*v, &linkedServiceName)
41022				if err != nil {
41023					return err
41024				}
41025				gtd.LinkedServiceName = &linkedServiceName
41026			}
41027		case "parameters":
41028			if v != nil {
41029				var parameters map[string]*ParameterSpecification
41030				err = json.Unmarshal(*v, &parameters)
41031				if err != nil {
41032					return err
41033				}
41034				gtd.Parameters = parameters
41035			}
41036		case "annotations":
41037			if v != nil {
41038				var annotations []interface{}
41039				err = json.Unmarshal(*v, &annotations)
41040				if err != nil {
41041					return err
41042				}
41043				gtd.Annotations = &annotations
41044			}
41045		case "type":
41046			if v != nil {
41047				var typeVar TypeBasicDataset
41048				err = json.Unmarshal(*v, &typeVar)
41049				if err != nil {
41050					return err
41051				}
41052				gtd.Type = typeVar
41053			}
41054		}
41055	}
41056
41057	return nil
41058}
41059
41060// HBaseLinkedService hBase server linked service.
41061type HBaseLinkedService struct {
41062	// HBaseLinkedServiceTypeProperties - HBase server linked service properties.
41063	*HBaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
41064	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
41065	AdditionalProperties map[string]interface{} `json:""`
41066	// ConnectVia - The integration runtime reference.
41067	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
41068	// Description - Linked service description.
41069	Description *string `json:"description,omitempty"`
41070	// Parameters - Parameters for linked service.
41071	Parameters map[string]*ParameterSpecification `json:"parameters"`
41072	// Annotations - List of tags that can be used for describing the Dataset.
41073	Annotations *[]interface{} `json:"annotations,omitempty"`
41074	// 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'
41075	Type TypeBasicLinkedService `json:"type,omitempty"`
41076}
41077
41078// MarshalJSON is the custom marshaler for HBaseLinkedService.
41079func (hbls HBaseLinkedService) MarshalJSON() ([]byte, error) {
41080	hbls.Type = TypeHBase
41081	objectMap := make(map[string]interface{})
41082	if hbls.HBaseLinkedServiceTypeProperties != nil {
41083		objectMap["typeProperties"] = hbls.HBaseLinkedServiceTypeProperties
41084	}
41085	if hbls.ConnectVia != nil {
41086		objectMap["connectVia"] = hbls.ConnectVia
41087	}
41088	if hbls.Description != nil {
41089		objectMap["description"] = hbls.Description
41090	}
41091	if hbls.Parameters != nil {
41092		objectMap["parameters"] = hbls.Parameters
41093	}
41094	if hbls.Annotations != nil {
41095		objectMap["annotations"] = hbls.Annotations
41096	}
41097	if hbls.Type != "" {
41098		objectMap["type"] = hbls.Type
41099	}
41100	for k, v := range hbls.AdditionalProperties {
41101		objectMap[k] = v
41102	}
41103	return json.Marshal(objectMap)
41104}
41105
41106// AsResponsysLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41107func (hbls HBaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
41108	return nil, false
41109}
41110
41111// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41112func (hbls HBaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
41113	return nil, false
41114}
41115
41116// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41117func (hbls HBaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
41118	return nil, false
41119}
41120
41121// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41122func (hbls HBaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
41123	return nil, false
41124}
41125
41126// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41127func (hbls HBaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
41128	return nil, false
41129}
41130
41131// AsNetezzaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41132func (hbls HBaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
41133	return nil, false
41134}
41135
41136// AsVerticaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41137func (hbls HBaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
41138	return nil, false
41139}
41140
41141// AsZohoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41142func (hbls HBaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
41143	return nil, false
41144}
41145
41146// AsXeroLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41147func (hbls HBaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
41148	return nil, false
41149}
41150
41151// AsSquareLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41152func (hbls HBaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
41153	return nil, false
41154}
41155
41156// AsSparkLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41157func (hbls HBaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
41158	return nil, false
41159}
41160
41161// AsShopifyLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41162func (hbls HBaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
41163	return nil, false
41164}
41165
41166// AsServiceNowLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41167func (hbls HBaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
41168	return nil, false
41169}
41170
41171// AsQuickBooksLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41172func (hbls HBaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
41173	return nil, false
41174}
41175
41176// AsPrestoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41177func (hbls HBaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
41178	return nil, false
41179}
41180
41181// AsPhoenixLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41182func (hbls HBaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
41183	return nil, false
41184}
41185
41186// AsPaypalLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41187func (hbls HBaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
41188	return nil, false
41189}
41190
41191// AsMarketoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41192func (hbls HBaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
41193	return nil, false
41194}
41195
41196// AsMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41197func (hbls HBaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
41198	return nil, false
41199}
41200
41201// AsMagentoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41202func (hbls HBaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
41203	return nil, false
41204}
41205
41206// AsJiraLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41207func (hbls HBaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
41208	return nil, false
41209}
41210
41211// AsImpalaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41212func (hbls HBaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
41213	return nil, false
41214}
41215
41216// AsHubspotLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41217func (hbls HBaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
41218	return nil, false
41219}
41220
41221// AsHiveLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41222func (hbls HBaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
41223	return nil, false
41224}
41225
41226// AsHBaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41227func (hbls HBaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
41228	return &hbls, true
41229}
41230
41231// AsGreenplumLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41232func (hbls HBaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
41233	return nil, false
41234}
41235
41236// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41237func (hbls HBaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
41238	return nil, false
41239}
41240
41241// AsEloquaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41242func (hbls HBaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
41243	return nil, false
41244}
41245
41246// AsDrillLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41247func (hbls HBaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
41248	return nil, false
41249}
41250
41251// AsCouchbaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41252func (hbls HBaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
41253	return nil, false
41254}
41255
41256// AsConcurLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41257func (hbls HBaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
41258	return nil, false
41259}
41260
41261// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41262func (hbls HBaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
41263	return nil, false
41264}
41265
41266// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41267func (hbls HBaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
41268	return nil, false
41269}
41270
41271// AsSapHanaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41272func (hbls HBaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
41273	return nil, false
41274}
41275
41276// AsSapBWLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41277func (hbls HBaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
41278	return nil, false
41279}
41280
41281// AsSftpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41282func (hbls HBaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
41283	return nil, false
41284}
41285
41286// AsFtpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41287func (hbls HBaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
41288	return nil, false
41289}
41290
41291// AsHTTPLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41292func (hbls HBaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
41293	return nil, false
41294}
41295
41296// AsAzureSearchLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41297func (hbls HBaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
41298	return nil, false
41299}
41300
41301// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41302func (hbls HBaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
41303	return nil, false
41304}
41305
41306// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41307func (hbls HBaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
41308	return nil, false
41309}
41310
41311// AsAmazonS3LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41312func (hbls HBaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
41313	return nil, false
41314}
41315
41316// AsSapEccLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41317func (hbls HBaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
41318	return nil, false
41319}
41320
41321// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41322func (hbls HBaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
41323	return nil, false
41324}
41325
41326// AsSalesforceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41327func (hbls HBaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
41328	return nil, false
41329}
41330
41331// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41332func (hbls HBaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
41333	return nil, false
41334}
41335
41336// AsMongoDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41337func (hbls HBaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
41338	return nil, false
41339}
41340
41341// AsCassandraLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41342func (hbls HBaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
41343	return nil, false
41344}
41345
41346// AsWebLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41347func (hbls HBaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
41348	return nil, false
41349}
41350
41351// AsODataLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41352func (hbls HBaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
41353	return nil, false
41354}
41355
41356// AsHdfsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41357func (hbls HBaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
41358	return nil, false
41359}
41360
41361// AsOdbcLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41362func (hbls HBaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
41363	return nil, false
41364}
41365
41366// AsAzureMLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41367func (hbls HBaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
41368	return nil, false
41369}
41370
41371// AsTeradataLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41372func (hbls HBaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
41373	return nil, false
41374}
41375
41376// AsDb2LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41377func (hbls HBaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
41378	return nil, false
41379}
41380
41381// AsSybaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41382func (hbls HBaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
41383	return nil, false
41384}
41385
41386// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41387func (hbls HBaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
41388	return nil, false
41389}
41390
41391// AsMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41392func (hbls HBaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
41393	return nil, false
41394}
41395
41396// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41397func (hbls HBaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
41398	return nil, false
41399}
41400
41401// AsOracleLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41402func (hbls HBaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
41403	return nil, false
41404}
41405
41406// AsFileServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41407func (hbls HBaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
41408	return nil, false
41409}
41410
41411// AsHDInsightLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41412func (hbls HBaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
41413	return nil, false
41414}
41415
41416// AsDynamicsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41417func (hbls HBaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
41418	return nil, false
41419}
41420
41421// AsCosmosDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41422func (hbls HBaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
41423	return nil, false
41424}
41425
41426// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41427func (hbls HBaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
41428	return nil, false
41429}
41430
41431// AsAzureBatchLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41432func (hbls HBaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
41433	return nil, false
41434}
41435
41436// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41437func (hbls HBaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
41438	return nil, false
41439}
41440
41441// AsSQLServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41442func (hbls HBaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
41443	return nil, false
41444}
41445
41446// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41447func (hbls HBaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
41448	return nil, false
41449}
41450
41451// AsAzureStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41452func (hbls HBaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
41453	return nil, false
41454}
41455
41456// AsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41457func (hbls HBaseLinkedService) AsLinkedService() (*LinkedService, bool) {
41458	return nil, false
41459}
41460
41461// AsBasicLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
41462func (hbls HBaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
41463	return &hbls, true
41464}
41465
41466// UnmarshalJSON is the custom unmarshaler for HBaseLinkedService struct.
41467func (hbls *HBaseLinkedService) UnmarshalJSON(body []byte) error {
41468	var m map[string]*json.RawMessage
41469	err := json.Unmarshal(body, &m)
41470	if err != nil {
41471		return err
41472	}
41473	for k, v := range m {
41474		switch k {
41475		case "typeProperties":
41476			if v != nil {
41477				var hBaseLinkedServiceTypeProperties HBaseLinkedServiceTypeProperties
41478				err = json.Unmarshal(*v, &hBaseLinkedServiceTypeProperties)
41479				if err != nil {
41480					return err
41481				}
41482				hbls.HBaseLinkedServiceTypeProperties = &hBaseLinkedServiceTypeProperties
41483			}
41484		default:
41485			if v != nil {
41486				var additionalProperties interface{}
41487				err = json.Unmarshal(*v, &additionalProperties)
41488				if err != nil {
41489					return err
41490				}
41491				if hbls.AdditionalProperties == nil {
41492					hbls.AdditionalProperties = make(map[string]interface{})
41493				}
41494				hbls.AdditionalProperties[k] = additionalProperties
41495			}
41496		case "connectVia":
41497			if v != nil {
41498				var connectVia IntegrationRuntimeReference
41499				err = json.Unmarshal(*v, &connectVia)
41500				if err != nil {
41501					return err
41502				}
41503				hbls.ConnectVia = &connectVia
41504			}
41505		case "description":
41506			if v != nil {
41507				var description string
41508				err = json.Unmarshal(*v, &description)
41509				if err != nil {
41510					return err
41511				}
41512				hbls.Description = &description
41513			}
41514		case "parameters":
41515			if v != nil {
41516				var parameters map[string]*ParameterSpecification
41517				err = json.Unmarshal(*v, &parameters)
41518				if err != nil {
41519					return err
41520				}
41521				hbls.Parameters = parameters
41522			}
41523		case "annotations":
41524			if v != nil {
41525				var annotations []interface{}
41526				err = json.Unmarshal(*v, &annotations)
41527				if err != nil {
41528					return err
41529				}
41530				hbls.Annotations = &annotations
41531			}
41532		case "type":
41533			if v != nil {
41534				var typeVar TypeBasicLinkedService
41535				err = json.Unmarshal(*v, &typeVar)
41536				if err != nil {
41537					return err
41538				}
41539				hbls.Type = typeVar
41540			}
41541		}
41542	}
41543
41544	return nil
41545}
41546
41547// HBaseLinkedServiceTypeProperties hBase server linked service properties.
41548type HBaseLinkedServiceTypeProperties struct {
41549	// Host - The IP address or host name of the HBase server. (i.e. 192.168.222.160)
41550	Host interface{} `json:"host,omitempty"`
41551	// Port - The TCP port that the HBase instance uses to listen for client connections. The default value is 9090.
41552	Port interface{} `json:"port,omitempty"`
41553	// HTTPPath - The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version)
41554	HTTPPath interface{} `json:"httpPath,omitempty"`
41555	// AuthenticationType - The authentication mechanism to use to connect to the HBase server. Possible values include: 'HBaseAuthenticationTypeAnonymous', 'HBaseAuthenticationTypeBasic'
41556	AuthenticationType HBaseAuthenticationType `json:"authenticationType,omitempty"`
41557	// Username - The user name used to connect to the HBase instance.
41558	Username interface{} `json:"username,omitempty"`
41559	// Password - The password corresponding to the user name.
41560	Password BasicSecretBase `json:"password,omitempty"`
41561	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
41562	EnableSsl interface{} `json:"enableSsl,omitempty"`
41563	// 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.
41564	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
41565	// 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.
41566	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
41567	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
41568	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
41569	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
41570	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
41571}
41572
41573// UnmarshalJSON is the custom unmarshaler for HBaseLinkedServiceTypeProperties struct.
41574func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
41575	var m map[string]*json.RawMessage
41576	err := json.Unmarshal(body, &m)
41577	if err != nil {
41578		return err
41579	}
41580	for k, v := range m {
41581		switch k {
41582		case "host":
41583			if v != nil {
41584				var host interface{}
41585				err = json.Unmarshal(*v, &host)
41586				if err != nil {
41587					return err
41588				}
41589				hblstp.Host = host
41590			}
41591		case "port":
41592			if v != nil {
41593				var port interface{}
41594				err = json.Unmarshal(*v, &port)
41595				if err != nil {
41596					return err
41597				}
41598				hblstp.Port = port
41599			}
41600		case "httpPath":
41601			if v != nil {
41602				var HTTPPath interface{}
41603				err = json.Unmarshal(*v, &HTTPPath)
41604				if err != nil {
41605					return err
41606				}
41607				hblstp.HTTPPath = HTTPPath
41608			}
41609		case "authenticationType":
41610			if v != nil {
41611				var authenticationType HBaseAuthenticationType
41612				err = json.Unmarshal(*v, &authenticationType)
41613				if err != nil {
41614					return err
41615				}
41616				hblstp.AuthenticationType = authenticationType
41617			}
41618		case "username":
41619			if v != nil {
41620				var username interface{}
41621				err = json.Unmarshal(*v, &username)
41622				if err != nil {
41623					return err
41624				}
41625				hblstp.Username = username
41626			}
41627		case "password":
41628			if v != nil {
41629				password, err := unmarshalBasicSecretBase(*v)
41630				if err != nil {
41631					return err
41632				}
41633				hblstp.Password = password
41634			}
41635		case "enableSsl":
41636			if v != nil {
41637				var enableSsl interface{}
41638				err = json.Unmarshal(*v, &enableSsl)
41639				if err != nil {
41640					return err
41641				}
41642				hblstp.EnableSsl = enableSsl
41643			}
41644		case "trustedCertPath":
41645			if v != nil {
41646				var trustedCertPath interface{}
41647				err = json.Unmarshal(*v, &trustedCertPath)
41648				if err != nil {
41649					return err
41650				}
41651				hblstp.TrustedCertPath = trustedCertPath
41652			}
41653		case "allowHostNameCNMismatch":
41654			if v != nil {
41655				var allowHostNameCNMismatch interface{}
41656				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
41657				if err != nil {
41658					return err
41659				}
41660				hblstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
41661			}
41662		case "allowSelfSignedServerCert":
41663			if v != nil {
41664				var allowSelfSignedServerCert interface{}
41665				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
41666				if err != nil {
41667					return err
41668				}
41669				hblstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
41670			}
41671		case "encryptedCredential":
41672			if v != nil {
41673				var encryptedCredential interface{}
41674				err = json.Unmarshal(*v, &encryptedCredential)
41675				if err != nil {
41676					return err
41677				}
41678				hblstp.EncryptedCredential = encryptedCredential
41679			}
41680		}
41681	}
41682
41683	return nil
41684}
41685
41686// HBaseObjectDataset hBase server dataset.
41687type HBaseObjectDataset struct {
41688	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
41689	AdditionalProperties map[string]interface{} `json:""`
41690	// Description - Dataset description.
41691	Description *string `json:"description,omitempty"`
41692	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
41693	Structure interface{} `json:"structure,omitempty"`
41694	// LinkedServiceName - Linked service reference.
41695	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
41696	// Parameters - Parameters for dataset.
41697	Parameters map[string]*ParameterSpecification `json:"parameters"`
41698	// Annotations - List of tags that can be used for describing the Dataset.
41699	Annotations *[]interface{} `json:"annotations,omitempty"`
41700	// 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'
41701	Type TypeBasicDataset `json:"type,omitempty"`
41702}
41703
41704// MarshalJSON is the custom marshaler for HBaseObjectDataset.
41705func (hbod HBaseObjectDataset) MarshalJSON() ([]byte, error) {
41706	hbod.Type = TypeHBaseObject
41707	objectMap := make(map[string]interface{})
41708	if hbod.Description != nil {
41709		objectMap["description"] = hbod.Description
41710	}
41711	if hbod.Structure != nil {
41712		objectMap["structure"] = hbod.Structure
41713	}
41714	if hbod.LinkedServiceName != nil {
41715		objectMap["linkedServiceName"] = hbod.LinkedServiceName
41716	}
41717	if hbod.Parameters != nil {
41718		objectMap["parameters"] = hbod.Parameters
41719	}
41720	if hbod.Annotations != nil {
41721		objectMap["annotations"] = hbod.Annotations
41722	}
41723	if hbod.Type != "" {
41724		objectMap["type"] = hbod.Type
41725	}
41726	for k, v := range hbod.AdditionalProperties {
41727		objectMap[k] = v
41728	}
41729	return json.Marshal(objectMap)
41730}
41731
41732// AsResponsysObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41733func (hbod HBaseObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
41734	return nil, false
41735}
41736
41737// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41738func (hbod HBaseObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
41739	return nil, false
41740}
41741
41742// AsVerticaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41743func (hbod HBaseObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
41744	return nil, false
41745}
41746
41747// AsNetezzaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41748func (hbod HBaseObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
41749	return nil, false
41750}
41751
41752// AsZohoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41753func (hbod HBaseObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
41754	return nil, false
41755}
41756
41757// AsXeroObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41758func (hbod HBaseObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
41759	return nil, false
41760}
41761
41762// AsSquareObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41763func (hbod HBaseObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
41764	return nil, false
41765}
41766
41767// AsSparkObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41768func (hbod HBaseObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
41769	return nil, false
41770}
41771
41772// AsShopifyObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41773func (hbod HBaseObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
41774	return nil, false
41775}
41776
41777// AsServiceNowObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41778func (hbod HBaseObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
41779	return nil, false
41780}
41781
41782// AsQuickBooksObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41783func (hbod HBaseObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
41784	return nil, false
41785}
41786
41787// AsPrestoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41788func (hbod HBaseObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
41789	return nil, false
41790}
41791
41792// AsPhoenixObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41793func (hbod HBaseObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
41794	return nil, false
41795}
41796
41797// AsPaypalObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41798func (hbod HBaseObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
41799	return nil, false
41800}
41801
41802// AsMarketoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41803func (hbod HBaseObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
41804	return nil, false
41805}
41806
41807// AsMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41808func (hbod HBaseObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
41809	return nil, false
41810}
41811
41812// AsMagentoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41813func (hbod HBaseObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
41814	return nil, false
41815}
41816
41817// AsJiraObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41818func (hbod HBaseObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
41819	return nil, false
41820}
41821
41822// AsImpalaObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41823func (hbod HBaseObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
41824	return nil, false
41825}
41826
41827// AsHubspotObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41828func (hbod HBaseObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
41829	return nil, false
41830}
41831
41832// AsHiveObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41833func (hbod HBaseObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
41834	return nil, false
41835}
41836
41837// AsHBaseObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41838func (hbod HBaseObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
41839	return &hbod, true
41840}
41841
41842// AsGreenplumTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41843func (hbod HBaseObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
41844	return nil, false
41845}
41846
41847// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41848func (hbod HBaseObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
41849	return nil, false
41850}
41851
41852// AsEloquaObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41853func (hbod HBaseObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
41854	return nil, false
41855}
41856
41857// AsDrillTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41858func (hbod HBaseObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
41859	return nil, false
41860}
41861
41862// AsCouchbaseTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41863func (hbod HBaseObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
41864	return nil, false
41865}
41866
41867// AsConcurObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41868func (hbod HBaseObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
41869	return nil, false
41870}
41871
41872// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41873func (hbod HBaseObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
41874	return nil, false
41875}
41876
41877// AsAmazonMWSObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41878func (hbod HBaseObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
41879	return nil, false
41880}
41881
41882// AsHTTPDataset is the BasicDataset implementation for HBaseObjectDataset.
41883func (hbod HBaseObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
41884	return nil, false
41885}
41886
41887// AsAzureSearchIndexDataset is the BasicDataset implementation for HBaseObjectDataset.
41888func (hbod HBaseObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
41889	return nil, false
41890}
41891
41892// AsWebTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41893func (hbod HBaseObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
41894	return nil, false
41895}
41896
41897// AsSQLServerTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41898func (hbod HBaseObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
41899	return nil, false
41900}
41901
41902// AsSapEccResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
41903func (hbod HBaseObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
41904	return nil, false
41905}
41906
41907// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
41908func (hbod HBaseObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
41909	return nil, false
41910}
41911
41912// AsSalesforceObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
41913func (hbod HBaseObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
41914	return nil, false
41915}
41916
41917// AsRelationalTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41918func (hbod HBaseObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
41919	return nil, false
41920}
41921
41922// AsAzureMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41923func (hbod HBaseObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
41924	return nil, false
41925}
41926
41927// AsOracleTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41928func (hbod HBaseObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
41929	return nil, false
41930}
41931
41932// AsODataResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
41933func (hbod HBaseObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
41934	return nil, false
41935}
41936
41937// AsMongoDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
41938func (hbod HBaseObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
41939	return nil, false
41940}
41941
41942// AsFileShareDataset is the BasicDataset implementation for HBaseObjectDataset.
41943func (hbod HBaseObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
41944	return nil, false
41945}
41946
41947// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HBaseObjectDataset.
41948func (hbod HBaseObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
41949	return nil, false
41950}
41951
41952// AsDynamicsEntityDataset is the BasicDataset implementation for HBaseObjectDataset.
41953func (hbod HBaseObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
41954	return nil, false
41955}
41956
41957// AsDocumentDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
41958func (hbod HBaseObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
41959	return nil, false
41960}
41961
41962// AsCustomDataset is the BasicDataset implementation for HBaseObjectDataset.
41963func (hbod HBaseObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
41964	return nil, false
41965}
41966
41967// AsCassandraTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41968func (hbod HBaseObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
41969	return nil, false
41970}
41971
41972// AsAzureSQLDWTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41973func (hbod HBaseObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
41974	return nil, false
41975}
41976
41977// AsAzureSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41978func (hbod HBaseObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
41979	return nil, false
41980}
41981
41982// AsAzureTableDataset is the BasicDataset implementation for HBaseObjectDataset.
41983func (hbod HBaseObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
41984	return nil, false
41985}
41986
41987// AsAzureBlobDataset is the BasicDataset implementation for HBaseObjectDataset.
41988func (hbod HBaseObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
41989	return nil, false
41990}
41991
41992// AsAmazonS3Dataset is the BasicDataset implementation for HBaseObjectDataset.
41993func (hbod HBaseObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
41994	return nil, false
41995}
41996
41997// AsDataset is the BasicDataset implementation for HBaseObjectDataset.
41998func (hbod HBaseObjectDataset) AsDataset() (*Dataset, bool) {
41999	return nil, false
42000}
42001
42002// AsBasicDataset is the BasicDataset implementation for HBaseObjectDataset.
42003func (hbod HBaseObjectDataset) AsBasicDataset() (BasicDataset, bool) {
42004	return &hbod, true
42005}
42006
42007// UnmarshalJSON is the custom unmarshaler for HBaseObjectDataset struct.
42008func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error {
42009	var m map[string]*json.RawMessage
42010	err := json.Unmarshal(body, &m)
42011	if err != nil {
42012		return err
42013	}
42014	for k, v := range m {
42015		switch k {
42016		default:
42017			if v != nil {
42018				var additionalProperties interface{}
42019				err = json.Unmarshal(*v, &additionalProperties)
42020				if err != nil {
42021					return err
42022				}
42023				if hbod.AdditionalProperties == nil {
42024					hbod.AdditionalProperties = make(map[string]interface{})
42025				}
42026				hbod.AdditionalProperties[k] = additionalProperties
42027			}
42028		case "description":
42029			if v != nil {
42030				var description string
42031				err = json.Unmarshal(*v, &description)
42032				if err != nil {
42033					return err
42034				}
42035				hbod.Description = &description
42036			}
42037		case "structure":
42038			if v != nil {
42039				var structure interface{}
42040				err = json.Unmarshal(*v, &structure)
42041				if err != nil {
42042					return err
42043				}
42044				hbod.Structure = structure
42045			}
42046		case "linkedServiceName":
42047			if v != nil {
42048				var linkedServiceName LinkedServiceReference
42049				err = json.Unmarshal(*v, &linkedServiceName)
42050				if err != nil {
42051					return err
42052				}
42053				hbod.LinkedServiceName = &linkedServiceName
42054			}
42055		case "parameters":
42056			if v != nil {
42057				var parameters map[string]*ParameterSpecification
42058				err = json.Unmarshal(*v, &parameters)
42059				if err != nil {
42060					return err
42061				}
42062				hbod.Parameters = parameters
42063			}
42064		case "annotations":
42065			if v != nil {
42066				var annotations []interface{}
42067				err = json.Unmarshal(*v, &annotations)
42068				if err != nil {
42069					return err
42070				}
42071				hbod.Annotations = &annotations
42072			}
42073		case "type":
42074			if v != nil {
42075				var typeVar TypeBasicDataset
42076				err = json.Unmarshal(*v, &typeVar)
42077				if err != nil {
42078					return err
42079				}
42080				hbod.Type = typeVar
42081			}
42082		}
42083	}
42084
42085	return nil
42086}
42087
42088// HBaseSource a copy activity HBase server source.
42089type HBaseSource struct {
42090	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
42091	Query interface{} `json:"query,omitempty"`
42092	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
42093	AdditionalProperties map[string]interface{} `json:""`
42094	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
42095	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
42096	// 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])).
42097	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
42098	// 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'
42099	Type TypeBasicCopySource `json:"type,omitempty"`
42100}
42101
42102// MarshalJSON is the custom marshaler for HBaseSource.
42103func (hbs HBaseSource) MarshalJSON() ([]byte, error) {
42104	hbs.Type = TypeHBaseSource
42105	objectMap := make(map[string]interface{})
42106	if hbs.Query != nil {
42107		objectMap["query"] = hbs.Query
42108	}
42109	if hbs.SourceRetryCount != nil {
42110		objectMap["sourceRetryCount"] = hbs.SourceRetryCount
42111	}
42112	if hbs.SourceRetryWait != nil {
42113		objectMap["sourceRetryWait"] = hbs.SourceRetryWait
42114	}
42115	if hbs.Type != "" {
42116		objectMap["type"] = hbs.Type
42117	}
42118	for k, v := range hbs.AdditionalProperties {
42119		objectMap[k] = v
42120	}
42121	return json.Marshal(objectMap)
42122}
42123
42124// AsAmazonRedshiftSource is the BasicCopySource implementation for HBaseSource.
42125func (hbs HBaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
42126	return nil, false
42127}
42128
42129// AsResponsysSource is the BasicCopySource implementation for HBaseSource.
42130func (hbs HBaseSource) AsResponsysSource() (*ResponsysSource, bool) {
42131	return nil, false
42132}
42133
42134// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HBaseSource.
42135func (hbs HBaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
42136	return nil, false
42137}
42138
42139// AsVerticaSource is the BasicCopySource implementation for HBaseSource.
42140func (hbs HBaseSource) AsVerticaSource() (*VerticaSource, bool) {
42141	return nil, false
42142}
42143
42144// AsNetezzaSource is the BasicCopySource implementation for HBaseSource.
42145func (hbs HBaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
42146	return nil, false
42147}
42148
42149// AsZohoSource is the BasicCopySource implementation for HBaseSource.
42150func (hbs HBaseSource) AsZohoSource() (*ZohoSource, bool) {
42151	return nil, false
42152}
42153
42154// AsXeroSource is the BasicCopySource implementation for HBaseSource.
42155func (hbs HBaseSource) AsXeroSource() (*XeroSource, bool) {
42156	return nil, false
42157}
42158
42159// AsSquareSource is the BasicCopySource implementation for HBaseSource.
42160func (hbs HBaseSource) AsSquareSource() (*SquareSource, bool) {
42161	return nil, false
42162}
42163
42164// AsSparkSource is the BasicCopySource implementation for HBaseSource.
42165func (hbs HBaseSource) AsSparkSource() (*SparkSource, bool) {
42166	return nil, false
42167}
42168
42169// AsShopifySource is the BasicCopySource implementation for HBaseSource.
42170func (hbs HBaseSource) AsShopifySource() (*ShopifySource, bool) {
42171	return nil, false
42172}
42173
42174// AsServiceNowSource is the BasicCopySource implementation for HBaseSource.
42175func (hbs HBaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
42176	return nil, false
42177}
42178
42179// AsQuickBooksSource is the BasicCopySource implementation for HBaseSource.
42180func (hbs HBaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
42181	return nil, false
42182}
42183
42184// AsPrestoSource is the BasicCopySource implementation for HBaseSource.
42185func (hbs HBaseSource) AsPrestoSource() (*PrestoSource, bool) {
42186	return nil, false
42187}
42188
42189// AsPhoenixSource is the BasicCopySource implementation for HBaseSource.
42190func (hbs HBaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
42191	return nil, false
42192}
42193
42194// AsPaypalSource is the BasicCopySource implementation for HBaseSource.
42195func (hbs HBaseSource) AsPaypalSource() (*PaypalSource, bool) {
42196	return nil, false
42197}
42198
42199// AsMarketoSource is the BasicCopySource implementation for HBaseSource.
42200func (hbs HBaseSource) AsMarketoSource() (*MarketoSource, bool) {
42201	return nil, false
42202}
42203
42204// AsMariaDBSource is the BasicCopySource implementation for HBaseSource.
42205func (hbs HBaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
42206	return nil, false
42207}
42208
42209// AsMagentoSource is the BasicCopySource implementation for HBaseSource.
42210func (hbs HBaseSource) AsMagentoSource() (*MagentoSource, bool) {
42211	return nil, false
42212}
42213
42214// AsJiraSource is the BasicCopySource implementation for HBaseSource.
42215func (hbs HBaseSource) AsJiraSource() (*JiraSource, bool) {
42216	return nil, false
42217}
42218
42219// AsImpalaSource is the BasicCopySource implementation for HBaseSource.
42220func (hbs HBaseSource) AsImpalaSource() (*ImpalaSource, bool) {
42221	return nil, false
42222}
42223
42224// AsHubspotSource is the BasicCopySource implementation for HBaseSource.
42225func (hbs HBaseSource) AsHubspotSource() (*HubspotSource, bool) {
42226	return nil, false
42227}
42228
42229// AsHiveSource is the BasicCopySource implementation for HBaseSource.
42230func (hbs HBaseSource) AsHiveSource() (*HiveSource, bool) {
42231	return nil, false
42232}
42233
42234// AsHBaseSource is the BasicCopySource implementation for HBaseSource.
42235func (hbs HBaseSource) AsHBaseSource() (*HBaseSource, bool) {
42236	return &hbs, true
42237}
42238
42239// AsGreenplumSource is the BasicCopySource implementation for HBaseSource.
42240func (hbs HBaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
42241	return nil, false
42242}
42243
42244// AsGoogleBigQuerySource is the BasicCopySource implementation for HBaseSource.
42245func (hbs HBaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
42246	return nil, false
42247}
42248
42249// AsEloquaSource is the BasicCopySource implementation for HBaseSource.
42250func (hbs HBaseSource) AsEloquaSource() (*EloquaSource, bool) {
42251	return nil, false
42252}
42253
42254// AsDrillSource is the BasicCopySource implementation for HBaseSource.
42255func (hbs HBaseSource) AsDrillSource() (*DrillSource, bool) {
42256	return nil, false
42257}
42258
42259// AsCouchbaseSource is the BasicCopySource implementation for HBaseSource.
42260func (hbs HBaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
42261	return nil, false
42262}
42263
42264// AsConcurSource is the BasicCopySource implementation for HBaseSource.
42265func (hbs HBaseSource) AsConcurSource() (*ConcurSource, bool) {
42266	return nil, false
42267}
42268
42269// AsAzurePostgreSQLSource is the BasicCopySource implementation for HBaseSource.
42270func (hbs HBaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
42271	return nil, false
42272}
42273
42274// AsAmazonMWSSource is the BasicCopySource implementation for HBaseSource.
42275func (hbs HBaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
42276	return nil, false
42277}
42278
42279// AsHTTPSource is the BasicCopySource implementation for HBaseSource.
42280func (hbs HBaseSource) AsHTTPSource() (*HTTPSource, bool) {
42281	return nil, false
42282}
42283
42284// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HBaseSource.
42285func (hbs HBaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
42286	return nil, false
42287}
42288
42289// AsMongoDbSource is the BasicCopySource implementation for HBaseSource.
42290func (hbs HBaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
42291	return nil, false
42292}
42293
42294// AsCassandraSource is the BasicCopySource implementation for HBaseSource.
42295func (hbs HBaseSource) AsCassandraSource() (*CassandraSource, bool) {
42296	return nil, false
42297}
42298
42299// AsWebSource is the BasicCopySource implementation for HBaseSource.
42300func (hbs HBaseSource) AsWebSource() (*WebSource, bool) {
42301	return nil, false
42302}
42303
42304// AsOracleSource is the BasicCopySource implementation for HBaseSource.
42305func (hbs HBaseSource) AsOracleSource() (*OracleSource, bool) {
42306	return nil, false
42307}
42308
42309// AsAzureMySQLSource is the BasicCopySource implementation for HBaseSource.
42310func (hbs HBaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
42311	return nil, false
42312}
42313
42314// AsHdfsSource is the BasicCopySource implementation for HBaseSource.
42315func (hbs HBaseSource) AsHdfsSource() (*HdfsSource, bool) {
42316	return nil, false
42317}
42318
42319// AsFileSystemSource is the BasicCopySource implementation for HBaseSource.
42320func (hbs HBaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
42321	return nil, false
42322}
42323
42324// AsSQLDWSource is the BasicCopySource implementation for HBaseSource.
42325func (hbs HBaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
42326	return nil, false
42327}
42328
42329// AsSQLSource is the BasicCopySource implementation for HBaseSource.
42330func (hbs HBaseSource) AsSQLSource() (*SQLSource, bool) {
42331	return nil, false
42332}
42333
42334// AsSapEccSource is the BasicCopySource implementation for HBaseSource.
42335func (hbs HBaseSource) AsSapEccSource() (*SapEccSource, bool) {
42336	return nil, false
42337}
42338
42339// AsSapCloudForCustomerSource is the BasicCopySource implementation for HBaseSource.
42340func (hbs HBaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
42341	return nil, false
42342}
42343
42344// AsSalesforceSource is the BasicCopySource implementation for HBaseSource.
42345func (hbs HBaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
42346	return nil, false
42347}
42348
42349// AsRelationalSource is the BasicCopySource implementation for HBaseSource.
42350func (hbs HBaseSource) AsRelationalSource() (*RelationalSource, bool) {
42351	return nil, false
42352}
42353
42354// AsDynamicsSource is the BasicCopySource implementation for HBaseSource.
42355func (hbs HBaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
42356	return nil, false
42357}
42358
42359// AsDocumentDbCollectionSource is the BasicCopySource implementation for HBaseSource.
42360func (hbs HBaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
42361	return nil, false
42362}
42363
42364// AsBlobSource is the BasicCopySource implementation for HBaseSource.
42365func (hbs HBaseSource) AsBlobSource() (*BlobSource, bool) {
42366	return nil, false
42367}
42368
42369// AsAzureTableSource is the BasicCopySource implementation for HBaseSource.
42370func (hbs HBaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
42371	return nil, false
42372}
42373
42374// AsCopySource is the BasicCopySource implementation for HBaseSource.
42375func (hbs HBaseSource) AsCopySource() (*CopySource, bool) {
42376	return nil, false
42377}
42378
42379// AsBasicCopySource is the BasicCopySource implementation for HBaseSource.
42380func (hbs HBaseSource) AsBasicCopySource() (BasicCopySource, bool) {
42381	return &hbs, true
42382}
42383
42384// UnmarshalJSON is the custom unmarshaler for HBaseSource struct.
42385func (hbs *HBaseSource) UnmarshalJSON(body []byte) error {
42386	var m map[string]*json.RawMessage
42387	err := json.Unmarshal(body, &m)
42388	if err != nil {
42389		return err
42390	}
42391	for k, v := range m {
42392		switch k {
42393		case "query":
42394			if v != nil {
42395				var query interface{}
42396				err = json.Unmarshal(*v, &query)
42397				if err != nil {
42398					return err
42399				}
42400				hbs.Query = query
42401			}
42402		default:
42403			if v != nil {
42404				var additionalProperties interface{}
42405				err = json.Unmarshal(*v, &additionalProperties)
42406				if err != nil {
42407					return err
42408				}
42409				if hbs.AdditionalProperties == nil {
42410					hbs.AdditionalProperties = make(map[string]interface{})
42411				}
42412				hbs.AdditionalProperties[k] = additionalProperties
42413			}
42414		case "sourceRetryCount":
42415			if v != nil {
42416				var sourceRetryCount interface{}
42417				err = json.Unmarshal(*v, &sourceRetryCount)
42418				if err != nil {
42419					return err
42420				}
42421				hbs.SourceRetryCount = sourceRetryCount
42422			}
42423		case "sourceRetryWait":
42424			if v != nil {
42425				var sourceRetryWait interface{}
42426				err = json.Unmarshal(*v, &sourceRetryWait)
42427				if err != nil {
42428					return err
42429				}
42430				hbs.SourceRetryWait = sourceRetryWait
42431			}
42432		case "type":
42433			if v != nil {
42434				var typeVar TypeBasicCopySource
42435				err = json.Unmarshal(*v, &typeVar)
42436				if err != nil {
42437					return err
42438				}
42439				hbs.Type = typeVar
42440			}
42441		}
42442	}
42443
42444	return nil
42445}
42446
42447// HdfsLinkedService hadoop Distributed File System (HDFS) linked service.
42448type HdfsLinkedService struct {
42449	// HdfsLinkedServiceTypeProperties - HDFS linked service properties.
42450	*HdfsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
42451	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
42452	AdditionalProperties map[string]interface{} `json:""`
42453	// ConnectVia - The integration runtime reference.
42454	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
42455	// Description - Linked service description.
42456	Description *string `json:"description,omitempty"`
42457	// Parameters - Parameters for linked service.
42458	Parameters map[string]*ParameterSpecification `json:"parameters"`
42459	// Annotations - List of tags that can be used for describing the Dataset.
42460	Annotations *[]interface{} `json:"annotations,omitempty"`
42461	// 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'
42462	Type TypeBasicLinkedService `json:"type,omitempty"`
42463}
42464
42465// MarshalJSON is the custom marshaler for HdfsLinkedService.
42466func (hls HdfsLinkedService) MarshalJSON() ([]byte, error) {
42467	hls.Type = TypeHdfs
42468	objectMap := make(map[string]interface{})
42469	if hls.HdfsLinkedServiceTypeProperties != nil {
42470		objectMap["typeProperties"] = hls.HdfsLinkedServiceTypeProperties
42471	}
42472	if hls.ConnectVia != nil {
42473		objectMap["connectVia"] = hls.ConnectVia
42474	}
42475	if hls.Description != nil {
42476		objectMap["description"] = hls.Description
42477	}
42478	if hls.Parameters != nil {
42479		objectMap["parameters"] = hls.Parameters
42480	}
42481	if hls.Annotations != nil {
42482		objectMap["annotations"] = hls.Annotations
42483	}
42484	if hls.Type != "" {
42485		objectMap["type"] = hls.Type
42486	}
42487	for k, v := range hls.AdditionalProperties {
42488		objectMap[k] = v
42489	}
42490	return json.Marshal(objectMap)
42491}
42492
42493// AsResponsysLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42494func (hls HdfsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
42495	return nil, false
42496}
42497
42498// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42499func (hls HdfsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
42500	return nil, false
42501}
42502
42503// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42504func (hls HdfsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
42505	return nil, false
42506}
42507
42508// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42509func (hls HdfsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
42510	return nil, false
42511}
42512
42513// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42514func (hls HdfsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
42515	return nil, false
42516}
42517
42518// AsNetezzaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42519func (hls HdfsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
42520	return nil, false
42521}
42522
42523// AsVerticaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42524func (hls HdfsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
42525	return nil, false
42526}
42527
42528// AsZohoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42529func (hls HdfsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
42530	return nil, false
42531}
42532
42533// AsXeroLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42534func (hls HdfsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
42535	return nil, false
42536}
42537
42538// AsSquareLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42539func (hls HdfsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
42540	return nil, false
42541}
42542
42543// AsSparkLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42544func (hls HdfsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
42545	return nil, false
42546}
42547
42548// AsShopifyLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42549func (hls HdfsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
42550	return nil, false
42551}
42552
42553// AsServiceNowLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42554func (hls HdfsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
42555	return nil, false
42556}
42557
42558// AsQuickBooksLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42559func (hls HdfsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
42560	return nil, false
42561}
42562
42563// AsPrestoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42564func (hls HdfsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
42565	return nil, false
42566}
42567
42568// AsPhoenixLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42569func (hls HdfsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
42570	return nil, false
42571}
42572
42573// AsPaypalLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42574func (hls HdfsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
42575	return nil, false
42576}
42577
42578// AsMarketoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42579func (hls HdfsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
42580	return nil, false
42581}
42582
42583// AsMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42584func (hls HdfsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
42585	return nil, false
42586}
42587
42588// AsMagentoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42589func (hls HdfsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
42590	return nil, false
42591}
42592
42593// AsJiraLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42594func (hls HdfsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
42595	return nil, false
42596}
42597
42598// AsImpalaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42599func (hls HdfsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
42600	return nil, false
42601}
42602
42603// AsHubspotLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42604func (hls HdfsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
42605	return nil, false
42606}
42607
42608// AsHiveLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42609func (hls HdfsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
42610	return nil, false
42611}
42612
42613// AsHBaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42614func (hls HdfsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
42615	return nil, false
42616}
42617
42618// AsGreenplumLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42619func (hls HdfsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
42620	return nil, false
42621}
42622
42623// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42624func (hls HdfsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
42625	return nil, false
42626}
42627
42628// AsEloquaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42629func (hls HdfsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
42630	return nil, false
42631}
42632
42633// AsDrillLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42634func (hls HdfsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
42635	return nil, false
42636}
42637
42638// AsCouchbaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42639func (hls HdfsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
42640	return nil, false
42641}
42642
42643// AsConcurLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42644func (hls HdfsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
42645	return nil, false
42646}
42647
42648// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42649func (hls HdfsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
42650	return nil, false
42651}
42652
42653// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42654func (hls HdfsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
42655	return nil, false
42656}
42657
42658// AsSapHanaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42659func (hls HdfsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
42660	return nil, false
42661}
42662
42663// AsSapBWLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42664func (hls HdfsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
42665	return nil, false
42666}
42667
42668// AsSftpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42669func (hls HdfsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
42670	return nil, false
42671}
42672
42673// AsFtpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42674func (hls HdfsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
42675	return nil, false
42676}
42677
42678// AsHTTPLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42679func (hls HdfsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
42680	return nil, false
42681}
42682
42683// AsAzureSearchLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42684func (hls HdfsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
42685	return nil, false
42686}
42687
42688// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42689func (hls HdfsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
42690	return nil, false
42691}
42692
42693// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42694func (hls HdfsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
42695	return nil, false
42696}
42697
42698// AsAmazonS3LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42699func (hls HdfsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
42700	return nil, false
42701}
42702
42703// AsSapEccLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42704func (hls HdfsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
42705	return nil, false
42706}
42707
42708// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42709func (hls HdfsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
42710	return nil, false
42711}
42712
42713// AsSalesforceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42714func (hls HdfsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
42715	return nil, false
42716}
42717
42718// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42719func (hls HdfsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
42720	return nil, false
42721}
42722
42723// AsMongoDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42724func (hls HdfsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
42725	return nil, false
42726}
42727
42728// AsCassandraLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42729func (hls HdfsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
42730	return nil, false
42731}
42732
42733// AsWebLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42734func (hls HdfsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
42735	return nil, false
42736}
42737
42738// AsODataLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42739func (hls HdfsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
42740	return nil, false
42741}
42742
42743// AsHdfsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42744func (hls HdfsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
42745	return &hls, true
42746}
42747
42748// AsOdbcLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42749func (hls HdfsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
42750	return nil, false
42751}
42752
42753// AsAzureMLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42754func (hls HdfsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
42755	return nil, false
42756}
42757
42758// AsTeradataLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42759func (hls HdfsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
42760	return nil, false
42761}
42762
42763// AsDb2LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42764func (hls HdfsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
42765	return nil, false
42766}
42767
42768// AsSybaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42769func (hls HdfsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
42770	return nil, false
42771}
42772
42773// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42774func (hls HdfsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
42775	return nil, false
42776}
42777
42778// AsMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42779func (hls HdfsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
42780	return nil, false
42781}
42782
42783// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42784func (hls HdfsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
42785	return nil, false
42786}
42787
42788// AsOracleLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42789func (hls HdfsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
42790	return nil, false
42791}
42792
42793// AsFileServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42794func (hls HdfsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
42795	return nil, false
42796}
42797
42798// AsHDInsightLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42799func (hls HdfsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
42800	return nil, false
42801}
42802
42803// AsDynamicsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42804func (hls HdfsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
42805	return nil, false
42806}
42807
42808// AsCosmosDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42809func (hls HdfsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
42810	return nil, false
42811}
42812
42813// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42814func (hls HdfsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
42815	return nil, false
42816}
42817
42818// AsAzureBatchLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42819func (hls HdfsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
42820	return nil, false
42821}
42822
42823// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42824func (hls HdfsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
42825	return nil, false
42826}
42827
42828// AsSQLServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42829func (hls HdfsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
42830	return nil, false
42831}
42832
42833// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42834func (hls HdfsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
42835	return nil, false
42836}
42837
42838// AsAzureStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42839func (hls HdfsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
42840	return nil, false
42841}
42842
42843// AsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42844func (hls HdfsLinkedService) AsLinkedService() (*LinkedService, bool) {
42845	return nil, false
42846}
42847
42848// AsBasicLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
42849func (hls HdfsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
42850	return &hls, true
42851}
42852
42853// UnmarshalJSON is the custom unmarshaler for HdfsLinkedService struct.
42854func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error {
42855	var m map[string]*json.RawMessage
42856	err := json.Unmarshal(body, &m)
42857	if err != nil {
42858		return err
42859	}
42860	for k, v := range m {
42861		switch k {
42862		case "typeProperties":
42863			if v != nil {
42864				var hdfsLinkedServiceTypeProperties HdfsLinkedServiceTypeProperties
42865				err = json.Unmarshal(*v, &hdfsLinkedServiceTypeProperties)
42866				if err != nil {
42867					return err
42868				}
42869				hls.HdfsLinkedServiceTypeProperties = &hdfsLinkedServiceTypeProperties
42870			}
42871		default:
42872			if v != nil {
42873				var additionalProperties interface{}
42874				err = json.Unmarshal(*v, &additionalProperties)
42875				if err != nil {
42876					return err
42877				}
42878				if hls.AdditionalProperties == nil {
42879					hls.AdditionalProperties = make(map[string]interface{})
42880				}
42881				hls.AdditionalProperties[k] = additionalProperties
42882			}
42883		case "connectVia":
42884			if v != nil {
42885				var connectVia IntegrationRuntimeReference
42886				err = json.Unmarshal(*v, &connectVia)
42887				if err != nil {
42888					return err
42889				}
42890				hls.ConnectVia = &connectVia
42891			}
42892		case "description":
42893			if v != nil {
42894				var description string
42895				err = json.Unmarshal(*v, &description)
42896				if err != nil {
42897					return err
42898				}
42899				hls.Description = &description
42900			}
42901		case "parameters":
42902			if v != nil {
42903				var parameters map[string]*ParameterSpecification
42904				err = json.Unmarshal(*v, &parameters)
42905				if err != nil {
42906					return err
42907				}
42908				hls.Parameters = parameters
42909			}
42910		case "annotations":
42911			if v != nil {
42912				var annotations []interface{}
42913				err = json.Unmarshal(*v, &annotations)
42914				if err != nil {
42915					return err
42916				}
42917				hls.Annotations = &annotations
42918			}
42919		case "type":
42920			if v != nil {
42921				var typeVar TypeBasicLinkedService
42922				err = json.Unmarshal(*v, &typeVar)
42923				if err != nil {
42924					return err
42925				}
42926				hls.Type = typeVar
42927			}
42928		}
42929	}
42930
42931	return nil
42932}
42933
42934// HdfsLinkedServiceTypeProperties HDFS linked service properties.
42935type HdfsLinkedServiceTypeProperties struct {
42936	// URL - The URL of the HDFS service endpoint, e.g. http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string).
42937	URL interface{} `json:"url,omitempty"`
42938	// AuthenticationType - Type of authentication used to connect to the HDFS. Possible values are: Anonymous and Windows. Type: string (or Expression with resultType string).
42939	AuthenticationType interface{} `json:"authenticationType,omitempty"`
42940	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
42941	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
42942	// UserName - User name for Windows authentication. Type: string (or Expression with resultType string).
42943	UserName interface{} `json:"userName,omitempty"`
42944	// Password - Password for Windows authentication.
42945	Password BasicSecretBase `json:"password,omitempty"`
42946}
42947
42948// UnmarshalJSON is the custom unmarshaler for HdfsLinkedServiceTypeProperties struct.
42949func (hlstp *HdfsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
42950	var m map[string]*json.RawMessage
42951	err := json.Unmarshal(body, &m)
42952	if err != nil {
42953		return err
42954	}
42955	for k, v := range m {
42956		switch k {
42957		case "url":
42958			if v != nil {
42959				var URL interface{}
42960				err = json.Unmarshal(*v, &URL)
42961				if err != nil {
42962					return err
42963				}
42964				hlstp.URL = URL
42965			}
42966		case "authenticationType":
42967			if v != nil {
42968				var authenticationType interface{}
42969				err = json.Unmarshal(*v, &authenticationType)
42970				if err != nil {
42971					return err
42972				}
42973				hlstp.AuthenticationType = authenticationType
42974			}
42975		case "encryptedCredential":
42976			if v != nil {
42977				var encryptedCredential interface{}
42978				err = json.Unmarshal(*v, &encryptedCredential)
42979				if err != nil {
42980					return err
42981				}
42982				hlstp.EncryptedCredential = encryptedCredential
42983			}
42984		case "userName":
42985			if v != nil {
42986				var userName interface{}
42987				err = json.Unmarshal(*v, &userName)
42988				if err != nil {
42989					return err
42990				}
42991				hlstp.UserName = userName
42992			}
42993		case "password":
42994			if v != nil {
42995				password, err := unmarshalBasicSecretBase(*v)
42996				if err != nil {
42997					return err
42998				}
42999				hlstp.Password = password
43000			}
43001		}
43002	}
43003
43004	return nil
43005}
43006
43007// HdfsSource a copy activity HDFS source.
43008type HdfsSource struct {
43009	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
43010	Recursive interface{} `json:"recursive,omitempty"`
43011	// DistcpSettings - Specifies Distcp-related settings.
43012	DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"`
43013	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
43014	AdditionalProperties map[string]interface{} `json:""`
43015	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
43016	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
43017	// 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])).
43018	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
43019	// 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'
43020	Type TypeBasicCopySource `json:"type,omitempty"`
43021}
43022
43023// MarshalJSON is the custom marshaler for HdfsSource.
43024func (hs HdfsSource) MarshalJSON() ([]byte, error) {
43025	hs.Type = TypeHdfsSource
43026	objectMap := make(map[string]interface{})
43027	if hs.Recursive != nil {
43028		objectMap["recursive"] = hs.Recursive
43029	}
43030	if hs.DistcpSettings != nil {
43031		objectMap["distcpSettings"] = hs.DistcpSettings
43032	}
43033	if hs.SourceRetryCount != nil {
43034		objectMap["sourceRetryCount"] = hs.SourceRetryCount
43035	}
43036	if hs.SourceRetryWait != nil {
43037		objectMap["sourceRetryWait"] = hs.SourceRetryWait
43038	}
43039	if hs.Type != "" {
43040		objectMap["type"] = hs.Type
43041	}
43042	for k, v := range hs.AdditionalProperties {
43043		objectMap[k] = v
43044	}
43045	return json.Marshal(objectMap)
43046}
43047
43048// AsAmazonRedshiftSource is the BasicCopySource implementation for HdfsSource.
43049func (hs HdfsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
43050	return nil, false
43051}
43052
43053// AsResponsysSource is the BasicCopySource implementation for HdfsSource.
43054func (hs HdfsSource) AsResponsysSource() (*ResponsysSource, bool) {
43055	return nil, false
43056}
43057
43058// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HdfsSource.
43059func (hs HdfsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
43060	return nil, false
43061}
43062
43063// AsVerticaSource is the BasicCopySource implementation for HdfsSource.
43064func (hs HdfsSource) AsVerticaSource() (*VerticaSource, bool) {
43065	return nil, false
43066}
43067
43068// AsNetezzaSource is the BasicCopySource implementation for HdfsSource.
43069func (hs HdfsSource) AsNetezzaSource() (*NetezzaSource, bool) {
43070	return nil, false
43071}
43072
43073// AsZohoSource is the BasicCopySource implementation for HdfsSource.
43074func (hs HdfsSource) AsZohoSource() (*ZohoSource, bool) {
43075	return nil, false
43076}
43077
43078// AsXeroSource is the BasicCopySource implementation for HdfsSource.
43079func (hs HdfsSource) AsXeroSource() (*XeroSource, bool) {
43080	return nil, false
43081}
43082
43083// AsSquareSource is the BasicCopySource implementation for HdfsSource.
43084func (hs HdfsSource) AsSquareSource() (*SquareSource, bool) {
43085	return nil, false
43086}
43087
43088// AsSparkSource is the BasicCopySource implementation for HdfsSource.
43089func (hs HdfsSource) AsSparkSource() (*SparkSource, bool) {
43090	return nil, false
43091}
43092
43093// AsShopifySource is the BasicCopySource implementation for HdfsSource.
43094func (hs HdfsSource) AsShopifySource() (*ShopifySource, bool) {
43095	return nil, false
43096}
43097
43098// AsServiceNowSource is the BasicCopySource implementation for HdfsSource.
43099func (hs HdfsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
43100	return nil, false
43101}
43102
43103// AsQuickBooksSource is the BasicCopySource implementation for HdfsSource.
43104func (hs HdfsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
43105	return nil, false
43106}
43107
43108// AsPrestoSource is the BasicCopySource implementation for HdfsSource.
43109func (hs HdfsSource) AsPrestoSource() (*PrestoSource, bool) {
43110	return nil, false
43111}
43112
43113// AsPhoenixSource is the BasicCopySource implementation for HdfsSource.
43114func (hs HdfsSource) AsPhoenixSource() (*PhoenixSource, bool) {
43115	return nil, false
43116}
43117
43118// AsPaypalSource is the BasicCopySource implementation for HdfsSource.
43119func (hs HdfsSource) AsPaypalSource() (*PaypalSource, bool) {
43120	return nil, false
43121}
43122
43123// AsMarketoSource is the BasicCopySource implementation for HdfsSource.
43124func (hs HdfsSource) AsMarketoSource() (*MarketoSource, bool) {
43125	return nil, false
43126}
43127
43128// AsMariaDBSource is the BasicCopySource implementation for HdfsSource.
43129func (hs HdfsSource) AsMariaDBSource() (*MariaDBSource, bool) {
43130	return nil, false
43131}
43132
43133// AsMagentoSource is the BasicCopySource implementation for HdfsSource.
43134func (hs HdfsSource) AsMagentoSource() (*MagentoSource, bool) {
43135	return nil, false
43136}
43137
43138// AsJiraSource is the BasicCopySource implementation for HdfsSource.
43139func (hs HdfsSource) AsJiraSource() (*JiraSource, bool) {
43140	return nil, false
43141}
43142
43143// AsImpalaSource is the BasicCopySource implementation for HdfsSource.
43144func (hs HdfsSource) AsImpalaSource() (*ImpalaSource, bool) {
43145	return nil, false
43146}
43147
43148// AsHubspotSource is the BasicCopySource implementation for HdfsSource.
43149func (hs HdfsSource) AsHubspotSource() (*HubspotSource, bool) {
43150	return nil, false
43151}
43152
43153// AsHiveSource is the BasicCopySource implementation for HdfsSource.
43154func (hs HdfsSource) AsHiveSource() (*HiveSource, bool) {
43155	return nil, false
43156}
43157
43158// AsHBaseSource is the BasicCopySource implementation for HdfsSource.
43159func (hs HdfsSource) AsHBaseSource() (*HBaseSource, bool) {
43160	return nil, false
43161}
43162
43163// AsGreenplumSource is the BasicCopySource implementation for HdfsSource.
43164func (hs HdfsSource) AsGreenplumSource() (*GreenplumSource, bool) {
43165	return nil, false
43166}
43167
43168// AsGoogleBigQuerySource is the BasicCopySource implementation for HdfsSource.
43169func (hs HdfsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
43170	return nil, false
43171}
43172
43173// AsEloquaSource is the BasicCopySource implementation for HdfsSource.
43174func (hs HdfsSource) AsEloquaSource() (*EloquaSource, bool) {
43175	return nil, false
43176}
43177
43178// AsDrillSource is the BasicCopySource implementation for HdfsSource.
43179func (hs HdfsSource) AsDrillSource() (*DrillSource, bool) {
43180	return nil, false
43181}
43182
43183// AsCouchbaseSource is the BasicCopySource implementation for HdfsSource.
43184func (hs HdfsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
43185	return nil, false
43186}
43187
43188// AsConcurSource is the BasicCopySource implementation for HdfsSource.
43189func (hs HdfsSource) AsConcurSource() (*ConcurSource, bool) {
43190	return nil, false
43191}
43192
43193// AsAzurePostgreSQLSource is the BasicCopySource implementation for HdfsSource.
43194func (hs HdfsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
43195	return nil, false
43196}
43197
43198// AsAmazonMWSSource is the BasicCopySource implementation for HdfsSource.
43199func (hs HdfsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
43200	return nil, false
43201}
43202
43203// AsHTTPSource is the BasicCopySource implementation for HdfsSource.
43204func (hs HdfsSource) AsHTTPSource() (*HTTPSource, bool) {
43205	return nil, false
43206}
43207
43208// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HdfsSource.
43209func (hs HdfsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
43210	return nil, false
43211}
43212
43213// AsMongoDbSource is the BasicCopySource implementation for HdfsSource.
43214func (hs HdfsSource) AsMongoDbSource() (*MongoDbSource, bool) {
43215	return nil, false
43216}
43217
43218// AsCassandraSource is the BasicCopySource implementation for HdfsSource.
43219func (hs HdfsSource) AsCassandraSource() (*CassandraSource, bool) {
43220	return nil, false
43221}
43222
43223// AsWebSource is the BasicCopySource implementation for HdfsSource.
43224func (hs HdfsSource) AsWebSource() (*WebSource, bool) {
43225	return nil, false
43226}
43227
43228// AsOracleSource is the BasicCopySource implementation for HdfsSource.
43229func (hs HdfsSource) AsOracleSource() (*OracleSource, bool) {
43230	return nil, false
43231}
43232
43233// AsAzureMySQLSource is the BasicCopySource implementation for HdfsSource.
43234func (hs HdfsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
43235	return nil, false
43236}
43237
43238// AsHdfsSource is the BasicCopySource implementation for HdfsSource.
43239func (hs HdfsSource) AsHdfsSource() (*HdfsSource, bool) {
43240	return &hs, true
43241}
43242
43243// AsFileSystemSource is the BasicCopySource implementation for HdfsSource.
43244func (hs HdfsSource) AsFileSystemSource() (*FileSystemSource, bool) {
43245	return nil, false
43246}
43247
43248// AsSQLDWSource is the BasicCopySource implementation for HdfsSource.
43249func (hs HdfsSource) AsSQLDWSource() (*SQLDWSource, bool) {
43250	return nil, false
43251}
43252
43253// AsSQLSource is the BasicCopySource implementation for HdfsSource.
43254func (hs HdfsSource) AsSQLSource() (*SQLSource, bool) {
43255	return nil, false
43256}
43257
43258// AsSapEccSource is the BasicCopySource implementation for HdfsSource.
43259func (hs HdfsSource) AsSapEccSource() (*SapEccSource, bool) {
43260	return nil, false
43261}
43262
43263// AsSapCloudForCustomerSource is the BasicCopySource implementation for HdfsSource.
43264func (hs HdfsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
43265	return nil, false
43266}
43267
43268// AsSalesforceSource is the BasicCopySource implementation for HdfsSource.
43269func (hs HdfsSource) AsSalesforceSource() (*SalesforceSource, bool) {
43270	return nil, false
43271}
43272
43273// AsRelationalSource is the BasicCopySource implementation for HdfsSource.
43274func (hs HdfsSource) AsRelationalSource() (*RelationalSource, bool) {
43275	return nil, false
43276}
43277
43278// AsDynamicsSource is the BasicCopySource implementation for HdfsSource.
43279func (hs HdfsSource) AsDynamicsSource() (*DynamicsSource, bool) {
43280	return nil, false
43281}
43282
43283// AsDocumentDbCollectionSource is the BasicCopySource implementation for HdfsSource.
43284func (hs HdfsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
43285	return nil, false
43286}
43287
43288// AsBlobSource is the BasicCopySource implementation for HdfsSource.
43289func (hs HdfsSource) AsBlobSource() (*BlobSource, bool) {
43290	return nil, false
43291}
43292
43293// AsAzureTableSource is the BasicCopySource implementation for HdfsSource.
43294func (hs HdfsSource) AsAzureTableSource() (*AzureTableSource, bool) {
43295	return nil, false
43296}
43297
43298// AsCopySource is the BasicCopySource implementation for HdfsSource.
43299func (hs HdfsSource) AsCopySource() (*CopySource, bool) {
43300	return nil, false
43301}
43302
43303// AsBasicCopySource is the BasicCopySource implementation for HdfsSource.
43304func (hs HdfsSource) AsBasicCopySource() (BasicCopySource, bool) {
43305	return &hs, true
43306}
43307
43308// UnmarshalJSON is the custom unmarshaler for HdfsSource struct.
43309func (hs *HdfsSource) UnmarshalJSON(body []byte) error {
43310	var m map[string]*json.RawMessage
43311	err := json.Unmarshal(body, &m)
43312	if err != nil {
43313		return err
43314	}
43315	for k, v := range m {
43316		switch k {
43317		case "recursive":
43318			if v != nil {
43319				var recursive interface{}
43320				err = json.Unmarshal(*v, &recursive)
43321				if err != nil {
43322					return err
43323				}
43324				hs.Recursive = recursive
43325			}
43326		case "distcpSettings":
43327			if v != nil {
43328				var distcpSettings DistcpSettings
43329				err = json.Unmarshal(*v, &distcpSettings)
43330				if err != nil {
43331					return err
43332				}
43333				hs.DistcpSettings = &distcpSettings
43334			}
43335		default:
43336			if v != nil {
43337				var additionalProperties interface{}
43338				err = json.Unmarshal(*v, &additionalProperties)
43339				if err != nil {
43340					return err
43341				}
43342				if hs.AdditionalProperties == nil {
43343					hs.AdditionalProperties = make(map[string]interface{})
43344				}
43345				hs.AdditionalProperties[k] = additionalProperties
43346			}
43347		case "sourceRetryCount":
43348			if v != nil {
43349				var sourceRetryCount interface{}
43350				err = json.Unmarshal(*v, &sourceRetryCount)
43351				if err != nil {
43352					return err
43353				}
43354				hs.SourceRetryCount = sourceRetryCount
43355			}
43356		case "sourceRetryWait":
43357			if v != nil {
43358				var sourceRetryWait interface{}
43359				err = json.Unmarshal(*v, &sourceRetryWait)
43360				if err != nil {
43361					return err
43362				}
43363				hs.SourceRetryWait = sourceRetryWait
43364			}
43365		case "type":
43366			if v != nil {
43367				var typeVar TypeBasicCopySource
43368				err = json.Unmarshal(*v, &typeVar)
43369				if err != nil {
43370					return err
43371				}
43372				hs.Type = typeVar
43373			}
43374		}
43375	}
43376
43377	return nil
43378}
43379
43380// HDInsightHiveActivity hDInsight Hive activity type.
43381type HDInsightHiveActivity struct {
43382	// HDInsightHiveActivityTypeProperties - HDInsight Hive activity properties.
43383	*HDInsightHiveActivityTypeProperties `json:"typeProperties,omitempty"`
43384	// LinkedServiceName - Linked service reference.
43385	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
43386	// Policy - Activity policy.
43387	Policy *ActivityPolicy `json:"policy,omitempty"`
43388	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
43389	AdditionalProperties map[string]interface{} `json:""`
43390	// Name - Activity name.
43391	Name *string `json:"name,omitempty"`
43392	// Description - Activity description.
43393	Description *string `json:"description,omitempty"`
43394	// DependsOn - Activity depends on condition.
43395	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
43396	// 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'
43397	Type TypeBasicActivity `json:"type,omitempty"`
43398}
43399
43400// MarshalJSON is the custom marshaler for HDInsightHiveActivity.
43401func (hiha HDInsightHiveActivity) MarshalJSON() ([]byte, error) {
43402	hiha.Type = TypeHDInsightHive
43403	objectMap := make(map[string]interface{})
43404	if hiha.HDInsightHiveActivityTypeProperties != nil {
43405		objectMap["typeProperties"] = hiha.HDInsightHiveActivityTypeProperties
43406	}
43407	if hiha.LinkedServiceName != nil {
43408		objectMap["linkedServiceName"] = hiha.LinkedServiceName
43409	}
43410	if hiha.Policy != nil {
43411		objectMap["policy"] = hiha.Policy
43412	}
43413	if hiha.Name != nil {
43414		objectMap["name"] = hiha.Name
43415	}
43416	if hiha.Description != nil {
43417		objectMap["description"] = hiha.Description
43418	}
43419	if hiha.DependsOn != nil {
43420		objectMap["dependsOn"] = hiha.DependsOn
43421	}
43422	if hiha.Type != "" {
43423		objectMap["type"] = hiha.Type
43424	}
43425	for k, v := range hiha.AdditionalProperties {
43426		objectMap[k] = v
43427	}
43428	return json.Marshal(objectMap)
43429}
43430
43431// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightHiveActivity.
43432func (hiha HDInsightHiveActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
43433	return nil, false
43434}
43435
43436// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightHiveActivity.
43437func (hiha HDInsightHiveActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
43438	return nil, false
43439}
43440
43441// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightHiveActivity.
43442func (hiha HDInsightHiveActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
43443	return nil, false
43444}
43445
43446// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
43447func (hiha HDInsightHiveActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
43448	return nil, false
43449}
43450
43451// AsGetMetadataActivity is the BasicActivity implementation for HDInsightHiveActivity.
43452func (hiha HDInsightHiveActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
43453	return nil, false
43454}
43455
43456// AsWebActivity is the BasicActivity implementation for HDInsightHiveActivity.
43457func (hiha HDInsightHiveActivity) AsWebActivity() (*WebActivity, bool) {
43458	return nil, false
43459}
43460
43461// AsLookupActivity is the BasicActivity implementation for HDInsightHiveActivity.
43462func (hiha HDInsightHiveActivity) AsLookupActivity() (*LookupActivity, bool) {
43463	return nil, false
43464}
43465
43466// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightHiveActivity.
43467func (hiha HDInsightHiveActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
43468	return nil, false
43469}
43470
43471// AsCustomActivity is the BasicActivity implementation for HDInsightHiveActivity.
43472func (hiha HDInsightHiveActivity) AsCustomActivity() (*CustomActivity, bool) {
43473	return nil, false
43474}
43475
43476// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightHiveActivity.
43477func (hiha HDInsightHiveActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
43478	return nil, false
43479}
43480
43481// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightHiveActivity.
43482func (hiha HDInsightHiveActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
43483	return nil, false
43484}
43485
43486// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightHiveActivity.
43487func (hiha HDInsightHiveActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
43488	return nil, false
43489}
43490
43491// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightHiveActivity.
43492func (hiha HDInsightHiveActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
43493	return nil, false
43494}
43495
43496// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightHiveActivity.
43497func (hiha HDInsightHiveActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
43498	return nil, false
43499}
43500
43501// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightHiveActivity.
43502func (hiha HDInsightHiveActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
43503	return &hiha, true
43504}
43505
43506// AsCopyActivity is the BasicActivity implementation for HDInsightHiveActivity.
43507func (hiha HDInsightHiveActivity) AsCopyActivity() (*CopyActivity, bool) {
43508	return nil, false
43509}
43510
43511// AsExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
43512func (hiha HDInsightHiveActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
43513	return nil, false
43514}
43515
43516// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
43517func (hiha HDInsightHiveActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
43518	return &hiha, true
43519}
43520
43521// AsFilterActivity is the BasicActivity implementation for HDInsightHiveActivity.
43522func (hiha HDInsightHiveActivity) AsFilterActivity() (*FilterActivity, bool) {
43523	return nil, false
43524}
43525
43526// AsUntilActivity is the BasicActivity implementation for HDInsightHiveActivity.
43527func (hiha HDInsightHiveActivity) AsUntilActivity() (*UntilActivity, bool) {
43528	return nil, false
43529}
43530
43531// AsWaitActivity is the BasicActivity implementation for HDInsightHiveActivity.
43532func (hiha HDInsightHiveActivity) AsWaitActivity() (*WaitActivity, bool) {
43533	return nil, false
43534}
43535
43536// AsForEachActivity is the BasicActivity implementation for HDInsightHiveActivity.
43537func (hiha HDInsightHiveActivity) AsForEachActivity() (*ForEachActivity, bool) {
43538	return nil, false
43539}
43540
43541// AsIfConditionActivity is the BasicActivity implementation for HDInsightHiveActivity.
43542func (hiha HDInsightHiveActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
43543	return nil, false
43544}
43545
43546// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity.
43547func (hiha HDInsightHiveActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
43548	return nil, false
43549}
43550
43551// AsControlActivity is the BasicActivity implementation for HDInsightHiveActivity.
43552func (hiha HDInsightHiveActivity) AsControlActivity() (*ControlActivity, bool) {
43553	return nil, false
43554}
43555
43556// AsBasicControlActivity is the BasicActivity implementation for HDInsightHiveActivity.
43557func (hiha HDInsightHiveActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
43558	return nil, false
43559}
43560
43561// AsActivity is the BasicActivity implementation for HDInsightHiveActivity.
43562func (hiha HDInsightHiveActivity) AsActivity() (*Activity, bool) {
43563	return nil, false
43564}
43565
43566// AsBasicActivity is the BasicActivity implementation for HDInsightHiveActivity.
43567func (hiha HDInsightHiveActivity) AsBasicActivity() (BasicActivity, bool) {
43568	return &hiha, true
43569}
43570
43571// UnmarshalJSON is the custom unmarshaler for HDInsightHiveActivity struct.
43572func (hiha *HDInsightHiveActivity) UnmarshalJSON(body []byte) error {
43573	var m map[string]*json.RawMessage
43574	err := json.Unmarshal(body, &m)
43575	if err != nil {
43576		return err
43577	}
43578	for k, v := range m {
43579		switch k {
43580		case "typeProperties":
43581			if v != nil {
43582				var hDInsightHiveActivityTypeProperties HDInsightHiveActivityTypeProperties
43583				err = json.Unmarshal(*v, &hDInsightHiveActivityTypeProperties)
43584				if err != nil {
43585					return err
43586				}
43587				hiha.HDInsightHiveActivityTypeProperties = &hDInsightHiveActivityTypeProperties
43588			}
43589		case "linkedServiceName":
43590			if v != nil {
43591				var linkedServiceName LinkedServiceReference
43592				err = json.Unmarshal(*v, &linkedServiceName)
43593				if err != nil {
43594					return err
43595				}
43596				hiha.LinkedServiceName = &linkedServiceName
43597			}
43598		case "policy":
43599			if v != nil {
43600				var policy ActivityPolicy
43601				err = json.Unmarshal(*v, &policy)
43602				if err != nil {
43603					return err
43604				}
43605				hiha.Policy = &policy
43606			}
43607		default:
43608			if v != nil {
43609				var additionalProperties interface{}
43610				err = json.Unmarshal(*v, &additionalProperties)
43611				if err != nil {
43612					return err
43613				}
43614				if hiha.AdditionalProperties == nil {
43615					hiha.AdditionalProperties = make(map[string]interface{})
43616				}
43617				hiha.AdditionalProperties[k] = additionalProperties
43618			}
43619		case "name":
43620			if v != nil {
43621				var name string
43622				err = json.Unmarshal(*v, &name)
43623				if err != nil {
43624					return err
43625				}
43626				hiha.Name = &name
43627			}
43628		case "description":
43629			if v != nil {
43630				var description string
43631				err = json.Unmarshal(*v, &description)
43632				if err != nil {
43633					return err
43634				}
43635				hiha.Description = &description
43636			}
43637		case "dependsOn":
43638			if v != nil {
43639				var dependsOn []ActivityDependency
43640				err = json.Unmarshal(*v, &dependsOn)
43641				if err != nil {
43642					return err
43643				}
43644				hiha.DependsOn = &dependsOn
43645			}
43646		case "type":
43647			if v != nil {
43648				var typeVar TypeBasicActivity
43649				err = json.Unmarshal(*v, &typeVar)
43650				if err != nil {
43651					return err
43652				}
43653				hiha.Type = typeVar
43654			}
43655		}
43656	}
43657
43658	return nil
43659}
43660
43661// HDInsightHiveActivityTypeProperties hDInsight Hive activity properties.
43662type HDInsightHiveActivityTypeProperties struct {
43663	// StorageLinkedServices - Storage linked service references.
43664	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
43665	// Arguments - User specified arguments to HDInsightActivity.
43666	Arguments *[]interface{} `json:"arguments,omitempty"`
43667	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
43668	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
43669	// ScriptPath - Script path. Type: string (or Expression with resultType string).
43670	ScriptPath interface{} `json:"scriptPath,omitempty"`
43671	// ScriptLinkedService - Script linked service reference.
43672	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
43673	// Defines - Allows user to specify defines for Hive job request.
43674	Defines map[string]interface{} `json:"defines"`
43675}
43676
43677// MarshalJSON is the custom marshaler for HDInsightHiveActivityTypeProperties.
43678func (hihatp HDInsightHiveActivityTypeProperties) MarshalJSON() ([]byte, error) {
43679	objectMap := make(map[string]interface{})
43680	if hihatp.StorageLinkedServices != nil {
43681		objectMap["storageLinkedServices"] = hihatp.StorageLinkedServices
43682	}
43683	if hihatp.Arguments != nil {
43684		objectMap["arguments"] = hihatp.Arguments
43685	}
43686	if hihatp.GetDebugInfo != "" {
43687		objectMap["getDebugInfo"] = hihatp.GetDebugInfo
43688	}
43689	if hihatp.ScriptPath != nil {
43690		objectMap["scriptPath"] = hihatp.ScriptPath
43691	}
43692	if hihatp.ScriptLinkedService != nil {
43693		objectMap["scriptLinkedService"] = hihatp.ScriptLinkedService
43694	}
43695	if hihatp.Defines != nil {
43696		objectMap["defines"] = hihatp.Defines
43697	}
43698	return json.Marshal(objectMap)
43699}
43700
43701// HDInsightLinkedService hDInsight linked service.
43702type HDInsightLinkedService struct {
43703	// HDInsightLinkedServiceTypeProperties - HDInsight linked service properties.
43704	*HDInsightLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
43705	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
43706	AdditionalProperties map[string]interface{} `json:""`
43707	// ConnectVia - The integration runtime reference.
43708	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
43709	// Description - Linked service description.
43710	Description *string `json:"description,omitempty"`
43711	// Parameters - Parameters for linked service.
43712	Parameters map[string]*ParameterSpecification `json:"parameters"`
43713	// Annotations - List of tags that can be used for describing the Dataset.
43714	Annotations *[]interface{} `json:"annotations,omitempty"`
43715	// 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'
43716	Type TypeBasicLinkedService `json:"type,omitempty"`
43717}
43718
43719// MarshalJSON is the custom marshaler for HDInsightLinkedService.
43720func (hils HDInsightLinkedService) MarshalJSON() ([]byte, error) {
43721	hils.Type = TypeHDInsight
43722	objectMap := make(map[string]interface{})
43723	if hils.HDInsightLinkedServiceTypeProperties != nil {
43724		objectMap["typeProperties"] = hils.HDInsightLinkedServiceTypeProperties
43725	}
43726	if hils.ConnectVia != nil {
43727		objectMap["connectVia"] = hils.ConnectVia
43728	}
43729	if hils.Description != nil {
43730		objectMap["description"] = hils.Description
43731	}
43732	if hils.Parameters != nil {
43733		objectMap["parameters"] = hils.Parameters
43734	}
43735	if hils.Annotations != nil {
43736		objectMap["annotations"] = hils.Annotations
43737	}
43738	if hils.Type != "" {
43739		objectMap["type"] = hils.Type
43740	}
43741	for k, v := range hils.AdditionalProperties {
43742		objectMap[k] = v
43743	}
43744	return json.Marshal(objectMap)
43745}
43746
43747// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43748func (hils HDInsightLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
43749	return nil, false
43750}
43751
43752// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43753func (hils HDInsightLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
43754	return nil, false
43755}
43756
43757// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43758func (hils HDInsightLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
43759	return nil, false
43760}
43761
43762// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43763func (hils HDInsightLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
43764	return nil, false
43765}
43766
43767// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43768func (hils HDInsightLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
43769	return nil, false
43770}
43771
43772// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43773func (hils HDInsightLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
43774	return nil, false
43775}
43776
43777// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43778func (hils HDInsightLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
43779	return nil, false
43780}
43781
43782// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43783func (hils HDInsightLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
43784	return nil, false
43785}
43786
43787// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43788func (hils HDInsightLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
43789	return nil, false
43790}
43791
43792// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43793func (hils HDInsightLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
43794	return nil, false
43795}
43796
43797// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43798func (hils HDInsightLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
43799	return nil, false
43800}
43801
43802// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43803func (hils HDInsightLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
43804	return nil, false
43805}
43806
43807// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43808func (hils HDInsightLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
43809	return nil, false
43810}
43811
43812// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43813func (hils HDInsightLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
43814	return nil, false
43815}
43816
43817// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43818func (hils HDInsightLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
43819	return nil, false
43820}
43821
43822// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43823func (hils HDInsightLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
43824	return nil, false
43825}
43826
43827// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43828func (hils HDInsightLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
43829	return nil, false
43830}
43831
43832// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43833func (hils HDInsightLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
43834	return nil, false
43835}
43836
43837// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43838func (hils HDInsightLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
43839	return nil, false
43840}
43841
43842// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43843func (hils HDInsightLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
43844	return nil, false
43845}
43846
43847// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43848func (hils HDInsightLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
43849	return nil, false
43850}
43851
43852// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43853func (hils HDInsightLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
43854	return nil, false
43855}
43856
43857// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43858func (hils HDInsightLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
43859	return nil, false
43860}
43861
43862// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43863func (hils HDInsightLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
43864	return nil, false
43865}
43866
43867// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43868func (hils HDInsightLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
43869	return nil, false
43870}
43871
43872// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43873func (hils HDInsightLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
43874	return nil, false
43875}
43876
43877// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43878func (hils HDInsightLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
43879	return nil, false
43880}
43881
43882// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43883func (hils HDInsightLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
43884	return nil, false
43885}
43886
43887// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43888func (hils HDInsightLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
43889	return nil, false
43890}
43891
43892// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43893func (hils HDInsightLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
43894	return nil, false
43895}
43896
43897// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43898func (hils HDInsightLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
43899	return nil, false
43900}
43901
43902// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43903func (hils HDInsightLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
43904	return nil, false
43905}
43906
43907// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43908func (hils HDInsightLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
43909	return nil, false
43910}
43911
43912// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43913func (hils HDInsightLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
43914	return nil, false
43915}
43916
43917// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43918func (hils HDInsightLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
43919	return nil, false
43920}
43921
43922// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43923func (hils HDInsightLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
43924	return nil, false
43925}
43926
43927// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43928func (hils HDInsightLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
43929	return nil, false
43930}
43931
43932// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43933func (hils HDInsightLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
43934	return nil, false
43935}
43936
43937// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43938func (hils HDInsightLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
43939	return nil, false
43940}
43941
43942// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43943func (hils HDInsightLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
43944	return nil, false
43945}
43946
43947// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43948func (hils HDInsightLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
43949	return nil, false
43950}
43951
43952// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43953func (hils HDInsightLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
43954	return nil, false
43955}
43956
43957// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43958func (hils HDInsightLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
43959	return nil, false
43960}
43961
43962// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43963func (hils HDInsightLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
43964	return nil, false
43965}
43966
43967// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43968func (hils HDInsightLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
43969	return nil, false
43970}
43971
43972// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43973func (hils HDInsightLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
43974	return nil, false
43975}
43976
43977// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43978func (hils HDInsightLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
43979	return nil, false
43980}
43981
43982// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43983func (hils HDInsightLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
43984	return nil, false
43985}
43986
43987// AsWebLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43988func (hils HDInsightLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
43989	return nil, false
43990}
43991
43992// AsODataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43993func (hils HDInsightLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
43994	return nil, false
43995}
43996
43997// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
43998func (hils HDInsightLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
43999	return nil, false
44000}
44001
44002// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44003func (hils HDInsightLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
44004	return nil, false
44005}
44006
44007// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44008func (hils HDInsightLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
44009	return nil, false
44010}
44011
44012// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44013func (hils HDInsightLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
44014	return nil, false
44015}
44016
44017// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44018func (hils HDInsightLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
44019	return nil, false
44020}
44021
44022// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44023func (hils HDInsightLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
44024	return nil, false
44025}
44026
44027// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44028func (hils HDInsightLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
44029	return nil, false
44030}
44031
44032// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44033func (hils HDInsightLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
44034	return nil, false
44035}
44036
44037// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44038func (hils HDInsightLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
44039	return nil, false
44040}
44041
44042// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44043func (hils HDInsightLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
44044	return nil, false
44045}
44046
44047// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44048func (hils HDInsightLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
44049	return nil, false
44050}
44051
44052// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44053func (hils HDInsightLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
44054	return &hils, true
44055}
44056
44057// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44058func (hils HDInsightLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
44059	return nil, false
44060}
44061
44062// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44063func (hils HDInsightLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
44064	return nil, false
44065}
44066
44067// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44068func (hils HDInsightLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
44069	return nil, false
44070}
44071
44072// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44073func (hils HDInsightLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
44074	return nil, false
44075}
44076
44077// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44078func (hils HDInsightLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
44079	return nil, false
44080}
44081
44082// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44083func (hils HDInsightLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
44084	return nil, false
44085}
44086
44087// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44088func (hils HDInsightLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
44089	return nil, false
44090}
44091
44092// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44093func (hils HDInsightLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
44094	return nil, false
44095}
44096
44097// AsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44098func (hils HDInsightLinkedService) AsLinkedService() (*LinkedService, bool) {
44099	return nil, false
44100}
44101
44102// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
44103func (hils HDInsightLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
44104	return &hils, true
44105}
44106
44107// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedService struct.
44108func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error {
44109	var m map[string]*json.RawMessage
44110	err := json.Unmarshal(body, &m)
44111	if err != nil {
44112		return err
44113	}
44114	for k, v := range m {
44115		switch k {
44116		case "typeProperties":
44117			if v != nil {
44118				var hDInsightLinkedServiceTypeProperties HDInsightLinkedServiceTypeProperties
44119				err = json.Unmarshal(*v, &hDInsightLinkedServiceTypeProperties)
44120				if err != nil {
44121					return err
44122				}
44123				hils.HDInsightLinkedServiceTypeProperties = &hDInsightLinkedServiceTypeProperties
44124			}
44125		default:
44126			if v != nil {
44127				var additionalProperties interface{}
44128				err = json.Unmarshal(*v, &additionalProperties)
44129				if err != nil {
44130					return err
44131				}
44132				if hils.AdditionalProperties == nil {
44133					hils.AdditionalProperties = make(map[string]interface{})
44134				}
44135				hils.AdditionalProperties[k] = additionalProperties
44136			}
44137		case "connectVia":
44138			if v != nil {
44139				var connectVia IntegrationRuntimeReference
44140				err = json.Unmarshal(*v, &connectVia)
44141				if err != nil {
44142					return err
44143				}
44144				hils.ConnectVia = &connectVia
44145			}
44146		case "description":
44147			if v != nil {
44148				var description string
44149				err = json.Unmarshal(*v, &description)
44150				if err != nil {
44151					return err
44152				}
44153				hils.Description = &description
44154			}
44155		case "parameters":
44156			if v != nil {
44157				var parameters map[string]*ParameterSpecification
44158				err = json.Unmarshal(*v, &parameters)
44159				if err != nil {
44160					return err
44161				}
44162				hils.Parameters = parameters
44163			}
44164		case "annotations":
44165			if v != nil {
44166				var annotations []interface{}
44167				err = json.Unmarshal(*v, &annotations)
44168				if err != nil {
44169					return err
44170				}
44171				hils.Annotations = &annotations
44172			}
44173		case "type":
44174			if v != nil {
44175				var typeVar TypeBasicLinkedService
44176				err = json.Unmarshal(*v, &typeVar)
44177				if err != nil {
44178					return err
44179				}
44180				hils.Type = typeVar
44181			}
44182		}
44183	}
44184
44185	return nil
44186}
44187
44188// HDInsightLinkedServiceTypeProperties hDInsight linked service properties.
44189type HDInsightLinkedServiceTypeProperties struct {
44190	// ClusterURI - HDInsight cluster URI. Type: string (or Expression with resultType string).
44191	ClusterURI interface{} `json:"clusterUri,omitempty"`
44192	// UserName - HDInsight cluster user name. Type: string (or Expression with resultType string).
44193	UserName interface{} `json:"userName,omitempty"`
44194	// Password - HDInsight cluster password.
44195	Password BasicSecretBase `json:"password,omitempty"`
44196	// LinkedServiceName - The Azure Storage linked service reference.
44197	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
44198	// HcatalogLinkedServiceName - A reference to the Azure SQL linked service that points to the HCatalog database.
44199	HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"`
44200	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
44201	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
44202}
44203
44204// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedServiceTypeProperties struct.
44205func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
44206	var m map[string]*json.RawMessage
44207	err := json.Unmarshal(body, &m)
44208	if err != nil {
44209		return err
44210	}
44211	for k, v := range m {
44212		switch k {
44213		case "clusterUri":
44214			if v != nil {
44215				var clusterURI interface{}
44216				err = json.Unmarshal(*v, &clusterURI)
44217				if err != nil {
44218					return err
44219				}
44220				hilstp.ClusterURI = clusterURI
44221			}
44222		case "userName":
44223			if v != nil {
44224				var userName interface{}
44225				err = json.Unmarshal(*v, &userName)
44226				if err != nil {
44227					return err
44228				}
44229				hilstp.UserName = userName
44230			}
44231		case "password":
44232			if v != nil {
44233				password, err := unmarshalBasicSecretBase(*v)
44234				if err != nil {
44235					return err
44236				}
44237				hilstp.Password = password
44238			}
44239		case "linkedServiceName":
44240			if v != nil {
44241				var linkedServiceName LinkedServiceReference
44242				err = json.Unmarshal(*v, &linkedServiceName)
44243				if err != nil {
44244					return err
44245				}
44246				hilstp.LinkedServiceName = &linkedServiceName
44247			}
44248		case "hcatalogLinkedServiceName":
44249			if v != nil {
44250				var hcatalogLinkedServiceName LinkedServiceReference
44251				err = json.Unmarshal(*v, &hcatalogLinkedServiceName)
44252				if err != nil {
44253					return err
44254				}
44255				hilstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName
44256			}
44257		case "encryptedCredential":
44258			if v != nil {
44259				var encryptedCredential interface{}
44260				err = json.Unmarshal(*v, &encryptedCredential)
44261				if err != nil {
44262					return err
44263				}
44264				hilstp.EncryptedCredential = encryptedCredential
44265			}
44266		}
44267	}
44268
44269	return nil
44270}
44271
44272// HDInsightMapReduceActivity hDInsight MapReduce activity type.
44273type HDInsightMapReduceActivity struct {
44274	// HDInsightMapReduceActivityTypeProperties - HDInsight MapReduce activity properties.
44275	*HDInsightMapReduceActivityTypeProperties `json:"typeProperties,omitempty"`
44276	// LinkedServiceName - Linked service reference.
44277	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
44278	// Policy - Activity policy.
44279	Policy *ActivityPolicy `json:"policy,omitempty"`
44280	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
44281	AdditionalProperties map[string]interface{} `json:""`
44282	// Name - Activity name.
44283	Name *string `json:"name,omitempty"`
44284	// Description - Activity description.
44285	Description *string `json:"description,omitempty"`
44286	// DependsOn - Activity depends on condition.
44287	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
44288	// 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'
44289	Type TypeBasicActivity `json:"type,omitempty"`
44290}
44291
44292// MarshalJSON is the custom marshaler for HDInsightMapReduceActivity.
44293func (himra HDInsightMapReduceActivity) MarshalJSON() ([]byte, error) {
44294	himra.Type = TypeHDInsightMapReduce
44295	objectMap := make(map[string]interface{})
44296	if himra.HDInsightMapReduceActivityTypeProperties != nil {
44297		objectMap["typeProperties"] = himra.HDInsightMapReduceActivityTypeProperties
44298	}
44299	if himra.LinkedServiceName != nil {
44300		objectMap["linkedServiceName"] = himra.LinkedServiceName
44301	}
44302	if himra.Policy != nil {
44303		objectMap["policy"] = himra.Policy
44304	}
44305	if himra.Name != nil {
44306		objectMap["name"] = himra.Name
44307	}
44308	if himra.Description != nil {
44309		objectMap["description"] = himra.Description
44310	}
44311	if himra.DependsOn != nil {
44312		objectMap["dependsOn"] = himra.DependsOn
44313	}
44314	if himra.Type != "" {
44315		objectMap["type"] = himra.Type
44316	}
44317	for k, v := range himra.AdditionalProperties {
44318		objectMap[k] = v
44319	}
44320	return json.Marshal(objectMap)
44321}
44322
44323// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44324func (himra HDInsightMapReduceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
44325	return nil, false
44326}
44327
44328// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44329func (himra HDInsightMapReduceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
44330	return nil, false
44331}
44332
44333// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44334func (himra HDInsightMapReduceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
44335	return nil, false
44336}
44337
44338// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44339func (himra HDInsightMapReduceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
44340	return nil, false
44341}
44342
44343// AsGetMetadataActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44344func (himra HDInsightMapReduceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
44345	return nil, false
44346}
44347
44348// AsWebActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44349func (himra HDInsightMapReduceActivity) AsWebActivity() (*WebActivity, bool) {
44350	return nil, false
44351}
44352
44353// AsLookupActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44354func (himra HDInsightMapReduceActivity) AsLookupActivity() (*LookupActivity, bool) {
44355	return nil, false
44356}
44357
44358// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44359func (himra HDInsightMapReduceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
44360	return nil, false
44361}
44362
44363// AsCustomActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44364func (himra HDInsightMapReduceActivity) AsCustomActivity() (*CustomActivity, bool) {
44365	return nil, false
44366}
44367
44368// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44369func (himra HDInsightMapReduceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
44370	return nil, false
44371}
44372
44373// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44374func (himra HDInsightMapReduceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
44375	return nil, false
44376}
44377
44378// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44379func (himra HDInsightMapReduceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
44380	return nil, false
44381}
44382
44383// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44384func (himra HDInsightMapReduceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
44385	return &himra, true
44386}
44387
44388// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44389func (himra HDInsightMapReduceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
44390	return nil, false
44391}
44392
44393// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44394func (himra HDInsightMapReduceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
44395	return nil, false
44396}
44397
44398// AsCopyActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44399func (himra HDInsightMapReduceActivity) AsCopyActivity() (*CopyActivity, bool) {
44400	return nil, false
44401}
44402
44403// AsExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44404func (himra HDInsightMapReduceActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
44405	return nil, false
44406}
44407
44408// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44409func (himra HDInsightMapReduceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
44410	return &himra, true
44411}
44412
44413// AsFilterActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44414func (himra HDInsightMapReduceActivity) AsFilterActivity() (*FilterActivity, bool) {
44415	return nil, false
44416}
44417
44418// AsUntilActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44419func (himra HDInsightMapReduceActivity) AsUntilActivity() (*UntilActivity, bool) {
44420	return nil, false
44421}
44422
44423// AsWaitActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44424func (himra HDInsightMapReduceActivity) AsWaitActivity() (*WaitActivity, bool) {
44425	return nil, false
44426}
44427
44428// AsForEachActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44429func (himra HDInsightMapReduceActivity) AsForEachActivity() (*ForEachActivity, bool) {
44430	return nil, false
44431}
44432
44433// AsIfConditionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44434func (himra HDInsightMapReduceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
44435	return nil, false
44436}
44437
44438// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44439func (himra HDInsightMapReduceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
44440	return nil, false
44441}
44442
44443// AsControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44444func (himra HDInsightMapReduceActivity) AsControlActivity() (*ControlActivity, bool) {
44445	return nil, false
44446}
44447
44448// AsBasicControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44449func (himra HDInsightMapReduceActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
44450	return nil, false
44451}
44452
44453// AsActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44454func (himra HDInsightMapReduceActivity) AsActivity() (*Activity, bool) {
44455	return nil, false
44456}
44457
44458// AsBasicActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
44459func (himra HDInsightMapReduceActivity) AsBasicActivity() (BasicActivity, bool) {
44460	return &himra, true
44461}
44462
44463// UnmarshalJSON is the custom unmarshaler for HDInsightMapReduceActivity struct.
44464func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error {
44465	var m map[string]*json.RawMessage
44466	err := json.Unmarshal(body, &m)
44467	if err != nil {
44468		return err
44469	}
44470	for k, v := range m {
44471		switch k {
44472		case "typeProperties":
44473			if v != nil {
44474				var hDInsightMapReduceActivityTypeProperties HDInsightMapReduceActivityTypeProperties
44475				err = json.Unmarshal(*v, &hDInsightMapReduceActivityTypeProperties)
44476				if err != nil {
44477					return err
44478				}
44479				himra.HDInsightMapReduceActivityTypeProperties = &hDInsightMapReduceActivityTypeProperties
44480			}
44481		case "linkedServiceName":
44482			if v != nil {
44483				var linkedServiceName LinkedServiceReference
44484				err = json.Unmarshal(*v, &linkedServiceName)
44485				if err != nil {
44486					return err
44487				}
44488				himra.LinkedServiceName = &linkedServiceName
44489			}
44490		case "policy":
44491			if v != nil {
44492				var policy ActivityPolicy
44493				err = json.Unmarshal(*v, &policy)
44494				if err != nil {
44495					return err
44496				}
44497				himra.Policy = &policy
44498			}
44499		default:
44500			if v != nil {
44501				var additionalProperties interface{}
44502				err = json.Unmarshal(*v, &additionalProperties)
44503				if err != nil {
44504					return err
44505				}
44506				if himra.AdditionalProperties == nil {
44507					himra.AdditionalProperties = make(map[string]interface{})
44508				}
44509				himra.AdditionalProperties[k] = additionalProperties
44510			}
44511		case "name":
44512			if v != nil {
44513				var name string
44514				err = json.Unmarshal(*v, &name)
44515				if err != nil {
44516					return err
44517				}
44518				himra.Name = &name
44519			}
44520		case "description":
44521			if v != nil {
44522				var description string
44523				err = json.Unmarshal(*v, &description)
44524				if err != nil {
44525					return err
44526				}
44527				himra.Description = &description
44528			}
44529		case "dependsOn":
44530			if v != nil {
44531				var dependsOn []ActivityDependency
44532				err = json.Unmarshal(*v, &dependsOn)
44533				if err != nil {
44534					return err
44535				}
44536				himra.DependsOn = &dependsOn
44537			}
44538		case "type":
44539			if v != nil {
44540				var typeVar TypeBasicActivity
44541				err = json.Unmarshal(*v, &typeVar)
44542				if err != nil {
44543					return err
44544				}
44545				himra.Type = typeVar
44546			}
44547		}
44548	}
44549
44550	return nil
44551}
44552
44553// HDInsightMapReduceActivityTypeProperties hDInsight MapReduce activity properties.
44554type HDInsightMapReduceActivityTypeProperties struct {
44555	// StorageLinkedServices - Storage linked service references.
44556	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
44557	// Arguments - User specified arguments to HDInsightActivity.
44558	Arguments *[]interface{} `json:"arguments,omitempty"`
44559	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
44560	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
44561	// ClassName - Class name. Type: string (or Expression with resultType string).
44562	ClassName interface{} `json:"className,omitempty"`
44563	// JarFilePath - Jar path. Type: string (or Expression with resultType string).
44564	JarFilePath interface{} `json:"jarFilePath,omitempty"`
44565	// JarLinkedService - Jar linked service reference.
44566	JarLinkedService *LinkedServiceReference `json:"jarLinkedService,omitempty"`
44567	// JarLibs - Jar libs.
44568	JarLibs *[]interface{} `json:"jarLibs,omitempty"`
44569	// Defines - Allows user to specify defines for the MapReduce job request.
44570	Defines map[string]interface{} `json:"defines"`
44571}
44572
44573// MarshalJSON is the custom marshaler for HDInsightMapReduceActivityTypeProperties.
44574func (himratp HDInsightMapReduceActivityTypeProperties) MarshalJSON() ([]byte, error) {
44575	objectMap := make(map[string]interface{})
44576	if himratp.StorageLinkedServices != nil {
44577		objectMap["storageLinkedServices"] = himratp.StorageLinkedServices
44578	}
44579	if himratp.Arguments != nil {
44580		objectMap["arguments"] = himratp.Arguments
44581	}
44582	if himratp.GetDebugInfo != "" {
44583		objectMap["getDebugInfo"] = himratp.GetDebugInfo
44584	}
44585	if himratp.ClassName != nil {
44586		objectMap["className"] = himratp.ClassName
44587	}
44588	if himratp.JarFilePath != nil {
44589		objectMap["jarFilePath"] = himratp.JarFilePath
44590	}
44591	if himratp.JarLinkedService != nil {
44592		objectMap["jarLinkedService"] = himratp.JarLinkedService
44593	}
44594	if himratp.JarLibs != nil {
44595		objectMap["jarLibs"] = himratp.JarLibs
44596	}
44597	if himratp.Defines != nil {
44598		objectMap["defines"] = himratp.Defines
44599	}
44600	return json.Marshal(objectMap)
44601}
44602
44603// HDInsightOnDemandLinkedService hDInsight ondemand linked service.
44604type HDInsightOnDemandLinkedService struct {
44605	// HDInsightOnDemandLinkedServiceTypeProperties - HDInsight ondemand linked service properties.
44606	*HDInsightOnDemandLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
44607	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
44608	AdditionalProperties map[string]interface{} `json:""`
44609	// ConnectVia - The integration runtime reference.
44610	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
44611	// Description - Linked service description.
44612	Description *string `json:"description,omitempty"`
44613	// Parameters - Parameters for linked service.
44614	Parameters map[string]*ParameterSpecification `json:"parameters"`
44615	// Annotations - List of tags that can be used for describing the Dataset.
44616	Annotations *[]interface{} `json:"annotations,omitempty"`
44617	// 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'
44618	Type TypeBasicLinkedService `json:"type,omitempty"`
44619}
44620
44621// MarshalJSON is the custom marshaler for HDInsightOnDemandLinkedService.
44622func (hiodls HDInsightOnDemandLinkedService) MarshalJSON() ([]byte, error) {
44623	hiodls.Type = TypeHDInsightOnDemand
44624	objectMap := make(map[string]interface{})
44625	if hiodls.HDInsightOnDemandLinkedServiceTypeProperties != nil {
44626		objectMap["typeProperties"] = hiodls.HDInsightOnDemandLinkedServiceTypeProperties
44627	}
44628	if hiodls.ConnectVia != nil {
44629		objectMap["connectVia"] = hiodls.ConnectVia
44630	}
44631	if hiodls.Description != nil {
44632		objectMap["description"] = hiodls.Description
44633	}
44634	if hiodls.Parameters != nil {
44635		objectMap["parameters"] = hiodls.Parameters
44636	}
44637	if hiodls.Annotations != nil {
44638		objectMap["annotations"] = hiodls.Annotations
44639	}
44640	if hiodls.Type != "" {
44641		objectMap["type"] = hiodls.Type
44642	}
44643	for k, v := range hiodls.AdditionalProperties {
44644		objectMap[k] = v
44645	}
44646	return json.Marshal(objectMap)
44647}
44648
44649// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44650func (hiodls HDInsightOnDemandLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
44651	return nil, false
44652}
44653
44654// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44655func (hiodls HDInsightOnDemandLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
44656	return nil, false
44657}
44658
44659// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44660func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
44661	return nil, false
44662}
44663
44664// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44665func (hiodls HDInsightOnDemandLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
44666	return &hiodls, true
44667}
44668
44669// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44670func (hiodls HDInsightOnDemandLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
44671	return nil, false
44672}
44673
44674// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44675func (hiodls HDInsightOnDemandLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
44676	return nil, false
44677}
44678
44679// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44680func (hiodls HDInsightOnDemandLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
44681	return nil, false
44682}
44683
44684// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44685func (hiodls HDInsightOnDemandLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
44686	return nil, false
44687}
44688
44689// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44690func (hiodls HDInsightOnDemandLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
44691	return nil, false
44692}
44693
44694// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44695func (hiodls HDInsightOnDemandLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
44696	return nil, false
44697}
44698
44699// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44700func (hiodls HDInsightOnDemandLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
44701	return nil, false
44702}
44703
44704// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44705func (hiodls HDInsightOnDemandLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
44706	return nil, false
44707}
44708
44709// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44710func (hiodls HDInsightOnDemandLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
44711	return nil, false
44712}
44713
44714// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44715func (hiodls HDInsightOnDemandLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
44716	return nil, false
44717}
44718
44719// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44720func (hiodls HDInsightOnDemandLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
44721	return nil, false
44722}
44723
44724// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44725func (hiodls HDInsightOnDemandLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
44726	return nil, false
44727}
44728
44729// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44730func (hiodls HDInsightOnDemandLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
44731	return nil, false
44732}
44733
44734// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44735func (hiodls HDInsightOnDemandLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
44736	return nil, false
44737}
44738
44739// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44740func (hiodls HDInsightOnDemandLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
44741	return nil, false
44742}
44743
44744// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44745func (hiodls HDInsightOnDemandLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
44746	return nil, false
44747}
44748
44749// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44750func (hiodls HDInsightOnDemandLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
44751	return nil, false
44752}
44753
44754// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44755func (hiodls HDInsightOnDemandLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
44756	return nil, false
44757}
44758
44759// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44760func (hiodls HDInsightOnDemandLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
44761	return nil, false
44762}
44763
44764// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44765func (hiodls HDInsightOnDemandLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
44766	return nil, false
44767}
44768
44769// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44770func (hiodls HDInsightOnDemandLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
44771	return nil, false
44772}
44773
44774// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44775func (hiodls HDInsightOnDemandLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
44776	return nil, false
44777}
44778
44779// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44780func (hiodls HDInsightOnDemandLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
44781	return nil, false
44782}
44783
44784// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44785func (hiodls HDInsightOnDemandLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
44786	return nil, false
44787}
44788
44789// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44790func (hiodls HDInsightOnDemandLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
44791	return nil, false
44792}
44793
44794// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44795func (hiodls HDInsightOnDemandLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
44796	return nil, false
44797}
44798
44799// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44800func (hiodls HDInsightOnDemandLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
44801	return nil, false
44802}
44803
44804// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44805func (hiodls HDInsightOnDemandLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
44806	return nil, false
44807}
44808
44809// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44810func (hiodls HDInsightOnDemandLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
44811	return nil, false
44812}
44813
44814// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44815func (hiodls HDInsightOnDemandLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
44816	return nil, false
44817}
44818
44819// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44820func (hiodls HDInsightOnDemandLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
44821	return nil, false
44822}
44823
44824// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44825func (hiodls HDInsightOnDemandLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
44826	return nil, false
44827}
44828
44829// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44830func (hiodls HDInsightOnDemandLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
44831	return nil, false
44832}
44833
44834// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44835func (hiodls HDInsightOnDemandLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
44836	return nil, false
44837}
44838
44839// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44840func (hiodls HDInsightOnDemandLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
44841	return nil, false
44842}
44843
44844// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44845func (hiodls HDInsightOnDemandLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
44846	return nil, false
44847}
44848
44849// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44850func (hiodls HDInsightOnDemandLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
44851	return nil, false
44852}
44853
44854// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44855func (hiodls HDInsightOnDemandLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
44856	return nil, false
44857}
44858
44859// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44860func (hiodls HDInsightOnDemandLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
44861	return nil, false
44862}
44863
44864// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44865func (hiodls HDInsightOnDemandLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
44866	return nil, false
44867}
44868
44869// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44870func (hiodls HDInsightOnDemandLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
44871	return nil, false
44872}
44873
44874// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44875func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
44876	return nil, false
44877}
44878
44879// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44880func (hiodls HDInsightOnDemandLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
44881	return nil, false
44882}
44883
44884// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44885func (hiodls HDInsightOnDemandLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
44886	return nil, false
44887}
44888
44889// AsWebLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44890func (hiodls HDInsightOnDemandLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
44891	return nil, false
44892}
44893
44894// AsODataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44895func (hiodls HDInsightOnDemandLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
44896	return nil, false
44897}
44898
44899// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44900func (hiodls HDInsightOnDemandLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
44901	return nil, false
44902}
44903
44904// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44905func (hiodls HDInsightOnDemandLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
44906	return nil, false
44907}
44908
44909// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44910func (hiodls HDInsightOnDemandLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
44911	return nil, false
44912}
44913
44914// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44915func (hiodls HDInsightOnDemandLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
44916	return nil, false
44917}
44918
44919// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44920func (hiodls HDInsightOnDemandLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
44921	return nil, false
44922}
44923
44924// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44925func (hiodls HDInsightOnDemandLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
44926	return nil, false
44927}
44928
44929// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44930func (hiodls HDInsightOnDemandLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
44931	return nil, false
44932}
44933
44934// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44935func (hiodls HDInsightOnDemandLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
44936	return nil, false
44937}
44938
44939// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44940func (hiodls HDInsightOnDemandLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
44941	return nil, false
44942}
44943
44944// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44945func (hiodls HDInsightOnDemandLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
44946	return nil, false
44947}
44948
44949// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44950func (hiodls HDInsightOnDemandLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
44951	return nil, false
44952}
44953
44954// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44955func (hiodls HDInsightOnDemandLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
44956	return nil, false
44957}
44958
44959// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44960func (hiodls HDInsightOnDemandLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
44961	return nil, false
44962}
44963
44964// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44965func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
44966	return nil, false
44967}
44968
44969// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44970func (hiodls HDInsightOnDemandLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
44971	return nil, false
44972}
44973
44974// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44975func (hiodls HDInsightOnDemandLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
44976	return nil, false
44977}
44978
44979// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44980func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
44981	return nil, false
44982}
44983
44984// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44985func (hiodls HDInsightOnDemandLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
44986	return nil, false
44987}
44988
44989// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44990func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
44991	return nil, false
44992}
44993
44994// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
44995func (hiodls HDInsightOnDemandLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
44996	return nil, false
44997}
44998
44999// AsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
45000func (hiodls HDInsightOnDemandLinkedService) AsLinkedService() (*LinkedService, bool) {
45001	return nil, false
45002}
45003
45004// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
45005func (hiodls HDInsightOnDemandLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
45006	return &hiodls, true
45007}
45008
45009// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedService struct.
45010func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error {
45011	var m map[string]*json.RawMessage
45012	err := json.Unmarshal(body, &m)
45013	if err != nil {
45014		return err
45015	}
45016	for k, v := range m {
45017		switch k {
45018		case "typeProperties":
45019			if v != nil {
45020				var hDInsightOnDemandLinkedServiceTypeProperties HDInsightOnDemandLinkedServiceTypeProperties
45021				err = json.Unmarshal(*v, &hDInsightOnDemandLinkedServiceTypeProperties)
45022				if err != nil {
45023					return err
45024				}
45025				hiodls.HDInsightOnDemandLinkedServiceTypeProperties = &hDInsightOnDemandLinkedServiceTypeProperties
45026			}
45027		default:
45028			if v != nil {
45029				var additionalProperties interface{}
45030				err = json.Unmarshal(*v, &additionalProperties)
45031				if err != nil {
45032					return err
45033				}
45034				if hiodls.AdditionalProperties == nil {
45035					hiodls.AdditionalProperties = make(map[string]interface{})
45036				}
45037				hiodls.AdditionalProperties[k] = additionalProperties
45038			}
45039		case "connectVia":
45040			if v != nil {
45041				var connectVia IntegrationRuntimeReference
45042				err = json.Unmarshal(*v, &connectVia)
45043				if err != nil {
45044					return err
45045				}
45046				hiodls.ConnectVia = &connectVia
45047			}
45048		case "description":
45049			if v != nil {
45050				var description string
45051				err = json.Unmarshal(*v, &description)
45052				if err != nil {
45053					return err
45054				}
45055				hiodls.Description = &description
45056			}
45057		case "parameters":
45058			if v != nil {
45059				var parameters map[string]*ParameterSpecification
45060				err = json.Unmarshal(*v, &parameters)
45061				if err != nil {
45062					return err
45063				}
45064				hiodls.Parameters = parameters
45065			}
45066		case "annotations":
45067			if v != nil {
45068				var annotations []interface{}
45069				err = json.Unmarshal(*v, &annotations)
45070				if err != nil {
45071					return err
45072				}
45073				hiodls.Annotations = &annotations
45074			}
45075		case "type":
45076			if v != nil {
45077				var typeVar TypeBasicLinkedService
45078				err = json.Unmarshal(*v, &typeVar)
45079				if err != nil {
45080					return err
45081				}
45082				hiodls.Type = typeVar
45083			}
45084		}
45085	}
45086
45087	return nil
45088}
45089
45090// HDInsightOnDemandLinkedServiceTypeProperties hDInsight ondemand linked service properties.
45091type HDInsightOnDemandLinkedServiceTypeProperties struct {
45092	// ClusterSize - Number of worker/data nodes in the cluster. Suggestion value: 4. Type: string (or Expression with resultType string).
45093	ClusterSize interface{} `json:"clusterSize,omitempty"`
45094	// 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).
45095	TimeToLive interface{} `json:"timeToLive,omitempty"`
45096	// Version - Version of the HDInsight cluster.  Type: string (or Expression with resultType string).
45097	Version interface{} `json:"version,omitempty"`
45098	// LinkedServiceName - Azure Storage linked service to be used by the on-demand cluster for storing and processing data.
45099	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
45100	// HostSubscriptionID - The customer’s subscription to host the cluster. Type: string (or Expression with resultType string).
45101	HostSubscriptionID interface{} `json:"hostSubscriptionId,omitempty"`
45102	// ServicePrincipalID - The service principal id for the hostSubscriptionId. Type: string (or Expression with resultType string).
45103	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
45104	// ServicePrincipalKey - The key for the service principal id.
45105	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
45106	// Tenant - The Tenant id/name to which the service principal belongs. Type: string (or Expression with resultType string).
45107	Tenant interface{} `json:"tenant,omitempty"`
45108	// ClusterResourceGroup - The resource group where the cluster belongs. Type: string (or Expression with resultType string).
45109	ClusterResourceGroup interface{} `json:"clusterResourceGroup,omitempty"`
45110	// ClusterNamePrefix - The prefix of cluster name, postfix will be distinct with timestamp. Type: string (or Expression with resultType string).
45111	ClusterNamePrefix interface{} `json:"clusterNamePrefix,omitempty"`
45112	// ClusterUserName - The username to access the cluster. Type: string (or Expression with resultType string).
45113	ClusterUserName interface{} `json:"clusterUserName,omitempty"`
45114	// ClusterPassword - The password to access the cluster.
45115	ClusterPassword BasicSecretBase `json:"clusterPassword,omitempty"`
45116	// ClusterSSHUserName - The username to SSH remotely connect to cluster’s node (for Linux). Type: string (or Expression with resultType string).
45117	ClusterSSHUserName interface{} `json:"clusterSshUserName,omitempty"`
45118	// ClusterSSHPassword - The password to SSH remotely connect cluster’s node (for Linux).
45119	ClusterSSHPassword BasicSecretBase `json:"clusterSshPassword,omitempty"`
45120	// AdditionalLinkedServiceNames - Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf.
45121	AdditionalLinkedServiceNames *[]LinkedServiceReference `json:"additionalLinkedServiceNames,omitempty"`
45122	// 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.
45123	HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"`
45124	// ClusterType - The cluster type. Type: string (or Expression with resultType string).
45125	ClusterType interface{} `json:"clusterType,omitempty"`
45126	// SparkVersion - The version of spark if the cluster type is 'spark'. Type: string (or Expression with resultType string).
45127	SparkVersion interface{} `json:"sparkVersion,omitempty"`
45128	// CoreConfiguration - Specifies the core configuration parameters (as in core-site.xml) for the HDInsight cluster to be created.
45129	CoreConfiguration interface{} `json:"coreConfiguration,omitempty"`
45130	// HBaseConfiguration - Specifies the HBase configuration parameters (hbase-site.xml) for the HDInsight cluster.
45131	HBaseConfiguration interface{} `json:"hBaseConfiguration,omitempty"`
45132	// HdfsConfiguration - Specifies the HDFS configuration parameters (hdfs-site.xml) for the HDInsight cluster.
45133	HdfsConfiguration interface{} `json:"hdfsConfiguration,omitempty"`
45134	// HiveConfiguration - Specifies the hive configuration parameters (hive-site.xml) for the HDInsight cluster.
45135	HiveConfiguration interface{} `json:"hiveConfiguration,omitempty"`
45136	// MapReduceConfiguration - Specifies the MapReduce configuration parameters (mapred-site.xml) for the HDInsight cluster.
45137	MapReduceConfiguration interface{} `json:"mapReduceConfiguration,omitempty"`
45138	// OozieConfiguration - Specifies the Oozie configuration parameters (oozie-site.xml) for the HDInsight cluster.
45139	OozieConfiguration interface{} `json:"oozieConfiguration,omitempty"`
45140	// StormConfiguration - Specifies the Storm configuration parameters (storm-site.xml) for the HDInsight cluster.
45141	StormConfiguration interface{} `json:"stormConfiguration,omitempty"`
45142	// YarnConfiguration - Specifies the Yarn configuration parameters (yarn-site.xml) for the HDInsight cluster.
45143	YarnConfiguration interface{} `json:"yarnConfiguration,omitempty"`
45144	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
45145	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
45146	// HeadNodeSize - Specifies the size of the head node for the HDInsight cluster.
45147	HeadNodeSize interface{} `json:"headNodeSize,omitempty"`
45148	// DataNodeSize - Specifies the size of the data node for the HDInsight cluster.
45149	DataNodeSize interface{} `json:"dataNodeSize,omitempty"`
45150	// ZookeeperNodeSize - Specifies the size of the Zoo Keeper node for the HDInsight cluster.
45151	ZookeeperNodeSize interface{} `json:"zookeeperNodeSize,omitempty"`
45152}
45153
45154// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedServiceTypeProperties struct.
45155func (hiodlstp *HDInsightOnDemandLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
45156	var m map[string]*json.RawMessage
45157	err := json.Unmarshal(body, &m)
45158	if err != nil {
45159		return err
45160	}
45161	for k, v := range m {
45162		switch k {
45163		case "clusterSize":
45164			if v != nil {
45165				var clusterSize interface{}
45166				err = json.Unmarshal(*v, &clusterSize)
45167				if err != nil {
45168					return err
45169				}
45170				hiodlstp.ClusterSize = clusterSize
45171			}
45172		case "timeToLive":
45173			if v != nil {
45174				var timeToLive interface{}
45175				err = json.Unmarshal(*v, &timeToLive)
45176				if err != nil {
45177					return err
45178				}
45179				hiodlstp.TimeToLive = timeToLive
45180			}
45181		case "version":
45182			if v != nil {
45183				var version interface{}
45184				err = json.Unmarshal(*v, &version)
45185				if err != nil {
45186					return err
45187				}
45188				hiodlstp.Version = version
45189			}
45190		case "linkedServiceName":
45191			if v != nil {
45192				var linkedServiceName LinkedServiceReference
45193				err = json.Unmarshal(*v, &linkedServiceName)
45194				if err != nil {
45195					return err
45196				}
45197				hiodlstp.LinkedServiceName = &linkedServiceName
45198			}
45199		case "hostSubscriptionId":
45200			if v != nil {
45201				var hostSubscriptionID interface{}
45202				err = json.Unmarshal(*v, &hostSubscriptionID)
45203				if err != nil {
45204					return err
45205				}
45206				hiodlstp.HostSubscriptionID = hostSubscriptionID
45207			}
45208		case "servicePrincipalId":
45209			if v != nil {
45210				var servicePrincipalID interface{}
45211				err = json.Unmarshal(*v, &servicePrincipalID)
45212				if err != nil {
45213					return err
45214				}
45215				hiodlstp.ServicePrincipalID = servicePrincipalID
45216			}
45217		case "servicePrincipalKey":
45218			if v != nil {
45219				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
45220				if err != nil {
45221					return err
45222				}
45223				hiodlstp.ServicePrincipalKey = servicePrincipalKey
45224			}
45225		case "tenant":
45226			if v != nil {
45227				var tenant interface{}
45228				err = json.Unmarshal(*v, &tenant)
45229				if err != nil {
45230					return err
45231				}
45232				hiodlstp.Tenant = tenant
45233			}
45234		case "clusterResourceGroup":
45235			if v != nil {
45236				var clusterResourceGroup interface{}
45237				err = json.Unmarshal(*v, &clusterResourceGroup)
45238				if err != nil {
45239					return err
45240				}
45241				hiodlstp.ClusterResourceGroup = clusterResourceGroup
45242			}
45243		case "clusterNamePrefix":
45244			if v != nil {
45245				var clusterNamePrefix interface{}
45246				err = json.Unmarshal(*v, &clusterNamePrefix)
45247				if err != nil {
45248					return err
45249				}
45250				hiodlstp.ClusterNamePrefix = clusterNamePrefix
45251			}
45252		case "clusterUserName":
45253			if v != nil {
45254				var clusterUserName interface{}
45255				err = json.Unmarshal(*v, &clusterUserName)
45256				if err != nil {
45257					return err
45258				}
45259				hiodlstp.ClusterUserName = clusterUserName
45260			}
45261		case "clusterPassword":
45262			if v != nil {
45263				clusterPassword, err := unmarshalBasicSecretBase(*v)
45264				if err != nil {
45265					return err
45266				}
45267				hiodlstp.ClusterPassword = clusterPassword
45268			}
45269		case "clusterSshUserName":
45270			if v != nil {
45271				var clusterSSHUserName interface{}
45272				err = json.Unmarshal(*v, &clusterSSHUserName)
45273				if err != nil {
45274					return err
45275				}
45276				hiodlstp.ClusterSSHUserName = clusterSSHUserName
45277			}
45278		case "clusterSshPassword":
45279			if v != nil {
45280				clusterSSHPassword, err := unmarshalBasicSecretBase(*v)
45281				if err != nil {
45282					return err
45283				}
45284				hiodlstp.ClusterSSHPassword = clusterSSHPassword
45285			}
45286		case "additionalLinkedServiceNames":
45287			if v != nil {
45288				var additionalLinkedServiceNames []LinkedServiceReference
45289				err = json.Unmarshal(*v, &additionalLinkedServiceNames)
45290				if err != nil {
45291					return err
45292				}
45293				hiodlstp.AdditionalLinkedServiceNames = &additionalLinkedServiceNames
45294			}
45295		case "hcatalogLinkedServiceName":
45296			if v != nil {
45297				var hcatalogLinkedServiceName LinkedServiceReference
45298				err = json.Unmarshal(*v, &hcatalogLinkedServiceName)
45299				if err != nil {
45300					return err
45301				}
45302				hiodlstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName
45303			}
45304		case "clusterType":
45305			if v != nil {
45306				var clusterType interface{}
45307				err = json.Unmarshal(*v, &clusterType)
45308				if err != nil {
45309					return err
45310				}
45311				hiodlstp.ClusterType = clusterType
45312			}
45313		case "sparkVersion":
45314			if v != nil {
45315				var sparkVersion interface{}
45316				err = json.Unmarshal(*v, &sparkVersion)
45317				if err != nil {
45318					return err
45319				}
45320				hiodlstp.SparkVersion = sparkVersion
45321			}
45322		case "coreConfiguration":
45323			if v != nil {
45324				var coreConfiguration interface{}
45325				err = json.Unmarshal(*v, &coreConfiguration)
45326				if err != nil {
45327					return err
45328				}
45329				hiodlstp.CoreConfiguration = coreConfiguration
45330			}
45331		case "hBaseConfiguration":
45332			if v != nil {
45333				var hBaseConfiguration interface{}
45334				err = json.Unmarshal(*v, &hBaseConfiguration)
45335				if err != nil {
45336					return err
45337				}
45338				hiodlstp.HBaseConfiguration = hBaseConfiguration
45339			}
45340		case "hdfsConfiguration":
45341			if v != nil {
45342				var hdfsConfiguration interface{}
45343				err = json.Unmarshal(*v, &hdfsConfiguration)
45344				if err != nil {
45345					return err
45346				}
45347				hiodlstp.HdfsConfiguration = hdfsConfiguration
45348			}
45349		case "hiveConfiguration":
45350			if v != nil {
45351				var hiveConfiguration interface{}
45352				err = json.Unmarshal(*v, &hiveConfiguration)
45353				if err != nil {
45354					return err
45355				}
45356				hiodlstp.HiveConfiguration = hiveConfiguration
45357			}
45358		case "mapReduceConfiguration":
45359			if v != nil {
45360				var mapReduceConfiguration interface{}
45361				err = json.Unmarshal(*v, &mapReduceConfiguration)
45362				if err != nil {
45363					return err
45364				}
45365				hiodlstp.MapReduceConfiguration = mapReduceConfiguration
45366			}
45367		case "oozieConfiguration":
45368			if v != nil {
45369				var oozieConfiguration interface{}
45370				err = json.Unmarshal(*v, &oozieConfiguration)
45371				if err != nil {
45372					return err
45373				}
45374				hiodlstp.OozieConfiguration = oozieConfiguration
45375			}
45376		case "stormConfiguration":
45377			if v != nil {
45378				var stormConfiguration interface{}
45379				err = json.Unmarshal(*v, &stormConfiguration)
45380				if err != nil {
45381					return err
45382				}
45383				hiodlstp.StormConfiguration = stormConfiguration
45384			}
45385		case "yarnConfiguration":
45386			if v != nil {
45387				var yarnConfiguration interface{}
45388				err = json.Unmarshal(*v, &yarnConfiguration)
45389				if err != nil {
45390					return err
45391				}
45392				hiodlstp.YarnConfiguration = yarnConfiguration
45393			}
45394		case "encryptedCredential":
45395			if v != nil {
45396				var encryptedCredential interface{}
45397				err = json.Unmarshal(*v, &encryptedCredential)
45398				if err != nil {
45399					return err
45400				}
45401				hiodlstp.EncryptedCredential = encryptedCredential
45402			}
45403		case "headNodeSize":
45404			if v != nil {
45405				var headNodeSize interface{}
45406				err = json.Unmarshal(*v, &headNodeSize)
45407				if err != nil {
45408					return err
45409				}
45410				hiodlstp.HeadNodeSize = headNodeSize
45411			}
45412		case "dataNodeSize":
45413			if v != nil {
45414				var dataNodeSize interface{}
45415				err = json.Unmarshal(*v, &dataNodeSize)
45416				if err != nil {
45417					return err
45418				}
45419				hiodlstp.DataNodeSize = dataNodeSize
45420			}
45421		case "zookeeperNodeSize":
45422			if v != nil {
45423				var zookeeperNodeSize interface{}
45424				err = json.Unmarshal(*v, &zookeeperNodeSize)
45425				if err != nil {
45426					return err
45427				}
45428				hiodlstp.ZookeeperNodeSize = zookeeperNodeSize
45429			}
45430		}
45431	}
45432
45433	return nil
45434}
45435
45436// HDInsightPigActivity hDInsight Pig activity type.
45437type HDInsightPigActivity struct {
45438	// HDInsightPigActivityTypeProperties - HDInsight Pig activity properties.
45439	*HDInsightPigActivityTypeProperties `json:"typeProperties,omitempty"`
45440	// LinkedServiceName - Linked service reference.
45441	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
45442	// Policy - Activity policy.
45443	Policy *ActivityPolicy `json:"policy,omitempty"`
45444	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
45445	AdditionalProperties map[string]interface{} `json:""`
45446	// Name - Activity name.
45447	Name *string `json:"name,omitempty"`
45448	// Description - Activity description.
45449	Description *string `json:"description,omitempty"`
45450	// DependsOn - Activity depends on condition.
45451	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
45452	// 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'
45453	Type TypeBasicActivity `json:"type,omitempty"`
45454}
45455
45456// MarshalJSON is the custom marshaler for HDInsightPigActivity.
45457func (hipa HDInsightPigActivity) MarshalJSON() ([]byte, error) {
45458	hipa.Type = TypeHDInsightPig
45459	objectMap := make(map[string]interface{})
45460	if hipa.HDInsightPigActivityTypeProperties != nil {
45461		objectMap["typeProperties"] = hipa.HDInsightPigActivityTypeProperties
45462	}
45463	if hipa.LinkedServiceName != nil {
45464		objectMap["linkedServiceName"] = hipa.LinkedServiceName
45465	}
45466	if hipa.Policy != nil {
45467		objectMap["policy"] = hipa.Policy
45468	}
45469	if hipa.Name != nil {
45470		objectMap["name"] = hipa.Name
45471	}
45472	if hipa.Description != nil {
45473		objectMap["description"] = hipa.Description
45474	}
45475	if hipa.DependsOn != nil {
45476		objectMap["dependsOn"] = hipa.DependsOn
45477	}
45478	if hipa.Type != "" {
45479		objectMap["type"] = hipa.Type
45480	}
45481	for k, v := range hipa.AdditionalProperties {
45482		objectMap[k] = v
45483	}
45484	return json.Marshal(objectMap)
45485}
45486
45487// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightPigActivity.
45488func (hipa HDInsightPigActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
45489	return nil, false
45490}
45491
45492// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightPigActivity.
45493func (hipa HDInsightPigActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
45494	return nil, false
45495}
45496
45497// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightPigActivity.
45498func (hipa HDInsightPigActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
45499	return nil, false
45500}
45501
45502// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
45503func (hipa HDInsightPigActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
45504	return nil, false
45505}
45506
45507// AsGetMetadataActivity is the BasicActivity implementation for HDInsightPigActivity.
45508func (hipa HDInsightPigActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
45509	return nil, false
45510}
45511
45512// AsWebActivity is the BasicActivity implementation for HDInsightPigActivity.
45513func (hipa HDInsightPigActivity) AsWebActivity() (*WebActivity, bool) {
45514	return nil, false
45515}
45516
45517// AsLookupActivity is the BasicActivity implementation for HDInsightPigActivity.
45518func (hipa HDInsightPigActivity) AsLookupActivity() (*LookupActivity, bool) {
45519	return nil, false
45520}
45521
45522// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightPigActivity.
45523func (hipa HDInsightPigActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
45524	return nil, false
45525}
45526
45527// AsCustomActivity is the BasicActivity implementation for HDInsightPigActivity.
45528func (hipa HDInsightPigActivity) AsCustomActivity() (*CustomActivity, bool) {
45529	return nil, false
45530}
45531
45532// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightPigActivity.
45533func (hipa HDInsightPigActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
45534	return nil, false
45535}
45536
45537// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightPigActivity.
45538func (hipa HDInsightPigActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
45539	return nil, false
45540}
45541
45542// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightPigActivity.
45543func (hipa HDInsightPigActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
45544	return nil, false
45545}
45546
45547// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightPigActivity.
45548func (hipa HDInsightPigActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
45549	return nil, false
45550}
45551
45552// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightPigActivity.
45553func (hipa HDInsightPigActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
45554	return &hipa, true
45555}
45556
45557// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightPigActivity.
45558func (hipa HDInsightPigActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
45559	return nil, false
45560}
45561
45562// AsCopyActivity is the BasicActivity implementation for HDInsightPigActivity.
45563func (hipa HDInsightPigActivity) AsCopyActivity() (*CopyActivity, bool) {
45564	return nil, false
45565}
45566
45567// AsExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
45568func (hipa HDInsightPigActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
45569	return nil, false
45570}
45571
45572// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
45573func (hipa HDInsightPigActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
45574	return &hipa, true
45575}
45576
45577// AsFilterActivity is the BasicActivity implementation for HDInsightPigActivity.
45578func (hipa HDInsightPigActivity) AsFilterActivity() (*FilterActivity, bool) {
45579	return nil, false
45580}
45581
45582// AsUntilActivity is the BasicActivity implementation for HDInsightPigActivity.
45583func (hipa HDInsightPigActivity) AsUntilActivity() (*UntilActivity, bool) {
45584	return nil, false
45585}
45586
45587// AsWaitActivity is the BasicActivity implementation for HDInsightPigActivity.
45588func (hipa HDInsightPigActivity) AsWaitActivity() (*WaitActivity, bool) {
45589	return nil, false
45590}
45591
45592// AsForEachActivity is the BasicActivity implementation for HDInsightPigActivity.
45593func (hipa HDInsightPigActivity) AsForEachActivity() (*ForEachActivity, bool) {
45594	return nil, false
45595}
45596
45597// AsIfConditionActivity is the BasicActivity implementation for HDInsightPigActivity.
45598func (hipa HDInsightPigActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
45599	return nil, false
45600}
45601
45602// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity.
45603func (hipa HDInsightPigActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
45604	return nil, false
45605}
45606
45607// AsControlActivity is the BasicActivity implementation for HDInsightPigActivity.
45608func (hipa HDInsightPigActivity) AsControlActivity() (*ControlActivity, bool) {
45609	return nil, false
45610}
45611
45612// AsBasicControlActivity is the BasicActivity implementation for HDInsightPigActivity.
45613func (hipa HDInsightPigActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
45614	return nil, false
45615}
45616
45617// AsActivity is the BasicActivity implementation for HDInsightPigActivity.
45618func (hipa HDInsightPigActivity) AsActivity() (*Activity, bool) {
45619	return nil, false
45620}
45621
45622// AsBasicActivity is the BasicActivity implementation for HDInsightPigActivity.
45623func (hipa HDInsightPigActivity) AsBasicActivity() (BasicActivity, bool) {
45624	return &hipa, true
45625}
45626
45627// UnmarshalJSON is the custom unmarshaler for HDInsightPigActivity struct.
45628func (hipa *HDInsightPigActivity) UnmarshalJSON(body []byte) error {
45629	var m map[string]*json.RawMessage
45630	err := json.Unmarshal(body, &m)
45631	if err != nil {
45632		return err
45633	}
45634	for k, v := range m {
45635		switch k {
45636		case "typeProperties":
45637			if v != nil {
45638				var hDInsightPigActivityTypeProperties HDInsightPigActivityTypeProperties
45639				err = json.Unmarshal(*v, &hDInsightPigActivityTypeProperties)
45640				if err != nil {
45641					return err
45642				}
45643				hipa.HDInsightPigActivityTypeProperties = &hDInsightPigActivityTypeProperties
45644			}
45645		case "linkedServiceName":
45646			if v != nil {
45647				var linkedServiceName LinkedServiceReference
45648				err = json.Unmarshal(*v, &linkedServiceName)
45649				if err != nil {
45650					return err
45651				}
45652				hipa.LinkedServiceName = &linkedServiceName
45653			}
45654		case "policy":
45655			if v != nil {
45656				var policy ActivityPolicy
45657				err = json.Unmarshal(*v, &policy)
45658				if err != nil {
45659					return err
45660				}
45661				hipa.Policy = &policy
45662			}
45663		default:
45664			if v != nil {
45665				var additionalProperties interface{}
45666				err = json.Unmarshal(*v, &additionalProperties)
45667				if err != nil {
45668					return err
45669				}
45670				if hipa.AdditionalProperties == nil {
45671					hipa.AdditionalProperties = make(map[string]interface{})
45672				}
45673				hipa.AdditionalProperties[k] = additionalProperties
45674			}
45675		case "name":
45676			if v != nil {
45677				var name string
45678				err = json.Unmarshal(*v, &name)
45679				if err != nil {
45680					return err
45681				}
45682				hipa.Name = &name
45683			}
45684		case "description":
45685			if v != nil {
45686				var description string
45687				err = json.Unmarshal(*v, &description)
45688				if err != nil {
45689					return err
45690				}
45691				hipa.Description = &description
45692			}
45693		case "dependsOn":
45694			if v != nil {
45695				var dependsOn []ActivityDependency
45696				err = json.Unmarshal(*v, &dependsOn)
45697				if err != nil {
45698					return err
45699				}
45700				hipa.DependsOn = &dependsOn
45701			}
45702		case "type":
45703			if v != nil {
45704				var typeVar TypeBasicActivity
45705				err = json.Unmarshal(*v, &typeVar)
45706				if err != nil {
45707					return err
45708				}
45709				hipa.Type = typeVar
45710			}
45711		}
45712	}
45713
45714	return nil
45715}
45716
45717// HDInsightPigActivityTypeProperties hDInsight Pig activity properties.
45718type HDInsightPigActivityTypeProperties struct {
45719	// StorageLinkedServices - Storage linked service references.
45720	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
45721	// Arguments - User specified arguments to HDInsightActivity.
45722	Arguments *[]interface{} `json:"arguments,omitempty"`
45723	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
45724	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
45725	// ScriptPath - Script path. Type: string (or Expression with resultType string).
45726	ScriptPath interface{} `json:"scriptPath,omitempty"`
45727	// ScriptLinkedService - Script linked service reference.
45728	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
45729	// Defines - Allows user to specify defines for Pig job request.
45730	Defines map[string]interface{} `json:"defines"`
45731}
45732
45733// MarshalJSON is the custom marshaler for HDInsightPigActivityTypeProperties.
45734func (hipatp HDInsightPigActivityTypeProperties) MarshalJSON() ([]byte, error) {
45735	objectMap := make(map[string]interface{})
45736	if hipatp.StorageLinkedServices != nil {
45737		objectMap["storageLinkedServices"] = hipatp.StorageLinkedServices
45738	}
45739	if hipatp.Arguments != nil {
45740		objectMap["arguments"] = hipatp.Arguments
45741	}
45742	if hipatp.GetDebugInfo != "" {
45743		objectMap["getDebugInfo"] = hipatp.GetDebugInfo
45744	}
45745	if hipatp.ScriptPath != nil {
45746		objectMap["scriptPath"] = hipatp.ScriptPath
45747	}
45748	if hipatp.ScriptLinkedService != nil {
45749		objectMap["scriptLinkedService"] = hipatp.ScriptLinkedService
45750	}
45751	if hipatp.Defines != nil {
45752		objectMap["defines"] = hipatp.Defines
45753	}
45754	return json.Marshal(objectMap)
45755}
45756
45757// HDInsightSparkActivity hDInsight Spark activity.
45758type HDInsightSparkActivity struct {
45759	// HDInsightSparkActivityTypeProperties - HDInsight spark activity properties.
45760	*HDInsightSparkActivityTypeProperties `json:"typeProperties,omitempty"`
45761	// LinkedServiceName - Linked service reference.
45762	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
45763	// Policy - Activity policy.
45764	Policy *ActivityPolicy `json:"policy,omitempty"`
45765	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
45766	AdditionalProperties map[string]interface{} `json:""`
45767	// Name - Activity name.
45768	Name *string `json:"name,omitempty"`
45769	// Description - Activity description.
45770	Description *string `json:"description,omitempty"`
45771	// DependsOn - Activity depends on condition.
45772	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
45773	// 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'
45774	Type TypeBasicActivity `json:"type,omitempty"`
45775}
45776
45777// MarshalJSON is the custom marshaler for HDInsightSparkActivity.
45778func (hisa HDInsightSparkActivity) MarshalJSON() ([]byte, error) {
45779	hisa.Type = TypeHDInsightSpark
45780	objectMap := make(map[string]interface{})
45781	if hisa.HDInsightSparkActivityTypeProperties != nil {
45782		objectMap["typeProperties"] = hisa.HDInsightSparkActivityTypeProperties
45783	}
45784	if hisa.LinkedServiceName != nil {
45785		objectMap["linkedServiceName"] = hisa.LinkedServiceName
45786	}
45787	if hisa.Policy != nil {
45788		objectMap["policy"] = hisa.Policy
45789	}
45790	if hisa.Name != nil {
45791		objectMap["name"] = hisa.Name
45792	}
45793	if hisa.Description != nil {
45794		objectMap["description"] = hisa.Description
45795	}
45796	if hisa.DependsOn != nil {
45797		objectMap["dependsOn"] = hisa.DependsOn
45798	}
45799	if hisa.Type != "" {
45800		objectMap["type"] = hisa.Type
45801	}
45802	for k, v := range hisa.AdditionalProperties {
45803		objectMap[k] = v
45804	}
45805	return json.Marshal(objectMap)
45806}
45807
45808// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightSparkActivity.
45809func (hisa HDInsightSparkActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
45810	return nil, false
45811}
45812
45813// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightSparkActivity.
45814func (hisa HDInsightSparkActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
45815	return nil, false
45816}
45817
45818// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightSparkActivity.
45819func (hisa HDInsightSparkActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
45820	return nil, false
45821}
45822
45823// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
45824func (hisa HDInsightSparkActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
45825	return nil, false
45826}
45827
45828// AsGetMetadataActivity is the BasicActivity implementation for HDInsightSparkActivity.
45829func (hisa HDInsightSparkActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
45830	return nil, false
45831}
45832
45833// AsWebActivity is the BasicActivity implementation for HDInsightSparkActivity.
45834func (hisa HDInsightSparkActivity) AsWebActivity() (*WebActivity, bool) {
45835	return nil, false
45836}
45837
45838// AsLookupActivity is the BasicActivity implementation for HDInsightSparkActivity.
45839func (hisa HDInsightSparkActivity) AsLookupActivity() (*LookupActivity, bool) {
45840	return nil, false
45841}
45842
45843// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightSparkActivity.
45844func (hisa HDInsightSparkActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
45845	return nil, false
45846}
45847
45848// AsCustomActivity is the BasicActivity implementation for HDInsightSparkActivity.
45849func (hisa HDInsightSparkActivity) AsCustomActivity() (*CustomActivity, bool) {
45850	return nil, false
45851}
45852
45853// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightSparkActivity.
45854func (hisa HDInsightSparkActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
45855	return nil, false
45856}
45857
45858// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightSparkActivity.
45859func (hisa HDInsightSparkActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
45860	return &hisa, true
45861}
45862
45863// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightSparkActivity.
45864func (hisa HDInsightSparkActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
45865	return nil, false
45866}
45867
45868// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightSparkActivity.
45869func (hisa HDInsightSparkActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
45870	return nil, false
45871}
45872
45873// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightSparkActivity.
45874func (hisa HDInsightSparkActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
45875	return nil, false
45876}
45877
45878// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightSparkActivity.
45879func (hisa HDInsightSparkActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
45880	return nil, false
45881}
45882
45883// AsCopyActivity is the BasicActivity implementation for HDInsightSparkActivity.
45884func (hisa HDInsightSparkActivity) AsCopyActivity() (*CopyActivity, bool) {
45885	return nil, false
45886}
45887
45888// AsExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
45889func (hisa HDInsightSparkActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
45890	return nil, false
45891}
45892
45893// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
45894func (hisa HDInsightSparkActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
45895	return &hisa, true
45896}
45897
45898// AsFilterActivity is the BasicActivity implementation for HDInsightSparkActivity.
45899func (hisa HDInsightSparkActivity) AsFilterActivity() (*FilterActivity, bool) {
45900	return nil, false
45901}
45902
45903// AsUntilActivity is the BasicActivity implementation for HDInsightSparkActivity.
45904func (hisa HDInsightSparkActivity) AsUntilActivity() (*UntilActivity, bool) {
45905	return nil, false
45906}
45907
45908// AsWaitActivity is the BasicActivity implementation for HDInsightSparkActivity.
45909func (hisa HDInsightSparkActivity) AsWaitActivity() (*WaitActivity, bool) {
45910	return nil, false
45911}
45912
45913// AsForEachActivity is the BasicActivity implementation for HDInsightSparkActivity.
45914func (hisa HDInsightSparkActivity) AsForEachActivity() (*ForEachActivity, bool) {
45915	return nil, false
45916}
45917
45918// AsIfConditionActivity is the BasicActivity implementation for HDInsightSparkActivity.
45919func (hisa HDInsightSparkActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
45920	return nil, false
45921}
45922
45923// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity.
45924func (hisa HDInsightSparkActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
45925	return nil, false
45926}
45927
45928// AsControlActivity is the BasicActivity implementation for HDInsightSparkActivity.
45929func (hisa HDInsightSparkActivity) AsControlActivity() (*ControlActivity, bool) {
45930	return nil, false
45931}
45932
45933// AsBasicControlActivity is the BasicActivity implementation for HDInsightSparkActivity.
45934func (hisa HDInsightSparkActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
45935	return nil, false
45936}
45937
45938// AsActivity is the BasicActivity implementation for HDInsightSparkActivity.
45939func (hisa HDInsightSparkActivity) AsActivity() (*Activity, bool) {
45940	return nil, false
45941}
45942
45943// AsBasicActivity is the BasicActivity implementation for HDInsightSparkActivity.
45944func (hisa HDInsightSparkActivity) AsBasicActivity() (BasicActivity, bool) {
45945	return &hisa, true
45946}
45947
45948// UnmarshalJSON is the custom unmarshaler for HDInsightSparkActivity struct.
45949func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error {
45950	var m map[string]*json.RawMessage
45951	err := json.Unmarshal(body, &m)
45952	if err != nil {
45953		return err
45954	}
45955	for k, v := range m {
45956		switch k {
45957		case "typeProperties":
45958			if v != nil {
45959				var hDInsightSparkActivityTypeProperties HDInsightSparkActivityTypeProperties
45960				err = json.Unmarshal(*v, &hDInsightSparkActivityTypeProperties)
45961				if err != nil {
45962					return err
45963				}
45964				hisa.HDInsightSparkActivityTypeProperties = &hDInsightSparkActivityTypeProperties
45965			}
45966		case "linkedServiceName":
45967			if v != nil {
45968				var linkedServiceName LinkedServiceReference
45969				err = json.Unmarshal(*v, &linkedServiceName)
45970				if err != nil {
45971					return err
45972				}
45973				hisa.LinkedServiceName = &linkedServiceName
45974			}
45975		case "policy":
45976			if v != nil {
45977				var policy ActivityPolicy
45978				err = json.Unmarshal(*v, &policy)
45979				if err != nil {
45980					return err
45981				}
45982				hisa.Policy = &policy
45983			}
45984		default:
45985			if v != nil {
45986				var additionalProperties interface{}
45987				err = json.Unmarshal(*v, &additionalProperties)
45988				if err != nil {
45989					return err
45990				}
45991				if hisa.AdditionalProperties == nil {
45992					hisa.AdditionalProperties = make(map[string]interface{})
45993				}
45994				hisa.AdditionalProperties[k] = additionalProperties
45995			}
45996		case "name":
45997			if v != nil {
45998				var name string
45999				err = json.Unmarshal(*v, &name)
46000				if err != nil {
46001					return err
46002				}
46003				hisa.Name = &name
46004			}
46005		case "description":
46006			if v != nil {
46007				var description string
46008				err = json.Unmarshal(*v, &description)
46009				if err != nil {
46010					return err
46011				}
46012				hisa.Description = &description
46013			}
46014		case "dependsOn":
46015			if v != nil {
46016				var dependsOn []ActivityDependency
46017				err = json.Unmarshal(*v, &dependsOn)
46018				if err != nil {
46019					return err
46020				}
46021				hisa.DependsOn = &dependsOn
46022			}
46023		case "type":
46024			if v != nil {
46025				var typeVar TypeBasicActivity
46026				err = json.Unmarshal(*v, &typeVar)
46027				if err != nil {
46028					return err
46029				}
46030				hisa.Type = typeVar
46031			}
46032		}
46033	}
46034
46035	return nil
46036}
46037
46038// HDInsightSparkActivityTypeProperties hDInsight spark activity properties.
46039type HDInsightSparkActivityTypeProperties struct {
46040	// RootPath - The root path in 'sparkJobLinkedService' for all the job’s files. Type: string (or Expression with resultType string).
46041	RootPath interface{} `json:"rootPath,omitempty"`
46042	// EntryFilePath - The relative path to the root folder of the code/package to be executed. Type: string (or Expression with resultType string).
46043	EntryFilePath interface{} `json:"entryFilePath,omitempty"`
46044	// Arguments - The user-specified arguments to HDInsightSparkActivity.
46045	Arguments *[]interface{} `json:"arguments,omitempty"`
46046	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
46047	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
46048	// SparkJobLinkedService - The storage linked service for uploading the entry file and dependencies, and for receiving logs.
46049	SparkJobLinkedService *LinkedServiceReference `json:"sparkJobLinkedService,omitempty"`
46050	// ClassName - The application's Java/Spark main class.
46051	ClassName *string `json:"className,omitempty"`
46052	// ProxyUser - The user to impersonate that will execute the job. Type: string (or Expression with resultType string).
46053	ProxyUser interface{} `json:"proxyUser,omitempty"`
46054	// SparkConfig - Spark configuration property.
46055	SparkConfig map[string]interface{} `json:"sparkConfig"`
46056}
46057
46058// MarshalJSON is the custom marshaler for HDInsightSparkActivityTypeProperties.
46059func (hisatp HDInsightSparkActivityTypeProperties) MarshalJSON() ([]byte, error) {
46060	objectMap := make(map[string]interface{})
46061	if hisatp.RootPath != nil {
46062		objectMap["rootPath"] = hisatp.RootPath
46063	}
46064	if hisatp.EntryFilePath != nil {
46065		objectMap["entryFilePath"] = hisatp.EntryFilePath
46066	}
46067	if hisatp.Arguments != nil {
46068		objectMap["arguments"] = hisatp.Arguments
46069	}
46070	if hisatp.GetDebugInfo != "" {
46071		objectMap["getDebugInfo"] = hisatp.GetDebugInfo
46072	}
46073	if hisatp.SparkJobLinkedService != nil {
46074		objectMap["sparkJobLinkedService"] = hisatp.SparkJobLinkedService
46075	}
46076	if hisatp.ClassName != nil {
46077		objectMap["className"] = hisatp.ClassName
46078	}
46079	if hisatp.ProxyUser != nil {
46080		objectMap["proxyUser"] = hisatp.ProxyUser
46081	}
46082	if hisatp.SparkConfig != nil {
46083		objectMap["sparkConfig"] = hisatp.SparkConfig
46084	}
46085	return json.Marshal(objectMap)
46086}
46087
46088// HDInsightStreamingActivity hDInsight streaming activity type.
46089type HDInsightStreamingActivity struct {
46090	// HDInsightStreamingActivityTypeProperties - HDInsight streaming activity properties.
46091	*HDInsightStreamingActivityTypeProperties `json:"typeProperties,omitempty"`
46092	// LinkedServiceName - Linked service reference.
46093	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
46094	// Policy - Activity policy.
46095	Policy *ActivityPolicy `json:"policy,omitempty"`
46096	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
46097	AdditionalProperties map[string]interface{} `json:""`
46098	// Name - Activity name.
46099	Name *string `json:"name,omitempty"`
46100	// Description - Activity description.
46101	Description *string `json:"description,omitempty"`
46102	// DependsOn - Activity depends on condition.
46103	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
46104	// 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'
46105	Type TypeBasicActivity `json:"type,omitempty"`
46106}
46107
46108// MarshalJSON is the custom marshaler for HDInsightStreamingActivity.
46109func (hisa HDInsightStreamingActivity) MarshalJSON() ([]byte, error) {
46110	hisa.Type = TypeHDInsightStreaming
46111	objectMap := make(map[string]interface{})
46112	if hisa.HDInsightStreamingActivityTypeProperties != nil {
46113		objectMap["typeProperties"] = hisa.HDInsightStreamingActivityTypeProperties
46114	}
46115	if hisa.LinkedServiceName != nil {
46116		objectMap["linkedServiceName"] = hisa.LinkedServiceName
46117	}
46118	if hisa.Policy != nil {
46119		objectMap["policy"] = hisa.Policy
46120	}
46121	if hisa.Name != nil {
46122		objectMap["name"] = hisa.Name
46123	}
46124	if hisa.Description != nil {
46125		objectMap["description"] = hisa.Description
46126	}
46127	if hisa.DependsOn != nil {
46128		objectMap["dependsOn"] = hisa.DependsOn
46129	}
46130	if hisa.Type != "" {
46131		objectMap["type"] = hisa.Type
46132	}
46133	for k, v := range hisa.AdditionalProperties {
46134		objectMap[k] = v
46135	}
46136	return json.Marshal(objectMap)
46137}
46138
46139// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46140func (hisa HDInsightStreamingActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
46141	return nil, false
46142}
46143
46144// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46145func (hisa HDInsightStreamingActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
46146	return nil, false
46147}
46148
46149// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46150func (hisa HDInsightStreamingActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
46151	return nil, false
46152}
46153
46154// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46155func (hisa HDInsightStreamingActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
46156	return nil, false
46157}
46158
46159// AsGetMetadataActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46160func (hisa HDInsightStreamingActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
46161	return nil, false
46162}
46163
46164// AsWebActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46165func (hisa HDInsightStreamingActivity) AsWebActivity() (*WebActivity, bool) {
46166	return nil, false
46167}
46168
46169// AsLookupActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46170func (hisa HDInsightStreamingActivity) AsLookupActivity() (*LookupActivity, bool) {
46171	return nil, false
46172}
46173
46174// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46175func (hisa HDInsightStreamingActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
46176	return nil, false
46177}
46178
46179// AsCustomActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46180func (hisa HDInsightStreamingActivity) AsCustomActivity() (*CustomActivity, bool) {
46181	return nil, false
46182}
46183
46184// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46185func (hisa HDInsightStreamingActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
46186	return nil, false
46187}
46188
46189// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46190func (hisa HDInsightStreamingActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
46191	return nil, false
46192}
46193
46194// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46195func (hisa HDInsightStreamingActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
46196	return &hisa, true
46197}
46198
46199// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46200func (hisa HDInsightStreamingActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
46201	return nil, false
46202}
46203
46204// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46205func (hisa HDInsightStreamingActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
46206	return nil, false
46207}
46208
46209// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46210func (hisa HDInsightStreamingActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
46211	return nil, false
46212}
46213
46214// AsCopyActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46215func (hisa HDInsightStreamingActivity) AsCopyActivity() (*CopyActivity, bool) {
46216	return nil, false
46217}
46218
46219// AsExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46220func (hisa HDInsightStreamingActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
46221	return nil, false
46222}
46223
46224// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46225func (hisa HDInsightStreamingActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
46226	return &hisa, true
46227}
46228
46229// AsFilterActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46230func (hisa HDInsightStreamingActivity) AsFilterActivity() (*FilterActivity, bool) {
46231	return nil, false
46232}
46233
46234// AsUntilActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46235func (hisa HDInsightStreamingActivity) AsUntilActivity() (*UntilActivity, bool) {
46236	return nil, false
46237}
46238
46239// AsWaitActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46240func (hisa HDInsightStreamingActivity) AsWaitActivity() (*WaitActivity, bool) {
46241	return nil, false
46242}
46243
46244// AsForEachActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46245func (hisa HDInsightStreamingActivity) AsForEachActivity() (*ForEachActivity, bool) {
46246	return nil, false
46247}
46248
46249// AsIfConditionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46250func (hisa HDInsightStreamingActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
46251	return nil, false
46252}
46253
46254// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46255func (hisa HDInsightStreamingActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
46256	return nil, false
46257}
46258
46259// AsControlActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46260func (hisa HDInsightStreamingActivity) AsControlActivity() (*ControlActivity, bool) {
46261	return nil, false
46262}
46263
46264// AsBasicControlActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46265func (hisa HDInsightStreamingActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
46266	return nil, false
46267}
46268
46269// AsActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46270func (hisa HDInsightStreamingActivity) AsActivity() (*Activity, bool) {
46271	return nil, false
46272}
46273
46274// AsBasicActivity is the BasicActivity implementation for HDInsightStreamingActivity.
46275func (hisa HDInsightStreamingActivity) AsBasicActivity() (BasicActivity, bool) {
46276	return &hisa, true
46277}
46278
46279// UnmarshalJSON is the custom unmarshaler for HDInsightStreamingActivity struct.
46280func (hisa *HDInsightStreamingActivity) UnmarshalJSON(body []byte) error {
46281	var m map[string]*json.RawMessage
46282	err := json.Unmarshal(body, &m)
46283	if err != nil {
46284		return err
46285	}
46286	for k, v := range m {
46287		switch k {
46288		case "typeProperties":
46289			if v != nil {
46290				var hDInsightStreamingActivityTypeProperties HDInsightStreamingActivityTypeProperties
46291				err = json.Unmarshal(*v, &hDInsightStreamingActivityTypeProperties)
46292				if err != nil {
46293					return err
46294				}
46295				hisa.HDInsightStreamingActivityTypeProperties = &hDInsightStreamingActivityTypeProperties
46296			}
46297		case "linkedServiceName":
46298			if v != nil {
46299				var linkedServiceName LinkedServiceReference
46300				err = json.Unmarshal(*v, &linkedServiceName)
46301				if err != nil {
46302					return err
46303				}
46304				hisa.LinkedServiceName = &linkedServiceName
46305			}
46306		case "policy":
46307			if v != nil {
46308				var policy ActivityPolicy
46309				err = json.Unmarshal(*v, &policy)
46310				if err != nil {
46311					return err
46312				}
46313				hisa.Policy = &policy
46314			}
46315		default:
46316			if v != nil {
46317				var additionalProperties interface{}
46318				err = json.Unmarshal(*v, &additionalProperties)
46319				if err != nil {
46320					return err
46321				}
46322				if hisa.AdditionalProperties == nil {
46323					hisa.AdditionalProperties = make(map[string]interface{})
46324				}
46325				hisa.AdditionalProperties[k] = additionalProperties
46326			}
46327		case "name":
46328			if v != nil {
46329				var name string
46330				err = json.Unmarshal(*v, &name)
46331				if err != nil {
46332					return err
46333				}
46334				hisa.Name = &name
46335			}
46336		case "description":
46337			if v != nil {
46338				var description string
46339				err = json.Unmarshal(*v, &description)
46340				if err != nil {
46341					return err
46342				}
46343				hisa.Description = &description
46344			}
46345		case "dependsOn":
46346			if v != nil {
46347				var dependsOn []ActivityDependency
46348				err = json.Unmarshal(*v, &dependsOn)
46349				if err != nil {
46350					return err
46351				}
46352				hisa.DependsOn = &dependsOn
46353			}
46354		case "type":
46355			if v != nil {
46356				var typeVar TypeBasicActivity
46357				err = json.Unmarshal(*v, &typeVar)
46358				if err != nil {
46359					return err
46360				}
46361				hisa.Type = typeVar
46362			}
46363		}
46364	}
46365
46366	return nil
46367}
46368
46369// HDInsightStreamingActivityTypeProperties hDInsight streaming activity properties.
46370type HDInsightStreamingActivityTypeProperties struct {
46371	// StorageLinkedServices - Storage linked service references.
46372	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
46373	// Arguments - User specified arguments to HDInsightActivity.
46374	Arguments *[]interface{} `json:"arguments,omitempty"`
46375	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
46376	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
46377	// Mapper - Mapper executable name. Type: string (or Expression with resultType string).
46378	Mapper interface{} `json:"mapper,omitempty"`
46379	// Reducer - Reducer executable name. Type: string (or Expression with resultType string).
46380	Reducer interface{} `json:"reducer,omitempty"`
46381	// Input - Input blob path. Type: string (or Expression with resultType string).
46382	Input interface{} `json:"input,omitempty"`
46383	// Output - Output blob path. Type: string (or Expression with resultType string).
46384	Output interface{} `json:"output,omitempty"`
46385	// FilePaths - Paths to streaming job files. Can be directories.
46386	FilePaths *[]interface{} `json:"filePaths,omitempty"`
46387	// FileLinkedService - Linked service reference where the files are located.
46388	FileLinkedService *LinkedServiceReference `json:"fileLinkedService,omitempty"`
46389	// Combiner - Combiner executable name. Type: string (or Expression with resultType string).
46390	Combiner interface{} `json:"combiner,omitempty"`
46391	// CommandEnvironment - Command line environment values.
46392	CommandEnvironment *[]interface{} `json:"commandEnvironment,omitempty"`
46393	// Defines - Allows user to specify defines for streaming job request.
46394	Defines map[string]interface{} `json:"defines"`
46395}
46396
46397// MarshalJSON is the custom marshaler for HDInsightStreamingActivityTypeProperties.
46398func (hisatp HDInsightStreamingActivityTypeProperties) MarshalJSON() ([]byte, error) {
46399	objectMap := make(map[string]interface{})
46400	if hisatp.StorageLinkedServices != nil {
46401		objectMap["storageLinkedServices"] = hisatp.StorageLinkedServices
46402	}
46403	if hisatp.Arguments != nil {
46404		objectMap["arguments"] = hisatp.Arguments
46405	}
46406	if hisatp.GetDebugInfo != "" {
46407		objectMap["getDebugInfo"] = hisatp.GetDebugInfo
46408	}
46409	if hisatp.Mapper != nil {
46410		objectMap["mapper"] = hisatp.Mapper
46411	}
46412	if hisatp.Reducer != nil {
46413		objectMap["reducer"] = hisatp.Reducer
46414	}
46415	if hisatp.Input != nil {
46416		objectMap["input"] = hisatp.Input
46417	}
46418	if hisatp.Output != nil {
46419		objectMap["output"] = hisatp.Output
46420	}
46421	if hisatp.FilePaths != nil {
46422		objectMap["filePaths"] = hisatp.FilePaths
46423	}
46424	if hisatp.FileLinkedService != nil {
46425		objectMap["fileLinkedService"] = hisatp.FileLinkedService
46426	}
46427	if hisatp.Combiner != nil {
46428		objectMap["combiner"] = hisatp.Combiner
46429	}
46430	if hisatp.CommandEnvironment != nil {
46431		objectMap["commandEnvironment"] = hisatp.CommandEnvironment
46432	}
46433	if hisatp.Defines != nil {
46434		objectMap["defines"] = hisatp.Defines
46435	}
46436	return json.Marshal(objectMap)
46437}
46438
46439// HiveLinkedService hive Server linked service.
46440type HiveLinkedService struct {
46441	// HiveLinkedServiceTypeProperties - Hive Server linked service properties.
46442	*HiveLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
46443	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
46444	AdditionalProperties map[string]interface{} `json:""`
46445	// ConnectVia - The integration runtime reference.
46446	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
46447	// Description - Linked service description.
46448	Description *string `json:"description,omitempty"`
46449	// Parameters - Parameters for linked service.
46450	Parameters map[string]*ParameterSpecification `json:"parameters"`
46451	// Annotations - List of tags that can be used for describing the Dataset.
46452	Annotations *[]interface{} `json:"annotations,omitempty"`
46453	// 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'
46454	Type TypeBasicLinkedService `json:"type,omitempty"`
46455}
46456
46457// MarshalJSON is the custom marshaler for HiveLinkedService.
46458func (hls HiveLinkedService) MarshalJSON() ([]byte, error) {
46459	hls.Type = TypeHive
46460	objectMap := make(map[string]interface{})
46461	if hls.HiveLinkedServiceTypeProperties != nil {
46462		objectMap["typeProperties"] = hls.HiveLinkedServiceTypeProperties
46463	}
46464	if hls.ConnectVia != nil {
46465		objectMap["connectVia"] = hls.ConnectVia
46466	}
46467	if hls.Description != nil {
46468		objectMap["description"] = hls.Description
46469	}
46470	if hls.Parameters != nil {
46471		objectMap["parameters"] = hls.Parameters
46472	}
46473	if hls.Annotations != nil {
46474		objectMap["annotations"] = hls.Annotations
46475	}
46476	if hls.Type != "" {
46477		objectMap["type"] = hls.Type
46478	}
46479	for k, v := range hls.AdditionalProperties {
46480		objectMap[k] = v
46481	}
46482	return json.Marshal(objectMap)
46483}
46484
46485// AsResponsysLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46486func (hls HiveLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
46487	return nil, false
46488}
46489
46490// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46491func (hls HiveLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
46492	return nil, false
46493}
46494
46495// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46496func (hls HiveLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
46497	return nil, false
46498}
46499
46500// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46501func (hls HiveLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
46502	return nil, false
46503}
46504
46505// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46506func (hls HiveLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
46507	return nil, false
46508}
46509
46510// AsNetezzaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46511func (hls HiveLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
46512	return nil, false
46513}
46514
46515// AsVerticaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46516func (hls HiveLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
46517	return nil, false
46518}
46519
46520// AsZohoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46521func (hls HiveLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
46522	return nil, false
46523}
46524
46525// AsXeroLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46526func (hls HiveLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
46527	return nil, false
46528}
46529
46530// AsSquareLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46531func (hls HiveLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
46532	return nil, false
46533}
46534
46535// AsSparkLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46536func (hls HiveLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
46537	return nil, false
46538}
46539
46540// AsShopifyLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46541func (hls HiveLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
46542	return nil, false
46543}
46544
46545// AsServiceNowLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46546func (hls HiveLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
46547	return nil, false
46548}
46549
46550// AsQuickBooksLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46551func (hls HiveLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
46552	return nil, false
46553}
46554
46555// AsPrestoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46556func (hls HiveLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
46557	return nil, false
46558}
46559
46560// AsPhoenixLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46561func (hls HiveLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
46562	return nil, false
46563}
46564
46565// AsPaypalLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46566func (hls HiveLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
46567	return nil, false
46568}
46569
46570// AsMarketoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46571func (hls HiveLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
46572	return nil, false
46573}
46574
46575// AsMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46576func (hls HiveLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
46577	return nil, false
46578}
46579
46580// AsMagentoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46581func (hls HiveLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
46582	return nil, false
46583}
46584
46585// AsJiraLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46586func (hls HiveLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
46587	return nil, false
46588}
46589
46590// AsImpalaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46591func (hls HiveLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
46592	return nil, false
46593}
46594
46595// AsHubspotLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46596func (hls HiveLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
46597	return nil, false
46598}
46599
46600// AsHiveLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46601func (hls HiveLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
46602	return &hls, true
46603}
46604
46605// AsHBaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46606func (hls HiveLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
46607	return nil, false
46608}
46609
46610// AsGreenplumLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46611func (hls HiveLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
46612	return nil, false
46613}
46614
46615// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46616func (hls HiveLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
46617	return nil, false
46618}
46619
46620// AsEloquaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46621func (hls HiveLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
46622	return nil, false
46623}
46624
46625// AsDrillLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46626func (hls HiveLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
46627	return nil, false
46628}
46629
46630// AsCouchbaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46631func (hls HiveLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
46632	return nil, false
46633}
46634
46635// AsConcurLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46636func (hls HiveLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
46637	return nil, false
46638}
46639
46640// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46641func (hls HiveLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
46642	return nil, false
46643}
46644
46645// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46646func (hls HiveLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
46647	return nil, false
46648}
46649
46650// AsSapHanaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46651func (hls HiveLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
46652	return nil, false
46653}
46654
46655// AsSapBWLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46656func (hls HiveLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
46657	return nil, false
46658}
46659
46660// AsSftpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46661func (hls HiveLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
46662	return nil, false
46663}
46664
46665// AsFtpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46666func (hls HiveLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
46667	return nil, false
46668}
46669
46670// AsHTTPLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46671func (hls HiveLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
46672	return nil, false
46673}
46674
46675// AsAzureSearchLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46676func (hls HiveLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
46677	return nil, false
46678}
46679
46680// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46681func (hls HiveLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
46682	return nil, false
46683}
46684
46685// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46686func (hls HiveLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
46687	return nil, false
46688}
46689
46690// AsAmazonS3LinkedService is the BasicLinkedService implementation for HiveLinkedService.
46691func (hls HiveLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
46692	return nil, false
46693}
46694
46695// AsSapEccLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46696func (hls HiveLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
46697	return nil, false
46698}
46699
46700// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46701func (hls HiveLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
46702	return nil, false
46703}
46704
46705// AsSalesforceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46706func (hls HiveLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
46707	return nil, false
46708}
46709
46710// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46711func (hls HiveLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
46712	return nil, false
46713}
46714
46715// AsMongoDbLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46716func (hls HiveLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
46717	return nil, false
46718}
46719
46720// AsCassandraLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46721func (hls HiveLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
46722	return nil, false
46723}
46724
46725// AsWebLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46726func (hls HiveLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
46727	return nil, false
46728}
46729
46730// AsODataLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46731func (hls HiveLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
46732	return nil, false
46733}
46734
46735// AsHdfsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46736func (hls HiveLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
46737	return nil, false
46738}
46739
46740// AsOdbcLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46741func (hls HiveLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
46742	return nil, false
46743}
46744
46745// AsAzureMLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46746func (hls HiveLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
46747	return nil, false
46748}
46749
46750// AsTeradataLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46751func (hls HiveLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
46752	return nil, false
46753}
46754
46755// AsDb2LinkedService is the BasicLinkedService implementation for HiveLinkedService.
46756func (hls HiveLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
46757	return nil, false
46758}
46759
46760// AsSybaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46761func (hls HiveLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
46762	return nil, false
46763}
46764
46765// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46766func (hls HiveLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
46767	return nil, false
46768}
46769
46770// AsMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46771func (hls HiveLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
46772	return nil, false
46773}
46774
46775// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46776func (hls HiveLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
46777	return nil, false
46778}
46779
46780// AsOracleLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46781func (hls HiveLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
46782	return nil, false
46783}
46784
46785// AsFileServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46786func (hls HiveLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
46787	return nil, false
46788}
46789
46790// AsHDInsightLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46791func (hls HiveLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
46792	return nil, false
46793}
46794
46795// AsDynamicsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46796func (hls HiveLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
46797	return nil, false
46798}
46799
46800// AsCosmosDbLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46801func (hls HiveLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
46802	return nil, false
46803}
46804
46805// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46806func (hls HiveLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
46807	return nil, false
46808}
46809
46810// AsAzureBatchLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46811func (hls HiveLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
46812	return nil, false
46813}
46814
46815// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46816func (hls HiveLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
46817	return nil, false
46818}
46819
46820// AsSQLServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46821func (hls HiveLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
46822	return nil, false
46823}
46824
46825// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46826func (hls HiveLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
46827	return nil, false
46828}
46829
46830// AsAzureStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46831func (hls HiveLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
46832	return nil, false
46833}
46834
46835// AsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46836func (hls HiveLinkedService) AsLinkedService() (*LinkedService, bool) {
46837	return nil, false
46838}
46839
46840// AsBasicLinkedService is the BasicLinkedService implementation for HiveLinkedService.
46841func (hls HiveLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
46842	return &hls, true
46843}
46844
46845// UnmarshalJSON is the custom unmarshaler for HiveLinkedService struct.
46846func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error {
46847	var m map[string]*json.RawMessage
46848	err := json.Unmarshal(body, &m)
46849	if err != nil {
46850		return err
46851	}
46852	for k, v := range m {
46853		switch k {
46854		case "typeProperties":
46855			if v != nil {
46856				var hiveLinkedServiceTypeProperties HiveLinkedServiceTypeProperties
46857				err = json.Unmarshal(*v, &hiveLinkedServiceTypeProperties)
46858				if err != nil {
46859					return err
46860				}
46861				hls.HiveLinkedServiceTypeProperties = &hiveLinkedServiceTypeProperties
46862			}
46863		default:
46864			if v != nil {
46865				var additionalProperties interface{}
46866				err = json.Unmarshal(*v, &additionalProperties)
46867				if err != nil {
46868					return err
46869				}
46870				if hls.AdditionalProperties == nil {
46871					hls.AdditionalProperties = make(map[string]interface{})
46872				}
46873				hls.AdditionalProperties[k] = additionalProperties
46874			}
46875		case "connectVia":
46876			if v != nil {
46877				var connectVia IntegrationRuntimeReference
46878				err = json.Unmarshal(*v, &connectVia)
46879				if err != nil {
46880					return err
46881				}
46882				hls.ConnectVia = &connectVia
46883			}
46884		case "description":
46885			if v != nil {
46886				var description string
46887				err = json.Unmarshal(*v, &description)
46888				if err != nil {
46889					return err
46890				}
46891				hls.Description = &description
46892			}
46893		case "parameters":
46894			if v != nil {
46895				var parameters map[string]*ParameterSpecification
46896				err = json.Unmarshal(*v, &parameters)
46897				if err != nil {
46898					return err
46899				}
46900				hls.Parameters = parameters
46901			}
46902		case "annotations":
46903			if v != nil {
46904				var annotations []interface{}
46905				err = json.Unmarshal(*v, &annotations)
46906				if err != nil {
46907					return err
46908				}
46909				hls.Annotations = &annotations
46910			}
46911		case "type":
46912			if v != nil {
46913				var typeVar TypeBasicLinkedService
46914				err = json.Unmarshal(*v, &typeVar)
46915				if err != nil {
46916					return err
46917				}
46918				hls.Type = typeVar
46919			}
46920		}
46921	}
46922
46923	return nil
46924}
46925
46926// HiveLinkedServiceTypeProperties hive Server linked service properties.
46927type HiveLinkedServiceTypeProperties struct {
46928	// Host - IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).
46929	Host interface{} `json:"host,omitempty"`
46930	// Port - The TCP port that the Hive server uses to listen for client connections.
46931	Port interface{} `json:"port,omitempty"`
46932	// ServerType - The type of Hive server. Possible values include: 'HiveServer1', 'HiveServer2', 'HiveThriftServer'
46933	ServerType HiveServerType `json:"serverType,omitempty"`
46934	// ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'Binary', 'SASL', 'HTTP'
46935	ThriftTransportProtocol HiveThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"`
46936	// AuthenticationType - The authentication method used to access the Hive server. Possible values include: 'Anonymous', 'Username', 'UsernameAndPassword', 'WindowsAzureHDInsightService'
46937	AuthenticationType HiveAuthenticationType `json:"authenticationType,omitempty"`
46938	// ServiceDiscoveryMode - true to indicate using the ZooKeeper service, false not.
46939	ServiceDiscoveryMode interface{} `json:"serviceDiscoveryMode,omitempty"`
46940	// ZooKeeperNameSpace - The namespace on ZooKeeper under which Hive Server 2 nodes are added.
46941	ZooKeeperNameSpace interface{} `json:"zooKeeperNameSpace,omitempty"`
46942	// UseNativeQuery - Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL.
46943	UseNativeQuery interface{} `json:"useNativeQuery,omitempty"`
46944	// Username - The user name that you use to access Hive Server.
46945	Username interface{} `json:"username,omitempty"`
46946	// Password - The password corresponding to the user name that you provided in the Username field
46947	Password BasicSecretBase `json:"password,omitempty"`
46948	// HTTPPath - The partial URL corresponding to the Hive server.
46949	HTTPPath interface{} `json:"httpPath,omitempty"`
46950	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
46951	EnableSsl interface{} `json:"enableSsl,omitempty"`
46952	// 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.
46953	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
46954	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
46955	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
46956	// 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.
46957	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
46958	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
46959	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
46960	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
46961	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
46962}
46963
46964// UnmarshalJSON is the custom unmarshaler for HiveLinkedServiceTypeProperties struct.
46965func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
46966	var m map[string]*json.RawMessage
46967	err := json.Unmarshal(body, &m)
46968	if err != nil {
46969		return err
46970	}
46971	for k, v := range m {
46972		switch k {
46973		case "host":
46974			if v != nil {
46975				var host interface{}
46976				err = json.Unmarshal(*v, &host)
46977				if err != nil {
46978					return err
46979				}
46980				hlstp.Host = host
46981			}
46982		case "port":
46983			if v != nil {
46984				var port interface{}
46985				err = json.Unmarshal(*v, &port)
46986				if err != nil {
46987					return err
46988				}
46989				hlstp.Port = port
46990			}
46991		case "serverType":
46992			if v != nil {
46993				var serverType HiveServerType
46994				err = json.Unmarshal(*v, &serverType)
46995				if err != nil {
46996					return err
46997				}
46998				hlstp.ServerType = serverType
46999			}
47000		case "thriftTransportProtocol":
47001			if v != nil {
47002				var thriftTransportProtocol HiveThriftTransportProtocol
47003				err = json.Unmarshal(*v, &thriftTransportProtocol)
47004				if err != nil {
47005					return err
47006				}
47007				hlstp.ThriftTransportProtocol = thriftTransportProtocol
47008			}
47009		case "authenticationType":
47010			if v != nil {
47011				var authenticationType HiveAuthenticationType
47012				err = json.Unmarshal(*v, &authenticationType)
47013				if err != nil {
47014					return err
47015				}
47016				hlstp.AuthenticationType = authenticationType
47017			}
47018		case "serviceDiscoveryMode":
47019			if v != nil {
47020				var serviceDiscoveryMode interface{}
47021				err = json.Unmarshal(*v, &serviceDiscoveryMode)
47022				if err != nil {
47023					return err
47024				}
47025				hlstp.ServiceDiscoveryMode = serviceDiscoveryMode
47026			}
47027		case "zooKeeperNameSpace":
47028			if v != nil {
47029				var zooKeeperNameSpace interface{}
47030				err = json.Unmarshal(*v, &zooKeeperNameSpace)
47031				if err != nil {
47032					return err
47033				}
47034				hlstp.ZooKeeperNameSpace = zooKeeperNameSpace
47035			}
47036		case "useNativeQuery":
47037			if v != nil {
47038				var useNativeQuery interface{}
47039				err = json.Unmarshal(*v, &useNativeQuery)
47040				if err != nil {
47041					return err
47042				}
47043				hlstp.UseNativeQuery = useNativeQuery
47044			}
47045		case "username":
47046			if v != nil {
47047				var username interface{}
47048				err = json.Unmarshal(*v, &username)
47049				if err != nil {
47050					return err
47051				}
47052				hlstp.Username = username
47053			}
47054		case "password":
47055			if v != nil {
47056				password, err := unmarshalBasicSecretBase(*v)
47057				if err != nil {
47058					return err
47059				}
47060				hlstp.Password = password
47061			}
47062		case "httpPath":
47063			if v != nil {
47064				var HTTPPath interface{}
47065				err = json.Unmarshal(*v, &HTTPPath)
47066				if err != nil {
47067					return err
47068				}
47069				hlstp.HTTPPath = HTTPPath
47070			}
47071		case "enableSsl":
47072			if v != nil {
47073				var enableSsl interface{}
47074				err = json.Unmarshal(*v, &enableSsl)
47075				if err != nil {
47076					return err
47077				}
47078				hlstp.EnableSsl = enableSsl
47079			}
47080		case "trustedCertPath":
47081			if v != nil {
47082				var trustedCertPath interface{}
47083				err = json.Unmarshal(*v, &trustedCertPath)
47084				if err != nil {
47085					return err
47086				}
47087				hlstp.TrustedCertPath = trustedCertPath
47088			}
47089		case "useSystemTrustStore":
47090			if v != nil {
47091				var useSystemTrustStore interface{}
47092				err = json.Unmarshal(*v, &useSystemTrustStore)
47093				if err != nil {
47094					return err
47095				}
47096				hlstp.UseSystemTrustStore = useSystemTrustStore
47097			}
47098		case "allowHostNameCNMismatch":
47099			if v != nil {
47100				var allowHostNameCNMismatch interface{}
47101				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
47102				if err != nil {
47103					return err
47104				}
47105				hlstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
47106			}
47107		case "allowSelfSignedServerCert":
47108			if v != nil {
47109				var allowSelfSignedServerCert interface{}
47110				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
47111				if err != nil {
47112					return err
47113				}
47114				hlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
47115			}
47116		case "encryptedCredential":
47117			if v != nil {
47118				var encryptedCredential interface{}
47119				err = json.Unmarshal(*v, &encryptedCredential)
47120				if err != nil {
47121					return err
47122				}
47123				hlstp.EncryptedCredential = encryptedCredential
47124			}
47125		}
47126	}
47127
47128	return nil
47129}
47130
47131// HiveObjectDataset hive Server dataset.
47132type HiveObjectDataset struct {
47133	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
47134	AdditionalProperties map[string]interface{} `json:""`
47135	// Description - Dataset description.
47136	Description *string `json:"description,omitempty"`
47137	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
47138	Structure interface{} `json:"structure,omitempty"`
47139	// LinkedServiceName - Linked service reference.
47140	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
47141	// Parameters - Parameters for dataset.
47142	Parameters map[string]*ParameterSpecification `json:"parameters"`
47143	// Annotations - List of tags that can be used for describing the Dataset.
47144	Annotations *[]interface{} `json:"annotations,omitempty"`
47145	// 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'
47146	Type TypeBasicDataset `json:"type,omitempty"`
47147}
47148
47149// MarshalJSON is the custom marshaler for HiveObjectDataset.
47150func (hod HiveObjectDataset) MarshalJSON() ([]byte, error) {
47151	hod.Type = TypeHiveObject
47152	objectMap := make(map[string]interface{})
47153	if hod.Description != nil {
47154		objectMap["description"] = hod.Description
47155	}
47156	if hod.Structure != nil {
47157		objectMap["structure"] = hod.Structure
47158	}
47159	if hod.LinkedServiceName != nil {
47160		objectMap["linkedServiceName"] = hod.LinkedServiceName
47161	}
47162	if hod.Parameters != nil {
47163		objectMap["parameters"] = hod.Parameters
47164	}
47165	if hod.Annotations != nil {
47166		objectMap["annotations"] = hod.Annotations
47167	}
47168	if hod.Type != "" {
47169		objectMap["type"] = hod.Type
47170	}
47171	for k, v := range hod.AdditionalProperties {
47172		objectMap[k] = v
47173	}
47174	return json.Marshal(objectMap)
47175}
47176
47177// AsResponsysObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47178func (hod HiveObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
47179	return nil, false
47180}
47181
47182// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47183func (hod HiveObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
47184	return nil, false
47185}
47186
47187// AsVerticaTableDataset is the BasicDataset implementation for HiveObjectDataset.
47188func (hod HiveObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
47189	return nil, false
47190}
47191
47192// AsNetezzaTableDataset is the BasicDataset implementation for HiveObjectDataset.
47193func (hod HiveObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
47194	return nil, false
47195}
47196
47197// AsZohoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47198func (hod HiveObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
47199	return nil, false
47200}
47201
47202// AsXeroObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47203func (hod HiveObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
47204	return nil, false
47205}
47206
47207// AsSquareObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47208func (hod HiveObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
47209	return nil, false
47210}
47211
47212// AsSparkObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47213func (hod HiveObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
47214	return nil, false
47215}
47216
47217// AsShopifyObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47218func (hod HiveObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
47219	return nil, false
47220}
47221
47222// AsServiceNowObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47223func (hod HiveObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
47224	return nil, false
47225}
47226
47227// AsQuickBooksObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47228func (hod HiveObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
47229	return nil, false
47230}
47231
47232// AsPrestoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47233func (hod HiveObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
47234	return nil, false
47235}
47236
47237// AsPhoenixObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47238func (hod HiveObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
47239	return nil, false
47240}
47241
47242// AsPaypalObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47243func (hod HiveObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
47244	return nil, false
47245}
47246
47247// AsMarketoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47248func (hod HiveObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
47249	return nil, false
47250}
47251
47252// AsMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset.
47253func (hod HiveObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
47254	return nil, false
47255}
47256
47257// AsMagentoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47258func (hod HiveObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
47259	return nil, false
47260}
47261
47262// AsJiraObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47263func (hod HiveObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
47264	return nil, false
47265}
47266
47267// AsImpalaObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47268func (hod HiveObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
47269	return nil, false
47270}
47271
47272// AsHubspotObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47273func (hod HiveObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
47274	return nil, false
47275}
47276
47277// AsHiveObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47278func (hod HiveObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
47279	return &hod, true
47280}
47281
47282// AsHBaseObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47283func (hod HiveObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
47284	return nil, false
47285}
47286
47287// AsGreenplumTableDataset is the BasicDataset implementation for HiveObjectDataset.
47288func (hod HiveObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
47289	return nil, false
47290}
47291
47292// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47293func (hod HiveObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
47294	return nil, false
47295}
47296
47297// AsEloquaObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47298func (hod HiveObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
47299	return nil, false
47300}
47301
47302// AsDrillTableDataset is the BasicDataset implementation for HiveObjectDataset.
47303func (hod HiveObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
47304	return nil, false
47305}
47306
47307// AsCouchbaseTableDataset is the BasicDataset implementation for HiveObjectDataset.
47308func (hod HiveObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
47309	return nil, false
47310}
47311
47312// AsConcurObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47313func (hod HiveObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
47314	return nil, false
47315}
47316
47317// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
47318func (hod HiveObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
47319	return nil, false
47320}
47321
47322// AsAmazonMWSObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47323func (hod HiveObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
47324	return nil, false
47325}
47326
47327// AsHTTPDataset is the BasicDataset implementation for HiveObjectDataset.
47328func (hod HiveObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
47329	return nil, false
47330}
47331
47332// AsAzureSearchIndexDataset is the BasicDataset implementation for HiveObjectDataset.
47333func (hod HiveObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
47334	return nil, false
47335}
47336
47337// AsWebTableDataset is the BasicDataset implementation for HiveObjectDataset.
47338func (hod HiveObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
47339	return nil, false
47340}
47341
47342// AsSQLServerTableDataset is the BasicDataset implementation for HiveObjectDataset.
47343func (hod HiveObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
47344	return nil, false
47345}
47346
47347// AsSapEccResourceDataset is the BasicDataset implementation for HiveObjectDataset.
47348func (hod HiveObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
47349	return nil, false
47350}
47351
47352// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HiveObjectDataset.
47353func (hod HiveObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
47354	return nil, false
47355}
47356
47357// AsSalesforceObjectDataset is the BasicDataset implementation for HiveObjectDataset.
47358func (hod HiveObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
47359	return nil, false
47360}
47361
47362// AsRelationalTableDataset is the BasicDataset implementation for HiveObjectDataset.
47363func (hod HiveObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
47364	return nil, false
47365}
47366
47367// AsAzureMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
47368func (hod HiveObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
47369	return nil, false
47370}
47371
47372// AsOracleTableDataset is the BasicDataset implementation for HiveObjectDataset.
47373func (hod HiveObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
47374	return nil, false
47375}
47376
47377// AsODataResourceDataset is the BasicDataset implementation for HiveObjectDataset.
47378func (hod HiveObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
47379	return nil, false
47380}
47381
47382// AsMongoDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset.
47383func (hod HiveObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
47384	return nil, false
47385}
47386
47387// AsFileShareDataset is the BasicDataset implementation for HiveObjectDataset.
47388func (hod HiveObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
47389	return nil, false
47390}
47391
47392// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HiveObjectDataset.
47393func (hod HiveObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
47394	return nil, false
47395}
47396
47397// AsDynamicsEntityDataset is the BasicDataset implementation for HiveObjectDataset.
47398func (hod HiveObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
47399	return nil, false
47400}
47401
47402// AsDocumentDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset.
47403func (hod HiveObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
47404	return nil, false
47405}
47406
47407// AsCustomDataset is the BasicDataset implementation for HiveObjectDataset.
47408func (hod HiveObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
47409	return nil, false
47410}
47411
47412// AsCassandraTableDataset is the BasicDataset implementation for HiveObjectDataset.
47413func (hod HiveObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
47414	return nil, false
47415}
47416
47417// AsAzureSQLDWTableDataset is the BasicDataset implementation for HiveObjectDataset.
47418func (hod HiveObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
47419	return nil, false
47420}
47421
47422// AsAzureSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
47423func (hod HiveObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
47424	return nil, false
47425}
47426
47427// AsAzureTableDataset is the BasicDataset implementation for HiveObjectDataset.
47428func (hod HiveObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
47429	return nil, false
47430}
47431
47432// AsAzureBlobDataset is the BasicDataset implementation for HiveObjectDataset.
47433func (hod HiveObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
47434	return nil, false
47435}
47436
47437// AsAmazonS3Dataset is the BasicDataset implementation for HiveObjectDataset.
47438func (hod HiveObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
47439	return nil, false
47440}
47441
47442// AsDataset is the BasicDataset implementation for HiveObjectDataset.
47443func (hod HiveObjectDataset) AsDataset() (*Dataset, bool) {
47444	return nil, false
47445}
47446
47447// AsBasicDataset is the BasicDataset implementation for HiveObjectDataset.
47448func (hod HiveObjectDataset) AsBasicDataset() (BasicDataset, bool) {
47449	return &hod, true
47450}
47451
47452// UnmarshalJSON is the custom unmarshaler for HiveObjectDataset struct.
47453func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error {
47454	var m map[string]*json.RawMessage
47455	err := json.Unmarshal(body, &m)
47456	if err != nil {
47457		return err
47458	}
47459	for k, v := range m {
47460		switch k {
47461		default:
47462			if v != nil {
47463				var additionalProperties interface{}
47464				err = json.Unmarshal(*v, &additionalProperties)
47465				if err != nil {
47466					return err
47467				}
47468				if hod.AdditionalProperties == nil {
47469					hod.AdditionalProperties = make(map[string]interface{})
47470				}
47471				hod.AdditionalProperties[k] = additionalProperties
47472			}
47473		case "description":
47474			if v != nil {
47475				var description string
47476				err = json.Unmarshal(*v, &description)
47477				if err != nil {
47478					return err
47479				}
47480				hod.Description = &description
47481			}
47482		case "structure":
47483			if v != nil {
47484				var structure interface{}
47485				err = json.Unmarshal(*v, &structure)
47486				if err != nil {
47487					return err
47488				}
47489				hod.Structure = structure
47490			}
47491		case "linkedServiceName":
47492			if v != nil {
47493				var linkedServiceName LinkedServiceReference
47494				err = json.Unmarshal(*v, &linkedServiceName)
47495				if err != nil {
47496					return err
47497				}
47498				hod.LinkedServiceName = &linkedServiceName
47499			}
47500		case "parameters":
47501			if v != nil {
47502				var parameters map[string]*ParameterSpecification
47503				err = json.Unmarshal(*v, &parameters)
47504				if err != nil {
47505					return err
47506				}
47507				hod.Parameters = parameters
47508			}
47509		case "annotations":
47510			if v != nil {
47511				var annotations []interface{}
47512				err = json.Unmarshal(*v, &annotations)
47513				if err != nil {
47514					return err
47515				}
47516				hod.Annotations = &annotations
47517			}
47518		case "type":
47519			if v != nil {
47520				var typeVar TypeBasicDataset
47521				err = json.Unmarshal(*v, &typeVar)
47522				if err != nil {
47523					return err
47524				}
47525				hod.Type = typeVar
47526			}
47527		}
47528	}
47529
47530	return nil
47531}
47532
47533// HiveSource a copy activity Hive Server source.
47534type HiveSource struct {
47535	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
47536	Query interface{} `json:"query,omitempty"`
47537	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
47538	AdditionalProperties map[string]interface{} `json:""`
47539	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
47540	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
47541	// 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])).
47542	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
47543	// 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'
47544	Type TypeBasicCopySource `json:"type,omitempty"`
47545}
47546
47547// MarshalJSON is the custom marshaler for HiveSource.
47548func (hs HiveSource) MarshalJSON() ([]byte, error) {
47549	hs.Type = TypeHiveSource
47550	objectMap := make(map[string]interface{})
47551	if hs.Query != nil {
47552		objectMap["query"] = hs.Query
47553	}
47554	if hs.SourceRetryCount != nil {
47555		objectMap["sourceRetryCount"] = hs.SourceRetryCount
47556	}
47557	if hs.SourceRetryWait != nil {
47558		objectMap["sourceRetryWait"] = hs.SourceRetryWait
47559	}
47560	if hs.Type != "" {
47561		objectMap["type"] = hs.Type
47562	}
47563	for k, v := range hs.AdditionalProperties {
47564		objectMap[k] = v
47565	}
47566	return json.Marshal(objectMap)
47567}
47568
47569// AsAmazonRedshiftSource is the BasicCopySource implementation for HiveSource.
47570func (hs HiveSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
47571	return nil, false
47572}
47573
47574// AsResponsysSource is the BasicCopySource implementation for HiveSource.
47575func (hs HiveSource) AsResponsysSource() (*ResponsysSource, bool) {
47576	return nil, false
47577}
47578
47579// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HiveSource.
47580func (hs HiveSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
47581	return nil, false
47582}
47583
47584// AsVerticaSource is the BasicCopySource implementation for HiveSource.
47585func (hs HiveSource) AsVerticaSource() (*VerticaSource, bool) {
47586	return nil, false
47587}
47588
47589// AsNetezzaSource is the BasicCopySource implementation for HiveSource.
47590func (hs HiveSource) AsNetezzaSource() (*NetezzaSource, bool) {
47591	return nil, false
47592}
47593
47594// AsZohoSource is the BasicCopySource implementation for HiveSource.
47595func (hs HiveSource) AsZohoSource() (*ZohoSource, bool) {
47596	return nil, false
47597}
47598
47599// AsXeroSource is the BasicCopySource implementation for HiveSource.
47600func (hs HiveSource) AsXeroSource() (*XeroSource, bool) {
47601	return nil, false
47602}
47603
47604// AsSquareSource is the BasicCopySource implementation for HiveSource.
47605func (hs HiveSource) AsSquareSource() (*SquareSource, bool) {
47606	return nil, false
47607}
47608
47609// AsSparkSource is the BasicCopySource implementation for HiveSource.
47610func (hs HiveSource) AsSparkSource() (*SparkSource, bool) {
47611	return nil, false
47612}
47613
47614// AsShopifySource is the BasicCopySource implementation for HiveSource.
47615func (hs HiveSource) AsShopifySource() (*ShopifySource, bool) {
47616	return nil, false
47617}
47618
47619// AsServiceNowSource is the BasicCopySource implementation for HiveSource.
47620func (hs HiveSource) AsServiceNowSource() (*ServiceNowSource, bool) {
47621	return nil, false
47622}
47623
47624// AsQuickBooksSource is the BasicCopySource implementation for HiveSource.
47625func (hs HiveSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
47626	return nil, false
47627}
47628
47629// AsPrestoSource is the BasicCopySource implementation for HiveSource.
47630func (hs HiveSource) AsPrestoSource() (*PrestoSource, bool) {
47631	return nil, false
47632}
47633
47634// AsPhoenixSource is the BasicCopySource implementation for HiveSource.
47635func (hs HiveSource) AsPhoenixSource() (*PhoenixSource, bool) {
47636	return nil, false
47637}
47638
47639// AsPaypalSource is the BasicCopySource implementation for HiveSource.
47640func (hs HiveSource) AsPaypalSource() (*PaypalSource, bool) {
47641	return nil, false
47642}
47643
47644// AsMarketoSource is the BasicCopySource implementation for HiveSource.
47645func (hs HiveSource) AsMarketoSource() (*MarketoSource, bool) {
47646	return nil, false
47647}
47648
47649// AsMariaDBSource is the BasicCopySource implementation for HiveSource.
47650func (hs HiveSource) AsMariaDBSource() (*MariaDBSource, bool) {
47651	return nil, false
47652}
47653
47654// AsMagentoSource is the BasicCopySource implementation for HiveSource.
47655func (hs HiveSource) AsMagentoSource() (*MagentoSource, bool) {
47656	return nil, false
47657}
47658
47659// AsJiraSource is the BasicCopySource implementation for HiveSource.
47660func (hs HiveSource) AsJiraSource() (*JiraSource, bool) {
47661	return nil, false
47662}
47663
47664// AsImpalaSource is the BasicCopySource implementation for HiveSource.
47665func (hs HiveSource) AsImpalaSource() (*ImpalaSource, bool) {
47666	return nil, false
47667}
47668
47669// AsHubspotSource is the BasicCopySource implementation for HiveSource.
47670func (hs HiveSource) AsHubspotSource() (*HubspotSource, bool) {
47671	return nil, false
47672}
47673
47674// AsHiveSource is the BasicCopySource implementation for HiveSource.
47675func (hs HiveSource) AsHiveSource() (*HiveSource, bool) {
47676	return &hs, true
47677}
47678
47679// AsHBaseSource is the BasicCopySource implementation for HiveSource.
47680func (hs HiveSource) AsHBaseSource() (*HBaseSource, bool) {
47681	return nil, false
47682}
47683
47684// AsGreenplumSource is the BasicCopySource implementation for HiveSource.
47685func (hs HiveSource) AsGreenplumSource() (*GreenplumSource, bool) {
47686	return nil, false
47687}
47688
47689// AsGoogleBigQuerySource is the BasicCopySource implementation for HiveSource.
47690func (hs HiveSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
47691	return nil, false
47692}
47693
47694// AsEloquaSource is the BasicCopySource implementation for HiveSource.
47695func (hs HiveSource) AsEloquaSource() (*EloquaSource, bool) {
47696	return nil, false
47697}
47698
47699// AsDrillSource is the BasicCopySource implementation for HiveSource.
47700func (hs HiveSource) AsDrillSource() (*DrillSource, bool) {
47701	return nil, false
47702}
47703
47704// AsCouchbaseSource is the BasicCopySource implementation for HiveSource.
47705func (hs HiveSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
47706	return nil, false
47707}
47708
47709// AsConcurSource is the BasicCopySource implementation for HiveSource.
47710func (hs HiveSource) AsConcurSource() (*ConcurSource, bool) {
47711	return nil, false
47712}
47713
47714// AsAzurePostgreSQLSource is the BasicCopySource implementation for HiveSource.
47715func (hs HiveSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
47716	return nil, false
47717}
47718
47719// AsAmazonMWSSource is the BasicCopySource implementation for HiveSource.
47720func (hs HiveSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
47721	return nil, false
47722}
47723
47724// AsHTTPSource is the BasicCopySource implementation for HiveSource.
47725func (hs HiveSource) AsHTTPSource() (*HTTPSource, bool) {
47726	return nil, false
47727}
47728
47729// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HiveSource.
47730func (hs HiveSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
47731	return nil, false
47732}
47733
47734// AsMongoDbSource is the BasicCopySource implementation for HiveSource.
47735func (hs HiveSource) AsMongoDbSource() (*MongoDbSource, bool) {
47736	return nil, false
47737}
47738
47739// AsCassandraSource is the BasicCopySource implementation for HiveSource.
47740func (hs HiveSource) AsCassandraSource() (*CassandraSource, bool) {
47741	return nil, false
47742}
47743
47744// AsWebSource is the BasicCopySource implementation for HiveSource.
47745func (hs HiveSource) AsWebSource() (*WebSource, bool) {
47746	return nil, false
47747}
47748
47749// AsOracleSource is the BasicCopySource implementation for HiveSource.
47750func (hs HiveSource) AsOracleSource() (*OracleSource, bool) {
47751	return nil, false
47752}
47753
47754// AsAzureMySQLSource is the BasicCopySource implementation for HiveSource.
47755func (hs HiveSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
47756	return nil, false
47757}
47758
47759// AsHdfsSource is the BasicCopySource implementation for HiveSource.
47760func (hs HiveSource) AsHdfsSource() (*HdfsSource, bool) {
47761	return nil, false
47762}
47763
47764// AsFileSystemSource is the BasicCopySource implementation for HiveSource.
47765func (hs HiveSource) AsFileSystemSource() (*FileSystemSource, bool) {
47766	return nil, false
47767}
47768
47769// AsSQLDWSource is the BasicCopySource implementation for HiveSource.
47770func (hs HiveSource) AsSQLDWSource() (*SQLDWSource, bool) {
47771	return nil, false
47772}
47773
47774// AsSQLSource is the BasicCopySource implementation for HiveSource.
47775func (hs HiveSource) AsSQLSource() (*SQLSource, bool) {
47776	return nil, false
47777}
47778
47779// AsSapEccSource is the BasicCopySource implementation for HiveSource.
47780func (hs HiveSource) AsSapEccSource() (*SapEccSource, bool) {
47781	return nil, false
47782}
47783
47784// AsSapCloudForCustomerSource is the BasicCopySource implementation for HiveSource.
47785func (hs HiveSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
47786	return nil, false
47787}
47788
47789// AsSalesforceSource is the BasicCopySource implementation for HiveSource.
47790func (hs HiveSource) AsSalesforceSource() (*SalesforceSource, bool) {
47791	return nil, false
47792}
47793
47794// AsRelationalSource is the BasicCopySource implementation for HiveSource.
47795func (hs HiveSource) AsRelationalSource() (*RelationalSource, bool) {
47796	return nil, false
47797}
47798
47799// AsDynamicsSource is the BasicCopySource implementation for HiveSource.
47800func (hs HiveSource) AsDynamicsSource() (*DynamicsSource, bool) {
47801	return nil, false
47802}
47803
47804// AsDocumentDbCollectionSource is the BasicCopySource implementation for HiveSource.
47805func (hs HiveSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
47806	return nil, false
47807}
47808
47809// AsBlobSource is the BasicCopySource implementation for HiveSource.
47810func (hs HiveSource) AsBlobSource() (*BlobSource, bool) {
47811	return nil, false
47812}
47813
47814// AsAzureTableSource is the BasicCopySource implementation for HiveSource.
47815func (hs HiveSource) AsAzureTableSource() (*AzureTableSource, bool) {
47816	return nil, false
47817}
47818
47819// AsCopySource is the BasicCopySource implementation for HiveSource.
47820func (hs HiveSource) AsCopySource() (*CopySource, bool) {
47821	return nil, false
47822}
47823
47824// AsBasicCopySource is the BasicCopySource implementation for HiveSource.
47825func (hs HiveSource) AsBasicCopySource() (BasicCopySource, bool) {
47826	return &hs, true
47827}
47828
47829// UnmarshalJSON is the custom unmarshaler for HiveSource struct.
47830func (hs *HiveSource) UnmarshalJSON(body []byte) error {
47831	var m map[string]*json.RawMessage
47832	err := json.Unmarshal(body, &m)
47833	if err != nil {
47834		return err
47835	}
47836	for k, v := range m {
47837		switch k {
47838		case "query":
47839			if v != nil {
47840				var query interface{}
47841				err = json.Unmarshal(*v, &query)
47842				if err != nil {
47843					return err
47844				}
47845				hs.Query = query
47846			}
47847		default:
47848			if v != nil {
47849				var additionalProperties interface{}
47850				err = json.Unmarshal(*v, &additionalProperties)
47851				if err != nil {
47852					return err
47853				}
47854				if hs.AdditionalProperties == nil {
47855					hs.AdditionalProperties = make(map[string]interface{})
47856				}
47857				hs.AdditionalProperties[k] = additionalProperties
47858			}
47859		case "sourceRetryCount":
47860			if v != nil {
47861				var sourceRetryCount interface{}
47862				err = json.Unmarshal(*v, &sourceRetryCount)
47863				if err != nil {
47864					return err
47865				}
47866				hs.SourceRetryCount = sourceRetryCount
47867			}
47868		case "sourceRetryWait":
47869			if v != nil {
47870				var sourceRetryWait interface{}
47871				err = json.Unmarshal(*v, &sourceRetryWait)
47872				if err != nil {
47873					return err
47874				}
47875				hs.SourceRetryWait = sourceRetryWait
47876			}
47877		case "type":
47878			if v != nil {
47879				var typeVar TypeBasicCopySource
47880				err = json.Unmarshal(*v, &typeVar)
47881				if err != nil {
47882					return err
47883				}
47884				hs.Type = typeVar
47885			}
47886		}
47887	}
47888
47889	return nil
47890}
47891
47892// HTTPDataset a file in an HTTP web server.
47893type HTTPDataset struct {
47894	// HTTPDatasetTypeProperties - Properties specific to this dataset type.
47895	*HTTPDatasetTypeProperties `json:"typeProperties,omitempty"`
47896	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
47897	AdditionalProperties map[string]interface{} `json:""`
47898	// Description - Dataset description.
47899	Description *string `json:"description,omitempty"`
47900	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
47901	Structure interface{} `json:"structure,omitempty"`
47902	// LinkedServiceName - Linked service reference.
47903	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
47904	// Parameters - Parameters for dataset.
47905	Parameters map[string]*ParameterSpecification `json:"parameters"`
47906	// Annotations - List of tags that can be used for describing the Dataset.
47907	Annotations *[]interface{} `json:"annotations,omitempty"`
47908	// 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'
47909	Type TypeBasicDataset `json:"type,omitempty"`
47910}
47911
47912// MarshalJSON is the custom marshaler for HTTPDataset.
47913func (hd HTTPDataset) MarshalJSON() ([]byte, error) {
47914	hd.Type = TypeHTTPFile
47915	objectMap := make(map[string]interface{})
47916	if hd.HTTPDatasetTypeProperties != nil {
47917		objectMap["typeProperties"] = hd.HTTPDatasetTypeProperties
47918	}
47919	if hd.Description != nil {
47920		objectMap["description"] = hd.Description
47921	}
47922	if hd.Structure != nil {
47923		objectMap["structure"] = hd.Structure
47924	}
47925	if hd.LinkedServiceName != nil {
47926		objectMap["linkedServiceName"] = hd.LinkedServiceName
47927	}
47928	if hd.Parameters != nil {
47929		objectMap["parameters"] = hd.Parameters
47930	}
47931	if hd.Annotations != nil {
47932		objectMap["annotations"] = hd.Annotations
47933	}
47934	if hd.Type != "" {
47935		objectMap["type"] = hd.Type
47936	}
47937	for k, v := range hd.AdditionalProperties {
47938		objectMap[k] = v
47939	}
47940	return json.Marshal(objectMap)
47941}
47942
47943// AsResponsysObjectDataset is the BasicDataset implementation for HTTPDataset.
47944func (hd HTTPDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
47945	return nil, false
47946}
47947
47948// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HTTPDataset.
47949func (hd HTTPDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
47950	return nil, false
47951}
47952
47953// AsVerticaTableDataset is the BasicDataset implementation for HTTPDataset.
47954func (hd HTTPDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
47955	return nil, false
47956}
47957
47958// AsNetezzaTableDataset is the BasicDataset implementation for HTTPDataset.
47959func (hd HTTPDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
47960	return nil, false
47961}
47962
47963// AsZohoObjectDataset is the BasicDataset implementation for HTTPDataset.
47964func (hd HTTPDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
47965	return nil, false
47966}
47967
47968// AsXeroObjectDataset is the BasicDataset implementation for HTTPDataset.
47969func (hd HTTPDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
47970	return nil, false
47971}
47972
47973// AsSquareObjectDataset is the BasicDataset implementation for HTTPDataset.
47974func (hd HTTPDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
47975	return nil, false
47976}
47977
47978// AsSparkObjectDataset is the BasicDataset implementation for HTTPDataset.
47979func (hd HTTPDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
47980	return nil, false
47981}
47982
47983// AsShopifyObjectDataset is the BasicDataset implementation for HTTPDataset.
47984func (hd HTTPDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
47985	return nil, false
47986}
47987
47988// AsServiceNowObjectDataset is the BasicDataset implementation for HTTPDataset.
47989func (hd HTTPDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
47990	return nil, false
47991}
47992
47993// AsQuickBooksObjectDataset is the BasicDataset implementation for HTTPDataset.
47994func (hd HTTPDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
47995	return nil, false
47996}
47997
47998// AsPrestoObjectDataset is the BasicDataset implementation for HTTPDataset.
47999func (hd HTTPDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
48000	return nil, false
48001}
48002
48003// AsPhoenixObjectDataset is the BasicDataset implementation for HTTPDataset.
48004func (hd HTTPDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
48005	return nil, false
48006}
48007
48008// AsPaypalObjectDataset is the BasicDataset implementation for HTTPDataset.
48009func (hd HTTPDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
48010	return nil, false
48011}
48012
48013// AsMarketoObjectDataset is the BasicDataset implementation for HTTPDataset.
48014func (hd HTTPDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
48015	return nil, false
48016}
48017
48018// AsMariaDBTableDataset is the BasicDataset implementation for HTTPDataset.
48019func (hd HTTPDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
48020	return nil, false
48021}
48022
48023// AsMagentoObjectDataset is the BasicDataset implementation for HTTPDataset.
48024func (hd HTTPDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
48025	return nil, false
48026}
48027
48028// AsJiraObjectDataset is the BasicDataset implementation for HTTPDataset.
48029func (hd HTTPDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
48030	return nil, false
48031}
48032
48033// AsImpalaObjectDataset is the BasicDataset implementation for HTTPDataset.
48034func (hd HTTPDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
48035	return nil, false
48036}
48037
48038// AsHubspotObjectDataset is the BasicDataset implementation for HTTPDataset.
48039func (hd HTTPDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
48040	return nil, false
48041}
48042
48043// AsHiveObjectDataset is the BasicDataset implementation for HTTPDataset.
48044func (hd HTTPDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
48045	return nil, false
48046}
48047
48048// AsHBaseObjectDataset is the BasicDataset implementation for HTTPDataset.
48049func (hd HTTPDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
48050	return nil, false
48051}
48052
48053// AsGreenplumTableDataset is the BasicDataset implementation for HTTPDataset.
48054func (hd HTTPDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
48055	return nil, false
48056}
48057
48058// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HTTPDataset.
48059func (hd HTTPDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
48060	return nil, false
48061}
48062
48063// AsEloquaObjectDataset is the BasicDataset implementation for HTTPDataset.
48064func (hd HTTPDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
48065	return nil, false
48066}
48067
48068// AsDrillTableDataset is the BasicDataset implementation for HTTPDataset.
48069func (hd HTTPDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
48070	return nil, false
48071}
48072
48073// AsCouchbaseTableDataset is the BasicDataset implementation for HTTPDataset.
48074func (hd HTTPDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
48075	return nil, false
48076}
48077
48078// AsConcurObjectDataset is the BasicDataset implementation for HTTPDataset.
48079func (hd HTTPDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
48080	return nil, false
48081}
48082
48083// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HTTPDataset.
48084func (hd HTTPDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
48085	return nil, false
48086}
48087
48088// AsAmazonMWSObjectDataset is the BasicDataset implementation for HTTPDataset.
48089func (hd HTTPDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
48090	return nil, false
48091}
48092
48093// AsHTTPDataset is the BasicDataset implementation for HTTPDataset.
48094func (hd HTTPDataset) AsHTTPDataset() (*HTTPDataset, bool) {
48095	return &hd, true
48096}
48097
48098// AsAzureSearchIndexDataset is the BasicDataset implementation for HTTPDataset.
48099func (hd HTTPDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
48100	return nil, false
48101}
48102
48103// AsWebTableDataset is the BasicDataset implementation for HTTPDataset.
48104func (hd HTTPDataset) AsWebTableDataset() (*WebTableDataset, bool) {
48105	return nil, false
48106}
48107
48108// AsSQLServerTableDataset is the BasicDataset implementation for HTTPDataset.
48109func (hd HTTPDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
48110	return nil, false
48111}
48112
48113// AsSapEccResourceDataset is the BasicDataset implementation for HTTPDataset.
48114func (hd HTTPDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
48115	return nil, false
48116}
48117
48118// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HTTPDataset.
48119func (hd HTTPDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
48120	return nil, false
48121}
48122
48123// AsSalesforceObjectDataset is the BasicDataset implementation for HTTPDataset.
48124func (hd HTTPDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
48125	return nil, false
48126}
48127
48128// AsRelationalTableDataset is the BasicDataset implementation for HTTPDataset.
48129func (hd HTTPDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
48130	return nil, false
48131}
48132
48133// AsAzureMySQLTableDataset is the BasicDataset implementation for HTTPDataset.
48134func (hd HTTPDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
48135	return nil, false
48136}
48137
48138// AsOracleTableDataset is the BasicDataset implementation for HTTPDataset.
48139func (hd HTTPDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
48140	return nil, false
48141}
48142
48143// AsODataResourceDataset is the BasicDataset implementation for HTTPDataset.
48144func (hd HTTPDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
48145	return nil, false
48146}
48147
48148// AsMongoDbCollectionDataset is the BasicDataset implementation for HTTPDataset.
48149func (hd HTTPDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
48150	return nil, false
48151}
48152
48153// AsFileShareDataset is the BasicDataset implementation for HTTPDataset.
48154func (hd HTTPDataset) AsFileShareDataset() (*FileShareDataset, bool) {
48155	return nil, false
48156}
48157
48158// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HTTPDataset.
48159func (hd HTTPDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
48160	return nil, false
48161}
48162
48163// AsDynamicsEntityDataset is the BasicDataset implementation for HTTPDataset.
48164func (hd HTTPDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
48165	return nil, false
48166}
48167
48168// AsDocumentDbCollectionDataset is the BasicDataset implementation for HTTPDataset.
48169func (hd HTTPDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
48170	return nil, false
48171}
48172
48173// AsCustomDataset is the BasicDataset implementation for HTTPDataset.
48174func (hd HTTPDataset) AsCustomDataset() (*CustomDataset, bool) {
48175	return nil, false
48176}
48177
48178// AsCassandraTableDataset is the BasicDataset implementation for HTTPDataset.
48179func (hd HTTPDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
48180	return nil, false
48181}
48182
48183// AsAzureSQLDWTableDataset is the BasicDataset implementation for HTTPDataset.
48184func (hd HTTPDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
48185	return nil, false
48186}
48187
48188// AsAzureSQLTableDataset is the BasicDataset implementation for HTTPDataset.
48189func (hd HTTPDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
48190	return nil, false
48191}
48192
48193// AsAzureTableDataset is the BasicDataset implementation for HTTPDataset.
48194func (hd HTTPDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
48195	return nil, false
48196}
48197
48198// AsAzureBlobDataset is the BasicDataset implementation for HTTPDataset.
48199func (hd HTTPDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
48200	return nil, false
48201}
48202
48203// AsAmazonS3Dataset is the BasicDataset implementation for HTTPDataset.
48204func (hd HTTPDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
48205	return nil, false
48206}
48207
48208// AsDataset is the BasicDataset implementation for HTTPDataset.
48209func (hd HTTPDataset) AsDataset() (*Dataset, bool) {
48210	return nil, false
48211}
48212
48213// AsBasicDataset is the BasicDataset implementation for HTTPDataset.
48214func (hd HTTPDataset) AsBasicDataset() (BasicDataset, bool) {
48215	return &hd, true
48216}
48217
48218// UnmarshalJSON is the custom unmarshaler for HTTPDataset struct.
48219func (hd *HTTPDataset) UnmarshalJSON(body []byte) error {
48220	var m map[string]*json.RawMessage
48221	err := json.Unmarshal(body, &m)
48222	if err != nil {
48223		return err
48224	}
48225	for k, v := range m {
48226		switch k {
48227		case "typeProperties":
48228			if v != nil {
48229				var HTTPDatasetTypeProperties HTTPDatasetTypeProperties
48230				err = json.Unmarshal(*v, &HTTPDatasetTypeProperties)
48231				if err != nil {
48232					return err
48233				}
48234				hd.HTTPDatasetTypeProperties = &HTTPDatasetTypeProperties
48235			}
48236		default:
48237			if v != nil {
48238				var additionalProperties interface{}
48239				err = json.Unmarshal(*v, &additionalProperties)
48240				if err != nil {
48241					return err
48242				}
48243				if hd.AdditionalProperties == nil {
48244					hd.AdditionalProperties = make(map[string]interface{})
48245				}
48246				hd.AdditionalProperties[k] = additionalProperties
48247			}
48248		case "description":
48249			if v != nil {
48250				var description string
48251				err = json.Unmarshal(*v, &description)
48252				if err != nil {
48253					return err
48254				}
48255				hd.Description = &description
48256			}
48257		case "structure":
48258			if v != nil {
48259				var structure interface{}
48260				err = json.Unmarshal(*v, &structure)
48261				if err != nil {
48262					return err
48263				}
48264				hd.Structure = structure
48265			}
48266		case "linkedServiceName":
48267			if v != nil {
48268				var linkedServiceName LinkedServiceReference
48269				err = json.Unmarshal(*v, &linkedServiceName)
48270				if err != nil {
48271					return err
48272				}
48273				hd.LinkedServiceName = &linkedServiceName
48274			}
48275		case "parameters":
48276			if v != nil {
48277				var parameters map[string]*ParameterSpecification
48278				err = json.Unmarshal(*v, &parameters)
48279				if err != nil {
48280					return err
48281				}
48282				hd.Parameters = parameters
48283			}
48284		case "annotations":
48285			if v != nil {
48286				var annotations []interface{}
48287				err = json.Unmarshal(*v, &annotations)
48288				if err != nil {
48289					return err
48290				}
48291				hd.Annotations = &annotations
48292			}
48293		case "type":
48294			if v != nil {
48295				var typeVar TypeBasicDataset
48296				err = json.Unmarshal(*v, &typeVar)
48297				if err != nil {
48298					return err
48299				}
48300				hd.Type = typeVar
48301			}
48302		}
48303	}
48304
48305	return nil
48306}
48307
48308// HTTPDatasetTypeProperties properties specific to this dataset type.
48309type HTTPDatasetTypeProperties struct {
48310	// RelativeURL - The relative URL based on the URL in the HttpLinkedService refers to an HTTP file Type: string (or Expression with resultType string).
48311	RelativeURL interface{} `json:"relativeUrl,omitempty"`
48312	// RequestMethod - The HTTP method for the HTTP request. Type: string (or Expression with resultType string).
48313	RequestMethod interface{} `json:"requestMethod,omitempty"`
48314	// RequestBody - The body for the HTTP request. Type: string (or Expression with resultType string).
48315	RequestBody interface{} `json:"requestBody,omitempty"`
48316	// AdditionalHeaders - The headers for the HTTP Request. e.g. request-header-name-1:request-header-value-1
48317	// ...
48318	// request-header-name-n:request-header-value-n Type: string (or Expression with resultType string).
48319	AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"`
48320	// Format - The format of files.
48321	Format BasicDatasetStorageFormat `json:"format,omitempty"`
48322	// Compression - The data compression method used on files.
48323	Compression BasicDatasetCompression `json:"compression,omitempty"`
48324}
48325
48326// UnmarshalJSON is the custom unmarshaler for HTTPDatasetTypeProperties struct.
48327func (hdtp *HTTPDatasetTypeProperties) UnmarshalJSON(body []byte) error {
48328	var m map[string]*json.RawMessage
48329	err := json.Unmarshal(body, &m)
48330	if err != nil {
48331		return err
48332	}
48333	for k, v := range m {
48334		switch k {
48335		case "relativeUrl":
48336			if v != nil {
48337				var relativeURL interface{}
48338				err = json.Unmarshal(*v, &relativeURL)
48339				if err != nil {
48340					return err
48341				}
48342				hdtp.RelativeURL = relativeURL
48343			}
48344		case "requestMethod":
48345			if v != nil {
48346				var requestMethod interface{}
48347				err = json.Unmarshal(*v, &requestMethod)
48348				if err != nil {
48349					return err
48350				}
48351				hdtp.RequestMethod = requestMethod
48352			}
48353		case "requestBody":
48354			if v != nil {
48355				var requestBody interface{}
48356				err = json.Unmarshal(*v, &requestBody)
48357				if err != nil {
48358					return err
48359				}
48360				hdtp.RequestBody = requestBody
48361			}
48362		case "additionalHeaders":
48363			if v != nil {
48364				var additionalHeaders interface{}
48365				err = json.Unmarshal(*v, &additionalHeaders)
48366				if err != nil {
48367					return err
48368				}
48369				hdtp.AdditionalHeaders = additionalHeaders
48370			}
48371		case "format":
48372			if v != nil {
48373				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
48374				if err != nil {
48375					return err
48376				}
48377				hdtp.Format = formatVar
48378			}
48379		case "compression":
48380			if v != nil {
48381				compression, err := unmarshalBasicDatasetCompression(*v)
48382				if err != nil {
48383					return err
48384				}
48385				hdtp.Compression = compression
48386			}
48387		}
48388	}
48389
48390	return nil
48391}
48392
48393// HTTPLinkedService linked service for an HTTP source.
48394type HTTPLinkedService struct {
48395	// HTTPLinkedServiceTypeProperties - Properties specific to this linked service type.
48396	*HTTPLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
48397	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
48398	AdditionalProperties map[string]interface{} `json:""`
48399	// ConnectVia - The integration runtime reference.
48400	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
48401	// Description - Linked service description.
48402	Description *string `json:"description,omitempty"`
48403	// Parameters - Parameters for linked service.
48404	Parameters map[string]*ParameterSpecification `json:"parameters"`
48405	// Annotations - List of tags that can be used for describing the Dataset.
48406	Annotations *[]interface{} `json:"annotations,omitempty"`
48407	// 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'
48408	Type TypeBasicLinkedService `json:"type,omitempty"`
48409}
48410
48411// MarshalJSON is the custom marshaler for HTTPLinkedService.
48412func (hls HTTPLinkedService) MarshalJSON() ([]byte, error) {
48413	hls.Type = TypeHTTPServer
48414	objectMap := make(map[string]interface{})
48415	if hls.HTTPLinkedServiceTypeProperties != nil {
48416		objectMap["typeProperties"] = hls.HTTPLinkedServiceTypeProperties
48417	}
48418	if hls.ConnectVia != nil {
48419		objectMap["connectVia"] = hls.ConnectVia
48420	}
48421	if hls.Description != nil {
48422		objectMap["description"] = hls.Description
48423	}
48424	if hls.Parameters != nil {
48425		objectMap["parameters"] = hls.Parameters
48426	}
48427	if hls.Annotations != nil {
48428		objectMap["annotations"] = hls.Annotations
48429	}
48430	if hls.Type != "" {
48431		objectMap["type"] = hls.Type
48432	}
48433	for k, v := range hls.AdditionalProperties {
48434		objectMap[k] = v
48435	}
48436	return json.Marshal(objectMap)
48437}
48438
48439// AsResponsysLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48440func (hls HTTPLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
48441	return nil, false
48442}
48443
48444// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48445func (hls HTTPLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
48446	return nil, false
48447}
48448
48449// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48450func (hls HTTPLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
48451	return nil, false
48452}
48453
48454// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48455func (hls HTTPLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
48456	return nil, false
48457}
48458
48459// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48460func (hls HTTPLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
48461	return nil, false
48462}
48463
48464// AsNetezzaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48465func (hls HTTPLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
48466	return nil, false
48467}
48468
48469// AsVerticaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48470func (hls HTTPLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
48471	return nil, false
48472}
48473
48474// AsZohoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48475func (hls HTTPLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
48476	return nil, false
48477}
48478
48479// AsXeroLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48480func (hls HTTPLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
48481	return nil, false
48482}
48483
48484// AsSquareLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48485func (hls HTTPLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
48486	return nil, false
48487}
48488
48489// AsSparkLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48490func (hls HTTPLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
48491	return nil, false
48492}
48493
48494// AsShopifyLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48495func (hls HTTPLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
48496	return nil, false
48497}
48498
48499// AsServiceNowLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48500func (hls HTTPLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
48501	return nil, false
48502}
48503
48504// AsQuickBooksLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48505func (hls HTTPLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
48506	return nil, false
48507}
48508
48509// AsPrestoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48510func (hls HTTPLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
48511	return nil, false
48512}
48513
48514// AsPhoenixLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48515func (hls HTTPLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
48516	return nil, false
48517}
48518
48519// AsPaypalLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48520func (hls HTTPLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
48521	return nil, false
48522}
48523
48524// AsMarketoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48525func (hls HTTPLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
48526	return nil, false
48527}
48528
48529// AsMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48530func (hls HTTPLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
48531	return nil, false
48532}
48533
48534// AsMagentoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48535func (hls HTTPLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
48536	return nil, false
48537}
48538
48539// AsJiraLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48540func (hls HTTPLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
48541	return nil, false
48542}
48543
48544// AsImpalaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48545func (hls HTTPLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
48546	return nil, false
48547}
48548
48549// AsHubspotLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48550func (hls HTTPLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
48551	return nil, false
48552}
48553
48554// AsHiveLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48555func (hls HTTPLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
48556	return nil, false
48557}
48558
48559// AsHBaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48560func (hls HTTPLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
48561	return nil, false
48562}
48563
48564// AsGreenplumLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48565func (hls HTTPLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
48566	return nil, false
48567}
48568
48569// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48570func (hls HTTPLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
48571	return nil, false
48572}
48573
48574// AsEloquaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48575func (hls HTTPLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
48576	return nil, false
48577}
48578
48579// AsDrillLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48580func (hls HTTPLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
48581	return nil, false
48582}
48583
48584// AsCouchbaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48585func (hls HTTPLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
48586	return nil, false
48587}
48588
48589// AsConcurLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48590func (hls HTTPLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
48591	return nil, false
48592}
48593
48594// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48595func (hls HTTPLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
48596	return nil, false
48597}
48598
48599// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48600func (hls HTTPLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
48601	return nil, false
48602}
48603
48604// AsSapHanaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48605func (hls HTTPLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
48606	return nil, false
48607}
48608
48609// AsSapBWLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48610func (hls HTTPLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
48611	return nil, false
48612}
48613
48614// AsSftpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48615func (hls HTTPLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
48616	return nil, false
48617}
48618
48619// AsFtpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48620func (hls HTTPLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
48621	return nil, false
48622}
48623
48624// AsHTTPLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48625func (hls HTTPLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
48626	return &hls, true
48627}
48628
48629// AsAzureSearchLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48630func (hls HTTPLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
48631	return nil, false
48632}
48633
48634// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48635func (hls HTTPLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
48636	return nil, false
48637}
48638
48639// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48640func (hls HTTPLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
48641	return nil, false
48642}
48643
48644// AsAmazonS3LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48645func (hls HTTPLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
48646	return nil, false
48647}
48648
48649// AsSapEccLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48650func (hls HTTPLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
48651	return nil, false
48652}
48653
48654// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48655func (hls HTTPLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
48656	return nil, false
48657}
48658
48659// AsSalesforceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48660func (hls HTTPLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
48661	return nil, false
48662}
48663
48664// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48665func (hls HTTPLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
48666	return nil, false
48667}
48668
48669// AsMongoDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48670func (hls HTTPLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
48671	return nil, false
48672}
48673
48674// AsCassandraLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48675func (hls HTTPLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
48676	return nil, false
48677}
48678
48679// AsWebLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48680func (hls HTTPLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
48681	return nil, false
48682}
48683
48684// AsODataLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48685func (hls HTTPLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
48686	return nil, false
48687}
48688
48689// AsHdfsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48690func (hls HTTPLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
48691	return nil, false
48692}
48693
48694// AsOdbcLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48695func (hls HTTPLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
48696	return nil, false
48697}
48698
48699// AsAzureMLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48700func (hls HTTPLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
48701	return nil, false
48702}
48703
48704// AsTeradataLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48705func (hls HTTPLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
48706	return nil, false
48707}
48708
48709// AsDb2LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48710func (hls HTTPLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
48711	return nil, false
48712}
48713
48714// AsSybaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48715func (hls HTTPLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
48716	return nil, false
48717}
48718
48719// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48720func (hls HTTPLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
48721	return nil, false
48722}
48723
48724// AsMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48725func (hls HTTPLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
48726	return nil, false
48727}
48728
48729// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48730func (hls HTTPLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
48731	return nil, false
48732}
48733
48734// AsOracleLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48735func (hls HTTPLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
48736	return nil, false
48737}
48738
48739// AsFileServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48740func (hls HTTPLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
48741	return nil, false
48742}
48743
48744// AsHDInsightLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48745func (hls HTTPLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
48746	return nil, false
48747}
48748
48749// AsDynamicsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48750func (hls HTTPLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
48751	return nil, false
48752}
48753
48754// AsCosmosDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48755func (hls HTTPLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
48756	return nil, false
48757}
48758
48759// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48760func (hls HTTPLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
48761	return nil, false
48762}
48763
48764// AsAzureBatchLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48765func (hls HTTPLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
48766	return nil, false
48767}
48768
48769// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48770func (hls HTTPLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
48771	return nil, false
48772}
48773
48774// AsSQLServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48775func (hls HTTPLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
48776	return nil, false
48777}
48778
48779// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48780func (hls HTTPLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
48781	return nil, false
48782}
48783
48784// AsAzureStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48785func (hls HTTPLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
48786	return nil, false
48787}
48788
48789// AsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48790func (hls HTTPLinkedService) AsLinkedService() (*LinkedService, bool) {
48791	return nil, false
48792}
48793
48794// AsBasicLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
48795func (hls HTTPLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
48796	return &hls, true
48797}
48798
48799// UnmarshalJSON is the custom unmarshaler for HTTPLinkedService struct.
48800func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error {
48801	var m map[string]*json.RawMessage
48802	err := json.Unmarshal(body, &m)
48803	if err != nil {
48804		return err
48805	}
48806	for k, v := range m {
48807		switch k {
48808		case "typeProperties":
48809			if v != nil {
48810				var HTTPLinkedServiceTypeProperties HTTPLinkedServiceTypeProperties
48811				err = json.Unmarshal(*v, &HTTPLinkedServiceTypeProperties)
48812				if err != nil {
48813					return err
48814				}
48815				hls.HTTPLinkedServiceTypeProperties = &HTTPLinkedServiceTypeProperties
48816			}
48817		default:
48818			if v != nil {
48819				var additionalProperties interface{}
48820				err = json.Unmarshal(*v, &additionalProperties)
48821				if err != nil {
48822					return err
48823				}
48824				if hls.AdditionalProperties == nil {
48825					hls.AdditionalProperties = make(map[string]interface{})
48826				}
48827				hls.AdditionalProperties[k] = additionalProperties
48828			}
48829		case "connectVia":
48830			if v != nil {
48831				var connectVia IntegrationRuntimeReference
48832				err = json.Unmarshal(*v, &connectVia)
48833				if err != nil {
48834					return err
48835				}
48836				hls.ConnectVia = &connectVia
48837			}
48838		case "description":
48839			if v != nil {
48840				var description string
48841				err = json.Unmarshal(*v, &description)
48842				if err != nil {
48843					return err
48844				}
48845				hls.Description = &description
48846			}
48847		case "parameters":
48848			if v != nil {
48849				var parameters map[string]*ParameterSpecification
48850				err = json.Unmarshal(*v, &parameters)
48851				if err != nil {
48852					return err
48853				}
48854				hls.Parameters = parameters
48855			}
48856		case "annotations":
48857			if v != nil {
48858				var annotations []interface{}
48859				err = json.Unmarshal(*v, &annotations)
48860				if err != nil {
48861					return err
48862				}
48863				hls.Annotations = &annotations
48864			}
48865		case "type":
48866			if v != nil {
48867				var typeVar TypeBasicLinkedService
48868				err = json.Unmarshal(*v, &typeVar)
48869				if err != nil {
48870					return err
48871				}
48872				hls.Type = typeVar
48873			}
48874		}
48875	}
48876
48877	return nil
48878}
48879
48880// HTTPLinkedServiceTypeProperties properties specific to this linked service type.
48881type HTTPLinkedServiceTypeProperties struct {
48882	// URL - The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: string (or Expression with resultType string).
48883	URL interface{} `json:"url,omitempty"`
48884	// AuthenticationType - The authentication type to be used to connect to the HTTP server. Possible values include: 'HTTPAuthenticationTypeBasic', 'HTTPAuthenticationTypeAnonymous', 'HTTPAuthenticationTypeDigest', 'HTTPAuthenticationTypeWindows', 'HTTPAuthenticationTypeClientCertificate'
48885	AuthenticationType HTTPAuthenticationType `json:"authenticationType,omitempty"`
48886	// UserName - User name for Basic, Digest, or Windows authentication. Type: string (or Expression with resultType string).
48887	UserName interface{} `json:"userName,omitempty"`
48888	// Password - Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication.
48889	Password BasicSecretBase `json:"password,omitempty"`
48890	// 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).
48891	EmbeddedCertData interface{} `json:"embeddedCertData,omitempty"`
48892	// 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).
48893	CertThumbprint interface{} `json:"certThumbprint,omitempty"`
48894	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
48895	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
48896	// EnableServerCertificateValidation - If true, validate the HTTPS server SSL certificate. Default value is true. Type: boolean (or Expression with resultType boolean).
48897	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
48898}
48899
48900// UnmarshalJSON is the custom unmarshaler for HTTPLinkedServiceTypeProperties struct.
48901func (hlstp *HTTPLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
48902	var m map[string]*json.RawMessage
48903	err := json.Unmarshal(body, &m)
48904	if err != nil {
48905		return err
48906	}
48907	for k, v := range m {
48908		switch k {
48909		case "url":
48910			if v != nil {
48911				var URL interface{}
48912				err = json.Unmarshal(*v, &URL)
48913				if err != nil {
48914					return err
48915				}
48916				hlstp.URL = URL
48917			}
48918		case "authenticationType":
48919			if v != nil {
48920				var authenticationType HTTPAuthenticationType
48921				err = json.Unmarshal(*v, &authenticationType)
48922				if err != nil {
48923					return err
48924				}
48925				hlstp.AuthenticationType = authenticationType
48926			}
48927		case "userName":
48928			if v != nil {
48929				var userName interface{}
48930				err = json.Unmarshal(*v, &userName)
48931				if err != nil {
48932					return err
48933				}
48934				hlstp.UserName = userName
48935			}
48936		case "password":
48937			if v != nil {
48938				password, err := unmarshalBasicSecretBase(*v)
48939				if err != nil {
48940					return err
48941				}
48942				hlstp.Password = password
48943			}
48944		case "embeddedCertData":
48945			if v != nil {
48946				var embeddedCertData interface{}
48947				err = json.Unmarshal(*v, &embeddedCertData)
48948				if err != nil {
48949					return err
48950				}
48951				hlstp.EmbeddedCertData = embeddedCertData
48952			}
48953		case "certThumbprint":
48954			if v != nil {
48955				var certThumbprint interface{}
48956				err = json.Unmarshal(*v, &certThumbprint)
48957				if err != nil {
48958					return err
48959				}
48960				hlstp.CertThumbprint = certThumbprint
48961			}
48962		case "encryptedCredential":
48963			if v != nil {
48964				var encryptedCredential interface{}
48965				err = json.Unmarshal(*v, &encryptedCredential)
48966				if err != nil {
48967					return err
48968				}
48969				hlstp.EncryptedCredential = encryptedCredential
48970			}
48971		case "enableServerCertificateValidation":
48972			if v != nil {
48973				var enableServerCertificateValidation interface{}
48974				err = json.Unmarshal(*v, &enableServerCertificateValidation)
48975				if err != nil {
48976					return err
48977				}
48978				hlstp.EnableServerCertificateValidation = enableServerCertificateValidation
48979			}
48980		}
48981	}
48982
48983	return nil
48984}
48985
48986// HTTPSource a copy activity source for an HTTP file.
48987type HTTPSource struct {
48988	// 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])).
48989	HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"`
48990	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
48991	AdditionalProperties map[string]interface{} `json:""`
48992	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
48993	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
48994	// 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])).
48995	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
48996	// 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'
48997	Type TypeBasicCopySource `json:"type,omitempty"`
48998}
48999
49000// MarshalJSON is the custom marshaler for HTTPSource.
49001func (hs HTTPSource) MarshalJSON() ([]byte, error) {
49002	hs.Type = TypeHTTPSource
49003	objectMap := make(map[string]interface{})
49004	if hs.HTTPRequestTimeout != nil {
49005		objectMap["httpRequestTimeout"] = hs.HTTPRequestTimeout
49006	}
49007	if hs.SourceRetryCount != nil {
49008		objectMap["sourceRetryCount"] = hs.SourceRetryCount
49009	}
49010	if hs.SourceRetryWait != nil {
49011		objectMap["sourceRetryWait"] = hs.SourceRetryWait
49012	}
49013	if hs.Type != "" {
49014		objectMap["type"] = hs.Type
49015	}
49016	for k, v := range hs.AdditionalProperties {
49017		objectMap[k] = v
49018	}
49019	return json.Marshal(objectMap)
49020}
49021
49022// AsAmazonRedshiftSource is the BasicCopySource implementation for HTTPSource.
49023func (hs HTTPSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
49024	return nil, false
49025}
49026
49027// AsResponsysSource is the BasicCopySource implementation for HTTPSource.
49028func (hs HTTPSource) AsResponsysSource() (*ResponsysSource, bool) {
49029	return nil, false
49030}
49031
49032// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HTTPSource.
49033func (hs HTTPSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
49034	return nil, false
49035}
49036
49037// AsVerticaSource is the BasicCopySource implementation for HTTPSource.
49038func (hs HTTPSource) AsVerticaSource() (*VerticaSource, bool) {
49039	return nil, false
49040}
49041
49042// AsNetezzaSource is the BasicCopySource implementation for HTTPSource.
49043func (hs HTTPSource) AsNetezzaSource() (*NetezzaSource, bool) {
49044	return nil, false
49045}
49046
49047// AsZohoSource is the BasicCopySource implementation for HTTPSource.
49048func (hs HTTPSource) AsZohoSource() (*ZohoSource, bool) {
49049	return nil, false
49050}
49051
49052// AsXeroSource is the BasicCopySource implementation for HTTPSource.
49053func (hs HTTPSource) AsXeroSource() (*XeroSource, bool) {
49054	return nil, false
49055}
49056
49057// AsSquareSource is the BasicCopySource implementation for HTTPSource.
49058func (hs HTTPSource) AsSquareSource() (*SquareSource, bool) {
49059	return nil, false
49060}
49061
49062// AsSparkSource is the BasicCopySource implementation for HTTPSource.
49063func (hs HTTPSource) AsSparkSource() (*SparkSource, bool) {
49064	return nil, false
49065}
49066
49067// AsShopifySource is the BasicCopySource implementation for HTTPSource.
49068func (hs HTTPSource) AsShopifySource() (*ShopifySource, bool) {
49069	return nil, false
49070}
49071
49072// AsServiceNowSource is the BasicCopySource implementation for HTTPSource.
49073func (hs HTTPSource) AsServiceNowSource() (*ServiceNowSource, bool) {
49074	return nil, false
49075}
49076
49077// AsQuickBooksSource is the BasicCopySource implementation for HTTPSource.
49078func (hs HTTPSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
49079	return nil, false
49080}
49081
49082// AsPrestoSource is the BasicCopySource implementation for HTTPSource.
49083func (hs HTTPSource) AsPrestoSource() (*PrestoSource, bool) {
49084	return nil, false
49085}
49086
49087// AsPhoenixSource is the BasicCopySource implementation for HTTPSource.
49088func (hs HTTPSource) AsPhoenixSource() (*PhoenixSource, bool) {
49089	return nil, false
49090}
49091
49092// AsPaypalSource is the BasicCopySource implementation for HTTPSource.
49093func (hs HTTPSource) AsPaypalSource() (*PaypalSource, bool) {
49094	return nil, false
49095}
49096
49097// AsMarketoSource is the BasicCopySource implementation for HTTPSource.
49098func (hs HTTPSource) AsMarketoSource() (*MarketoSource, bool) {
49099	return nil, false
49100}
49101
49102// AsMariaDBSource is the BasicCopySource implementation for HTTPSource.
49103func (hs HTTPSource) AsMariaDBSource() (*MariaDBSource, bool) {
49104	return nil, false
49105}
49106
49107// AsMagentoSource is the BasicCopySource implementation for HTTPSource.
49108func (hs HTTPSource) AsMagentoSource() (*MagentoSource, bool) {
49109	return nil, false
49110}
49111
49112// AsJiraSource is the BasicCopySource implementation for HTTPSource.
49113func (hs HTTPSource) AsJiraSource() (*JiraSource, bool) {
49114	return nil, false
49115}
49116
49117// AsImpalaSource is the BasicCopySource implementation for HTTPSource.
49118func (hs HTTPSource) AsImpalaSource() (*ImpalaSource, bool) {
49119	return nil, false
49120}
49121
49122// AsHubspotSource is the BasicCopySource implementation for HTTPSource.
49123func (hs HTTPSource) AsHubspotSource() (*HubspotSource, bool) {
49124	return nil, false
49125}
49126
49127// AsHiveSource is the BasicCopySource implementation for HTTPSource.
49128func (hs HTTPSource) AsHiveSource() (*HiveSource, bool) {
49129	return nil, false
49130}
49131
49132// AsHBaseSource is the BasicCopySource implementation for HTTPSource.
49133func (hs HTTPSource) AsHBaseSource() (*HBaseSource, bool) {
49134	return nil, false
49135}
49136
49137// AsGreenplumSource is the BasicCopySource implementation for HTTPSource.
49138func (hs HTTPSource) AsGreenplumSource() (*GreenplumSource, bool) {
49139	return nil, false
49140}
49141
49142// AsGoogleBigQuerySource is the BasicCopySource implementation for HTTPSource.
49143func (hs HTTPSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
49144	return nil, false
49145}
49146
49147// AsEloquaSource is the BasicCopySource implementation for HTTPSource.
49148func (hs HTTPSource) AsEloquaSource() (*EloquaSource, bool) {
49149	return nil, false
49150}
49151
49152// AsDrillSource is the BasicCopySource implementation for HTTPSource.
49153func (hs HTTPSource) AsDrillSource() (*DrillSource, bool) {
49154	return nil, false
49155}
49156
49157// AsCouchbaseSource is the BasicCopySource implementation for HTTPSource.
49158func (hs HTTPSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
49159	return nil, false
49160}
49161
49162// AsConcurSource is the BasicCopySource implementation for HTTPSource.
49163func (hs HTTPSource) AsConcurSource() (*ConcurSource, bool) {
49164	return nil, false
49165}
49166
49167// AsAzurePostgreSQLSource is the BasicCopySource implementation for HTTPSource.
49168func (hs HTTPSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
49169	return nil, false
49170}
49171
49172// AsAmazonMWSSource is the BasicCopySource implementation for HTTPSource.
49173func (hs HTTPSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
49174	return nil, false
49175}
49176
49177// AsHTTPSource is the BasicCopySource implementation for HTTPSource.
49178func (hs HTTPSource) AsHTTPSource() (*HTTPSource, bool) {
49179	return &hs, true
49180}
49181
49182// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HTTPSource.
49183func (hs HTTPSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
49184	return nil, false
49185}
49186
49187// AsMongoDbSource is the BasicCopySource implementation for HTTPSource.
49188func (hs HTTPSource) AsMongoDbSource() (*MongoDbSource, bool) {
49189	return nil, false
49190}
49191
49192// AsCassandraSource is the BasicCopySource implementation for HTTPSource.
49193func (hs HTTPSource) AsCassandraSource() (*CassandraSource, bool) {
49194	return nil, false
49195}
49196
49197// AsWebSource is the BasicCopySource implementation for HTTPSource.
49198func (hs HTTPSource) AsWebSource() (*WebSource, bool) {
49199	return nil, false
49200}
49201
49202// AsOracleSource is the BasicCopySource implementation for HTTPSource.
49203func (hs HTTPSource) AsOracleSource() (*OracleSource, bool) {
49204	return nil, false
49205}
49206
49207// AsAzureMySQLSource is the BasicCopySource implementation for HTTPSource.
49208func (hs HTTPSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
49209	return nil, false
49210}
49211
49212// AsHdfsSource is the BasicCopySource implementation for HTTPSource.
49213func (hs HTTPSource) AsHdfsSource() (*HdfsSource, bool) {
49214	return nil, false
49215}
49216
49217// AsFileSystemSource is the BasicCopySource implementation for HTTPSource.
49218func (hs HTTPSource) AsFileSystemSource() (*FileSystemSource, bool) {
49219	return nil, false
49220}
49221
49222// AsSQLDWSource is the BasicCopySource implementation for HTTPSource.
49223func (hs HTTPSource) AsSQLDWSource() (*SQLDWSource, bool) {
49224	return nil, false
49225}
49226
49227// AsSQLSource is the BasicCopySource implementation for HTTPSource.
49228func (hs HTTPSource) AsSQLSource() (*SQLSource, bool) {
49229	return nil, false
49230}
49231
49232// AsSapEccSource is the BasicCopySource implementation for HTTPSource.
49233func (hs HTTPSource) AsSapEccSource() (*SapEccSource, bool) {
49234	return nil, false
49235}
49236
49237// AsSapCloudForCustomerSource is the BasicCopySource implementation for HTTPSource.
49238func (hs HTTPSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
49239	return nil, false
49240}
49241
49242// AsSalesforceSource is the BasicCopySource implementation for HTTPSource.
49243func (hs HTTPSource) AsSalesforceSource() (*SalesforceSource, bool) {
49244	return nil, false
49245}
49246
49247// AsRelationalSource is the BasicCopySource implementation for HTTPSource.
49248func (hs HTTPSource) AsRelationalSource() (*RelationalSource, bool) {
49249	return nil, false
49250}
49251
49252// AsDynamicsSource is the BasicCopySource implementation for HTTPSource.
49253func (hs HTTPSource) AsDynamicsSource() (*DynamicsSource, bool) {
49254	return nil, false
49255}
49256
49257// AsDocumentDbCollectionSource is the BasicCopySource implementation for HTTPSource.
49258func (hs HTTPSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
49259	return nil, false
49260}
49261
49262// AsBlobSource is the BasicCopySource implementation for HTTPSource.
49263func (hs HTTPSource) AsBlobSource() (*BlobSource, bool) {
49264	return nil, false
49265}
49266
49267// AsAzureTableSource is the BasicCopySource implementation for HTTPSource.
49268func (hs HTTPSource) AsAzureTableSource() (*AzureTableSource, bool) {
49269	return nil, false
49270}
49271
49272// AsCopySource is the BasicCopySource implementation for HTTPSource.
49273func (hs HTTPSource) AsCopySource() (*CopySource, bool) {
49274	return nil, false
49275}
49276
49277// AsBasicCopySource is the BasicCopySource implementation for HTTPSource.
49278func (hs HTTPSource) AsBasicCopySource() (BasicCopySource, bool) {
49279	return &hs, true
49280}
49281
49282// UnmarshalJSON is the custom unmarshaler for HTTPSource struct.
49283func (hs *HTTPSource) UnmarshalJSON(body []byte) error {
49284	var m map[string]*json.RawMessage
49285	err := json.Unmarshal(body, &m)
49286	if err != nil {
49287		return err
49288	}
49289	for k, v := range m {
49290		switch k {
49291		case "httpRequestTimeout":
49292			if v != nil {
49293				var HTTPRequestTimeout interface{}
49294				err = json.Unmarshal(*v, &HTTPRequestTimeout)
49295				if err != nil {
49296					return err
49297				}
49298				hs.HTTPRequestTimeout = HTTPRequestTimeout
49299			}
49300		default:
49301			if v != nil {
49302				var additionalProperties interface{}
49303				err = json.Unmarshal(*v, &additionalProperties)
49304				if err != nil {
49305					return err
49306				}
49307				if hs.AdditionalProperties == nil {
49308					hs.AdditionalProperties = make(map[string]interface{})
49309				}
49310				hs.AdditionalProperties[k] = additionalProperties
49311			}
49312		case "sourceRetryCount":
49313			if v != nil {
49314				var sourceRetryCount interface{}
49315				err = json.Unmarshal(*v, &sourceRetryCount)
49316				if err != nil {
49317					return err
49318				}
49319				hs.SourceRetryCount = sourceRetryCount
49320			}
49321		case "sourceRetryWait":
49322			if v != nil {
49323				var sourceRetryWait interface{}
49324				err = json.Unmarshal(*v, &sourceRetryWait)
49325				if err != nil {
49326					return err
49327				}
49328				hs.SourceRetryWait = sourceRetryWait
49329			}
49330		case "type":
49331			if v != nil {
49332				var typeVar TypeBasicCopySource
49333				err = json.Unmarshal(*v, &typeVar)
49334				if err != nil {
49335					return err
49336				}
49337				hs.Type = typeVar
49338			}
49339		}
49340	}
49341
49342	return nil
49343}
49344
49345// HubspotLinkedService hubspot Service linked service.
49346type HubspotLinkedService struct {
49347	// HubspotLinkedServiceTypeProperties - Hubspot Service linked service properties.
49348	*HubspotLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
49349	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
49350	AdditionalProperties map[string]interface{} `json:""`
49351	// ConnectVia - The integration runtime reference.
49352	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
49353	// Description - Linked service description.
49354	Description *string `json:"description,omitempty"`
49355	// Parameters - Parameters for linked service.
49356	Parameters map[string]*ParameterSpecification `json:"parameters"`
49357	// Annotations - List of tags that can be used for describing the Dataset.
49358	Annotations *[]interface{} `json:"annotations,omitempty"`
49359	// 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'
49360	Type TypeBasicLinkedService `json:"type,omitempty"`
49361}
49362
49363// MarshalJSON is the custom marshaler for HubspotLinkedService.
49364func (hls HubspotLinkedService) MarshalJSON() ([]byte, error) {
49365	hls.Type = TypeHubspot
49366	objectMap := make(map[string]interface{})
49367	if hls.HubspotLinkedServiceTypeProperties != nil {
49368		objectMap["typeProperties"] = hls.HubspotLinkedServiceTypeProperties
49369	}
49370	if hls.ConnectVia != nil {
49371		objectMap["connectVia"] = hls.ConnectVia
49372	}
49373	if hls.Description != nil {
49374		objectMap["description"] = hls.Description
49375	}
49376	if hls.Parameters != nil {
49377		objectMap["parameters"] = hls.Parameters
49378	}
49379	if hls.Annotations != nil {
49380		objectMap["annotations"] = hls.Annotations
49381	}
49382	if hls.Type != "" {
49383		objectMap["type"] = hls.Type
49384	}
49385	for k, v := range hls.AdditionalProperties {
49386		objectMap[k] = v
49387	}
49388	return json.Marshal(objectMap)
49389}
49390
49391// AsResponsysLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49392func (hls HubspotLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
49393	return nil, false
49394}
49395
49396// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49397func (hls HubspotLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
49398	return nil, false
49399}
49400
49401// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49402func (hls HubspotLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
49403	return nil, false
49404}
49405
49406// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49407func (hls HubspotLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
49408	return nil, false
49409}
49410
49411// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49412func (hls HubspotLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
49413	return nil, false
49414}
49415
49416// AsNetezzaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49417func (hls HubspotLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
49418	return nil, false
49419}
49420
49421// AsVerticaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49422func (hls HubspotLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
49423	return nil, false
49424}
49425
49426// AsZohoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49427func (hls HubspotLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
49428	return nil, false
49429}
49430
49431// AsXeroLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49432func (hls HubspotLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
49433	return nil, false
49434}
49435
49436// AsSquareLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49437func (hls HubspotLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
49438	return nil, false
49439}
49440
49441// AsSparkLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49442func (hls HubspotLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
49443	return nil, false
49444}
49445
49446// AsShopifyLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49447func (hls HubspotLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
49448	return nil, false
49449}
49450
49451// AsServiceNowLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49452func (hls HubspotLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
49453	return nil, false
49454}
49455
49456// AsQuickBooksLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49457func (hls HubspotLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
49458	return nil, false
49459}
49460
49461// AsPrestoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49462func (hls HubspotLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
49463	return nil, false
49464}
49465
49466// AsPhoenixLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49467func (hls HubspotLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
49468	return nil, false
49469}
49470
49471// AsPaypalLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49472func (hls HubspotLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
49473	return nil, false
49474}
49475
49476// AsMarketoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49477func (hls HubspotLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
49478	return nil, false
49479}
49480
49481// AsMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49482func (hls HubspotLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
49483	return nil, false
49484}
49485
49486// AsMagentoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49487func (hls HubspotLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
49488	return nil, false
49489}
49490
49491// AsJiraLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49492func (hls HubspotLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
49493	return nil, false
49494}
49495
49496// AsImpalaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49497func (hls HubspotLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
49498	return nil, false
49499}
49500
49501// AsHubspotLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49502func (hls HubspotLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
49503	return &hls, true
49504}
49505
49506// AsHiveLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49507func (hls HubspotLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
49508	return nil, false
49509}
49510
49511// AsHBaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49512func (hls HubspotLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
49513	return nil, false
49514}
49515
49516// AsGreenplumLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49517func (hls HubspotLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
49518	return nil, false
49519}
49520
49521// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49522func (hls HubspotLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
49523	return nil, false
49524}
49525
49526// AsEloquaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49527func (hls HubspotLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
49528	return nil, false
49529}
49530
49531// AsDrillLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49532func (hls HubspotLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
49533	return nil, false
49534}
49535
49536// AsCouchbaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49537func (hls HubspotLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
49538	return nil, false
49539}
49540
49541// AsConcurLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49542func (hls HubspotLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
49543	return nil, false
49544}
49545
49546// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49547func (hls HubspotLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
49548	return nil, false
49549}
49550
49551// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49552func (hls HubspotLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
49553	return nil, false
49554}
49555
49556// AsSapHanaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49557func (hls HubspotLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
49558	return nil, false
49559}
49560
49561// AsSapBWLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49562func (hls HubspotLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
49563	return nil, false
49564}
49565
49566// AsSftpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49567func (hls HubspotLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
49568	return nil, false
49569}
49570
49571// AsFtpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49572func (hls HubspotLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
49573	return nil, false
49574}
49575
49576// AsHTTPLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49577func (hls HubspotLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
49578	return nil, false
49579}
49580
49581// AsAzureSearchLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49582func (hls HubspotLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
49583	return nil, false
49584}
49585
49586// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49587func (hls HubspotLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
49588	return nil, false
49589}
49590
49591// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49592func (hls HubspotLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
49593	return nil, false
49594}
49595
49596// AsAmazonS3LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49597func (hls HubspotLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
49598	return nil, false
49599}
49600
49601// AsSapEccLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49602func (hls HubspotLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
49603	return nil, false
49604}
49605
49606// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49607func (hls HubspotLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
49608	return nil, false
49609}
49610
49611// AsSalesforceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49612func (hls HubspotLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
49613	return nil, false
49614}
49615
49616// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49617func (hls HubspotLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
49618	return nil, false
49619}
49620
49621// AsMongoDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49622func (hls HubspotLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
49623	return nil, false
49624}
49625
49626// AsCassandraLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49627func (hls HubspotLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
49628	return nil, false
49629}
49630
49631// AsWebLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49632func (hls HubspotLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
49633	return nil, false
49634}
49635
49636// AsODataLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49637func (hls HubspotLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
49638	return nil, false
49639}
49640
49641// AsHdfsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49642func (hls HubspotLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
49643	return nil, false
49644}
49645
49646// AsOdbcLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49647func (hls HubspotLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
49648	return nil, false
49649}
49650
49651// AsAzureMLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49652func (hls HubspotLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
49653	return nil, false
49654}
49655
49656// AsTeradataLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49657func (hls HubspotLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
49658	return nil, false
49659}
49660
49661// AsDb2LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49662func (hls HubspotLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
49663	return nil, false
49664}
49665
49666// AsSybaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49667func (hls HubspotLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
49668	return nil, false
49669}
49670
49671// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49672func (hls HubspotLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
49673	return nil, false
49674}
49675
49676// AsMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49677func (hls HubspotLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
49678	return nil, false
49679}
49680
49681// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49682func (hls HubspotLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
49683	return nil, false
49684}
49685
49686// AsOracleLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49687func (hls HubspotLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
49688	return nil, false
49689}
49690
49691// AsFileServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49692func (hls HubspotLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
49693	return nil, false
49694}
49695
49696// AsHDInsightLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49697func (hls HubspotLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
49698	return nil, false
49699}
49700
49701// AsDynamicsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49702func (hls HubspotLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
49703	return nil, false
49704}
49705
49706// AsCosmosDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49707func (hls HubspotLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
49708	return nil, false
49709}
49710
49711// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49712func (hls HubspotLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
49713	return nil, false
49714}
49715
49716// AsAzureBatchLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49717func (hls HubspotLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
49718	return nil, false
49719}
49720
49721// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49722func (hls HubspotLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
49723	return nil, false
49724}
49725
49726// AsSQLServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49727func (hls HubspotLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
49728	return nil, false
49729}
49730
49731// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49732func (hls HubspotLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
49733	return nil, false
49734}
49735
49736// AsAzureStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49737func (hls HubspotLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
49738	return nil, false
49739}
49740
49741// AsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49742func (hls HubspotLinkedService) AsLinkedService() (*LinkedService, bool) {
49743	return nil, false
49744}
49745
49746// AsBasicLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
49747func (hls HubspotLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
49748	return &hls, true
49749}
49750
49751// UnmarshalJSON is the custom unmarshaler for HubspotLinkedService struct.
49752func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error {
49753	var m map[string]*json.RawMessage
49754	err := json.Unmarshal(body, &m)
49755	if err != nil {
49756		return err
49757	}
49758	for k, v := range m {
49759		switch k {
49760		case "typeProperties":
49761			if v != nil {
49762				var hubspotLinkedServiceTypeProperties HubspotLinkedServiceTypeProperties
49763				err = json.Unmarshal(*v, &hubspotLinkedServiceTypeProperties)
49764				if err != nil {
49765					return err
49766				}
49767				hls.HubspotLinkedServiceTypeProperties = &hubspotLinkedServiceTypeProperties
49768			}
49769		default:
49770			if v != nil {
49771				var additionalProperties interface{}
49772				err = json.Unmarshal(*v, &additionalProperties)
49773				if err != nil {
49774					return err
49775				}
49776				if hls.AdditionalProperties == nil {
49777					hls.AdditionalProperties = make(map[string]interface{})
49778				}
49779				hls.AdditionalProperties[k] = additionalProperties
49780			}
49781		case "connectVia":
49782			if v != nil {
49783				var connectVia IntegrationRuntimeReference
49784				err = json.Unmarshal(*v, &connectVia)
49785				if err != nil {
49786					return err
49787				}
49788				hls.ConnectVia = &connectVia
49789			}
49790		case "description":
49791			if v != nil {
49792				var description string
49793				err = json.Unmarshal(*v, &description)
49794				if err != nil {
49795					return err
49796				}
49797				hls.Description = &description
49798			}
49799		case "parameters":
49800			if v != nil {
49801				var parameters map[string]*ParameterSpecification
49802				err = json.Unmarshal(*v, &parameters)
49803				if err != nil {
49804					return err
49805				}
49806				hls.Parameters = parameters
49807			}
49808		case "annotations":
49809			if v != nil {
49810				var annotations []interface{}
49811				err = json.Unmarshal(*v, &annotations)
49812				if err != nil {
49813					return err
49814				}
49815				hls.Annotations = &annotations
49816			}
49817		case "type":
49818			if v != nil {
49819				var typeVar TypeBasicLinkedService
49820				err = json.Unmarshal(*v, &typeVar)
49821				if err != nil {
49822					return err
49823				}
49824				hls.Type = typeVar
49825			}
49826		}
49827	}
49828
49829	return nil
49830}
49831
49832// HubspotLinkedServiceTypeProperties hubspot Service linked service properties.
49833type HubspotLinkedServiceTypeProperties struct {
49834	// ClientID - The client ID associated with your Hubspot application.
49835	ClientID interface{} `json:"clientId,omitempty"`
49836	// ClientSecret - The client secret associated with your Hubspot application.
49837	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
49838	// AccessToken - The access token obtained when initially authenticating your OAuth integration.
49839	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
49840	// RefreshToken - The refresh token obtained when initially authenticating your OAuth integration.
49841	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
49842	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
49843	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
49844	// 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.
49845	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
49846	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
49847	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
49848	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
49849	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
49850}
49851
49852// UnmarshalJSON is the custom unmarshaler for HubspotLinkedServiceTypeProperties struct.
49853func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
49854	var m map[string]*json.RawMessage
49855	err := json.Unmarshal(body, &m)
49856	if err != nil {
49857		return err
49858	}
49859	for k, v := range m {
49860		switch k {
49861		case "clientId":
49862			if v != nil {
49863				var clientID interface{}
49864				err = json.Unmarshal(*v, &clientID)
49865				if err != nil {
49866					return err
49867				}
49868				hlstp.ClientID = clientID
49869			}
49870		case "clientSecret":
49871			if v != nil {
49872				clientSecret, err := unmarshalBasicSecretBase(*v)
49873				if err != nil {
49874					return err
49875				}
49876				hlstp.ClientSecret = clientSecret
49877			}
49878		case "accessToken":
49879			if v != nil {
49880				accessToken, err := unmarshalBasicSecretBase(*v)
49881				if err != nil {
49882					return err
49883				}
49884				hlstp.AccessToken = accessToken
49885			}
49886		case "refreshToken":
49887			if v != nil {
49888				refreshToken, err := unmarshalBasicSecretBase(*v)
49889				if err != nil {
49890					return err
49891				}
49892				hlstp.RefreshToken = refreshToken
49893			}
49894		case "useEncryptedEndpoints":
49895			if v != nil {
49896				var useEncryptedEndpoints interface{}
49897				err = json.Unmarshal(*v, &useEncryptedEndpoints)
49898				if err != nil {
49899					return err
49900				}
49901				hlstp.UseEncryptedEndpoints = useEncryptedEndpoints
49902			}
49903		case "useHostVerification":
49904			if v != nil {
49905				var useHostVerification interface{}
49906				err = json.Unmarshal(*v, &useHostVerification)
49907				if err != nil {
49908					return err
49909				}
49910				hlstp.UseHostVerification = useHostVerification
49911			}
49912		case "usePeerVerification":
49913			if v != nil {
49914				var usePeerVerification interface{}
49915				err = json.Unmarshal(*v, &usePeerVerification)
49916				if err != nil {
49917					return err
49918				}
49919				hlstp.UsePeerVerification = usePeerVerification
49920			}
49921		case "encryptedCredential":
49922			if v != nil {
49923				var encryptedCredential interface{}
49924				err = json.Unmarshal(*v, &encryptedCredential)
49925				if err != nil {
49926					return err
49927				}
49928				hlstp.EncryptedCredential = encryptedCredential
49929			}
49930		}
49931	}
49932
49933	return nil
49934}
49935
49936// HubspotObjectDataset hubspot Service dataset.
49937type HubspotObjectDataset struct {
49938	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
49939	AdditionalProperties map[string]interface{} `json:""`
49940	// Description - Dataset description.
49941	Description *string `json:"description,omitempty"`
49942	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
49943	Structure interface{} `json:"structure,omitempty"`
49944	// LinkedServiceName - Linked service reference.
49945	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
49946	// Parameters - Parameters for dataset.
49947	Parameters map[string]*ParameterSpecification `json:"parameters"`
49948	// Annotations - List of tags that can be used for describing the Dataset.
49949	Annotations *[]interface{} `json:"annotations,omitempty"`
49950	// 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'
49951	Type TypeBasicDataset `json:"type,omitempty"`
49952}
49953
49954// MarshalJSON is the custom marshaler for HubspotObjectDataset.
49955func (hod HubspotObjectDataset) MarshalJSON() ([]byte, error) {
49956	hod.Type = TypeHubspotObject
49957	objectMap := make(map[string]interface{})
49958	if hod.Description != nil {
49959		objectMap["description"] = hod.Description
49960	}
49961	if hod.Structure != nil {
49962		objectMap["structure"] = hod.Structure
49963	}
49964	if hod.LinkedServiceName != nil {
49965		objectMap["linkedServiceName"] = hod.LinkedServiceName
49966	}
49967	if hod.Parameters != nil {
49968		objectMap["parameters"] = hod.Parameters
49969	}
49970	if hod.Annotations != nil {
49971		objectMap["annotations"] = hod.Annotations
49972	}
49973	if hod.Type != "" {
49974		objectMap["type"] = hod.Type
49975	}
49976	for k, v := range hod.AdditionalProperties {
49977		objectMap[k] = v
49978	}
49979	return json.Marshal(objectMap)
49980}
49981
49982// AsResponsysObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
49983func (hod HubspotObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
49984	return nil, false
49985}
49986
49987// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
49988func (hod HubspotObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
49989	return nil, false
49990}
49991
49992// AsVerticaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
49993func (hod HubspotObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
49994	return nil, false
49995}
49996
49997// AsNetezzaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
49998func (hod HubspotObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
49999	return nil, false
50000}
50001
50002// AsZohoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50003func (hod HubspotObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
50004	return nil, false
50005}
50006
50007// AsXeroObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50008func (hod HubspotObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
50009	return nil, false
50010}
50011
50012// AsSquareObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50013func (hod HubspotObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
50014	return nil, false
50015}
50016
50017// AsSparkObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50018func (hod HubspotObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
50019	return nil, false
50020}
50021
50022// AsShopifyObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50023func (hod HubspotObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
50024	return nil, false
50025}
50026
50027// AsServiceNowObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50028func (hod HubspotObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
50029	return nil, false
50030}
50031
50032// AsQuickBooksObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50033func (hod HubspotObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
50034	return nil, false
50035}
50036
50037// AsPrestoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50038func (hod HubspotObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
50039	return nil, false
50040}
50041
50042// AsPhoenixObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50043func (hod HubspotObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
50044	return nil, false
50045}
50046
50047// AsPaypalObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50048func (hod HubspotObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
50049	return nil, false
50050}
50051
50052// AsMarketoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50053func (hod HubspotObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
50054	return nil, false
50055}
50056
50057// AsMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50058func (hod HubspotObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
50059	return nil, false
50060}
50061
50062// AsMagentoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50063func (hod HubspotObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
50064	return nil, false
50065}
50066
50067// AsJiraObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50068func (hod HubspotObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
50069	return nil, false
50070}
50071
50072// AsImpalaObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50073func (hod HubspotObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
50074	return nil, false
50075}
50076
50077// AsHubspotObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50078func (hod HubspotObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
50079	return &hod, true
50080}
50081
50082// AsHiveObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50083func (hod HubspotObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
50084	return nil, false
50085}
50086
50087// AsHBaseObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50088func (hod HubspotObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
50089	return nil, false
50090}
50091
50092// AsGreenplumTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50093func (hod HubspotObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
50094	return nil, false
50095}
50096
50097// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50098func (hod HubspotObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
50099	return nil, false
50100}
50101
50102// AsEloquaObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50103func (hod HubspotObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
50104	return nil, false
50105}
50106
50107// AsDrillTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50108func (hod HubspotObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
50109	return nil, false
50110}
50111
50112// AsCouchbaseTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50113func (hod HubspotObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
50114	return nil, false
50115}
50116
50117// AsConcurObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50118func (hod HubspotObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
50119	return nil, false
50120}
50121
50122// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50123func (hod HubspotObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
50124	return nil, false
50125}
50126
50127// AsAmazonMWSObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50128func (hod HubspotObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
50129	return nil, false
50130}
50131
50132// AsHTTPDataset is the BasicDataset implementation for HubspotObjectDataset.
50133func (hod HubspotObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
50134	return nil, false
50135}
50136
50137// AsAzureSearchIndexDataset is the BasicDataset implementation for HubspotObjectDataset.
50138func (hod HubspotObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
50139	return nil, false
50140}
50141
50142// AsWebTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50143func (hod HubspotObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
50144	return nil, false
50145}
50146
50147// AsSQLServerTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50148func (hod HubspotObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
50149	return nil, false
50150}
50151
50152// AsSapEccResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
50153func (hod HubspotObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
50154	return nil, false
50155}
50156
50157// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
50158func (hod HubspotObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
50159	return nil, false
50160}
50161
50162// AsSalesforceObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
50163func (hod HubspotObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
50164	return nil, false
50165}
50166
50167// AsRelationalTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50168func (hod HubspotObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
50169	return nil, false
50170}
50171
50172// AsAzureMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50173func (hod HubspotObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
50174	return nil, false
50175}
50176
50177// AsOracleTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50178func (hod HubspotObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
50179	return nil, false
50180}
50181
50182// AsODataResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
50183func (hod HubspotObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
50184	return nil, false
50185}
50186
50187// AsMongoDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
50188func (hod HubspotObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
50189	return nil, false
50190}
50191
50192// AsFileShareDataset is the BasicDataset implementation for HubspotObjectDataset.
50193func (hod HubspotObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
50194	return nil, false
50195}
50196
50197// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HubspotObjectDataset.
50198func (hod HubspotObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
50199	return nil, false
50200}
50201
50202// AsDynamicsEntityDataset is the BasicDataset implementation for HubspotObjectDataset.
50203func (hod HubspotObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
50204	return nil, false
50205}
50206
50207// AsDocumentDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
50208func (hod HubspotObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
50209	return nil, false
50210}
50211
50212// AsCustomDataset is the BasicDataset implementation for HubspotObjectDataset.
50213func (hod HubspotObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
50214	return nil, false
50215}
50216
50217// AsCassandraTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50218func (hod HubspotObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
50219	return nil, false
50220}
50221
50222// AsAzureSQLDWTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50223func (hod HubspotObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
50224	return nil, false
50225}
50226
50227// AsAzureSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50228func (hod HubspotObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
50229	return nil, false
50230}
50231
50232// AsAzureTableDataset is the BasicDataset implementation for HubspotObjectDataset.
50233func (hod HubspotObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
50234	return nil, false
50235}
50236
50237// AsAzureBlobDataset is the BasicDataset implementation for HubspotObjectDataset.
50238func (hod HubspotObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
50239	return nil, false
50240}
50241
50242// AsAmazonS3Dataset is the BasicDataset implementation for HubspotObjectDataset.
50243func (hod HubspotObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
50244	return nil, false
50245}
50246
50247// AsDataset is the BasicDataset implementation for HubspotObjectDataset.
50248func (hod HubspotObjectDataset) AsDataset() (*Dataset, bool) {
50249	return nil, false
50250}
50251
50252// AsBasicDataset is the BasicDataset implementation for HubspotObjectDataset.
50253func (hod HubspotObjectDataset) AsBasicDataset() (BasicDataset, bool) {
50254	return &hod, true
50255}
50256
50257// UnmarshalJSON is the custom unmarshaler for HubspotObjectDataset struct.
50258func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error {
50259	var m map[string]*json.RawMessage
50260	err := json.Unmarshal(body, &m)
50261	if err != nil {
50262		return err
50263	}
50264	for k, v := range m {
50265		switch k {
50266		default:
50267			if v != nil {
50268				var additionalProperties interface{}
50269				err = json.Unmarshal(*v, &additionalProperties)
50270				if err != nil {
50271					return err
50272				}
50273				if hod.AdditionalProperties == nil {
50274					hod.AdditionalProperties = make(map[string]interface{})
50275				}
50276				hod.AdditionalProperties[k] = additionalProperties
50277			}
50278		case "description":
50279			if v != nil {
50280				var description string
50281				err = json.Unmarshal(*v, &description)
50282				if err != nil {
50283					return err
50284				}
50285				hod.Description = &description
50286			}
50287		case "structure":
50288			if v != nil {
50289				var structure interface{}
50290				err = json.Unmarshal(*v, &structure)
50291				if err != nil {
50292					return err
50293				}
50294				hod.Structure = structure
50295			}
50296		case "linkedServiceName":
50297			if v != nil {
50298				var linkedServiceName LinkedServiceReference
50299				err = json.Unmarshal(*v, &linkedServiceName)
50300				if err != nil {
50301					return err
50302				}
50303				hod.LinkedServiceName = &linkedServiceName
50304			}
50305		case "parameters":
50306			if v != nil {
50307				var parameters map[string]*ParameterSpecification
50308				err = json.Unmarshal(*v, &parameters)
50309				if err != nil {
50310					return err
50311				}
50312				hod.Parameters = parameters
50313			}
50314		case "annotations":
50315			if v != nil {
50316				var annotations []interface{}
50317				err = json.Unmarshal(*v, &annotations)
50318				if err != nil {
50319					return err
50320				}
50321				hod.Annotations = &annotations
50322			}
50323		case "type":
50324			if v != nil {
50325				var typeVar TypeBasicDataset
50326				err = json.Unmarshal(*v, &typeVar)
50327				if err != nil {
50328					return err
50329				}
50330				hod.Type = typeVar
50331			}
50332		}
50333	}
50334
50335	return nil
50336}
50337
50338// HubspotSource a copy activity Hubspot Service source.
50339type HubspotSource struct {
50340	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
50341	Query interface{} `json:"query,omitempty"`
50342	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
50343	AdditionalProperties map[string]interface{} `json:""`
50344	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
50345	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
50346	// 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])).
50347	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
50348	// 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'
50349	Type TypeBasicCopySource `json:"type,omitempty"`
50350}
50351
50352// MarshalJSON is the custom marshaler for HubspotSource.
50353func (hs HubspotSource) MarshalJSON() ([]byte, error) {
50354	hs.Type = TypeHubspotSource
50355	objectMap := make(map[string]interface{})
50356	if hs.Query != nil {
50357		objectMap["query"] = hs.Query
50358	}
50359	if hs.SourceRetryCount != nil {
50360		objectMap["sourceRetryCount"] = hs.SourceRetryCount
50361	}
50362	if hs.SourceRetryWait != nil {
50363		objectMap["sourceRetryWait"] = hs.SourceRetryWait
50364	}
50365	if hs.Type != "" {
50366		objectMap["type"] = hs.Type
50367	}
50368	for k, v := range hs.AdditionalProperties {
50369		objectMap[k] = v
50370	}
50371	return json.Marshal(objectMap)
50372}
50373
50374// AsAmazonRedshiftSource is the BasicCopySource implementation for HubspotSource.
50375func (hs HubspotSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
50376	return nil, false
50377}
50378
50379// AsResponsysSource is the BasicCopySource implementation for HubspotSource.
50380func (hs HubspotSource) AsResponsysSource() (*ResponsysSource, bool) {
50381	return nil, false
50382}
50383
50384// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HubspotSource.
50385func (hs HubspotSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
50386	return nil, false
50387}
50388
50389// AsVerticaSource is the BasicCopySource implementation for HubspotSource.
50390func (hs HubspotSource) AsVerticaSource() (*VerticaSource, bool) {
50391	return nil, false
50392}
50393
50394// AsNetezzaSource is the BasicCopySource implementation for HubspotSource.
50395func (hs HubspotSource) AsNetezzaSource() (*NetezzaSource, bool) {
50396	return nil, false
50397}
50398
50399// AsZohoSource is the BasicCopySource implementation for HubspotSource.
50400func (hs HubspotSource) AsZohoSource() (*ZohoSource, bool) {
50401	return nil, false
50402}
50403
50404// AsXeroSource is the BasicCopySource implementation for HubspotSource.
50405func (hs HubspotSource) AsXeroSource() (*XeroSource, bool) {
50406	return nil, false
50407}
50408
50409// AsSquareSource is the BasicCopySource implementation for HubspotSource.
50410func (hs HubspotSource) AsSquareSource() (*SquareSource, bool) {
50411	return nil, false
50412}
50413
50414// AsSparkSource is the BasicCopySource implementation for HubspotSource.
50415func (hs HubspotSource) AsSparkSource() (*SparkSource, bool) {
50416	return nil, false
50417}
50418
50419// AsShopifySource is the BasicCopySource implementation for HubspotSource.
50420func (hs HubspotSource) AsShopifySource() (*ShopifySource, bool) {
50421	return nil, false
50422}
50423
50424// AsServiceNowSource is the BasicCopySource implementation for HubspotSource.
50425func (hs HubspotSource) AsServiceNowSource() (*ServiceNowSource, bool) {
50426	return nil, false
50427}
50428
50429// AsQuickBooksSource is the BasicCopySource implementation for HubspotSource.
50430func (hs HubspotSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
50431	return nil, false
50432}
50433
50434// AsPrestoSource is the BasicCopySource implementation for HubspotSource.
50435func (hs HubspotSource) AsPrestoSource() (*PrestoSource, bool) {
50436	return nil, false
50437}
50438
50439// AsPhoenixSource is the BasicCopySource implementation for HubspotSource.
50440func (hs HubspotSource) AsPhoenixSource() (*PhoenixSource, bool) {
50441	return nil, false
50442}
50443
50444// AsPaypalSource is the BasicCopySource implementation for HubspotSource.
50445func (hs HubspotSource) AsPaypalSource() (*PaypalSource, bool) {
50446	return nil, false
50447}
50448
50449// AsMarketoSource is the BasicCopySource implementation for HubspotSource.
50450func (hs HubspotSource) AsMarketoSource() (*MarketoSource, bool) {
50451	return nil, false
50452}
50453
50454// AsMariaDBSource is the BasicCopySource implementation for HubspotSource.
50455func (hs HubspotSource) AsMariaDBSource() (*MariaDBSource, bool) {
50456	return nil, false
50457}
50458
50459// AsMagentoSource is the BasicCopySource implementation for HubspotSource.
50460func (hs HubspotSource) AsMagentoSource() (*MagentoSource, bool) {
50461	return nil, false
50462}
50463
50464// AsJiraSource is the BasicCopySource implementation for HubspotSource.
50465func (hs HubspotSource) AsJiraSource() (*JiraSource, bool) {
50466	return nil, false
50467}
50468
50469// AsImpalaSource is the BasicCopySource implementation for HubspotSource.
50470func (hs HubspotSource) AsImpalaSource() (*ImpalaSource, bool) {
50471	return nil, false
50472}
50473
50474// AsHubspotSource is the BasicCopySource implementation for HubspotSource.
50475func (hs HubspotSource) AsHubspotSource() (*HubspotSource, bool) {
50476	return &hs, true
50477}
50478
50479// AsHiveSource is the BasicCopySource implementation for HubspotSource.
50480func (hs HubspotSource) AsHiveSource() (*HiveSource, bool) {
50481	return nil, false
50482}
50483
50484// AsHBaseSource is the BasicCopySource implementation for HubspotSource.
50485func (hs HubspotSource) AsHBaseSource() (*HBaseSource, bool) {
50486	return nil, false
50487}
50488
50489// AsGreenplumSource is the BasicCopySource implementation for HubspotSource.
50490func (hs HubspotSource) AsGreenplumSource() (*GreenplumSource, bool) {
50491	return nil, false
50492}
50493
50494// AsGoogleBigQuerySource is the BasicCopySource implementation for HubspotSource.
50495func (hs HubspotSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
50496	return nil, false
50497}
50498
50499// AsEloquaSource is the BasicCopySource implementation for HubspotSource.
50500func (hs HubspotSource) AsEloquaSource() (*EloquaSource, bool) {
50501	return nil, false
50502}
50503
50504// AsDrillSource is the BasicCopySource implementation for HubspotSource.
50505func (hs HubspotSource) AsDrillSource() (*DrillSource, bool) {
50506	return nil, false
50507}
50508
50509// AsCouchbaseSource is the BasicCopySource implementation for HubspotSource.
50510func (hs HubspotSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
50511	return nil, false
50512}
50513
50514// AsConcurSource is the BasicCopySource implementation for HubspotSource.
50515func (hs HubspotSource) AsConcurSource() (*ConcurSource, bool) {
50516	return nil, false
50517}
50518
50519// AsAzurePostgreSQLSource is the BasicCopySource implementation for HubspotSource.
50520func (hs HubspotSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
50521	return nil, false
50522}
50523
50524// AsAmazonMWSSource is the BasicCopySource implementation for HubspotSource.
50525func (hs HubspotSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
50526	return nil, false
50527}
50528
50529// AsHTTPSource is the BasicCopySource implementation for HubspotSource.
50530func (hs HubspotSource) AsHTTPSource() (*HTTPSource, bool) {
50531	return nil, false
50532}
50533
50534// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HubspotSource.
50535func (hs HubspotSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
50536	return nil, false
50537}
50538
50539// AsMongoDbSource is the BasicCopySource implementation for HubspotSource.
50540func (hs HubspotSource) AsMongoDbSource() (*MongoDbSource, bool) {
50541	return nil, false
50542}
50543
50544// AsCassandraSource is the BasicCopySource implementation for HubspotSource.
50545func (hs HubspotSource) AsCassandraSource() (*CassandraSource, bool) {
50546	return nil, false
50547}
50548
50549// AsWebSource is the BasicCopySource implementation for HubspotSource.
50550func (hs HubspotSource) AsWebSource() (*WebSource, bool) {
50551	return nil, false
50552}
50553
50554// AsOracleSource is the BasicCopySource implementation for HubspotSource.
50555func (hs HubspotSource) AsOracleSource() (*OracleSource, bool) {
50556	return nil, false
50557}
50558
50559// AsAzureMySQLSource is the BasicCopySource implementation for HubspotSource.
50560func (hs HubspotSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
50561	return nil, false
50562}
50563
50564// AsHdfsSource is the BasicCopySource implementation for HubspotSource.
50565func (hs HubspotSource) AsHdfsSource() (*HdfsSource, bool) {
50566	return nil, false
50567}
50568
50569// AsFileSystemSource is the BasicCopySource implementation for HubspotSource.
50570func (hs HubspotSource) AsFileSystemSource() (*FileSystemSource, bool) {
50571	return nil, false
50572}
50573
50574// AsSQLDWSource is the BasicCopySource implementation for HubspotSource.
50575func (hs HubspotSource) AsSQLDWSource() (*SQLDWSource, bool) {
50576	return nil, false
50577}
50578
50579// AsSQLSource is the BasicCopySource implementation for HubspotSource.
50580func (hs HubspotSource) AsSQLSource() (*SQLSource, bool) {
50581	return nil, false
50582}
50583
50584// AsSapEccSource is the BasicCopySource implementation for HubspotSource.
50585func (hs HubspotSource) AsSapEccSource() (*SapEccSource, bool) {
50586	return nil, false
50587}
50588
50589// AsSapCloudForCustomerSource is the BasicCopySource implementation for HubspotSource.
50590func (hs HubspotSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
50591	return nil, false
50592}
50593
50594// AsSalesforceSource is the BasicCopySource implementation for HubspotSource.
50595func (hs HubspotSource) AsSalesforceSource() (*SalesforceSource, bool) {
50596	return nil, false
50597}
50598
50599// AsRelationalSource is the BasicCopySource implementation for HubspotSource.
50600func (hs HubspotSource) AsRelationalSource() (*RelationalSource, bool) {
50601	return nil, false
50602}
50603
50604// AsDynamicsSource is the BasicCopySource implementation for HubspotSource.
50605func (hs HubspotSource) AsDynamicsSource() (*DynamicsSource, bool) {
50606	return nil, false
50607}
50608
50609// AsDocumentDbCollectionSource is the BasicCopySource implementation for HubspotSource.
50610func (hs HubspotSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
50611	return nil, false
50612}
50613
50614// AsBlobSource is the BasicCopySource implementation for HubspotSource.
50615func (hs HubspotSource) AsBlobSource() (*BlobSource, bool) {
50616	return nil, false
50617}
50618
50619// AsAzureTableSource is the BasicCopySource implementation for HubspotSource.
50620func (hs HubspotSource) AsAzureTableSource() (*AzureTableSource, bool) {
50621	return nil, false
50622}
50623
50624// AsCopySource is the BasicCopySource implementation for HubspotSource.
50625func (hs HubspotSource) AsCopySource() (*CopySource, bool) {
50626	return nil, false
50627}
50628
50629// AsBasicCopySource is the BasicCopySource implementation for HubspotSource.
50630func (hs HubspotSource) AsBasicCopySource() (BasicCopySource, bool) {
50631	return &hs, true
50632}
50633
50634// UnmarshalJSON is the custom unmarshaler for HubspotSource struct.
50635func (hs *HubspotSource) UnmarshalJSON(body []byte) error {
50636	var m map[string]*json.RawMessage
50637	err := json.Unmarshal(body, &m)
50638	if err != nil {
50639		return err
50640	}
50641	for k, v := range m {
50642		switch k {
50643		case "query":
50644			if v != nil {
50645				var query interface{}
50646				err = json.Unmarshal(*v, &query)
50647				if err != nil {
50648					return err
50649				}
50650				hs.Query = query
50651			}
50652		default:
50653			if v != nil {
50654				var additionalProperties interface{}
50655				err = json.Unmarshal(*v, &additionalProperties)
50656				if err != nil {
50657					return err
50658				}
50659				if hs.AdditionalProperties == nil {
50660					hs.AdditionalProperties = make(map[string]interface{})
50661				}
50662				hs.AdditionalProperties[k] = additionalProperties
50663			}
50664		case "sourceRetryCount":
50665			if v != nil {
50666				var sourceRetryCount interface{}
50667				err = json.Unmarshal(*v, &sourceRetryCount)
50668				if err != nil {
50669					return err
50670				}
50671				hs.SourceRetryCount = sourceRetryCount
50672			}
50673		case "sourceRetryWait":
50674			if v != nil {
50675				var sourceRetryWait interface{}
50676				err = json.Unmarshal(*v, &sourceRetryWait)
50677				if err != nil {
50678					return err
50679				}
50680				hs.SourceRetryWait = sourceRetryWait
50681			}
50682		case "type":
50683			if v != nil {
50684				var typeVar TypeBasicCopySource
50685				err = json.Unmarshal(*v, &typeVar)
50686				if err != nil {
50687					return err
50688				}
50689				hs.Type = typeVar
50690			}
50691		}
50692	}
50693
50694	return nil
50695}
50696
50697// IfConditionActivity this activity evaluates a boolean expression and executes either the activities
50698// under the ifTrueActivities property or the ifFalseActivities property depending on the result of the
50699// expression.
50700type IfConditionActivity struct {
50701	// IfConditionActivityTypeProperties - IfCondition activity properties.
50702	*IfConditionActivityTypeProperties `json:"typeProperties,omitempty"`
50703	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
50704	AdditionalProperties map[string]interface{} `json:""`
50705	// Name - Activity name.
50706	Name *string `json:"name,omitempty"`
50707	// Description - Activity description.
50708	Description *string `json:"description,omitempty"`
50709	// DependsOn - Activity depends on condition.
50710	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
50711	// 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'
50712	Type TypeBasicActivity `json:"type,omitempty"`
50713}
50714
50715// MarshalJSON is the custom marshaler for IfConditionActivity.
50716func (ica IfConditionActivity) MarshalJSON() ([]byte, error) {
50717	ica.Type = TypeIfCondition
50718	objectMap := make(map[string]interface{})
50719	if ica.IfConditionActivityTypeProperties != nil {
50720		objectMap["typeProperties"] = ica.IfConditionActivityTypeProperties
50721	}
50722	if ica.Name != nil {
50723		objectMap["name"] = ica.Name
50724	}
50725	if ica.Description != nil {
50726		objectMap["description"] = ica.Description
50727	}
50728	if ica.DependsOn != nil {
50729		objectMap["dependsOn"] = ica.DependsOn
50730	}
50731	if ica.Type != "" {
50732		objectMap["type"] = ica.Type
50733	}
50734	for k, v := range ica.AdditionalProperties {
50735		objectMap[k] = v
50736	}
50737	return json.Marshal(objectMap)
50738}
50739
50740// AsDatabricksNotebookActivity is the BasicActivity implementation for IfConditionActivity.
50741func (ica IfConditionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
50742	return nil, false
50743}
50744
50745// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for IfConditionActivity.
50746func (ica IfConditionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
50747	return nil, false
50748}
50749
50750// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for IfConditionActivity.
50751func (ica IfConditionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
50752	return nil, false
50753}
50754
50755// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for IfConditionActivity.
50756func (ica IfConditionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
50757	return nil, false
50758}
50759
50760// AsGetMetadataActivity is the BasicActivity implementation for IfConditionActivity.
50761func (ica IfConditionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
50762	return nil, false
50763}
50764
50765// AsWebActivity is the BasicActivity implementation for IfConditionActivity.
50766func (ica IfConditionActivity) AsWebActivity() (*WebActivity, bool) {
50767	return nil, false
50768}
50769
50770// AsLookupActivity is the BasicActivity implementation for IfConditionActivity.
50771func (ica IfConditionActivity) AsLookupActivity() (*LookupActivity, bool) {
50772	return nil, false
50773}
50774
50775// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for IfConditionActivity.
50776func (ica IfConditionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
50777	return nil, false
50778}
50779
50780// AsCustomActivity is the BasicActivity implementation for IfConditionActivity.
50781func (ica IfConditionActivity) AsCustomActivity() (*CustomActivity, bool) {
50782	return nil, false
50783}
50784
50785// AsExecuteSSISPackageActivity is the BasicActivity implementation for IfConditionActivity.
50786func (ica IfConditionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
50787	return nil, false
50788}
50789
50790// AsHDInsightSparkActivity is the BasicActivity implementation for IfConditionActivity.
50791func (ica IfConditionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
50792	return nil, false
50793}
50794
50795// AsHDInsightStreamingActivity is the BasicActivity implementation for IfConditionActivity.
50796func (ica IfConditionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
50797	return nil, false
50798}
50799
50800// AsHDInsightMapReduceActivity is the BasicActivity implementation for IfConditionActivity.
50801func (ica IfConditionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
50802	return nil, false
50803}
50804
50805// AsHDInsightPigActivity is the BasicActivity implementation for IfConditionActivity.
50806func (ica IfConditionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
50807	return nil, false
50808}
50809
50810// AsHDInsightHiveActivity is the BasicActivity implementation for IfConditionActivity.
50811func (ica IfConditionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
50812	return nil, false
50813}
50814
50815// AsCopyActivity is the BasicActivity implementation for IfConditionActivity.
50816func (ica IfConditionActivity) AsCopyActivity() (*CopyActivity, bool) {
50817	return nil, false
50818}
50819
50820// AsExecutionActivity is the BasicActivity implementation for IfConditionActivity.
50821func (ica IfConditionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
50822	return nil, false
50823}
50824
50825// AsBasicExecutionActivity is the BasicActivity implementation for IfConditionActivity.
50826func (ica IfConditionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
50827	return nil, false
50828}
50829
50830// AsFilterActivity is the BasicActivity implementation for IfConditionActivity.
50831func (ica IfConditionActivity) AsFilterActivity() (*FilterActivity, bool) {
50832	return nil, false
50833}
50834
50835// AsUntilActivity is the BasicActivity implementation for IfConditionActivity.
50836func (ica IfConditionActivity) AsUntilActivity() (*UntilActivity, bool) {
50837	return nil, false
50838}
50839
50840// AsWaitActivity is the BasicActivity implementation for IfConditionActivity.
50841func (ica IfConditionActivity) AsWaitActivity() (*WaitActivity, bool) {
50842	return nil, false
50843}
50844
50845// AsForEachActivity is the BasicActivity implementation for IfConditionActivity.
50846func (ica IfConditionActivity) AsForEachActivity() (*ForEachActivity, bool) {
50847	return nil, false
50848}
50849
50850// AsIfConditionActivity is the BasicActivity implementation for IfConditionActivity.
50851func (ica IfConditionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
50852	return &ica, true
50853}
50854
50855// AsExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity.
50856func (ica IfConditionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
50857	return nil, false
50858}
50859
50860// AsControlActivity is the BasicActivity implementation for IfConditionActivity.
50861func (ica IfConditionActivity) AsControlActivity() (*ControlActivity, bool) {
50862	return nil, false
50863}
50864
50865// AsBasicControlActivity is the BasicActivity implementation for IfConditionActivity.
50866func (ica IfConditionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
50867	return &ica, true
50868}
50869
50870// AsActivity is the BasicActivity implementation for IfConditionActivity.
50871func (ica IfConditionActivity) AsActivity() (*Activity, bool) {
50872	return nil, false
50873}
50874
50875// AsBasicActivity is the BasicActivity implementation for IfConditionActivity.
50876func (ica IfConditionActivity) AsBasicActivity() (BasicActivity, bool) {
50877	return &ica, true
50878}
50879
50880// UnmarshalJSON is the custom unmarshaler for IfConditionActivity struct.
50881func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error {
50882	var m map[string]*json.RawMessage
50883	err := json.Unmarshal(body, &m)
50884	if err != nil {
50885		return err
50886	}
50887	for k, v := range m {
50888		switch k {
50889		case "typeProperties":
50890			if v != nil {
50891				var ifConditionActivityTypeProperties IfConditionActivityTypeProperties
50892				err = json.Unmarshal(*v, &ifConditionActivityTypeProperties)
50893				if err != nil {
50894					return err
50895				}
50896				ica.IfConditionActivityTypeProperties = &ifConditionActivityTypeProperties
50897			}
50898		default:
50899			if v != nil {
50900				var additionalProperties interface{}
50901				err = json.Unmarshal(*v, &additionalProperties)
50902				if err != nil {
50903					return err
50904				}
50905				if ica.AdditionalProperties == nil {
50906					ica.AdditionalProperties = make(map[string]interface{})
50907				}
50908				ica.AdditionalProperties[k] = additionalProperties
50909			}
50910		case "name":
50911			if v != nil {
50912				var name string
50913				err = json.Unmarshal(*v, &name)
50914				if err != nil {
50915					return err
50916				}
50917				ica.Name = &name
50918			}
50919		case "description":
50920			if v != nil {
50921				var description string
50922				err = json.Unmarshal(*v, &description)
50923				if err != nil {
50924					return err
50925				}
50926				ica.Description = &description
50927			}
50928		case "dependsOn":
50929			if v != nil {
50930				var dependsOn []ActivityDependency
50931				err = json.Unmarshal(*v, &dependsOn)
50932				if err != nil {
50933					return err
50934				}
50935				ica.DependsOn = &dependsOn
50936			}
50937		case "type":
50938			if v != nil {
50939				var typeVar TypeBasicActivity
50940				err = json.Unmarshal(*v, &typeVar)
50941				if err != nil {
50942					return err
50943				}
50944				ica.Type = typeVar
50945			}
50946		}
50947	}
50948
50949	return nil
50950}
50951
50952// IfConditionActivityTypeProperties ifCondition activity properties.
50953type IfConditionActivityTypeProperties struct {
50954	// Expression - An expression that would evaluate to Boolean. This is used to determine the block of activities (ifTrueActivities or ifFalseActivities) that will be executed.
50955	Expression *Expression `json:"expression,omitempty"`
50956	// 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.
50957	IfTrueActivities *[]BasicActivity `json:"ifTrueActivities,omitempty"`
50958	// 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.
50959	IfFalseActivities *[]BasicActivity `json:"ifFalseActivities,omitempty"`
50960}
50961
50962// UnmarshalJSON is the custom unmarshaler for IfConditionActivityTypeProperties struct.
50963func (icatp *IfConditionActivityTypeProperties) UnmarshalJSON(body []byte) error {
50964	var m map[string]*json.RawMessage
50965	err := json.Unmarshal(body, &m)
50966	if err != nil {
50967		return err
50968	}
50969	for k, v := range m {
50970		switch k {
50971		case "expression":
50972			if v != nil {
50973				var expression Expression
50974				err = json.Unmarshal(*v, &expression)
50975				if err != nil {
50976					return err
50977				}
50978				icatp.Expression = &expression
50979			}
50980		case "ifTrueActivities":
50981			if v != nil {
50982				ifTrueActivities, err := unmarshalBasicActivityArray(*v)
50983				if err != nil {
50984					return err
50985				}
50986				icatp.IfTrueActivities = &ifTrueActivities
50987			}
50988		case "ifFalseActivities":
50989			if v != nil {
50990				ifFalseActivities, err := unmarshalBasicActivityArray(*v)
50991				if err != nil {
50992					return err
50993				}
50994				icatp.IfFalseActivities = &ifFalseActivities
50995			}
50996		}
50997	}
50998
50999	return nil
51000}
51001
51002// ImpalaLinkedService impala server linked service.
51003type ImpalaLinkedService struct {
51004	// ImpalaLinkedServiceTypeProperties - Impala server linked service properties.
51005	*ImpalaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
51006	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
51007	AdditionalProperties map[string]interface{} `json:""`
51008	// ConnectVia - The integration runtime reference.
51009	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
51010	// Description - Linked service description.
51011	Description *string `json:"description,omitempty"`
51012	// Parameters - Parameters for linked service.
51013	Parameters map[string]*ParameterSpecification `json:"parameters"`
51014	// Annotations - List of tags that can be used for describing the Dataset.
51015	Annotations *[]interface{} `json:"annotations,omitempty"`
51016	// 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'
51017	Type TypeBasicLinkedService `json:"type,omitempty"`
51018}
51019
51020// MarshalJSON is the custom marshaler for ImpalaLinkedService.
51021func (ils ImpalaLinkedService) MarshalJSON() ([]byte, error) {
51022	ils.Type = TypeImpala
51023	objectMap := make(map[string]interface{})
51024	if ils.ImpalaLinkedServiceTypeProperties != nil {
51025		objectMap["typeProperties"] = ils.ImpalaLinkedServiceTypeProperties
51026	}
51027	if ils.ConnectVia != nil {
51028		objectMap["connectVia"] = ils.ConnectVia
51029	}
51030	if ils.Description != nil {
51031		objectMap["description"] = ils.Description
51032	}
51033	if ils.Parameters != nil {
51034		objectMap["parameters"] = ils.Parameters
51035	}
51036	if ils.Annotations != nil {
51037		objectMap["annotations"] = ils.Annotations
51038	}
51039	if ils.Type != "" {
51040		objectMap["type"] = ils.Type
51041	}
51042	for k, v := range ils.AdditionalProperties {
51043		objectMap[k] = v
51044	}
51045	return json.Marshal(objectMap)
51046}
51047
51048// AsResponsysLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51049func (ils ImpalaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
51050	return nil, false
51051}
51052
51053// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51054func (ils ImpalaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
51055	return nil, false
51056}
51057
51058// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51059func (ils ImpalaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
51060	return nil, false
51061}
51062
51063// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51064func (ils ImpalaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
51065	return nil, false
51066}
51067
51068// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51069func (ils ImpalaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
51070	return nil, false
51071}
51072
51073// AsNetezzaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51074func (ils ImpalaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
51075	return nil, false
51076}
51077
51078// AsVerticaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51079func (ils ImpalaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
51080	return nil, false
51081}
51082
51083// AsZohoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51084func (ils ImpalaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
51085	return nil, false
51086}
51087
51088// AsXeroLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51089func (ils ImpalaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
51090	return nil, false
51091}
51092
51093// AsSquareLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51094func (ils ImpalaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
51095	return nil, false
51096}
51097
51098// AsSparkLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51099func (ils ImpalaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
51100	return nil, false
51101}
51102
51103// AsShopifyLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51104func (ils ImpalaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
51105	return nil, false
51106}
51107
51108// AsServiceNowLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51109func (ils ImpalaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
51110	return nil, false
51111}
51112
51113// AsQuickBooksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51114func (ils ImpalaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
51115	return nil, false
51116}
51117
51118// AsPrestoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51119func (ils ImpalaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
51120	return nil, false
51121}
51122
51123// AsPhoenixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51124func (ils ImpalaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
51125	return nil, false
51126}
51127
51128// AsPaypalLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51129func (ils ImpalaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
51130	return nil, false
51131}
51132
51133// AsMarketoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51134func (ils ImpalaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
51135	return nil, false
51136}
51137
51138// AsMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51139func (ils ImpalaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
51140	return nil, false
51141}
51142
51143// AsMagentoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51144func (ils ImpalaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
51145	return nil, false
51146}
51147
51148// AsJiraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51149func (ils ImpalaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
51150	return nil, false
51151}
51152
51153// AsImpalaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51154func (ils ImpalaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
51155	return &ils, true
51156}
51157
51158// AsHubspotLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51159func (ils ImpalaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
51160	return nil, false
51161}
51162
51163// AsHiveLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51164func (ils ImpalaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
51165	return nil, false
51166}
51167
51168// AsHBaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51169func (ils ImpalaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
51170	return nil, false
51171}
51172
51173// AsGreenplumLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51174func (ils ImpalaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
51175	return nil, false
51176}
51177
51178// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51179func (ils ImpalaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
51180	return nil, false
51181}
51182
51183// AsEloquaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51184func (ils ImpalaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
51185	return nil, false
51186}
51187
51188// AsDrillLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51189func (ils ImpalaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
51190	return nil, false
51191}
51192
51193// AsCouchbaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51194func (ils ImpalaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
51195	return nil, false
51196}
51197
51198// AsConcurLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51199func (ils ImpalaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
51200	return nil, false
51201}
51202
51203// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51204func (ils ImpalaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
51205	return nil, false
51206}
51207
51208// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51209func (ils ImpalaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
51210	return nil, false
51211}
51212
51213// AsSapHanaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51214func (ils ImpalaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
51215	return nil, false
51216}
51217
51218// AsSapBWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51219func (ils ImpalaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
51220	return nil, false
51221}
51222
51223// AsSftpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51224func (ils ImpalaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
51225	return nil, false
51226}
51227
51228// AsFtpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51229func (ils ImpalaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
51230	return nil, false
51231}
51232
51233// AsHTTPLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51234func (ils ImpalaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
51235	return nil, false
51236}
51237
51238// AsAzureSearchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51239func (ils ImpalaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
51240	return nil, false
51241}
51242
51243// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51244func (ils ImpalaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
51245	return nil, false
51246}
51247
51248// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51249func (ils ImpalaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
51250	return nil, false
51251}
51252
51253// AsAmazonS3LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51254func (ils ImpalaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
51255	return nil, false
51256}
51257
51258// AsSapEccLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51259func (ils ImpalaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
51260	return nil, false
51261}
51262
51263// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51264func (ils ImpalaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
51265	return nil, false
51266}
51267
51268// AsSalesforceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51269func (ils ImpalaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
51270	return nil, false
51271}
51272
51273// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51274func (ils ImpalaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
51275	return nil, false
51276}
51277
51278// AsMongoDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51279func (ils ImpalaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
51280	return nil, false
51281}
51282
51283// AsCassandraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51284func (ils ImpalaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
51285	return nil, false
51286}
51287
51288// AsWebLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51289func (ils ImpalaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
51290	return nil, false
51291}
51292
51293// AsODataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51294func (ils ImpalaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
51295	return nil, false
51296}
51297
51298// AsHdfsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51299func (ils ImpalaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
51300	return nil, false
51301}
51302
51303// AsOdbcLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51304func (ils ImpalaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
51305	return nil, false
51306}
51307
51308// AsAzureMLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51309func (ils ImpalaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
51310	return nil, false
51311}
51312
51313// AsTeradataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51314func (ils ImpalaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
51315	return nil, false
51316}
51317
51318// AsDb2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51319func (ils ImpalaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
51320	return nil, false
51321}
51322
51323// AsSybaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51324func (ils ImpalaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
51325	return nil, false
51326}
51327
51328// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51329func (ils ImpalaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
51330	return nil, false
51331}
51332
51333// AsMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51334func (ils ImpalaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
51335	return nil, false
51336}
51337
51338// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51339func (ils ImpalaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
51340	return nil, false
51341}
51342
51343// AsOracleLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51344func (ils ImpalaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
51345	return nil, false
51346}
51347
51348// AsFileServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51349func (ils ImpalaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
51350	return nil, false
51351}
51352
51353// AsHDInsightLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51354func (ils ImpalaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
51355	return nil, false
51356}
51357
51358// AsDynamicsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51359func (ils ImpalaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
51360	return nil, false
51361}
51362
51363// AsCosmosDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51364func (ils ImpalaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
51365	return nil, false
51366}
51367
51368// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51369func (ils ImpalaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
51370	return nil, false
51371}
51372
51373// AsAzureBatchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51374func (ils ImpalaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
51375	return nil, false
51376}
51377
51378// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51379func (ils ImpalaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
51380	return nil, false
51381}
51382
51383// AsSQLServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51384func (ils ImpalaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
51385	return nil, false
51386}
51387
51388// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51389func (ils ImpalaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
51390	return nil, false
51391}
51392
51393// AsAzureStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51394func (ils ImpalaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
51395	return nil, false
51396}
51397
51398// AsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51399func (ils ImpalaLinkedService) AsLinkedService() (*LinkedService, bool) {
51400	return nil, false
51401}
51402
51403// AsBasicLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
51404func (ils ImpalaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
51405	return &ils, true
51406}
51407
51408// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedService struct.
51409func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error {
51410	var m map[string]*json.RawMessage
51411	err := json.Unmarshal(body, &m)
51412	if err != nil {
51413		return err
51414	}
51415	for k, v := range m {
51416		switch k {
51417		case "typeProperties":
51418			if v != nil {
51419				var impalaLinkedServiceTypeProperties ImpalaLinkedServiceTypeProperties
51420				err = json.Unmarshal(*v, &impalaLinkedServiceTypeProperties)
51421				if err != nil {
51422					return err
51423				}
51424				ils.ImpalaLinkedServiceTypeProperties = &impalaLinkedServiceTypeProperties
51425			}
51426		default:
51427			if v != nil {
51428				var additionalProperties interface{}
51429				err = json.Unmarshal(*v, &additionalProperties)
51430				if err != nil {
51431					return err
51432				}
51433				if ils.AdditionalProperties == nil {
51434					ils.AdditionalProperties = make(map[string]interface{})
51435				}
51436				ils.AdditionalProperties[k] = additionalProperties
51437			}
51438		case "connectVia":
51439			if v != nil {
51440				var connectVia IntegrationRuntimeReference
51441				err = json.Unmarshal(*v, &connectVia)
51442				if err != nil {
51443					return err
51444				}
51445				ils.ConnectVia = &connectVia
51446			}
51447		case "description":
51448			if v != nil {
51449				var description string
51450				err = json.Unmarshal(*v, &description)
51451				if err != nil {
51452					return err
51453				}
51454				ils.Description = &description
51455			}
51456		case "parameters":
51457			if v != nil {
51458				var parameters map[string]*ParameterSpecification
51459				err = json.Unmarshal(*v, &parameters)
51460				if err != nil {
51461					return err
51462				}
51463				ils.Parameters = parameters
51464			}
51465		case "annotations":
51466			if v != nil {
51467				var annotations []interface{}
51468				err = json.Unmarshal(*v, &annotations)
51469				if err != nil {
51470					return err
51471				}
51472				ils.Annotations = &annotations
51473			}
51474		case "type":
51475			if v != nil {
51476				var typeVar TypeBasicLinkedService
51477				err = json.Unmarshal(*v, &typeVar)
51478				if err != nil {
51479					return err
51480				}
51481				ils.Type = typeVar
51482			}
51483		}
51484	}
51485
51486	return nil
51487}
51488
51489// ImpalaLinkedServiceTypeProperties impala server linked service properties.
51490type ImpalaLinkedServiceTypeProperties struct {
51491	// Host - The IP address or host name of the Impala server. (i.e. 192.168.222.160)
51492	Host interface{} `json:"host,omitempty"`
51493	// Port - The TCP port that the Impala server uses to listen for client connections. The default value is 21050.
51494	Port interface{} `json:"port,omitempty"`
51495	// AuthenticationType - The authentication type to use. Possible values include: 'ImpalaAuthenticationTypeAnonymous', 'ImpalaAuthenticationTypeSASLUsername', 'ImpalaAuthenticationTypeUsernameAndPassword'
51496	AuthenticationType ImpalaAuthenticationType `json:"authenticationType,omitempty"`
51497	// Username - The user name used to access the Impala server. The default value is anonymous when using SASLUsername.
51498	Username interface{} `json:"username,omitempty"`
51499	// Password - The password corresponding to the user name when using UsernameAndPassword.
51500	Password BasicSecretBase `json:"password,omitempty"`
51501	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
51502	EnableSsl interface{} `json:"enableSsl,omitempty"`
51503	// 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.
51504	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
51505	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
51506	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
51507	// 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.
51508	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
51509	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
51510	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
51511	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
51512	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
51513}
51514
51515// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedServiceTypeProperties struct.
51516func (ilstp *ImpalaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
51517	var m map[string]*json.RawMessage
51518	err := json.Unmarshal(body, &m)
51519	if err != nil {
51520		return err
51521	}
51522	for k, v := range m {
51523		switch k {
51524		case "host":
51525			if v != nil {
51526				var host interface{}
51527				err = json.Unmarshal(*v, &host)
51528				if err != nil {
51529					return err
51530				}
51531				ilstp.Host = host
51532			}
51533		case "port":
51534			if v != nil {
51535				var port interface{}
51536				err = json.Unmarshal(*v, &port)
51537				if err != nil {
51538					return err
51539				}
51540				ilstp.Port = port
51541			}
51542		case "authenticationType":
51543			if v != nil {
51544				var authenticationType ImpalaAuthenticationType
51545				err = json.Unmarshal(*v, &authenticationType)
51546				if err != nil {
51547					return err
51548				}
51549				ilstp.AuthenticationType = authenticationType
51550			}
51551		case "username":
51552			if v != nil {
51553				var username interface{}
51554				err = json.Unmarshal(*v, &username)
51555				if err != nil {
51556					return err
51557				}
51558				ilstp.Username = username
51559			}
51560		case "password":
51561			if v != nil {
51562				password, err := unmarshalBasicSecretBase(*v)
51563				if err != nil {
51564					return err
51565				}
51566				ilstp.Password = password
51567			}
51568		case "enableSsl":
51569			if v != nil {
51570				var enableSsl interface{}
51571				err = json.Unmarshal(*v, &enableSsl)
51572				if err != nil {
51573					return err
51574				}
51575				ilstp.EnableSsl = enableSsl
51576			}
51577		case "trustedCertPath":
51578			if v != nil {
51579				var trustedCertPath interface{}
51580				err = json.Unmarshal(*v, &trustedCertPath)
51581				if err != nil {
51582					return err
51583				}
51584				ilstp.TrustedCertPath = trustedCertPath
51585			}
51586		case "useSystemTrustStore":
51587			if v != nil {
51588				var useSystemTrustStore interface{}
51589				err = json.Unmarshal(*v, &useSystemTrustStore)
51590				if err != nil {
51591					return err
51592				}
51593				ilstp.UseSystemTrustStore = useSystemTrustStore
51594			}
51595		case "allowHostNameCNMismatch":
51596			if v != nil {
51597				var allowHostNameCNMismatch interface{}
51598				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
51599				if err != nil {
51600					return err
51601				}
51602				ilstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
51603			}
51604		case "allowSelfSignedServerCert":
51605			if v != nil {
51606				var allowSelfSignedServerCert interface{}
51607				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
51608				if err != nil {
51609					return err
51610				}
51611				ilstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
51612			}
51613		case "encryptedCredential":
51614			if v != nil {
51615				var encryptedCredential interface{}
51616				err = json.Unmarshal(*v, &encryptedCredential)
51617				if err != nil {
51618					return err
51619				}
51620				ilstp.EncryptedCredential = encryptedCredential
51621			}
51622		}
51623	}
51624
51625	return nil
51626}
51627
51628// ImpalaObjectDataset impala server dataset.
51629type ImpalaObjectDataset struct {
51630	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
51631	AdditionalProperties map[string]interface{} `json:""`
51632	// Description - Dataset description.
51633	Description *string `json:"description,omitempty"`
51634	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
51635	Structure interface{} `json:"structure,omitempty"`
51636	// LinkedServiceName - Linked service reference.
51637	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
51638	// Parameters - Parameters for dataset.
51639	Parameters map[string]*ParameterSpecification `json:"parameters"`
51640	// Annotations - List of tags that can be used for describing the Dataset.
51641	Annotations *[]interface{} `json:"annotations,omitempty"`
51642	// 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'
51643	Type TypeBasicDataset `json:"type,omitempty"`
51644}
51645
51646// MarshalJSON is the custom marshaler for ImpalaObjectDataset.
51647func (iod ImpalaObjectDataset) MarshalJSON() ([]byte, error) {
51648	iod.Type = TypeImpalaObject
51649	objectMap := make(map[string]interface{})
51650	if iod.Description != nil {
51651		objectMap["description"] = iod.Description
51652	}
51653	if iod.Structure != nil {
51654		objectMap["structure"] = iod.Structure
51655	}
51656	if iod.LinkedServiceName != nil {
51657		objectMap["linkedServiceName"] = iod.LinkedServiceName
51658	}
51659	if iod.Parameters != nil {
51660		objectMap["parameters"] = iod.Parameters
51661	}
51662	if iod.Annotations != nil {
51663		objectMap["annotations"] = iod.Annotations
51664	}
51665	if iod.Type != "" {
51666		objectMap["type"] = iod.Type
51667	}
51668	for k, v := range iod.AdditionalProperties {
51669		objectMap[k] = v
51670	}
51671	return json.Marshal(objectMap)
51672}
51673
51674// AsResponsysObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51675func (iod ImpalaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
51676	return nil, false
51677}
51678
51679// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51680func (iod ImpalaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
51681	return nil, false
51682}
51683
51684// AsVerticaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51685func (iod ImpalaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
51686	return nil, false
51687}
51688
51689// AsNetezzaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51690func (iod ImpalaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
51691	return nil, false
51692}
51693
51694// AsZohoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51695func (iod ImpalaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
51696	return nil, false
51697}
51698
51699// AsXeroObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51700func (iod ImpalaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
51701	return nil, false
51702}
51703
51704// AsSquareObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51705func (iod ImpalaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
51706	return nil, false
51707}
51708
51709// AsSparkObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51710func (iod ImpalaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
51711	return nil, false
51712}
51713
51714// AsShopifyObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51715func (iod ImpalaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
51716	return nil, false
51717}
51718
51719// AsServiceNowObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51720func (iod ImpalaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
51721	return nil, false
51722}
51723
51724// AsQuickBooksObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51725func (iod ImpalaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
51726	return nil, false
51727}
51728
51729// AsPrestoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51730func (iod ImpalaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
51731	return nil, false
51732}
51733
51734// AsPhoenixObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51735func (iod ImpalaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
51736	return nil, false
51737}
51738
51739// AsPaypalObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51740func (iod ImpalaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
51741	return nil, false
51742}
51743
51744// AsMarketoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51745func (iod ImpalaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
51746	return nil, false
51747}
51748
51749// AsMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51750func (iod ImpalaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
51751	return nil, false
51752}
51753
51754// AsMagentoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51755func (iod ImpalaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
51756	return nil, false
51757}
51758
51759// AsJiraObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51760func (iod ImpalaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
51761	return nil, false
51762}
51763
51764// AsImpalaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51765func (iod ImpalaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
51766	return &iod, true
51767}
51768
51769// AsHubspotObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51770func (iod ImpalaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
51771	return nil, false
51772}
51773
51774// AsHiveObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51775func (iod ImpalaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
51776	return nil, false
51777}
51778
51779// AsHBaseObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51780func (iod ImpalaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
51781	return nil, false
51782}
51783
51784// AsGreenplumTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51785func (iod ImpalaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
51786	return nil, false
51787}
51788
51789// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51790func (iod ImpalaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
51791	return nil, false
51792}
51793
51794// AsEloquaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51795func (iod ImpalaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
51796	return nil, false
51797}
51798
51799// AsDrillTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51800func (iod ImpalaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
51801	return nil, false
51802}
51803
51804// AsCouchbaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51805func (iod ImpalaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
51806	return nil, false
51807}
51808
51809// AsConcurObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51810func (iod ImpalaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
51811	return nil, false
51812}
51813
51814// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51815func (iod ImpalaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
51816	return nil, false
51817}
51818
51819// AsAmazonMWSObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51820func (iod ImpalaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
51821	return nil, false
51822}
51823
51824// AsHTTPDataset is the BasicDataset implementation for ImpalaObjectDataset.
51825func (iod ImpalaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
51826	return nil, false
51827}
51828
51829// AsAzureSearchIndexDataset is the BasicDataset implementation for ImpalaObjectDataset.
51830func (iod ImpalaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
51831	return nil, false
51832}
51833
51834// AsWebTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51835func (iod ImpalaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
51836	return nil, false
51837}
51838
51839// AsSQLServerTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51840func (iod ImpalaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
51841	return nil, false
51842}
51843
51844// AsSapEccResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
51845func (iod ImpalaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
51846	return nil, false
51847}
51848
51849// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
51850func (iod ImpalaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
51851	return nil, false
51852}
51853
51854// AsSalesforceObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
51855func (iod ImpalaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
51856	return nil, false
51857}
51858
51859// AsRelationalTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51860func (iod ImpalaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
51861	return nil, false
51862}
51863
51864// AsAzureMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51865func (iod ImpalaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
51866	return nil, false
51867}
51868
51869// AsOracleTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51870func (iod ImpalaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
51871	return nil, false
51872}
51873
51874// AsODataResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
51875func (iod ImpalaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
51876	return nil, false
51877}
51878
51879// AsMongoDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
51880func (iod ImpalaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
51881	return nil, false
51882}
51883
51884// AsFileShareDataset is the BasicDataset implementation for ImpalaObjectDataset.
51885func (iod ImpalaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
51886	return nil, false
51887}
51888
51889// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ImpalaObjectDataset.
51890func (iod ImpalaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
51891	return nil, false
51892}
51893
51894// AsDynamicsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset.
51895func (iod ImpalaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
51896	return nil, false
51897}
51898
51899// AsDocumentDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
51900func (iod ImpalaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
51901	return nil, false
51902}
51903
51904// AsCustomDataset is the BasicDataset implementation for ImpalaObjectDataset.
51905func (iod ImpalaObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
51906	return nil, false
51907}
51908
51909// AsCassandraTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51910func (iod ImpalaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
51911	return nil, false
51912}
51913
51914// AsAzureSQLDWTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51915func (iod ImpalaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
51916	return nil, false
51917}
51918
51919// AsAzureSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51920func (iod ImpalaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
51921	return nil, false
51922}
51923
51924// AsAzureTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
51925func (iod ImpalaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
51926	return nil, false
51927}
51928
51929// AsAzureBlobDataset is the BasicDataset implementation for ImpalaObjectDataset.
51930func (iod ImpalaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
51931	return nil, false
51932}
51933
51934// AsAmazonS3Dataset is the BasicDataset implementation for ImpalaObjectDataset.
51935func (iod ImpalaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
51936	return nil, false
51937}
51938
51939// AsDataset is the BasicDataset implementation for ImpalaObjectDataset.
51940func (iod ImpalaObjectDataset) AsDataset() (*Dataset, bool) {
51941	return nil, false
51942}
51943
51944// AsBasicDataset is the BasicDataset implementation for ImpalaObjectDataset.
51945func (iod ImpalaObjectDataset) AsBasicDataset() (BasicDataset, bool) {
51946	return &iod, true
51947}
51948
51949// UnmarshalJSON is the custom unmarshaler for ImpalaObjectDataset struct.
51950func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error {
51951	var m map[string]*json.RawMessage
51952	err := json.Unmarshal(body, &m)
51953	if err != nil {
51954		return err
51955	}
51956	for k, v := range m {
51957		switch k {
51958		default:
51959			if v != nil {
51960				var additionalProperties interface{}
51961				err = json.Unmarshal(*v, &additionalProperties)
51962				if err != nil {
51963					return err
51964				}
51965				if iod.AdditionalProperties == nil {
51966					iod.AdditionalProperties = make(map[string]interface{})
51967				}
51968				iod.AdditionalProperties[k] = additionalProperties
51969			}
51970		case "description":
51971			if v != nil {
51972				var description string
51973				err = json.Unmarshal(*v, &description)
51974				if err != nil {
51975					return err
51976				}
51977				iod.Description = &description
51978			}
51979		case "structure":
51980			if v != nil {
51981				var structure interface{}
51982				err = json.Unmarshal(*v, &structure)
51983				if err != nil {
51984					return err
51985				}
51986				iod.Structure = structure
51987			}
51988		case "linkedServiceName":
51989			if v != nil {
51990				var linkedServiceName LinkedServiceReference
51991				err = json.Unmarshal(*v, &linkedServiceName)
51992				if err != nil {
51993					return err
51994				}
51995				iod.LinkedServiceName = &linkedServiceName
51996			}
51997		case "parameters":
51998			if v != nil {
51999				var parameters map[string]*ParameterSpecification
52000				err = json.Unmarshal(*v, &parameters)
52001				if err != nil {
52002					return err
52003				}
52004				iod.Parameters = parameters
52005			}
52006		case "annotations":
52007			if v != nil {
52008				var annotations []interface{}
52009				err = json.Unmarshal(*v, &annotations)
52010				if err != nil {
52011					return err
52012				}
52013				iod.Annotations = &annotations
52014			}
52015		case "type":
52016			if v != nil {
52017				var typeVar TypeBasicDataset
52018				err = json.Unmarshal(*v, &typeVar)
52019				if err != nil {
52020					return err
52021				}
52022				iod.Type = typeVar
52023			}
52024		}
52025	}
52026
52027	return nil
52028}
52029
52030// ImpalaSource a copy activity Impala server source.
52031type ImpalaSource struct {
52032	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
52033	Query interface{} `json:"query,omitempty"`
52034	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52035	AdditionalProperties map[string]interface{} `json:""`
52036	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
52037	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
52038	// 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])).
52039	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
52040	// 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'
52041	Type TypeBasicCopySource `json:"type,omitempty"`
52042}
52043
52044// MarshalJSON is the custom marshaler for ImpalaSource.
52045func (is ImpalaSource) MarshalJSON() ([]byte, error) {
52046	is.Type = TypeImpalaSource
52047	objectMap := make(map[string]interface{})
52048	if is.Query != nil {
52049		objectMap["query"] = is.Query
52050	}
52051	if is.SourceRetryCount != nil {
52052		objectMap["sourceRetryCount"] = is.SourceRetryCount
52053	}
52054	if is.SourceRetryWait != nil {
52055		objectMap["sourceRetryWait"] = is.SourceRetryWait
52056	}
52057	if is.Type != "" {
52058		objectMap["type"] = is.Type
52059	}
52060	for k, v := range is.AdditionalProperties {
52061		objectMap[k] = v
52062	}
52063	return json.Marshal(objectMap)
52064}
52065
52066// AsAmazonRedshiftSource is the BasicCopySource implementation for ImpalaSource.
52067func (is ImpalaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
52068	return nil, false
52069}
52070
52071// AsResponsysSource is the BasicCopySource implementation for ImpalaSource.
52072func (is ImpalaSource) AsResponsysSource() (*ResponsysSource, bool) {
52073	return nil, false
52074}
52075
52076// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ImpalaSource.
52077func (is ImpalaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
52078	return nil, false
52079}
52080
52081// AsVerticaSource is the BasicCopySource implementation for ImpalaSource.
52082func (is ImpalaSource) AsVerticaSource() (*VerticaSource, bool) {
52083	return nil, false
52084}
52085
52086// AsNetezzaSource is the BasicCopySource implementation for ImpalaSource.
52087func (is ImpalaSource) AsNetezzaSource() (*NetezzaSource, bool) {
52088	return nil, false
52089}
52090
52091// AsZohoSource is the BasicCopySource implementation for ImpalaSource.
52092func (is ImpalaSource) AsZohoSource() (*ZohoSource, bool) {
52093	return nil, false
52094}
52095
52096// AsXeroSource is the BasicCopySource implementation for ImpalaSource.
52097func (is ImpalaSource) AsXeroSource() (*XeroSource, bool) {
52098	return nil, false
52099}
52100
52101// AsSquareSource is the BasicCopySource implementation for ImpalaSource.
52102func (is ImpalaSource) AsSquareSource() (*SquareSource, bool) {
52103	return nil, false
52104}
52105
52106// AsSparkSource is the BasicCopySource implementation for ImpalaSource.
52107func (is ImpalaSource) AsSparkSource() (*SparkSource, bool) {
52108	return nil, false
52109}
52110
52111// AsShopifySource is the BasicCopySource implementation for ImpalaSource.
52112func (is ImpalaSource) AsShopifySource() (*ShopifySource, bool) {
52113	return nil, false
52114}
52115
52116// AsServiceNowSource is the BasicCopySource implementation for ImpalaSource.
52117func (is ImpalaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
52118	return nil, false
52119}
52120
52121// AsQuickBooksSource is the BasicCopySource implementation for ImpalaSource.
52122func (is ImpalaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
52123	return nil, false
52124}
52125
52126// AsPrestoSource is the BasicCopySource implementation for ImpalaSource.
52127func (is ImpalaSource) AsPrestoSource() (*PrestoSource, bool) {
52128	return nil, false
52129}
52130
52131// AsPhoenixSource is the BasicCopySource implementation for ImpalaSource.
52132func (is ImpalaSource) AsPhoenixSource() (*PhoenixSource, bool) {
52133	return nil, false
52134}
52135
52136// AsPaypalSource is the BasicCopySource implementation for ImpalaSource.
52137func (is ImpalaSource) AsPaypalSource() (*PaypalSource, bool) {
52138	return nil, false
52139}
52140
52141// AsMarketoSource is the BasicCopySource implementation for ImpalaSource.
52142func (is ImpalaSource) AsMarketoSource() (*MarketoSource, bool) {
52143	return nil, false
52144}
52145
52146// AsMariaDBSource is the BasicCopySource implementation for ImpalaSource.
52147func (is ImpalaSource) AsMariaDBSource() (*MariaDBSource, bool) {
52148	return nil, false
52149}
52150
52151// AsMagentoSource is the BasicCopySource implementation for ImpalaSource.
52152func (is ImpalaSource) AsMagentoSource() (*MagentoSource, bool) {
52153	return nil, false
52154}
52155
52156// AsJiraSource is the BasicCopySource implementation for ImpalaSource.
52157func (is ImpalaSource) AsJiraSource() (*JiraSource, bool) {
52158	return nil, false
52159}
52160
52161// AsImpalaSource is the BasicCopySource implementation for ImpalaSource.
52162func (is ImpalaSource) AsImpalaSource() (*ImpalaSource, bool) {
52163	return &is, true
52164}
52165
52166// AsHubspotSource is the BasicCopySource implementation for ImpalaSource.
52167func (is ImpalaSource) AsHubspotSource() (*HubspotSource, bool) {
52168	return nil, false
52169}
52170
52171// AsHiveSource is the BasicCopySource implementation for ImpalaSource.
52172func (is ImpalaSource) AsHiveSource() (*HiveSource, bool) {
52173	return nil, false
52174}
52175
52176// AsHBaseSource is the BasicCopySource implementation for ImpalaSource.
52177func (is ImpalaSource) AsHBaseSource() (*HBaseSource, bool) {
52178	return nil, false
52179}
52180
52181// AsGreenplumSource is the BasicCopySource implementation for ImpalaSource.
52182func (is ImpalaSource) AsGreenplumSource() (*GreenplumSource, bool) {
52183	return nil, false
52184}
52185
52186// AsGoogleBigQuerySource is the BasicCopySource implementation for ImpalaSource.
52187func (is ImpalaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
52188	return nil, false
52189}
52190
52191// AsEloquaSource is the BasicCopySource implementation for ImpalaSource.
52192func (is ImpalaSource) AsEloquaSource() (*EloquaSource, bool) {
52193	return nil, false
52194}
52195
52196// AsDrillSource is the BasicCopySource implementation for ImpalaSource.
52197func (is ImpalaSource) AsDrillSource() (*DrillSource, bool) {
52198	return nil, false
52199}
52200
52201// AsCouchbaseSource is the BasicCopySource implementation for ImpalaSource.
52202func (is ImpalaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
52203	return nil, false
52204}
52205
52206// AsConcurSource is the BasicCopySource implementation for ImpalaSource.
52207func (is ImpalaSource) AsConcurSource() (*ConcurSource, bool) {
52208	return nil, false
52209}
52210
52211// AsAzurePostgreSQLSource is the BasicCopySource implementation for ImpalaSource.
52212func (is ImpalaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
52213	return nil, false
52214}
52215
52216// AsAmazonMWSSource is the BasicCopySource implementation for ImpalaSource.
52217func (is ImpalaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
52218	return nil, false
52219}
52220
52221// AsHTTPSource is the BasicCopySource implementation for ImpalaSource.
52222func (is ImpalaSource) AsHTTPSource() (*HTTPSource, bool) {
52223	return nil, false
52224}
52225
52226// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ImpalaSource.
52227func (is ImpalaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
52228	return nil, false
52229}
52230
52231// AsMongoDbSource is the BasicCopySource implementation for ImpalaSource.
52232func (is ImpalaSource) AsMongoDbSource() (*MongoDbSource, bool) {
52233	return nil, false
52234}
52235
52236// AsCassandraSource is the BasicCopySource implementation for ImpalaSource.
52237func (is ImpalaSource) AsCassandraSource() (*CassandraSource, bool) {
52238	return nil, false
52239}
52240
52241// AsWebSource is the BasicCopySource implementation for ImpalaSource.
52242func (is ImpalaSource) AsWebSource() (*WebSource, bool) {
52243	return nil, false
52244}
52245
52246// AsOracleSource is the BasicCopySource implementation for ImpalaSource.
52247func (is ImpalaSource) AsOracleSource() (*OracleSource, bool) {
52248	return nil, false
52249}
52250
52251// AsAzureMySQLSource is the BasicCopySource implementation for ImpalaSource.
52252func (is ImpalaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
52253	return nil, false
52254}
52255
52256// AsHdfsSource is the BasicCopySource implementation for ImpalaSource.
52257func (is ImpalaSource) AsHdfsSource() (*HdfsSource, bool) {
52258	return nil, false
52259}
52260
52261// AsFileSystemSource is the BasicCopySource implementation for ImpalaSource.
52262func (is ImpalaSource) AsFileSystemSource() (*FileSystemSource, bool) {
52263	return nil, false
52264}
52265
52266// AsSQLDWSource is the BasicCopySource implementation for ImpalaSource.
52267func (is ImpalaSource) AsSQLDWSource() (*SQLDWSource, bool) {
52268	return nil, false
52269}
52270
52271// AsSQLSource is the BasicCopySource implementation for ImpalaSource.
52272func (is ImpalaSource) AsSQLSource() (*SQLSource, bool) {
52273	return nil, false
52274}
52275
52276// AsSapEccSource is the BasicCopySource implementation for ImpalaSource.
52277func (is ImpalaSource) AsSapEccSource() (*SapEccSource, bool) {
52278	return nil, false
52279}
52280
52281// AsSapCloudForCustomerSource is the BasicCopySource implementation for ImpalaSource.
52282func (is ImpalaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
52283	return nil, false
52284}
52285
52286// AsSalesforceSource is the BasicCopySource implementation for ImpalaSource.
52287func (is ImpalaSource) AsSalesforceSource() (*SalesforceSource, bool) {
52288	return nil, false
52289}
52290
52291// AsRelationalSource is the BasicCopySource implementation for ImpalaSource.
52292func (is ImpalaSource) AsRelationalSource() (*RelationalSource, bool) {
52293	return nil, false
52294}
52295
52296// AsDynamicsSource is the BasicCopySource implementation for ImpalaSource.
52297func (is ImpalaSource) AsDynamicsSource() (*DynamicsSource, bool) {
52298	return nil, false
52299}
52300
52301// AsDocumentDbCollectionSource is the BasicCopySource implementation for ImpalaSource.
52302func (is ImpalaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
52303	return nil, false
52304}
52305
52306// AsBlobSource is the BasicCopySource implementation for ImpalaSource.
52307func (is ImpalaSource) AsBlobSource() (*BlobSource, bool) {
52308	return nil, false
52309}
52310
52311// AsAzureTableSource is the BasicCopySource implementation for ImpalaSource.
52312func (is ImpalaSource) AsAzureTableSource() (*AzureTableSource, bool) {
52313	return nil, false
52314}
52315
52316// AsCopySource is the BasicCopySource implementation for ImpalaSource.
52317func (is ImpalaSource) AsCopySource() (*CopySource, bool) {
52318	return nil, false
52319}
52320
52321// AsBasicCopySource is the BasicCopySource implementation for ImpalaSource.
52322func (is ImpalaSource) AsBasicCopySource() (BasicCopySource, bool) {
52323	return &is, true
52324}
52325
52326// UnmarshalJSON is the custom unmarshaler for ImpalaSource struct.
52327func (is *ImpalaSource) UnmarshalJSON(body []byte) error {
52328	var m map[string]*json.RawMessage
52329	err := json.Unmarshal(body, &m)
52330	if err != nil {
52331		return err
52332	}
52333	for k, v := range m {
52334		switch k {
52335		case "query":
52336			if v != nil {
52337				var query interface{}
52338				err = json.Unmarshal(*v, &query)
52339				if err != nil {
52340					return err
52341				}
52342				is.Query = query
52343			}
52344		default:
52345			if v != nil {
52346				var additionalProperties interface{}
52347				err = json.Unmarshal(*v, &additionalProperties)
52348				if err != nil {
52349					return err
52350				}
52351				if is.AdditionalProperties == nil {
52352					is.AdditionalProperties = make(map[string]interface{})
52353				}
52354				is.AdditionalProperties[k] = additionalProperties
52355			}
52356		case "sourceRetryCount":
52357			if v != nil {
52358				var sourceRetryCount interface{}
52359				err = json.Unmarshal(*v, &sourceRetryCount)
52360				if err != nil {
52361					return err
52362				}
52363				is.SourceRetryCount = sourceRetryCount
52364			}
52365		case "sourceRetryWait":
52366			if v != nil {
52367				var sourceRetryWait interface{}
52368				err = json.Unmarshal(*v, &sourceRetryWait)
52369				if err != nil {
52370					return err
52371				}
52372				is.SourceRetryWait = sourceRetryWait
52373			}
52374		case "type":
52375			if v != nil {
52376				var typeVar TypeBasicCopySource
52377				err = json.Unmarshal(*v, &typeVar)
52378				if err != nil {
52379					return err
52380				}
52381				is.Type = typeVar
52382			}
52383		}
52384	}
52385
52386	return nil
52387}
52388
52389// BasicIntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities.
52390type BasicIntegrationRuntime interface {
52391	AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool)
52392	AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool)
52393	AsIntegrationRuntime() (*IntegrationRuntime, bool)
52394}
52395
52396// IntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities.
52397type IntegrationRuntime struct {
52398	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52399	AdditionalProperties map[string]interface{} `json:""`
52400	// Description - Integration runtime description.
52401	Description *string `json:"description,omitempty"`
52402	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
52403	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
52404}
52405
52406func unmarshalBasicIntegrationRuntime(body []byte) (BasicIntegrationRuntime, error) {
52407	var m map[string]interface{}
52408	err := json.Unmarshal(body, &m)
52409	if err != nil {
52410		return nil, err
52411	}
52412
52413	switch m["type"] {
52414	case string(TypeSelfHosted):
52415		var shir SelfHostedIntegrationRuntime
52416		err := json.Unmarshal(body, &shir)
52417		return shir, err
52418	case string(TypeManaged):
52419		var mir ManagedIntegrationRuntime
52420		err := json.Unmarshal(body, &mir)
52421		return mir, err
52422	default:
52423		var ir IntegrationRuntime
52424		err := json.Unmarshal(body, &ir)
52425		return ir, err
52426	}
52427}
52428func unmarshalBasicIntegrationRuntimeArray(body []byte) ([]BasicIntegrationRuntime, error) {
52429	var rawMessages []*json.RawMessage
52430	err := json.Unmarshal(body, &rawMessages)
52431	if err != nil {
52432		return nil, err
52433	}
52434
52435	irArray := make([]BasicIntegrationRuntime, len(rawMessages))
52436
52437	for index, rawMessage := range rawMessages {
52438		ir, err := unmarshalBasicIntegrationRuntime(*rawMessage)
52439		if err != nil {
52440			return nil, err
52441		}
52442		irArray[index] = ir
52443	}
52444	return irArray, nil
52445}
52446
52447// MarshalJSON is the custom marshaler for IntegrationRuntime.
52448func (ir IntegrationRuntime) MarshalJSON() ([]byte, error) {
52449	ir.Type = TypeIntegrationRuntime
52450	objectMap := make(map[string]interface{})
52451	if ir.Description != nil {
52452		objectMap["description"] = ir.Description
52453	}
52454	if ir.Type != "" {
52455		objectMap["type"] = ir.Type
52456	}
52457	for k, v := range ir.AdditionalProperties {
52458		objectMap[k] = v
52459	}
52460	return json.Marshal(objectMap)
52461}
52462
52463// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
52464func (ir IntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
52465	return nil, false
52466}
52467
52468// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
52469func (ir IntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
52470	return nil, false
52471}
52472
52473// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
52474func (ir IntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
52475	return &ir, true
52476}
52477
52478// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
52479func (ir IntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
52480	return &ir, true
52481}
52482
52483// UnmarshalJSON is the custom unmarshaler for IntegrationRuntime struct.
52484func (ir *IntegrationRuntime) UnmarshalJSON(body []byte) error {
52485	var m map[string]*json.RawMessage
52486	err := json.Unmarshal(body, &m)
52487	if err != nil {
52488		return err
52489	}
52490	for k, v := range m {
52491		switch k {
52492		default:
52493			if v != nil {
52494				var additionalProperties interface{}
52495				err = json.Unmarshal(*v, &additionalProperties)
52496				if err != nil {
52497					return err
52498				}
52499				if ir.AdditionalProperties == nil {
52500					ir.AdditionalProperties = make(map[string]interface{})
52501				}
52502				ir.AdditionalProperties[k] = additionalProperties
52503			}
52504		case "description":
52505			if v != nil {
52506				var description string
52507				err = json.Unmarshal(*v, &description)
52508				if err != nil {
52509					return err
52510				}
52511				ir.Description = &description
52512			}
52513		case "type":
52514			if v != nil {
52515				var typeVar TypeBasicIntegrationRuntime
52516				err = json.Unmarshal(*v, &typeVar)
52517				if err != nil {
52518					return err
52519				}
52520				ir.Type = typeVar
52521			}
52522		}
52523	}
52524
52525	return nil
52526}
52527
52528// IntegrationRuntimeAuthKeys the integration runtime authentication keys.
52529type IntegrationRuntimeAuthKeys struct {
52530	autorest.Response `json:"-"`
52531	// AuthKey1 - The primary integration runtime authentication key.
52532	AuthKey1 *string `json:"authKey1,omitempty"`
52533	// AuthKey2 - The secondary integration runtime authentication key.
52534	AuthKey2 *string `json:"authKey2,omitempty"`
52535}
52536
52537// IntegrationRuntimeComputeProperties the compute resource properties for managed integration runtime.
52538type IntegrationRuntimeComputeProperties struct {
52539	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52540	AdditionalProperties map[string]interface{} `json:""`
52541	// 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
52542	Location *string `json:"location,omitempty"`
52543	// NodeSize - The node size requirement to managed integration runtime.
52544	NodeSize *string `json:"nodeSize,omitempty"`
52545	// NumberOfNodes - The required number of nodes for managed integration runtime.
52546	NumberOfNodes *int32 `json:"numberOfNodes,omitempty"`
52547	// MaxParallelExecutionsPerNode - Maximum parallel executions count per node for managed integration runtime.
52548	MaxParallelExecutionsPerNode *int32 `json:"maxParallelExecutionsPerNode,omitempty"`
52549	// VNetProperties - VNet properties for managed integration runtime.
52550	VNetProperties *IntegrationRuntimeVNetProperties `json:"vNetProperties,omitempty"`
52551}
52552
52553// MarshalJSON is the custom marshaler for IntegrationRuntimeComputeProperties.
52554func (ircp IntegrationRuntimeComputeProperties) MarshalJSON() ([]byte, error) {
52555	objectMap := make(map[string]interface{})
52556	if ircp.Location != nil {
52557		objectMap["location"] = ircp.Location
52558	}
52559	if ircp.NodeSize != nil {
52560		objectMap["nodeSize"] = ircp.NodeSize
52561	}
52562	if ircp.NumberOfNodes != nil {
52563		objectMap["numberOfNodes"] = ircp.NumberOfNodes
52564	}
52565	if ircp.MaxParallelExecutionsPerNode != nil {
52566		objectMap["maxParallelExecutionsPerNode"] = ircp.MaxParallelExecutionsPerNode
52567	}
52568	if ircp.VNetProperties != nil {
52569		objectMap["vNetProperties"] = ircp.VNetProperties
52570	}
52571	for k, v := range ircp.AdditionalProperties {
52572		objectMap[k] = v
52573	}
52574	return json.Marshal(objectMap)
52575}
52576
52577// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeComputeProperties struct.
52578func (ircp *IntegrationRuntimeComputeProperties) UnmarshalJSON(body []byte) error {
52579	var m map[string]*json.RawMessage
52580	err := json.Unmarshal(body, &m)
52581	if err != nil {
52582		return err
52583	}
52584	for k, v := range m {
52585		switch k {
52586		default:
52587			if v != nil {
52588				var additionalProperties interface{}
52589				err = json.Unmarshal(*v, &additionalProperties)
52590				if err != nil {
52591					return err
52592				}
52593				if ircp.AdditionalProperties == nil {
52594					ircp.AdditionalProperties = make(map[string]interface{})
52595				}
52596				ircp.AdditionalProperties[k] = additionalProperties
52597			}
52598		case "location":
52599			if v != nil {
52600				var location string
52601				err = json.Unmarshal(*v, &location)
52602				if err != nil {
52603					return err
52604				}
52605				ircp.Location = &location
52606			}
52607		case "nodeSize":
52608			if v != nil {
52609				var nodeSize string
52610				err = json.Unmarshal(*v, &nodeSize)
52611				if err != nil {
52612					return err
52613				}
52614				ircp.NodeSize = &nodeSize
52615			}
52616		case "numberOfNodes":
52617			if v != nil {
52618				var numberOfNodes int32
52619				err = json.Unmarshal(*v, &numberOfNodes)
52620				if err != nil {
52621					return err
52622				}
52623				ircp.NumberOfNodes = &numberOfNodes
52624			}
52625		case "maxParallelExecutionsPerNode":
52626			if v != nil {
52627				var maxParallelExecutionsPerNode int32
52628				err = json.Unmarshal(*v, &maxParallelExecutionsPerNode)
52629				if err != nil {
52630					return err
52631				}
52632				ircp.MaxParallelExecutionsPerNode = &maxParallelExecutionsPerNode
52633			}
52634		case "vNetProperties":
52635			if v != nil {
52636				var vNetProperties IntegrationRuntimeVNetProperties
52637				err = json.Unmarshal(*v, &vNetProperties)
52638				if err != nil {
52639					return err
52640				}
52641				ircp.VNetProperties = &vNetProperties
52642			}
52643		}
52644	}
52645
52646	return nil
52647}
52648
52649// IntegrationRuntimeConnectionInfo connection information for encrypting the on-premises data source
52650// credentials.
52651type IntegrationRuntimeConnectionInfo struct {
52652	autorest.Response `json:"-"`
52653	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52654	AdditionalProperties map[string]interface{} `json:""`
52655	// ServiceToken - READ-ONLY; The token generated in service. Callers use this token to authenticate to integration runtime.
52656	ServiceToken *string `json:"serviceToken,omitempty"`
52657	// IdentityCertThumbprint - READ-ONLY; The integration runtime SSL certificate thumbprint. Click-Once application uses it to do server validation.
52658	IdentityCertThumbprint *string `json:"identityCertThumbprint,omitempty"`
52659	// HostServiceURI - READ-ONLY; The on-premises integration runtime host URL.
52660	HostServiceURI *string `json:"hostServiceUri,omitempty"`
52661	// Version - READ-ONLY; The integration runtime version.
52662	Version *string `json:"version,omitempty"`
52663	// PublicKey - READ-ONLY; The public key for encrypting a credential when transferring the credential to the integration runtime.
52664	PublicKey *string `json:"publicKey,omitempty"`
52665	// IsIdentityCertExprired - READ-ONLY; Whether the identity certificate is expired.
52666	IsIdentityCertExprired *bool `json:"isIdentityCertExprired,omitempty"`
52667}
52668
52669// MarshalJSON is the custom marshaler for IntegrationRuntimeConnectionInfo.
52670func (irci IntegrationRuntimeConnectionInfo) MarshalJSON() ([]byte, error) {
52671	objectMap := make(map[string]interface{})
52672	for k, v := range irci.AdditionalProperties {
52673		objectMap[k] = v
52674	}
52675	return json.Marshal(objectMap)
52676}
52677
52678// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeConnectionInfo struct.
52679func (irci *IntegrationRuntimeConnectionInfo) UnmarshalJSON(body []byte) error {
52680	var m map[string]*json.RawMessage
52681	err := json.Unmarshal(body, &m)
52682	if err != nil {
52683		return err
52684	}
52685	for k, v := range m {
52686		switch k {
52687		default:
52688			if v != nil {
52689				var additionalProperties interface{}
52690				err = json.Unmarshal(*v, &additionalProperties)
52691				if err != nil {
52692					return err
52693				}
52694				if irci.AdditionalProperties == nil {
52695					irci.AdditionalProperties = make(map[string]interface{})
52696				}
52697				irci.AdditionalProperties[k] = additionalProperties
52698			}
52699		case "serviceToken":
52700			if v != nil {
52701				var serviceToken string
52702				err = json.Unmarshal(*v, &serviceToken)
52703				if err != nil {
52704					return err
52705				}
52706				irci.ServiceToken = &serviceToken
52707			}
52708		case "identityCertThumbprint":
52709			if v != nil {
52710				var identityCertThumbprint string
52711				err = json.Unmarshal(*v, &identityCertThumbprint)
52712				if err != nil {
52713					return err
52714				}
52715				irci.IdentityCertThumbprint = &identityCertThumbprint
52716			}
52717		case "hostServiceUri":
52718			if v != nil {
52719				var hostServiceURI string
52720				err = json.Unmarshal(*v, &hostServiceURI)
52721				if err != nil {
52722					return err
52723				}
52724				irci.HostServiceURI = &hostServiceURI
52725			}
52726		case "version":
52727			if v != nil {
52728				var version string
52729				err = json.Unmarshal(*v, &version)
52730				if err != nil {
52731					return err
52732				}
52733				irci.Version = &version
52734			}
52735		case "publicKey":
52736			if v != nil {
52737				var publicKey string
52738				err = json.Unmarshal(*v, &publicKey)
52739				if err != nil {
52740					return err
52741				}
52742				irci.PublicKey = &publicKey
52743			}
52744		case "isIdentityCertExprired":
52745			if v != nil {
52746				var isIdentityCertExprired bool
52747				err = json.Unmarshal(*v, &isIdentityCertExprired)
52748				if err != nil {
52749					return err
52750				}
52751				irci.IsIdentityCertExprired = &isIdentityCertExprired
52752			}
52753		}
52754	}
52755
52756	return nil
52757}
52758
52759// IntegrationRuntimeCustomSetupScriptProperties custom setup script properties for a managed dedicated
52760// integration runtime.
52761type IntegrationRuntimeCustomSetupScriptProperties struct {
52762	// BlobContainerURI - The URI of the Azure blob container that contains the custom setup script.
52763	BlobContainerURI *string `json:"blobContainerUri,omitempty"`
52764	// SasToken - The SAS token of the Azure blob container.
52765	SasToken *SecureString `json:"sasToken,omitempty"`
52766}
52767
52768// IntegrationRuntimeDataProxyProperties data proxy properties for a managed dedicated integration runtime.
52769type IntegrationRuntimeDataProxyProperties struct {
52770	// ConnectVia - The self-hosted integration runtime reference.
52771	ConnectVia *EntityReference `json:"connectVia,omitempty"`
52772	// StagingLinkedService - The staging linked service reference.
52773	StagingLinkedService *EntityReference `json:"stagingLinkedService,omitempty"`
52774	// Path - The path to contain the staged data in the Blob storage.
52775	Path *string `json:"path,omitempty"`
52776}
52777
52778// IntegrationRuntimeListResponse a list of integration runtime resources.
52779type IntegrationRuntimeListResponse struct {
52780	autorest.Response `json:"-"`
52781	// Value - List of integration runtimes.
52782	Value *[]IntegrationRuntimeResource `json:"value,omitempty"`
52783	// NextLink - The link to the next page of results, if any remaining results exist.
52784	NextLink *string `json:"nextLink,omitempty"`
52785}
52786
52787// IntegrationRuntimeListResponseIterator provides access to a complete listing of
52788// IntegrationRuntimeResource values.
52789type IntegrationRuntimeListResponseIterator struct {
52790	i    int
52791	page IntegrationRuntimeListResponsePage
52792}
52793
52794// NextWithContext advances to the next value.  If there was an error making
52795// the request the iterator does not advance and the error is returned.
52796func (iter *IntegrationRuntimeListResponseIterator) NextWithContext(ctx context.Context) (err error) {
52797	if tracing.IsEnabled() {
52798		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponseIterator.NextWithContext")
52799		defer func() {
52800			sc := -1
52801			if iter.Response().Response.Response != nil {
52802				sc = iter.Response().Response.Response.StatusCode
52803			}
52804			tracing.EndSpan(ctx, sc, err)
52805		}()
52806	}
52807	iter.i++
52808	if iter.i < len(iter.page.Values()) {
52809		return nil
52810	}
52811	err = iter.page.NextWithContext(ctx)
52812	if err != nil {
52813		iter.i--
52814		return err
52815	}
52816	iter.i = 0
52817	return nil
52818}
52819
52820// Next advances to the next value.  If there was an error making
52821// the request the iterator does not advance and the error is returned.
52822// Deprecated: Use NextWithContext() instead.
52823func (iter *IntegrationRuntimeListResponseIterator) Next() error {
52824	return iter.NextWithContext(context.Background())
52825}
52826
52827// NotDone returns true if the enumeration should be started or is not yet complete.
52828func (iter IntegrationRuntimeListResponseIterator) NotDone() bool {
52829	return iter.page.NotDone() && iter.i < len(iter.page.Values())
52830}
52831
52832// Response returns the raw server response from the last page request.
52833func (iter IntegrationRuntimeListResponseIterator) Response() IntegrationRuntimeListResponse {
52834	return iter.page.Response()
52835}
52836
52837// Value returns the current value or a zero-initialized value if the
52838// iterator has advanced beyond the end of the collection.
52839func (iter IntegrationRuntimeListResponseIterator) Value() IntegrationRuntimeResource {
52840	if !iter.page.NotDone() {
52841		return IntegrationRuntimeResource{}
52842	}
52843	return iter.page.Values()[iter.i]
52844}
52845
52846// Creates a new instance of the IntegrationRuntimeListResponseIterator type.
52847func NewIntegrationRuntimeListResponseIterator(page IntegrationRuntimeListResponsePage) IntegrationRuntimeListResponseIterator {
52848	return IntegrationRuntimeListResponseIterator{page: page}
52849}
52850
52851// IsEmpty returns true if the ListResult contains no values.
52852func (irlr IntegrationRuntimeListResponse) IsEmpty() bool {
52853	return irlr.Value == nil || len(*irlr.Value) == 0
52854}
52855
52856// hasNextLink returns true if the NextLink is not empty.
52857func (irlr IntegrationRuntimeListResponse) hasNextLink() bool {
52858	return irlr.NextLink != nil && len(*irlr.NextLink) != 0
52859}
52860
52861// integrationRuntimeListResponsePreparer prepares a request to retrieve the next set of results.
52862// It returns nil if no more results exist.
52863func (irlr IntegrationRuntimeListResponse) integrationRuntimeListResponsePreparer(ctx context.Context) (*http.Request, error) {
52864	if !irlr.hasNextLink() {
52865		return nil, nil
52866	}
52867	return autorest.Prepare((&http.Request{}).WithContext(ctx),
52868		autorest.AsJSON(),
52869		autorest.AsGet(),
52870		autorest.WithBaseURL(to.String(irlr.NextLink)))
52871}
52872
52873// IntegrationRuntimeListResponsePage contains a page of IntegrationRuntimeResource values.
52874type IntegrationRuntimeListResponsePage struct {
52875	fn   func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)
52876	irlr IntegrationRuntimeListResponse
52877}
52878
52879// NextWithContext advances to the next page of values.  If there was an error making
52880// the request the page does not advance and the error is returned.
52881func (page *IntegrationRuntimeListResponsePage) NextWithContext(ctx context.Context) (err error) {
52882	if tracing.IsEnabled() {
52883		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponsePage.NextWithContext")
52884		defer func() {
52885			sc := -1
52886			if page.Response().Response.Response != nil {
52887				sc = page.Response().Response.Response.StatusCode
52888			}
52889			tracing.EndSpan(ctx, sc, err)
52890		}()
52891	}
52892	for {
52893		next, err := page.fn(ctx, page.irlr)
52894		if err != nil {
52895			return err
52896		}
52897		page.irlr = next
52898		if !next.hasNextLink() || !next.IsEmpty() {
52899			break
52900		}
52901	}
52902	return nil
52903}
52904
52905// Next advances to the next page of values.  If there was an error making
52906// the request the page does not advance and the error is returned.
52907// Deprecated: Use NextWithContext() instead.
52908func (page *IntegrationRuntimeListResponsePage) Next() error {
52909	return page.NextWithContext(context.Background())
52910}
52911
52912// NotDone returns true if the page enumeration should be started or is not yet complete.
52913func (page IntegrationRuntimeListResponsePage) NotDone() bool {
52914	return !page.irlr.IsEmpty()
52915}
52916
52917// Response returns the raw server response from the last page request.
52918func (page IntegrationRuntimeListResponsePage) Response() IntegrationRuntimeListResponse {
52919	return page.irlr
52920}
52921
52922// Values returns the slice of values for the current page or nil if there are no values.
52923func (page IntegrationRuntimeListResponsePage) Values() []IntegrationRuntimeResource {
52924	if page.irlr.IsEmpty() {
52925		return nil
52926	}
52927	return *page.irlr.Value
52928}
52929
52930// Creates a new instance of the IntegrationRuntimeListResponsePage type.
52931func NewIntegrationRuntimeListResponsePage(cur IntegrationRuntimeListResponse, getNextPage func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)) IntegrationRuntimeListResponsePage {
52932	return IntegrationRuntimeListResponsePage{
52933		fn:   getNextPage,
52934		irlr: cur,
52935	}
52936}
52937
52938// IntegrationRuntimeMonitoringData get monitoring data response.
52939type IntegrationRuntimeMonitoringData struct {
52940	autorest.Response `json:"-"`
52941	// Name - Integration runtime name.
52942	Name *string `json:"name,omitempty"`
52943	// Nodes - Integration runtime node monitoring data.
52944	Nodes *[]IntegrationRuntimeNodeMonitoringData `json:"nodes,omitempty"`
52945}
52946
52947// IntegrationRuntimeNodeIPAddress the IP address of self-hosted integration runtime node.
52948type IntegrationRuntimeNodeIPAddress struct {
52949	autorest.Response `json:"-"`
52950	// IPAddress - READ-ONLY; The IP address of self-hosted integration runtime node.
52951	IPAddress *string `json:"ipAddress,omitempty"`
52952}
52953
52954// IntegrationRuntimeNodeMonitoringData monitoring data for integration runtime node.
52955type IntegrationRuntimeNodeMonitoringData struct {
52956	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52957	AdditionalProperties map[string]interface{} `json:""`
52958	// NodeName - READ-ONLY; Name of the integration runtime node.
52959	NodeName *string `json:"nodeName,omitempty"`
52960	// AvailableMemoryInMB - READ-ONLY; Available memory (MB) on the integration runtime node.
52961	AvailableMemoryInMB *int32 `json:"availableMemoryInMB,omitempty"`
52962	// CPUUtilization - READ-ONLY; CPU percentage on the integration runtime node.
52963	CPUUtilization *float64 `json:"cpuUtilization,omitempty"`
52964	// ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node.
52965	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
52966	// ConcurrentJobsRunning - READ-ONLY; The number of jobs currently running on the integration runtime node.
52967	ConcurrentJobsRunning *int32 `json:"concurrentJobsRunning,omitempty"`
52968	// MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime.
52969	MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"`
52970	// SentBytes - READ-ONLY; Sent bytes on the integration runtime node.
52971	SentBytes *float64 `json:"sentBytes,omitempty"`
52972	// ReceivedBytes - READ-ONLY; Received bytes on the integration runtime node.
52973	ReceivedBytes *float64 `json:"receivedBytes,omitempty"`
52974}
52975
52976// MarshalJSON is the custom marshaler for IntegrationRuntimeNodeMonitoringData.
52977func (irnmd IntegrationRuntimeNodeMonitoringData) MarshalJSON() ([]byte, error) {
52978	objectMap := make(map[string]interface{})
52979	for k, v := range irnmd.AdditionalProperties {
52980		objectMap[k] = v
52981	}
52982	return json.Marshal(objectMap)
52983}
52984
52985// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeNodeMonitoringData struct.
52986func (irnmd *IntegrationRuntimeNodeMonitoringData) UnmarshalJSON(body []byte) error {
52987	var m map[string]*json.RawMessage
52988	err := json.Unmarshal(body, &m)
52989	if err != nil {
52990		return err
52991	}
52992	for k, v := range m {
52993		switch k {
52994		default:
52995			if v != nil {
52996				var additionalProperties interface{}
52997				err = json.Unmarshal(*v, &additionalProperties)
52998				if err != nil {
52999					return err
53000				}
53001				if irnmd.AdditionalProperties == nil {
53002					irnmd.AdditionalProperties = make(map[string]interface{})
53003				}
53004				irnmd.AdditionalProperties[k] = additionalProperties
53005			}
53006		case "nodeName":
53007			if v != nil {
53008				var nodeName string
53009				err = json.Unmarshal(*v, &nodeName)
53010				if err != nil {
53011					return err
53012				}
53013				irnmd.NodeName = &nodeName
53014			}
53015		case "availableMemoryInMB":
53016			if v != nil {
53017				var availableMemoryInMB int32
53018				err = json.Unmarshal(*v, &availableMemoryInMB)
53019				if err != nil {
53020					return err
53021				}
53022				irnmd.AvailableMemoryInMB = &availableMemoryInMB
53023			}
53024		case "cpuUtilization":
53025			if v != nil {
53026				var CPUUtilization float64
53027				err = json.Unmarshal(*v, &CPUUtilization)
53028				if err != nil {
53029					return err
53030				}
53031				irnmd.CPUUtilization = &CPUUtilization
53032			}
53033		case "concurrentJobsLimit":
53034			if v != nil {
53035				var concurrentJobsLimit int32
53036				err = json.Unmarshal(*v, &concurrentJobsLimit)
53037				if err != nil {
53038					return err
53039				}
53040				irnmd.ConcurrentJobsLimit = &concurrentJobsLimit
53041			}
53042		case "concurrentJobsRunning":
53043			if v != nil {
53044				var concurrentJobsRunning int32
53045				err = json.Unmarshal(*v, &concurrentJobsRunning)
53046				if err != nil {
53047					return err
53048				}
53049				irnmd.ConcurrentJobsRunning = &concurrentJobsRunning
53050			}
53051		case "maxConcurrentJobs":
53052			if v != nil {
53053				var maxConcurrentJobs int32
53054				err = json.Unmarshal(*v, &maxConcurrentJobs)
53055				if err != nil {
53056					return err
53057				}
53058				irnmd.MaxConcurrentJobs = &maxConcurrentJobs
53059			}
53060		case "sentBytes":
53061			if v != nil {
53062				var sentBytes float64
53063				err = json.Unmarshal(*v, &sentBytes)
53064				if err != nil {
53065					return err
53066				}
53067				irnmd.SentBytes = &sentBytes
53068			}
53069		case "receivedBytes":
53070			if v != nil {
53071				var receivedBytes float64
53072				err = json.Unmarshal(*v, &receivedBytes)
53073				if err != nil {
53074					return err
53075				}
53076				irnmd.ReceivedBytes = &receivedBytes
53077			}
53078		}
53079	}
53080
53081	return nil
53082}
53083
53084// IntegrationRuntimeReference integration runtime reference type.
53085type IntegrationRuntimeReference struct {
53086	// Type - Type of integration runtime.
53087	Type *string `json:"type,omitempty"`
53088	// ReferenceName - Reference integration runtime name.
53089	ReferenceName *string `json:"referenceName,omitempty"`
53090	// Parameters - Arguments for integration runtime.
53091	Parameters map[string]interface{} `json:"parameters"`
53092}
53093
53094// MarshalJSON is the custom marshaler for IntegrationRuntimeReference.
53095func (irr IntegrationRuntimeReference) MarshalJSON() ([]byte, error) {
53096	objectMap := make(map[string]interface{})
53097	if irr.Type != nil {
53098		objectMap["type"] = irr.Type
53099	}
53100	if irr.ReferenceName != nil {
53101		objectMap["referenceName"] = irr.ReferenceName
53102	}
53103	if irr.Parameters != nil {
53104		objectMap["parameters"] = irr.Parameters
53105	}
53106	return json.Marshal(objectMap)
53107}
53108
53109// IntegrationRuntimeRegenerateKeyParameters parameters to regenerate the authentication key.
53110type IntegrationRuntimeRegenerateKeyParameters struct {
53111	// KeyName - The name of the authentication key to regenerate. Possible values include: 'AuthKey1', 'AuthKey2'
53112	KeyName IntegrationRuntimeAuthKeyName `json:"keyName,omitempty"`
53113}
53114
53115// IntegrationRuntimeRemoveNodeRequest request to remove a node.
53116type IntegrationRuntimeRemoveNodeRequest struct {
53117	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53118	AdditionalProperties map[string]interface{} `json:""`
53119	// NodeName - The name of the node to be removed.
53120	NodeName *string `json:"nodeName,omitempty"`
53121}
53122
53123// MarshalJSON is the custom marshaler for IntegrationRuntimeRemoveNodeRequest.
53124func (irrnr IntegrationRuntimeRemoveNodeRequest) MarshalJSON() ([]byte, error) {
53125	objectMap := make(map[string]interface{})
53126	if irrnr.NodeName != nil {
53127		objectMap["nodeName"] = irrnr.NodeName
53128	}
53129	for k, v := range irrnr.AdditionalProperties {
53130		objectMap[k] = v
53131	}
53132	return json.Marshal(objectMap)
53133}
53134
53135// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeRemoveNodeRequest struct.
53136func (irrnr *IntegrationRuntimeRemoveNodeRequest) UnmarshalJSON(body []byte) error {
53137	var m map[string]*json.RawMessage
53138	err := json.Unmarshal(body, &m)
53139	if err != nil {
53140		return err
53141	}
53142	for k, v := range m {
53143		switch k {
53144		default:
53145			if v != nil {
53146				var additionalProperties interface{}
53147				err = json.Unmarshal(*v, &additionalProperties)
53148				if err != nil {
53149					return err
53150				}
53151				if irrnr.AdditionalProperties == nil {
53152					irrnr.AdditionalProperties = make(map[string]interface{})
53153				}
53154				irrnr.AdditionalProperties[k] = additionalProperties
53155			}
53156		case "nodeName":
53157			if v != nil {
53158				var nodeName string
53159				err = json.Unmarshal(*v, &nodeName)
53160				if err != nil {
53161					return err
53162				}
53163				irrnr.NodeName = &nodeName
53164			}
53165		}
53166	}
53167
53168	return nil
53169}
53170
53171// IntegrationRuntimeResource integration runtime resource type.
53172type IntegrationRuntimeResource struct {
53173	autorest.Response `json:"-"`
53174	// Properties - Integration runtime properties.
53175	Properties BasicIntegrationRuntime `json:"properties,omitempty"`
53176	// ID - READ-ONLY; The resource identifier.
53177	ID *string `json:"id,omitempty"`
53178	// Name - READ-ONLY; The resource name.
53179	Name *string `json:"name,omitempty"`
53180	// Type - READ-ONLY; The resource type.
53181	Type *string `json:"type,omitempty"`
53182	// Etag - READ-ONLY; Etag identifies change in the resource.
53183	Etag *string `json:"etag,omitempty"`
53184}
53185
53186// MarshalJSON is the custom marshaler for IntegrationRuntimeResource.
53187func (irr IntegrationRuntimeResource) MarshalJSON() ([]byte, error) {
53188	objectMap := make(map[string]interface{})
53189	objectMap["properties"] = irr.Properties
53190	return json.Marshal(objectMap)
53191}
53192
53193// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeResource struct.
53194func (irr *IntegrationRuntimeResource) UnmarshalJSON(body []byte) error {
53195	var m map[string]*json.RawMessage
53196	err := json.Unmarshal(body, &m)
53197	if err != nil {
53198		return err
53199	}
53200	for k, v := range m {
53201		switch k {
53202		case "properties":
53203			if v != nil {
53204				properties, err := unmarshalBasicIntegrationRuntime(*v)
53205				if err != nil {
53206					return err
53207				}
53208				irr.Properties = properties
53209			}
53210		case "id":
53211			if v != nil {
53212				var ID string
53213				err = json.Unmarshal(*v, &ID)
53214				if err != nil {
53215					return err
53216				}
53217				irr.ID = &ID
53218			}
53219		case "name":
53220			if v != nil {
53221				var name string
53222				err = json.Unmarshal(*v, &name)
53223				if err != nil {
53224					return err
53225				}
53226				irr.Name = &name
53227			}
53228		case "type":
53229			if v != nil {
53230				var typeVar string
53231				err = json.Unmarshal(*v, &typeVar)
53232				if err != nil {
53233					return err
53234				}
53235				irr.Type = &typeVar
53236			}
53237		case "etag":
53238			if v != nil {
53239				var etag string
53240				err = json.Unmarshal(*v, &etag)
53241				if err != nil {
53242					return err
53243				}
53244				irr.Etag = &etag
53245			}
53246		}
53247	}
53248
53249	return nil
53250}
53251
53252// IntegrationRuntimeSsisCatalogInfo catalog information for managed dedicated integration runtime.
53253type IntegrationRuntimeSsisCatalogInfo struct {
53254	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53255	AdditionalProperties map[string]interface{} `json:""`
53256	// CatalogServerEndpoint - The catalog database server URL.
53257	CatalogServerEndpoint *string `json:"catalogServerEndpoint,omitempty"`
53258	// CatalogAdminUserName - The administrator user name of catalog database.
53259	CatalogAdminUserName *string `json:"catalogAdminUserName,omitempty"`
53260	// CatalogAdminPassword - The password of the administrator user account of the catalog database.
53261	CatalogAdminPassword *SecureString `json:"catalogAdminPassword,omitempty"`
53262	// 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/
53263	CatalogPricingTier *string `json:"catalogPricingTier,omitempty"`
53264}
53265
53266// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisCatalogInfo.
53267func (irsci IntegrationRuntimeSsisCatalogInfo) MarshalJSON() ([]byte, error) {
53268	objectMap := make(map[string]interface{})
53269	if irsci.CatalogServerEndpoint != nil {
53270		objectMap["catalogServerEndpoint"] = irsci.CatalogServerEndpoint
53271	}
53272	if irsci.CatalogAdminUserName != nil {
53273		objectMap["catalogAdminUserName"] = irsci.CatalogAdminUserName
53274	}
53275	if irsci.CatalogAdminPassword != nil {
53276		objectMap["catalogAdminPassword"] = irsci.CatalogAdminPassword
53277	}
53278	if irsci.CatalogPricingTier != nil {
53279		objectMap["catalogPricingTier"] = irsci.CatalogPricingTier
53280	}
53281	for k, v := range irsci.AdditionalProperties {
53282		objectMap[k] = v
53283	}
53284	return json.Marshal(objectMap)
53285}
53286
53287// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisCatalogInfo struct.
53288func (irsci *IntegrationRuntimeSsisCatalogInfo) UnmarshalJSON(body []byte) error {
53289	var m map[string]*json.RawMessage
53290	err := json.Unmarshal(body, &m)
53291	if err != nil {
53292		return err
53293	}
53294	for k, v := range m {
53295		switch k {
53296		default:
53297			if v != nil {
53298				var additionalProperties interface{}
53299				err = json.Unmarshal(*v, &additionalProperties)
53300				if err != nil {
53301					return err
53302				}
53303				if irsci.AdditionalProperties == nil {
53304					irsci.AdditionalProperties = make(map[string]interface{})
53305				}
53306				irsci.AdditionalProperties[k] = additionalProperties
53307			}
53308		case "catalogServerEndpoint":
53309			if v != nil {
53310				var catalogServerEndpoint string
53311				err = json.Unmarshal(*v, &catalogServerEndpoint)
53312				if err != nil {
53313					return err
53314				}
53315				irsci.CatalogServerEndpoint = &catalogServerEndpoint
53316			}
53317		case "catalogAdminUserName":
53318			if v != nil {
53319				var catalogAdminUserName string
53320				err = json.Unmarshal(*v, &catalogAdminUserName)
53321				if err != nil {
53322					return err
53323				}
53324				irsci.CatalogAdminUserName = &catalogAdminUserName
53325			}
53326		case "catalogAdminPassword":
53327			if v != nil {
53328				var catalogAdminPassword SecureString
53329				err = json.Unmarshal(*v, &catalogAdminPassword)
53330				if err != nil {
53331					return err
53332				}
53333				irsci.CatalogAdminPassword = &catalogAdminPassword
53334			}
53335		case "catalogPricingTier":
53336			if v != nil {
53337				var catalogPricingTier string
53338				err = json.Unmarshal(*v, &catalogPricingTier)
53339				if err != nil {
53340					return err
53341				}
53342				irsci.CatalogPricingTier = &catalogPricingTier
53343			}
53344		}
53345	}
53346
53347	return nil
53348}
53349
53350// IntegrationRuntimeSsisProperties SSIS properties for managed integration runtime.
53351type IntegrationRuntimeSsisProperties struct {
53352	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53353	AdditionalProperties map[string]interface{} `json:""`
53354	// CatalogInfo - Catalog information for managed dedicated integration runtime.
53355	CatalogInfo *IntegrationRuntimeSsisCatalogInfo `json:"catalogInfo,omitempty"`
53356	// LicenseType - License type for bringing your own license scenario. Possible values include: 'BasePrice', 'LicenseIncluded'
53357	LicenseType IntegrationRuntimeLicenseType `json:"licenseType,omitempty"`
53358	// CustomSetupScriptProperties - Custom setup script properties for a managed dedicated integration runtime.
53359	CustomSetupScriptProperties *IntegrationRuntimeCustomSetupScriptProperties `json:"customSetupScriptProperties,omitempty"`
53360	// DataProxyProperties - Data proxy properties for a managed dedicated integration runtime.
53361	DataProxyProperties *IntegrationRuntimeDataProxyProperties `json:"dataProxyProperties,omitempty"`
53362	// Edition - The edition for the SSIS Integration Runtime. Possible values include: 'Standard', 'Enterprise'
53363	Edition IntegrationRuntimeEdition `json:"edition,omitempty"`
53364}
53365
53366// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisProperties.
53367func (irsp IntegrationRuntimeSsisProperties) MarshalJSON() ([]byte, error) {
53368	objectMap := make(map[string]interface{})
53369	if irsp.CatalogInfo != nil {
53370		objectMap["catalogInfo"] = irsp.CatalogInfo
53371	}
53372	if irsp.LicenseType != "" {
53373		objectMap["licenseType"] = irsp.LicenseType
53374	}
53375	if irsp.CustomSetupScriptProperties != nil {
53376		objectMap["customSetupScriptProperties"] = irsp.CustomSetupScriptProperties
53377	}
53378	if irsp.DataProxyProperties != nil {
53379		objectMap["dataProxyProperties"] = irsp.DataProxyProperties
53380	}
53381	if irsp.Edition != "" {
53382		objectMap["edition"] = irsp.Edition
53383	}
53384	for k, v := range irsp.AdditionalProperties {
53385		objectMap[k] = v
53386	}
53387	return json.Marshal(objectMap)
53388}
53389
53390// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisProperties struct.
53391func (irsp *IntegrationRuntimeSsisProperties) UnmarshalJSON(body []byte) error {
53392	var m map[string]*json.RawMessage
53393	err := json.Unmarshal(body, &m)
53394	if err != nil {
53395		return err
53396	}
53397	for k, v := range m {
53398		switch k {
53399		default:
53400			if v != nil {
53401				var additionalProperties interface{}
53402				err = json.Unmarshal(*v, &additionalProperties)
53403				if err != nil {
53404					return err
53405				}
53406				if irsp.AdditionalProperties == nil {
53407					irsp.AdditionalProperties = make(map[string]interface{})
53408				}
53409				irsp.AdditionalProperties[k] = additionalProperties
53410			}
53411		case "catalogInfo":
53412			if v != nil {
53413				var catalogInfo IntegrationRuntimeSsisCatalogInfo
53414				err = json.Unmarshal(*v, &catalogInfo)
53415				if err != nil {
53416					return err
53417				}
53418				irsp.CatalogInfo = &catalogInfo
53419			}
53420		case "licenseType":
53421			if v != nil {
53422				var licenseType IntegrationRuntimeLicenseType
53423				err = json.Unmarshal(*v, &licenseType)
53424				if err != nil {
53425					return err
53426				}
53427				irsp.LicenseType = licenseType
53428			}
53429		case "customSetupScriptProperties":
53430			if v != nil {
53431				var customSetupScriptProperties IntegrationRuntimeCustomSetupScriptProperties
53432				err = json.Unmarshal(*v, &customSetupScriptProperties)
53433				if err != nil {
53434					return err
53435				}
53436				irsp.CustomSetupScriptProperties = &customSetupScriptProperties
53437			}
53438		case "dataProxyProperties":
53439			if v != nil {
53440				var dataProxyProperties IntegrationRuntimeDataProxyProperties
53441				err = json.Unmarshal(*v, &dataProxyProperties)
53442				if err != nil {
53443					return err
53444				}
53445				irsp.DataProxyProperties = &dataProxyProperties
53446			}
53447		case "edition":
53448			if v != nil {
53449				var edition IntegrationRuntimeEdition
53450				err = json.Unmarshal(*v, &edition)
53451				if err != nil {
53452					return err
53453				}
53454				irsp.Edition = edition
53455			}
53456		}
53457	}
53458
53459	return nil
53460}
53461
53462// IntegrationRuntimesStartFuture an abstraction for monitoring and retrieving the results of a
53463// long-running operation.
53464type IntegrationRuntimesStartFuture struct {
53465	azure.FutureAPI
53466	// Result returns the result of the asynchronous operation.
53467	// If the operation has not completed it will return an error.
53468	Result func(IntegrationRuntimesClient) (IntegrationRuntimeStatusResponse, error)
53469}
53470
53471// IntegrationRuntimesStopFuture an abstraction for monitoring and retrieving the results of a long-running
53472// operation.
53473type IntegrationRuntimesStopFuture struct {
53474	azure.FutureAPI
53475	// Result returns the result of the asynchronous operation.
53476	// If the operation has not completed it will return an error.
53477	Result func(IntegrationRuntimesClient) (autorest.Response, error)
53478}
53479
53480// BasicIntegrationRuntimeStatus integration runtime status.
53481type BasicIntegrationRuntimeStatus interface {
53482	AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool)
53483	AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool)
53484	AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool)
53485}
53486
53487// IntegrationRuntimeStatus integration runtime status.
53488type IntegrationRuntimeStatus struct {
53489	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53490	AdditionalProperties map[string]interface{} `json:""`
53491	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
53492	DataFactoryName *string `json:"dataFactoryName,omitempty"`
53493	// State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline'
53494	State IntegrationRuntimeState `json:"state,omitempty"`
53495	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
53496	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
53497}
53498
53499func unmarshalBasicIntegrationRuntimeStatus(body []byte) (BasicIntegrationRuntimeStatus, error) {
53500	var m map[string]interface{}
53501	err := json.Unmarshal(body, &m)
53502	if err != nil {
53503		return nil, err
53504	}
53505
53506	switch m["type"] {
53507	case string(TypeBasicIntegrationRuntimeStatusTypeSelfHosted):
53508		var shirs SelfHostedIntegrationRuntimeStatus
53509		err := json.Unmarshal(body, &shirs)
53510		return shirs, err
53511	case string(TypeBasicIntegrationRuntimeStatusTypeManaged):
53512		var mirs ManagedIntegrationRuntimeStatus
53513		err := json.Unmarshal(body, &mirs)
53514		return mirs, err
53515	default:
53516		var irs IntegrationRuntimeStatus
53517		err := json.Unmarshal(body, &irs)
53518		return irs, err
53519	}
53520}
53521func unmarshalBasicIntegrationRuntimeStatusArray(body []byte) ([]BasicIntegrationRuntimeStatus, error) {
53522	var rawMessages []*json.RawMessage
53523	err := json.Unmarshal(body, &rawMessages)
53524	if err != nil {
53525		return nil, err
53526	}
53527
53528	irsArray := make([]BasicIntegrationRuntimeStatus, len(rawMessages))
53529
53530	for index, rawMessage := range rawMessages {
53531		irs, err := unmarshalBasicIntegrationRuntimeStatus(*rawMessage)
53532		if err != nil {
53533			return nil, err
53534		}
53535		irsArray[index] = irs
53536	}
53537	return irsArray, nil
53538}
53539
53540// MarshalJSON is the custom marshaler for IntegrationRuntimeStatus.
53541func (irs IntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
53542	irs.Type = TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus
53543	objectMap := make(map[string]interface{})
53544	if irs.Type != "" {
53545		objectMap["type"] = irs.Type
53546	}
53547	for k, v := range irs.AdditionalProperties {
53548		objectMap[k] = v
53549	}
53550	return json.Marshal(objectMap)
53551}
53552
53553// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
53554func (irs IntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
53555	return nil, false
53556}
53557
53558// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
53559func (irs IntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
53560	return nil, false
53561}
53562
53563// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
53564func (irs IntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
53565	return &irs, true
53566}
53567
53568// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
53569func (irs IntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
53570	return &irs, true
53571}
53572
53573// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatus struct.
53574func (irs *IntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
53575	var m map[string]*json.RawMessage
53576	err := json.Unmarshal(body, &m)
53577	if err != nil {
53578		return err
53579	}
53580	for k, v := range m {
53581		switch k {
53582		default:
53583			if v != nil {
53584				var additionalProperties interface{}
53585				err = json.Unmarshal(*v, &additionalProperties)
53586				if err != nil {
53587					return err
53588				}
53589				if irs.AdditionalProperties == nil {
53590					irs.AdditionalProperties = make(map[string]interface{})
53591				}
53592				irs.AdditionalProperties[k] = additionalProperties
53593			}
53594		case "dataFactoryName":
53595			if v != nil {
53596				var dataFactoryName string
53597				err = json.Unmarshal(*v, &dataFactoryName)
53598				if err != nil {
53599					return err
53600				}
53601				irs.DataFactoryName = &dataFactoryName
53602			}
53603		case "state":
53604			if v != nil {
53605				var state IntegrationRuntimeState
53606				err = json.Unmarshal(*v, &state)
53607				if err != nil {
53608					return err
53609				}
53610				irs.State = state
53611			}
53612		case "type":
53613			if v != nil {
53614				var typeVar TypeBasicIntegrationRuntimeStatus
53615				err = json.Unmarshal(*v, &typeVar)
53616				if err != nil {
53617					return err
53618				}
53619				irs.Type = typeVar
53620			}
53621		}
53622	}
53623
53624	return nil
53625}
53626
53627// IntegrationRuntimeStatusListResponse a list of integration runtime status.
53628type IntegrationRuntimeStatusListResponse struct {
53629	// Value - List of integration runtime status.
53630	Value *[]IntegrationRuntimeStatusResponse `json:"value,omitempty"`
53631	// NextLink - The link to the next page of results, if any remaining results exist.
53632	NextLink *string `json:"nextLink,omitempty"`
53633}
53634
53635// IntegrationRuntimeStatusResponse integration runtime status response.
53636type IntegrationRuntimeStatusResponse struct {
53637	autorest.Response `json:"-"`
53638	// Name - READ-ONLY; The integration runtime name.
53639	Name *string `json:"name,omitempty"`
53640	// Properties - Integration runtime properties.
53641	Properties BasicIntegrationRuntimeStatus `json:"properties,omitempty"`
53642}
53643
53644// MarshalJSON is the custom marshaler for IntegrationRuntimeStatusResponse.
53645func (irsr IntegrationRuntimeStatusResponse) MarshalJSON() ([]byte, error) {
53646	objectMap := make(map[string]interface{})
53647	objectMap["properties"] = irsr.Properties
53648	return json.Marshal(objectMap)
53649}
53650
53651// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatusResponse struct.
53652func (irsr *IntegrationRuntimeStatusResponse) UnmarshalJSON(body []byte) error {
53653	var m map[string]*json.RawMessage
53654	err := json.Unmarshal(body, &m)
53655	if err != nil {
53656		return err
53657	}
53658	for k, v := range m {
53659		switch k {
53660		case "name":
53661			if v != nil {
53662				var name string
53663				err = json.Unmarshal(*v, &name)
53664				if err != nil {
53665					return err
53666				}
53667				irsr.Name = &name
53668			}
53669		case "properties":
53670			if v != nil {
53671				properties, err := unmarshalBasicIntegrationRuntimeStatus(*v)
53672				if err != nil {
53673					return err
53674				}
53675				irsr.Properties = properties
53676			}
53677		}
53678	}
53679
53680	return nil
53681}
53682
53683// IntegrationRuntimeVNetProperties vNet properties for managed integration runtime.
53684type IntegrationRuntimeVNetProperties struct {
53685	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53686	AdditionalProperties map[string]interface{} `json:""`
53687	// VNetID - The ID of the VNet that this integration runtime will join.
53688	VNetID *string `json:"vNetId,omitempty"`
53689	// Subnet - The name of the subnet this integration runtime will join.
53690	Subnet *string `json:"subnet,omitempty"`
53691}
53692
53693// MarshalJSON is the custom marshaler for IntegrationRuntimeVNetProperties.
53694func (irvnp IntegrationRuntimeVNetProperties) MarshalJSON() ([]byte, error) {
53695	objectMap := make(map[string]interface{})
53696	if irvnp.VNetID != nil {
53697		objectMap["vNetId"] = irvnp.VNetID
53698	}
53699	if irvnp.Subnet != nil {
53700		objectMap["subnet"] = irvnp.Subnet
53701	}
53702	for k, v := range irvnp.AdditionalProperties {
53703		objectMap[k] = v
53704	}
53705	return json.Marshal(objectMap)
53706}
53707
53708// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeVNetProperties struct.
53709func (irvnp *IntegrationRuntimeVNetProperties) 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		default:
53718			if v != nil {
53719				var additionalProperties interface{}
53720				err = json.Unmarshal(*v, &additionalProperties)
53721				if err != nil {
53722					return err
53723				}
53724				if irvnp.AdditionalProperties == nil {
53725					irvnp.AdditionalProperties = make(map[string]interface{})
53726				}
53727				irvnp.AdditionalProperties[k] = additionalProperties
53728			}
53729		case "vNetId":
53730			if v != nil {
53731				var vNetID string
53732				err = json.Unmarshal(*v, &vNetID)
53733				if err != nil {
53734					return err
53735				}
53736				irvnp.VNetID = &vNetID
53737			}
53738		case "subnet":
53739			if v != nil {
53740				var subnet string
53741				err = json.Unmarshal(*v, &subnet)
53742				if err != nil {
53743					return err
53744				}
53745				irvnp.Subnet = &subnet
53746			}
53747		}
53748	}
53749
53750	return nil
53751}
53752
53753// JiraLinkedService jira Service linked service.
53754type JiraLinkedService struct {
53755	// JiraLinkedServiceTypeProperties - Jira Service linked service properties.
53756	*JiraLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
53757	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53758	AdditionalProperties map[string]interface{} `json:""`
53759	// ConnectVia - The integration runtime reference.
53760	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
53761	// Description - Linked service description.
53762	Description *string `json:"description,omitempty"`
53763	// Parameters - Parameters for linked service.
53764	Parameters map[string]*ParameterSpecification `json:"parameters"`
53765	// Annotations - List of tags that can be used for describing the Dataset.
53766	Annotations *[]interface{} `json:"annotations,omitempty"`
53767	// 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'
53768	Type TypeBasicLinkedService `json:"type,omitempty"`
53769}
53770
53771// MarshalJSON is the custom marshaler for JiraLinkedService.
53772func (jls JiraLinkedService) MarshalJSON() ([]byte, error) {
53773	jls.Type = TypeJira
53774	objectMap := make(map[string]interface{})
53775	if jls.JiraLinkedServiceTypeProperties != nil {
53776		objectMap["typeProperties"] = jls.JiraLinkedServiceTypeProperties
53777	}
53778	if jls.ConnectVia != nil {
53779		objectMap["connectVia"] = jls.ConnectVia
53780	}
53781	if jls.Description != nil {
53782		objectMap["description"] = jls.Description
53783	}
53784	if jls.Parameters != nil {
53785		objectMap["parameters"] = jls.Parameters
53786	}
53787	if jls.Annotations != nil {
53788		objectMap["annotations"] = jls.Annotations
53789	}
53790	if jls.Type != "" {
53791		objectMap["type"] = jls.Type
53792	}
53793	for k, v := range jls.AdditionalProperties {
53794		objectMap[k] = v
53795	}
53796	return json.Marshal(objectMap)
53797}
53798
53799// AsResponsysLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53800func (jls JiraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
53801	return nil, false
53802}
53803
53804// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53805func (jls JiraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
53806	return nil, false
53807}
53808
53809// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53810func (jls JiraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
53811	return nil, false
53812}
53813
53814// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53815func (jls JiraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
53816	return nil, false
53817}
53818
53819// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53820func (jls JiraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
53821	return nil, false
53822}
53823
53824// AsNetezzaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53825func (jls JiraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
53826	return nil, false
53827}
53828
53829// AsVerticaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53830func (jls JiraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
53831	return nil, false
53832}
53833
53834// AsZohoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53835func (jls JiraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
53836	return nil, false
53837}
53838
53839// AsXeroLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53840func (jls JiraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
53841	return nil, false
53842}
53843
53844// AsSquareLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53845func (jls JiraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
53846	return nil, false
53847}
53848
53849// AsSparkLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53850func (jls JiraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
53851	return nil, false
53852}
53853
53854// AsShopifyLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53855func (jls JiraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
53856	return nil, false
53857}
53858
53859// AsServiceNowLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53860func (jls JiraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
53861	return nil, false
53862}
53863
53864// AsQuickBooksLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53865func (jls JiraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
53866	return nil, false
53867}
53868
53869// AsPrestoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53870func (jls JiraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
53871	return nil, false
53872}
53873
53874// AsPhoenixLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53875func (jls JiraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
53876	return nil, false
53877}
53878
53879// AsPaypalLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53880func (jls JiraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
53881	return nil, false
53882}
53883
53884// AsMarketoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53885func (jls JiraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
53886	return nil, false
53887}
53888
53889// AsMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53890func (jls JiraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
53891	return nil, false
53892}
53893
53894// AsMagentoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53895func (jls JiraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
53896	return nil, false
53897}
53898
53899// AsJiraLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53900func (jls JiraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
53901	return &jls, true
53902}
53903
53904// AsImpalaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53905func (jls JiraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
53906	return nil, false
53907}
53908
53909// AsHubspotLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53910func (jls JiraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
53911	return nil, false
53912}
53913
53914// AsHiveLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53915func (jls JiraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
53916	return nil, false
53917}
53918
53919// AsHBaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53920func (jls JiraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
53921	return nil, false
53922}
53923
53924// AsGreenplumLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53925func (jls JiraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
53926	return nil, false
53927}
53928
53929// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53930func (jls JiraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
53931	return nil, false
53932}
53933
53934// AsEloquaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53935func (jls JiraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
53936	return nil, false
53937}
53938
53939// AsDrillLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53940func (jls JiraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
53941	return nil, false
53942}
53943
53944// AsCouchbaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53945func (jls JiraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
53946	return nil, false
53947}
53948
53949// AsConcurLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53950func (jls JiraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
53951	return nil, false
53952}
53953
53954// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53955func (jls JiraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
53956	return nil, false
53957}
53958
53959// AsAmazonMWSLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53960func (jls JiraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
53961	return nil, false
53962}
53963
53964// AsSapHanaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53965func (jls JiraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
53966	return nil, false
53967}
53968
53969// AsSapBWLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53970func (jls JiraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
53971	return nil, false
53972}
53973
53974// AsSftpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53975func (jls JiraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
53976	return nil, false
53977}
53978
53979// AsFtpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53980func (jls JiraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
53981	return nil, false
53982}
53983
53984// AsHTTPLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53985func (jls JiraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
53986	return nil, false
53987}
53988
53989// AsAzureSearchLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53990func (jls JiraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
53991	return nil, false
53992}
53993
53994// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
53995func (jls JiraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
53996	return nil, false
53997}
53998
53999// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54000func (jls JiraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
54001	return nil, false
54002}
54003
54004// AsAmazonS3LinkedService is the BasicLinkedService implementation for JiraLinkedService.
54005func (jls JiraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
54006	return nil, false
54007}
54008
54009// AsSapEccLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54010func (jls JiraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
54011	return nil, false
54012}
54013
54014// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54015func (jls JiraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
54016	return nil, false
54017}
54018
54019// AsSalesforceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54020func (jls JiraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
54021	return nil, false
54022}
54023
54024// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54025func (jls JiraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
54026	return nil, false
54027}
54028
54029// AsMongoDbLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54030func (jls JiraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
54031	return nil, false
54032}
54033
54034// AsCassandraLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54035func (jls JiraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
54036	return nil, false
54037}
54038
54039// AsWebLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54040func (jls JiraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
54041	return nil, false
54042}
54043
54044// AsODataLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54045func (jls JiraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
54046	return nil, false
54047}
54048
54049// AsHdfsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54050func (jls JiraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
54051	return nil, false
54052}
54053
54054// AsOdbcLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54055func (jls JiraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
54056	return nil, false
54057}
54058
54059// AsAzureMLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54060func (jls JiraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
54061	return nil, false
54062}
54063
54064// AsTeradataLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54065func (jls JiraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
54066	return nil, false
54067}
54068
54069// AsDb2LinkedService is the BasicLinkedService implementation for JiraLinkedService.
54070func (jls JiraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
54071	return nil, false
54072}
54073
54074// AsSybaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54075func (jls JiraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
54076	return nil, false
54077}
54078
54079// AsPostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54080func (jls JiraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
54081	return nil, false
54082}
54083
54084// AsMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54085func (jls JiraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
54086	return nil, false
54087}
54088
54089// AsAzureMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54090func (jls JiraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
54091	return nil, false
54092}
54093
54094// AsOracleLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54095func (jls JiraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
54096	return nil, false
54097}
54098
54099// AsFileServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54100func (jls JiraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
54101	return nil, false
54102}
54103
54104// AsHDInsightLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54105func (jls JiraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
54106	return nil, false
54107}
54108
54109// AsDynamicsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54110func (jls JiraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
54111	return nil, false
54112}
54113
54114// AsCosmosDbLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54115func (jls JiraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
54116	return nil, false
54117}
54118
54119// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54120func (jls JiraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
54121	return nil, false
54122}
54123
54124// AsAzureBatchLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54125func (jls JiraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
54126	return nil, false
54127}
54128
54129// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54130func (jls JiraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
54131	return nil, false
54132}
54133
54134// AsSQLServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54135func (jls JiraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
54136	return nil, false
54137}
54138
54139// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54140func (jls JiraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
54141	return nil, false
54142}
54143
54144// AsAzureStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54145func (jls JiraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
54146	return nil, false
54147}
54148
54149// AsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54150func (jls JiraLinkedService) AsLinkedService() (*LinkedService, bool) {
54151	return nil, false
54152}
54153
54154// AsBasicLinkedService is the BasicLinkedService implementation for JiraLinkedService.
54155func (jls JiraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
54156	return &jls, true
54157}
54158
54159// UnmarshalJSON is the custom unmarshaler for JiraLinkedService struct.
54160func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error {
54161	var m map[string]*json.RawMessage
54162	err := json.Unmarshal(body, &m)
54163	if err != nil {
54164		return err
54165	}
54166	for k, v := range m {
54167		switch k {
54168		case "typeProperties":
54169			if v != nil {
54170				var jiraLinkedServiceTypeProperties JiraLinkedServiceTypeProperties
54171				err = json.Unmarshal(*v, &jiraLinkedServiceTypeProperties)
54172				if err != nil {
54173					return err
54174				}
54175				jls.JiraLinkedServiceTypeProperties = &jiraLinkedServiceTypeProperties
54176			}
54177		default:
54178			if v != nil {
54179				var additionalProperties interface{}
54180				err = json.Unmarshal(*v, &additionalProperties)
54181				if err != nil {
54182					return err
54183				}
54184				if jls.AdditionalProperties == nil {
54185					jls.AdditionalProperties = make(map[string]interface{})
54186				}
54187				jls.AdditionalProperties[k] = additionalProperties
54188			}
54189		case "connectVia":
54190			if v != nil {
54191				var connectVia IntegrationRuntimeReference
54192				err = json.Unmarshal(*v, &connectVia)
54193				if err != nil {
54194					return err
54195				}
54196				jls.ConnectVia = &connectVia
54197			}
54198		case "description":
54199			if v != nil {
54200				var description string
54201				err = json.Unmarshal(*v, &description)
54202				if err != nil {
54203					return err
54204				}
54205				jls.Description = &description
54206			}
54207		case "parameters":
54208			if v != nil {
54209				var parameters map[string]*ParameterSpecification
54210				err = json.Unmarshal(*v, &parameters)
54211				if err != nil {
54212					return err
54213				}
54214				jls.Parameters = parameters
54215			}
54216		case "annotations":
54217			if v != nil {
54218				var annotations []interface{}
54219				err = json.Unmarshal(*v, &annotations)
54220				if err != nil {
54221					return err
54222				}
54223				jls.Annotations = &annotations
54224			}
54225		case "type":
54226			if v != nil {
54227				var typeVar TypeBasicLinkedService
54228				err = json.Unmarshal(*v, &typeVar)
54229				if err != nil {
54230					return err
54231				}
54232				jls.Type = typeVar
54233			}
54234		}
54235	}
54236
54237	return nil
54238}
54239
54240// JiraLinkedServiceTypeProperties jira Service linked service properties.
54241type JiraLinkedServiceTypeProperties struct {
54242	// Host - The IP address or host name of the Jira service. (e.g. jira.example.com)
54243	Host interface{} `json:"host,omitempty"`
54244	// 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.
54245	Port interface{} `json:"port,omitempty"`
54246	// Username - The user name that you use to access Jira Service.
54247	Username interface{} `json:"username,omitempty"`
54248	// Password - The password corresponding to the user name that you provided in the username field.
54249	Password BasicSecretBase `json:"password,omitempty"`
54250	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
54251	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
54252	// 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.
54253	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
54254	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
54255	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
54256	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
54257	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
54258}
54259
54260// UnmarshalJSON is the custom unmarshaler for JiraLinkedServiceTypeProperties struct.
54261func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
54262	var m map[string]*json.RawMessage
54263	err := json.Unmarshal(body, &m)
54264	if err != nil {
54265		return err
54266	}
54267	for k, v := range m {
54268		switch k {
54269		case "host":
54270			if v != nil {
54271				var host interface{}
54272				err = json.Unmarshal(*v, &host)
54273				if err != nil {
54274					return err
54275				}
54276				jlstp.Host = host
54277			}
54278		case "port":
54279			if v != nil {
54280				var port interface{}
54281				err = json.Unmarshal(*v, &port)
54282				if err != nil {
54283					return err
54284				}
54285				jlstp.Port = port
54286			}
54287		case "username":
54288			if v != nil {
54289				var username interface{}
54290				err = json.Unmarshal(*v, &username)
54291				if err != nil {
54292					return err
54293				}
54294				jlstp.Username = username
54295			}
54296		case "password":
54297			if v != nil {
54298				password, err := unmarshalBasicSecretBase(*v)
54299				if err != nil {
54300					return err
54301				}
54302				jlstp.Password = password
54303			}
54304		case "useEncryptedEndpoints":
54305			if v != nil {
54306				var useEncryptedEndpoints interface{}
54307				err = json.Unmarshal(*v, &useEncryptedEndpoints)
54308				if err != nil {
54309					return err
54310				}
54311				jlstp.UseEncryptedEndpoints = useEncryptedEndpoints
54312			}
54313		case "useHostVerification":
54314			if v != nil {
54315				var useHostVerification interface{}
54316				err = json.Unmarshal(*v, &useHostVerification)
54317				if err != nil {
54318					return err
54319				}
54320				jlstp.UseHostVerification = useHostVerification
54321			}
54322		case "usePeerVerification":
54323			if v != nil {
54324				var usePeerVerification interface{}
54325				err = json.Unmarshal(*v, &usePeerVerification)
54326				if err != nil {
54327					return err
54328				}
54329				jlstp.UsePeerVerification = usePeerVerification
54330			}
54331		case "encryptedCredential":
54332			if v != nil {
54333				var encryptedCredential interface{}
54334				err = json.Unmarshal(*v, &encryptedCredential)
54335				if err != nil {
54336					return err
54337				}
54338				jlstp.EncryptedCredential = encryptedCredential
54339			}
54340		}
54341	}
54342
54343	return nil
54344}
54345
54346// JiraObjectDataset jira Service dataset.
54347type JiraObjectDataset struct {
54348	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54349	AdditionalProperties map[string]interface{} `json:""`
54350	// Description - Dataset description.
54351	Description *string `json:"description,omitempty"`
54352	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
54353	Structure interface{} `json:"structure,omitempty"`
54354	// LinkedServiceName - Linked service reference.
54355	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
54356	// Parameters - Parameters for dataset.
54357	Parameters map[string]*ParameterSpecification `json:"parameters"`
54358	// Annotations - List of tags that can be used for describing the Dataset.
54359	Annotations *[]interface{} `json:"annotations,omitempty"`
54360	// 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'
54361	Type TypeBasicDataset `json:"type,omitempty"`
54362}
54363
54364// MarshalJSON is the custom marshaler for JiraObjectDataset.
54365func (jod JiraObjectDataset) MarshalJSON() ([]byte, error) {
54366	jod.Type = TypeJiraObject
54367	objectMap := make(map[string]interface{})
54368	if jod.Description != nil {
54369		objectMap["description"] = jod.Description
54370	}
54371	if jod.Structure != nil {
54372		objectMap["structure"] = jod.Structure
54373	}
54374	if jod.LinkedServiceName != nil {
54375		objectMap["linkedServiceName"] = jod.LinkedServiceName
54376	}
54377	if jod.Parameters != nil {
54378		objectMap["parameters"] = jod.Parameters
54379	}
54380	if jod.Annotations != nil {
54381		objectMap["annotations"] = jod.Annotations
54382	}
54383	if jod.Type != "" {
54384		objectMap["type"] = jod.Type
54385	}
54386	for k, v := range jod.AdditionalProperties {
54387		objectMap[k] = v
54388	}
54389	return json.Marshal(objectMap)
54390}
54391
54392// AsResponsysObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54393func (jod JiraObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
54394	return nil, false
54395}
54396
54397// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54398func (jod JiraObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
54399	return nil, false
54400}
54401
54402// AsVerticaTableDataset is the BasicDataset implementation for JiraObjectDataset.
54403func (jod JiraObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
54404	return nil, false
54405}
54406
54407// AsNetezzaTableDataset is the BasicDataset implementation for JiraObjectDataset.
54408func (jod JiraObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
54409	return nil, false
54410}
54411
54412// AsZohoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54413func (jod JiraObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
54414	return nil, false
54415}
54416
54417// AsXeroObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54418func (jod JiraObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
54419	return nil, false
54420}
54421
54422// AsSquareObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54423func (jod JiraObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
54424	return nil, false
54425}
54426
54427// AsSparkObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54428func (jod JiraObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
54429	return nil, false
54430}
54431
54432// AsShopifyObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54433func (jod JiraObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
54434	return nil, false
54435}
54436
54437// AsServiceNowObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54438func (jod JiraObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
54439	return nil, false
54440}
54441
54442// AsQuickBooksObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54443func (jod JiraObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
54444	return nil, false
54445}
54446
54447// AsPrestoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54448func (jod JiraObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
54449	return nil, false
54450}
54451
54452// AsPhoenixObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54453func (jod JiraObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
54454	return nil, false
54455}
54456
54457// AsPaypalObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54458func (jod JiraObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
54459	return nil, false
54460}
54461
54462// AsMarketoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54463func (jod JiraObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
54464	return nil, false
54465}
54466
54467// AsMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset.
54468func (jod JiraObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
54469	return nil, false
54470}
54471
54472// AsMagentoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54473func (jod JiraObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
54474	return nil, false
54475}
54476
54477// AsJiraObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54478func (jod JiraObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
54479	return &jod, true
54480}
54481
54482// AsImpalaObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54483func (jod JiraObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
54484	return nil, false
54485}
54486
54487// AsHubspotObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54488func (jod JiraObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
54489	return nil, false
54490}
54491
54492// AsHiveObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54493func (jod JiraObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
54494	return nil, false
54495}
54496
54497// AsHBaseObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54498func (jod JiraObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
54499	return nil, false
54500}
54501
54502// AsGreenplumTableDataset is the BasicDataset implementation for JiraObjectDataset.
54503func (jod JiraObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
54504	return nil, false
54505}
54506
54507// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54508func (jod JiraObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
54509	return nil, false
54510}
54511
54512// AsEloquaObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54513func (jod JiraObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
54514	return nil, false
54515}
54516
54517// AsDrillTableDataset is the BasicDataset implementation for JiraObjectDataset.
54518func (jod JiraObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
54519	return nil, false
54520}
54521
54522// AsCouchbaseTableDataset is the BasicDataset implementation for JiraObjectDataset.
54523func (jod JiraObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
54524	return nil, false
54525}
54526
54527// AsConcurObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54528func (jod JiraObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
54529	return nil, false
54530}
54531
54532// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
54533func (jod JiraObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
54534	return nil, false
54535}
54536
54537// AsAmazonMWSObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54538func (jod JiraObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
54539	return nil, false
54540}
54541
54542// AsHTTPDataset is the BasicDataset implementation for JiraObjectDataset.
54543func (jod JiraObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
54544	return nil, false
54545}
54546
54547// AsAzureSearchIndexDataset is the BasicDataset implementation for JiraObjectDataset.
54548func (jod JiraObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
54549	return nil, false
54550}
54551
54552// AsWebTableDataset is the BasicDataset implementation for JiraObjectDataset.
54553func (jod JiraObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
54554	return nil, false
54555}
54556
54557// AsSQLServerTableDataset is the BasicDataset implementation for JiraObjectDataset.
54558func (jod JiraObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
54559	return nil, false
54560}
54561
54562// AsSapEccResourceDataset is the BasicDataset implementation for JiraObjectDataset.
54563func (jod JiraObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
54564	return nil, false
54565}
54566
54567// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JiraObjectDataset.
54568func (jod JiraObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
54569	return nil, false
54570}
54571
54572// AsSalesforceObjectDataset is the BasicDataset implementation for JiraObjectDataset.
54573func (jod JiraObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
54574	return nil, false
54575}
54576
54577// AsRelationalTableDataset is the BasicDataset implementation for JiraObjectDataset.
54578func (jod JiraObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
54579	return nil, false
54580}
54581
54582// AsAzureMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
54583func (jod JiraObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
54584	return nil, false
54585}
54586
54587// AsOracleTableDataset is the BasicDataset implementation for JiraObjectDataset.
54588func (jod JiraObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
54589	return nil, false
54590}
54591
54592// AsODataResourceDataset is the BasicDataset implementation for JiraObjectDataset.
54593func (jod JiraObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
54594	return nil, false
54595}
54596
54597// AsMongoDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset.
54598func (jod JiraObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
54599	return nil, false
54600}
54601
54602// AsFileShareDataset is the BasicDataset implementation for JiraObjectDataset.
54603func (jod JiraObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
54604	return nil, false
54605}
54606
54607// AsAzureDataLakeStoreDataset is the BasicDataset implementation for JiraObjectDataset.
54608func (jod JiraObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
54609	return nil, false
54610}
54611
54612// AsDynamicsEntityDataset is the BasicDataset implementation for JiraObjectDataset.
54613func (jod JiraObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
54614	return nil, false
54615}
54616
54617// AsDocumentDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset.
54618func (jod JiraObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
54619	return nil, false
54620}
54621
54622// AsCustomDataset is the BasicDataset implementation for JiraObjectDataset.
54623func (jod JiraObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
54624	return nil, false
54625}
54626
54627// AsCassandraTableDataset is the BasicDataset implementation for JiraObjectDataset.
54628func (jod JiraObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
54629	return nil, false
54630}
54631
54632// AsAzureSQLDWTableDataset is the BasicDataset implementation for JiraObjectDataset.
54633func (jod JiraObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
54634	return nil, false
54635}
54636
54637// AsAzureSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
54638func (jod JiraObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
54639	return nil, false
54640}
54641
54642// AsAzureTableDataset is the BasicDataset implementation for JiraObjectDataset.
54643func (jod JiraObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
54644	return nil, false
54645}
54646
54647// AsAzureBlobDataset is the BasicDataset implementation for JiraObjectDataset.
54648func (jod JiraObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
54649	return nil, false
54650}
54651
54652// AsAmazonS3Dataset is the BasicDataset implementation for JiraObjectDataset.
54653func (jod JiraObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
54654	return nil, false
54655}
54656
54657// AsDataset is the BasicDataset implementation for JiraObjectDataset.
54658func (jod JiraObjectDataset) AsDataset() (*Dataset, bool) {
54659	return nil, false
54660}
54661
54662// AsBasicDataset is the BasicDataset implementation for JiraObjectDataset.
54663func (jod JiraObjectDataset) AsBasicDataset() (BasicDataset, bool) {
54664	return &jod, true
54665}
54666
54667// UnmarshalJSON is the custom unmarshaler for JiraObjectDataset struct.
54668func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error {
54669	var m map[string]*json.RawMessage
54670	err := json.Unmarshal(body, &m)
54671	if err != nil {
54672		return err
54673	}
54674	for k, v := range m {
54675		switch k {
54676		default:
54677			if v != nil {
54678				var additionalProperties interface{}
54679				err = json.Unmarshal(*v, &additionalProperties)
54680				if err != nil {
54681					return err
54682				}
54683				if jod.AdditionalProperties == nil {
54684					jod.AdditionalProperties = make(map[string]interface{})
54685				}
54686				jod.AdditionalProperties[k] = additionalProperties
54687			}
54688		case "description":
54689			if v != nil {
54690				var description string
54691				err = json.Unmarshal(*v, &description)
54692				if err != nil {
54693					return err
54694				}
54695				jod.Description = &description
54696			}
54697		case "structure":
54698			if v != nil {
54699				var structure interface{}
54700				err = json.Unmarshal(*v, &structure)
54701				if err != nil {
54702					return err
54703				}
54704				jod.Structure = structure
54705			}
54706		case "linkedServiceName":
54707			if v != nil {
54708				var linkedServiceName LinkedServiceReference
54709				err = json.Unmarshal(*v, &linkedServiceName)
54710				if err != nil {
54711					return err
54712				}
54713				jod.LinkedServiceName = &linkedServiceName
54714			}
54715		case "parameters":
54716			if v != nil {
54717				var parameters map[string]*ParameterSpecification
54718				err = json.Unmarshal(*v, &parameters)
54719				if err != nil {
54720					return err
54721				}
54722				jod.Parameters = parameters
54723			}
54724		case "annotations":
54725			if v != nil {
54726				var annotations []interface{}
54727				err = json.Unmarshal(*v, &annotations)
54728				if err != nil {
54729					return err
54730				}
54731				jod.Annotations = &annotations
54732			}
54733		case "type":
54734			if v != nil {
54735				var typeVar TypeBasicDataset
54736				err = json.Unmarshal(*v, &typeVar)
54737				if err != nil {
54738					return err
54739				}
54740				jod.Type = typeVar
54741			}
54742		}
54743	}
54744
54745	return nil
54746}
54747
54748// JiraSource a copy activity Jira Service source.
54749type JiraSource struct {
54750	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
54751	Query interface{} `json:"query,omitempty"`
54752	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54753	AdditionalProperties map[string]interface{} `json:""`
54754	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
54755	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
54756	// 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])).
54757	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
54758	// 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'
54759	Type TypeBasicCopySource `json:"type,omitempty"`
54760}
54761
54762// MarshalJSON is the custom marshaler for JiraSource.
54763func (js JiraSource) MarshalJSON() ([]byte, error) {
54764	js.Type = TypeJiraSource
54765	objectMap := make(map[string]interface{})
54766	if js.Query != nil {
54767		objectMap["query"] = js.Query
54768	}
54769	if js.SourceRetryCount != nil {
54770		objectMap["sourceRetryCount"] = js.SourceRetryCount
54771	}
54772	if js.SourceRetryWait != nil {
54773		objectMap["sourceRetryWait"] = js.SourceRetryWait
54774	}
54775	if js.Type != "" {
54776		objectMap["type"] = js.Type
54777	}
54778	for k, v := range js.AdditionalProperties {
54779		objectMap[k] = v
54780	}
54781	return json.Marshal(objectMap)
54782}
54783
54784// AsAmazonRedshiftSource is the BasicCopySource implementation for JiraSource.
54785func (js JiraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
54786	return nil, false
54787}
54788
54789// AsResponsysSource is the BasicCopySource implementation for JiraSource.
54790func (js JiraSource) AsResponsysSource() (*ResponsysSource, bool) {
54791	return nil, false
54792}
54793
54794// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JiraSource.
54795func (js JiraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
54796	return nil, false
54797}
54798
54799// AsVerticaSource is the BasicCopySource implementation for JiraSource.
54800func (js JiraSource) AsVerticaSource() (*VerticaSource, bool) {
54801	return nil, false
54802}
54803
54804// AsNetezzaSource is the BasicCopySource implementation for JiraSource.
54805func (js JiraSource) AsNetezzaSource() (*NetezzaSource, bool) {
54806	return nil, false
54807}
54808
54809// AsZohoSource is the BasicCopySource implementation for JiraSource.
54810func (js JiraSource) AsZohoSource() (*ZohoSource, bool) {
54811	return nil, false
54812}
54813
54814// AsXeroSource is the BasicCopySource implementation for JiraSource.
54815func (js JiraSource) AsXeroSource() (*XeroSource, bool) {
54816	return nil, false
54817}
54818
54819// AsSquareSource is the BasicCopySource implementation for JiraSource.
54820func (js JiraSource) AsSquareSource() (*SquareSource, bool) {
54821	return nil, false
54822}
54823
54824// AsSparkSource is the BasicCopySource implementation for JiraSource.
54825func (js JiraSource) AsSparkSource() (*SparkSource, bool) {
54826	return nil, false
54827}
54828
54829// AsShopifySource is the BasicCopySource implementation for JiraSource.
54830func (js JiraSource) AsShopifySource() (*ShopifySource, bool) {
54831	return nil, false
54832}
54833
54834// AsServiceNowSource is the BasicCopySource implementation for JiraSource.
54835func (js JiraSource) AsServiceNowSource() (*ServiceNowSource, bool) {
54836	return nil, false
54837}
54838
54839// AsQuickBooksSource is the BasicCopySource implementation for JiraSource.
54840func (js JiraSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
54841	return nil, false
54842}
54843
54844// AsPrestoSource is the BasicCopySource implementation for JiraSource.
54845func (js JiraSource) AsPrestoSource() (*PrestoSource, bool) {
54846	return nil, false
54847}
54848
54849// AsPhoenixSource is the BasicCopySource implementation for JiraSource.
54850func (js JiraSource) AsPhoenixSource() (*PhoenixSource, bool) {
54851	return nil, false
54852}
54853
54854// AsPaypalSource is the BasicCopySource implementation for JiraSource.
54855func (js JiraSource) AsPaypalSource() (*PaypalSource, bool) {
54856	return nil, false
54857}
54858
54859// AsMarketoSource is the BasicCopySource implementation for JiraSource.
54860func (js JiraSource) AsMarketoSource() (*MarketoSource, bool) {
54861	return nil, false
54862}
54863
54864// AsMariaDBSource is the BasicCopySource implementation for JiraSource.
54865func (js JiraSource) AsMariaDBSource() (*MariaDBSource, bool) {
54866	return nil, false
54867}
54868
54869// AsMagentoSource is the BasicCopySource implementation for JiraSource.
54870func (js JiraSource) AsMagentoSource() (*MagentoSource, bool) {
54871	return nil, false
54872}
54873
54874// AsJiraSource is the BasicCopySource implementation for JiraSource.
54875func (js JiraSource) AsJiraSource() (*JiraSource, bool) {
54876	return &js, true
54877}
54878
54879// AsImpalaSource is the BasicCopySource implementation for JiraSource.
54880func (js JiraSource) AsImpalaSource() (*ImpalaSource, bool) {
54881	return nil, false
54882}
54883
54884// AsHubspotSource is the BasicCopySource implementation for JiraSource.
54885func (js JiraSource) AsHubspotSource() (*HubspotSource, bool) {
54886	return nil, false
54887}
54888
54889// AsHiveSource is the BasicCopySource implementation for JiraSource.
54890func (js JiraSource) AsHiveSource() (*HiveSource, bool) {
54891	return nil, false
54892}
54893
54894// AsHBaseSource is the BasicCopySource implementation for JiraSource.
54895func (js JiraSource) AsHBaseSource() (*HBaseSource, bool) {
54896	return nil, false
54897}
54898
54899// AsGreenplumSource is the BasicCopySource implementation for JiraSource.
54900func (js JiraSource) AsGreenplumSource() (*GreenplumSource, bool) {
54901	return nil, false
54902}
54903
54904// AsGoogleBigQuerySource is the BasicCopySource implementation for JiraSource.
54905func (js JiraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
54906	return nil, false
54907}
54908
54909// AsEloquaSource is the BasicCopySource implementation for JiraSource.
54910func (js JiraSource) AsEloquaSource() (*EloquaSource, bool) {
54911	return nil, false
54912}
54913
54914// AsDrillSource is the BasicCopySource implementation for JiraSource.
54915func (js JiraSource) AsDrillSource() (*DrillSource, bool) {
54916	return nil, false
54917}
54918
54919// AsCouchbaseSource is the BasicCopySource implementation for JiraSource.
54920func (js JiraSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
54921	return nil, false
54922}
54923
54924// AsConcurSource is the BasicCopySource implementation for JiraSource.
54925func (js JiraSource) AsConcurSource() (*ConcurSource, bool) {
54926	return nil, false
54927}
54928
54929// AsAzurePostgreSQLSource is the BasicCopySource implementation for JiraSource.
54930func (js JiraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
54931	return nil, false
54932}
54933
54934// AsAmazonMWSSource is the BasicCopySource implementation for JiraSource.
54935func (js JiraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
54936	return nil, false
54937}
54938
54939// AsHTTPSource is the BasicCopySource implementation for JiraSource.
54940func (js JiraSource) AsHTTPSource() (*HTTPSource, bool) {
54941	return nil, false
54942}
54943
54944// AsAzureDataLakeStoreSource is the BasicCopySource implementation for JiraSource.
54945func (js JiraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
54946	return nil, false
54947}
54948
54949// AsMongoDbSource is the BasicCopySource implementation for JiraSource.
54950func (js JiraSource) AsMongoDbSource() (*MongoDbSource, bool) {
54951	return nil, false
54952}
54953
54954// AsCassandraSource is the BasicCopySource implementation for JiraSource.
54955func (js JiraSource) AsCassandraSource() (*CassandraSource, bool) {
54956	return nil, false
54957}
54958
54959// AsWebSource is the BasicCopySource implementation for JiraSource.
54960func (js JiraSource) AsWebSource() (*WebSource, bool) {
54961	return nil, false
54962}
54963
54964// AsOracleSource is the BasicCopySource implementation for JiraSource.
54965func (js JiraSource) AsOracleSource() (*OracleSource, bool) {
54966	return nil, false
54967}
54968
54969// AsAzureMySQLSource is the BasicCopySource implementation for JiraSource.
54970func (js JiraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
54971	return nil, false
54972}
54973
54974// AsHdfsSource is the BasicCopySource implementation for JiraSource.
54975func (js JiraSource) AsHdfsSource() (*HdfsSource, bool) {
54976	return nil, false
54977}
54978
54979// AsFileSystemSource is the BasicCopySource implementation for JiraSource.
54980func (js JiraSource) AsFileSystemSource() (*FileSystemSource, bool) {
54981	return nil, false
54982}
54983
54984// AsSQLDWSource is the BasicCopySource implementation for JiraSource.
54985func (js JiraSource) AsSQLDWSource() (*SQLDWSource, bool) {
54986	return nil, false
54987}
54988
54989// AsSQLSource is the BasicCopySource implementation for JiraSource.
54990func (js JiraSource) AsSQLSource() (*SQLSource, bool) {
54991	return nil, false
54992}
54993
54994// AsSapEccSource is the BasicCopySource implementation for JiraSource.
54995func (js JiraSource) AsSapEccSource() (*SapEccSource, bool) {
54996	return nil, false
54997}
54998
54999// AsSapCloudForCustomerSource is the BasicCopySource implementation for JiraSource.
55000func (js JiraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
55001	return nil, false
55002}
55003
55004// AsSalesforceSource is the BasicCopySource implementation for JiraSource.
55005func (js JiraSource) AsSalesforceSource() (*SalesforceSource, bool) {
55006	return nil, false
55007}
55008
55009// AsRelationalSource is the BasicCopySource implementation for JiraSource.
55010func (js JiraSource) AsRelationalSource() (*RelationalSource, bool) {
55011	return nil, false
55012}
55013
55014// AsDynamicsSource is the BasicCopySource implementation for JiraSource.
55015func (js JiraSource) AsDynamicsSource() (*DynamicsSource, bool) {
55016	return nil, false
55017}
55018
55019// AsDocumentDbCollectionSource is the BasicCopySource implementation for JiraSource.
55020func (js JiraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
55021	return nil, false
55022}
55023
55024// AsBlobSource is the BasicCopySource implementation for JiraSource.
55025func (js JiraSource) AsBlobSource() (*BlobSource, bool) {
55026	return nil, false
55027}
55028
55029// AsAzureTableSource is the BasicCopySource implementation for JiraSource.
55030func (js JiraSource) AsAzureTableSource() (*AzureTableSource, bool) {
55031	return nil, false
55032}
55033
55034// AsCopySource is the BasicCopySource implementation for JiraSource.
55035func (js JiraSource) AsCopySource() (*CopySource, bool) {
55036	return nil, false
55037}
55038
55039// AsBasicCopySource is the BasicCopySource implementation for JiraSource.
55040func (js JiraSource) AsBasicCopySource() (BasicCopySource, bool) {
55041	return &js, true
55042}
55043
55044// UnmarshalJSON is the custom unmarshaler for JiraSource struct.
55045func (js *JiraSource) UnmarshalJSON(body []byte) error {
55046	var m map[string]*json.RawMessage
55047	err := json.Unmarshal(body, &m)
55048	if err != nil {
55049		return err
55050	}
55051	for k, v := range m {
55052		switch k {
55053		case "query":
55054			if v != nil {
55055				var query interface{}
55056				err = json.Unmarshal(*v, &query)
55057				if err != nil {
55058					return err
55059				}
55060				js.Query = query
55061			}
55062		default:
55063			if v != nil {
55064				var additionalProperties interface{}
55065				err = json.Unmarshal(*v, &additionalProperties)
55066				if err != nil {
55067					return err
55068				}
55069				if js.AdditionalProperties == nil {
55070					js.AdditionalProperties = make(map[string]interface{})
55071				}
55072				js.AdditionalProperties[k] = additionalProperties
55073			}
55074		case "sourceRetryCount":
55075			if v != nil {
55076				var sourceRetryCount interface{}
55077				err = json.Unmarshal(*v, &sourceRetryCount)
55078				if err != nil {
55079					return err
55080				}
55081				js.SourceRetryCount = sourceRetryCount
55082			}
55083		case "sourceRetryWait":
55084			if v != nil {
55085				var sourceRetryWait interface{}
55086				err = json.Unmarshal(*v, &sourceRetryWait)
55087				if err != nil {
55088					return err
55089				}
55090				js.SourceRetryWait = sourceRetryWait
55091			}
55092		case "type":
55093			if v != nil {
55094				var typeVar TypeBasicCopySource
55095				err = json.Unmarshal(*v, &typeVar)
55096				if err != nil {
55097					return err
55098				}
55099				js.Type = typeVar
55100			}
55101		}
55102	}
55103
55104	return nil
55105}
55106
55107// JSONFormat the data stored in JSON format.
55108type JSONFormat struct {
55109	// 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'
55110	FilePattern JSONFormatFilePattern `json:"filePattern,omitempty"`
55111	// NestingSeparator - The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string).
55112	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
55113	// 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).
55114	EncodingName interface{} `json:"encodingName,omitempty"`
55115	// JSONNodeReference - The JSONPath of the JSON array element to be flattened. Example: "$.ArrayPath". Type: string (or Expression with resultType string).
55116	JSONNodeReference interface{} `json:"jsonNodeReference,omitempty"`
55117	// 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).
55118	JSONPathDefinition interface{} `json:"jsonPathDefinition,omitempty"`
55119	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
55120	AdditionalProperties map[string]interface{} `json:""`
55121	// Serializer - Serializer. Type: string (or Expression with resultType string).
55122	Serializer interface{} `json:"serializer,omitempty"`
55123	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
55124	Deserializer interface{} `json:"deserializer,omitempty"`
55125	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
55126	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
55127}
55128
55129// MarshalJSON is the custom marshaler for JSONFormat.
55130func (jf JSONFormat) MarshalJSON() ([]byte, error) {
55131	jf.Type = TypeJSONFormat
55132	objectMap := make(map[string]interface{})
55133	if jf.FilePattern != "" {
55134		objectMap["filePattern"] = jf.FilePattern
55135	}
55136	if jf.NestingSeparator != nil {
55137		objectMap["nestingSeparator"] = jf.NestingSeparator
55138	}
55139	if jf.EncodingName != nil {
55140		objectMap["encodingName"] = jf.EncodingName
55141	}
55142	if jf.JSONNodeReference != nil {
55143		objectMap["jsonNodeReference"] = jf.JSONNodeReference
55144	}
55145	if jf.JSONPathDefinition != nil {
55146		objectMap["jsonPathDefinition"] = jf.JSONPathDefinition
55147	}
55148	if jf.Serializer != nil {
55149		objectMap["serializer"] = jf.Serializer
55150	}
55151	if jf.Deserializer != nil {
55152		objectMap["deserializer"] = jf.Deserializer
55153	}
55154	if jf.Type != "" {
55155		objectMap["type"] = jf.Type
55156	}
55157	for k, v := range jf.AdditionalProperties {
55158		objectMap[k] = v
55159	}
55160	return json.Marshal(objectMap)
55161}
55162
55163// AsParquetFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55164func (jf JSONFormat) AsParquetFormat() (*ParquetFormat, bool) {
55165	return nil, false
55166}
55167
55168// AsOrcFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55169func (jf JSONFormat) AsOrcFormat() (*OrcFormat, bool) {
55170	return nil, false
55171}
55172
55173// AsAvroFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55174func (jf JSONFormat) AsAvroFormat() (*AvroFormat, bool) {
55175	return nil, false
55176}
55177
55178// AsJSONFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55179func (jf JSONFormat) AsJSONFormat() (*JSONFormat, bool) {
55180	return &jf, true
55181}
55182
55183// AsTextFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55184func (jf JSONFormat) AsTextFormat() (*TextFormat, bool) {
55185	return nil, false
55186}
55187
55188// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55189func (jf JSONFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
55190	return nil, false
55191}
55192
55193// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
55194func (jf JSONFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
55195	return &jf, true
55196}
55197
55198// UnmarshalJSON is the custom unmarshaler for JSONFormat struct.
55199func (jf *JSONFormat) UnmarshalJSON(body []byte) error {
55200	var m map[string]*json.RawMessage
55201	err := json.Unmarshal(body, &m)
55202	if err != nil {
55203		return err
55204	}
55205	for k, v := range m {
55206		switch k {
55207		case "filePattern":
55208			if v != nil {
55209				var filePattern JSONFormatFilePattern
55210				err = json.Unmarshal(*v, &filePattern)
55211				if err != nil {
55212					return err
55213				}
55214				jf.FilePattern = filePattern
55215			}
55216		case "nestingSeparator":
55217			if v != nil {
55218				var nestingSeparator interface{}
55219				err = json.Unmarshal(*v, &nestingSeparator)
55220				if err != nil {
55221					return err
55222				}
55223				jf.NestingSeparator = nestingSeparator
55224			}
55225		case "encodingName":
55226			if v != nil {
55227				var encodingName interface{}
55228				err = json.Unmarshal(*v, &encodingName)
55229				if err != nil {
55230					return err
55231				}
55232				jf.EncodingName = encodingName
55233			}
55234		case "jsonNodeReference":
55235			if v != nil {
55236				var JSONNodeReference interface{}
55237				err = json.Unmarshal(*v, &JSONNodeReference)
55238				if err != nil {
55239					return err
55240				}
55241				jf.JSONNodeReference = JSONNodeReference
55242			}
55243		case "jsonPathDefinition":
55244			if v != nil {
55245				var JSONPathDefinition interface{}
55246				err = json.Unmarshal(*v, &JSONPathDefinition)
55247				if err != nil {
55248					return err
55249				}
55250				jf.JSONPathDefinition = JSONPathDefinition
55251			}
55252		default:
55253			if v != nil {
55254				var additionalProperties interface{}
55255				err = json.Unmarshal(*v, &additionalProperties)
55256				if err != nil {
55257					return err
55258				}
55259				if jf.AdditionalProperties == nil {
55260					jf.AdditionalProperties = make(map[string]interface{})
55261				}
55262				jf.AdditionalProperties[k] = additionalProperties
55263			}
55264		case "serializer":
55265			if v != nil {
55266				var serializer interface{}
55267				err = json.Unmarshal(*v, &serializer)
55268				if err != nil {
55269					return err
55270				}
55271				jf.Serializer = serializer
55272			}
55273		case "deserializer":
55274			if v != nil {
55275				var deserializer interface{}
55276				err = json.Unmarshal(*v, &deserializer)
55277				if err != nil {
55278					return err
55279				}
55280				jf.Deserializer = deserializer
55281			}
55282		case "type":
55283			if v != nil {
55284				var typeVar TypeBasicDatasetStorageFormat
55285				err = json.Unmarshal(*v, &typeVar)
55286				if err != nil {
55287					return err
55288				}
55289				jf.Type = typeVar
55290			}
55291		}
55292	}
55293
55294	return nil
55295}
55296
55297// LinkedIntegrationRuntime the linked integration runtime information.
55298type LinkedIntegrationRuntime struct {
55299	// Name - READ-ONLY; The name of the linked integration runtime.
55300	Name *string `json:"name,omitempty"`
55301	// SubscriptionID - READ-ONLY; The subscription ID for which the linked integration runtime belong to.
55302	SubscriptionID *string `json:"subscriptionId,omitempty"`
55303	// DataFactoryName - READ-ONLY; The name of the data factory for which the linked integration runtime belong to.
55304	DataFactoryName *string `json:"dataFactoryName,omitempty"`
55305	// DataFactoryLocation - READ-ONLY; The location of the data factory for which the linked integration runtime belong to.
55306	DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"`
55307	// CreateTime - READ-ONLY; The creating time of the linked integration runtime.
55308	CreateTime *date.Time `json:"createTime,omitempty"`
55309}
55310
55311// LinkedIntegrationRuntimeKey the base definition of a secret type.
55312type LinkedIntegrationRuntimeKey struct {
55313	// Key - Type of the secret.
55314	Key *SecureString `json:"key,omitempty"`
55315	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeProperties', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
55316	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
55317}
55318
55319// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeKey.
55320func (lirk LinkedIntegrationRuntimeKey) MarshalJSON() ([]byte, error) {
55321	lirk.AuthorizationType = AuthorizationTypeKey
55322	objectMap := make(map[string]interface{})
55323	if lirk.Key != nil {
55324		objectMap["key"] = lirk.Key
55325	}
55326	if lirk.AuthorizationType != "" {
55327		objectMap["authorizationType"] = lirk.AuthorizationType
55328	}
55329	return json.Marshal(objectMap)
55330}
55331
55332// AsLinkedIntegrationRuntimeRbac is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeKey.
55333func (lirk LinkedIntegrationRuntimeKey) AsLinkedIntegrationRuntimeRbac() (*LinkedIntegrationRuntimeRbac, bool) {
55334	return nil, false
55335}
55336
55337// AsLinkedIntegrationRuntimeKey is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeKey.
55338func (lirk LinkedIntegrationRuntimeKey) AsLinkedIntegrationRuntimeKey() (*LinkedIntegrationRuntimeKey, bool) {
55339	return &lirk, true
55340}
55341
55342// AsLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeKey.
55343func (lirk LinkedIntegrationRuntimeKey) AsLinkedIntegrationRuntimeProperties() (*LinkedIntegrationRuntimeProperties, bool) {
55344	return nil, false
55345}
55346
55347// AsBasicLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeKey.
55348func (lirk LinkedIntegrationRuntimeKey) AsBasicLinkedIntegrationRuntimeProperties() (BasicLinkedIntegrationRuntimeProperties, bool) {
55349	return &lirk, true
55350}
55351
55352// BasicLinkedIntegrationRuntimeProperties the base definition of a secret type.
55353type BasicLinkedIntegrationRuntimeProperties interface {
55354	AsLinkedIntegrationRuntimeRbac() (*LinkedIntegrationRuntimeRbac, bool)
55355	AsLinkedIntegrationRuntimeKey() (*LinkedIntegrationRuntimeKey, bool)
55356	AsLinkedIntegrationRuntimeProperties() (*LinkedIntegrationRuntimeProperties, bool)
55357}
55358
55359// LinkedIntegrationRuntimeProperties the base definition of a secret type.
55360type LinkedIntegrationRuntimeProperties struct {
55361	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeProperties', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
55362	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
55363}
55364
55365func unmarshalBasicLinkedIntegrationRuntimeProperties(body []byte) (BasicLinkedIntegrationRuntimeProperties, error) {
55366	var m map[string]interface{}
55367	err := json.Unmarshal(body, &m)
55368	if err != nil {
55369		return nil, err
55370	}
55371
55372	switch m["authorizationType"] {
55373	case string(AuthorizationTypeRBAC):
55374		var lirr LinkedIntegrationRuntimeRbac
55375		err := json.Unmarshal(body, &lirr)
55376		return lirr, err
55377	case string(AuthorizationTypeKey):
55378		var lirk LinkedIntegrationRuntimeKey
55379		err := json.Unmarshal(body, &lirk)
55380		return lirk, err
55381	default:
55382		var lirp LinkedIntegrationRuntimeProperties
55383		err := json.Unmarshal(body, &lirp)
55384		return lirp, err
55385	}
55386}
55387func unmarshalBasicLinkedIntegrationRuntimePropertiesArray(body []byte) ([]BasicLinkedIntegrationRuntimeProperties, error) {
55388	var rawMessages []*json.RawMessage
55389	err := json.Unmarshal(body, &rawMessages)
55390	if err != nil {
55391		return nil, err
55392	}
55393
55394	lirpArray := make([]BasicLinkedIntegrationRuntimeProperties, len(rawMessages))
55395
55396	for index, rawMessage := range rawMessages {
55397		lirp, err := unmarshalBasicLinkedIntegrationRuntimeProperties(*rawMessage)
55398		if err != nil {
55399			return nil, err
55400		}
55401		lirpArray[index] = lirp
55402	}
55403	return lirpArray, nil
55404}
55405
55406// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeProperties.
55407func (lirp LinkedIntegrationRuntimeProperties) MarshalJSON() ([]byte, error) {
55408	lirp.AuthorizationType = AuthorizationTypeLinkedIntegrationRuntimeProperties
55409	objectMap := make(map[string]interface{})
55410	if lirp.AuthorizationType != "" {
55411		objectMap["authorizationType"] = lirp.AuthorizationType
55412	}
55413	return json.Marshal(objectMap)
55414}
55415
55416// AsLinkedIntegrationRuntimeRbac is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeProperties.
55417func (lirp LinkedIntegrationRuntimeProperties) AsLinkedIntegrationRuntimeRbac() (*LinkedIntegrationRuntimeRbac, bool) {
55418	return nil, false
55419}
55420
55421// AsLinkedIntegrationRuntimeKey is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeProperties.
55422func (lirp LinkedIntegrationRuntimeProperties) AsLinkedIntegrationRuntimeKey() (*LinkedIntegrationRuntimeKey, bool) {
55423	return nil, false
55424}
55425
55426// AsLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeProperties.
55427func (lirp LinkedIntegrationRuntimeProperties) AsLinkedIntegrationRuntimeProperties() (*LinkedIntegrationRuntimeProperties, bool) {
55428	return &lirp, true
55429}
55430
55431// AsBasicLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeProperties.
55432func (lirp LinkedIntegrationRuntimeProperties) AsBasicLinkedIntegrationRuntimeProperties() (BasicLinkedIntegrationRuntimeProperties, bool) {
55433	return &lirp, true
55434}
55435
55436// LinkedIntegrationRuntimeRbac the base definition of a secret type.
55437type LinkedIntegrationRuntimeRbac struct {
55438	// ResourceID - The resource ID of the integration runtime to be shared.
55439	ResourceID *string `json:"resourceId,omitempty"`
55440	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeProperties', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
55441	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
55442}
55443
55444// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeRbac.
55445func (lirr LinkedIntegrationRuntimeRbac) MarshalJSON() ([]byte, error) {
55446	lirr.AuthorizationType = AuthorizationTypeRBAC
55447	objectMap := make(map[string]interface{})
55448	if lirr.ResourceID != nil {
55449		objectMap["resourceId"] = lirr.ResourceID
55450	}
55451	if lirr.AuthorizationType != "" {
55452		objectMap["authorizationType"] = lirr.AuthorizationType
55453	}
55454	return json.Marshal(objectMap)
55455}
55456
55457// AsLinkedIntegrationRuntimeRbac is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeRbac.
55458func (lirr LinkedIntegrationRuntimeRbac) AsLinkedIntegrationRuntimeRbac() (*LinkedIntegrationRuntimeRbac, bool) {
55459	return &lirr, true
55460}
55461
55462// AsLinkedIntegrationRuntimeKey is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeRbac.
55463func (lirr LinkedIntegrationRuntimeRbac) AsLinkedIntegrationRuntimeKey() (*LinkedIntegrationRuntimeKey, bool) {
55464	return nil, false
55465}
55466
55467// AsLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeRbac.
55468func (lirr LinkedIntegrationRuntimeRbac) AsLinkedIntegrationRuntimeProperties() (*LinkedIntegrationRuntimeProperties, bool) {
55469	return nil, false
55470}
55471
55472// AsBasicLinkedIntegrationRuntimeProperties is the BasicLinkedIntegrationRuntimeProperties implementation for LinkedIntegrationRuntimeRbac.
55473func (lirr LinkedIntegrationRuntimeRbac) AsBasicLinkedIntegrationRuntimeProperties() (BasicLinkedIntegrationRuntimeProperties, bool) {
55474	return &lirr, true
55475}
55476
55477// LinkedIntegrationRuntimeTypeProperties the base definition of a secret type.
55478type LinkedIntegrationRuntimeTypeProperties struct {
55479	LinkedInfo BasicLinkedIntegrationRuntimeProperties `json:"linkedInfo,omitempty"`
55480}
55481
55482// UnmarshalJSON is the custom unmarshaler for LinkedIntegrationRuntimeTypeProperties struct.
55483func (lirtp *LinkedIntegrationRuntimeTypeProperties) UnmarshalJSON(body []byte) error {
55484	var m map[string]*json.RawMessage
55485	err := json.Unmarshal(body, &m)
55486	if err != nil {
55487		return err
55488	}
55489	for k, v := range m {
55490		switch k {
55491		case "linkedInfo":
55492			if v != nil {
55493				linkedInfo, err := unmarshalBasicLinkedIntegrationRuntimeProperties(*v)
55494				if err != nil {
55495					return err
55496				}
55497				lirtp.LinkedInfo = linkedInfo
55498			}
55499		}
55500	}
55501
55502	return nil
55503}
55504
55505// BasicLinkedService the Azure Data Factory nested object which contains the information and credential which can be
55506// used to connect with related store or compute resource.
55507type BasicLinkedService interface {
55508	AsResponsysLinkedService() (*ResponsysLinkedService, bool)
55509	AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool)
55510	AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool)
55511	AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool)
55512	AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool)
55513	AsNetezzaLinkedService() (*NetezzaLinkedService, bool)
55514	AsVerticaLinkedService() (*VerticaLinkedService, bool)
55515	AsZohoLinkedService() (*ZohoLinkedService, bool)
55516	AsXeroLinkedService() (*XeroLinkedService, bool)
55517	AsSquareLinkedService() (*SquareLinkedService, bool)
55518	AsSparkLinkedService() (*SparkLinkedService, bool)
55519	AsShopifyLinkedService() (*ShopifyLinkedService, bool)
55520	AsServiceNowLinkedService() (*ServiceNowLinkedService, bool)
55521	AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool)
55522	AsPrestoLinkedService() (*PrestoLinkedService, bool)
55523	AsPhoenixLinkedService() (*PhoenixLinkedService, bool)
55524	AsPaypalLinkedService() (*PaypalLinkedService, bool)
55525	AsMarketoLinkedService() (*MarketoLinkedService, bool)
55526	AsMariaDBLinkedService() (*MariaDBLinkedService, bool)
55527	AsMagentoLinkedService() (*MagentoLinkedService, bool)
55528	AsJiraLinkedService() (*JiraLinkedService, bool)
55529	AsImpalaLinkedService() (*ImpalaLinkedService, bool)
55530	AsHubspotLinkedService() (*HubspotLinkedService, bool)
55531	AsHiveLinkedService() (*HiveLinkedService, bool)
55532	AsHBaseLinkedService() (*HBaseLinkedService, bool)
55533	AsGreenplumLinkedService() (*GreenplumLinkedService, bool)
55534	AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool)
55535	AsEloquaLinkedService() (*EloquaLinkedService, bool)
55536	AsDrillLinkedService() (*DrillLinkedService, bool)
55537	AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool)
55538	AsConcurLinkedService() (*ConcurLinkedService, bool)
55539	AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool)
55540	AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool)
55541	AsSapHanaLinkedService() (*SapHanaLinkedService, bool)
55542	AsSapBWLinkedService() (*SapBWLinkedService, bool)
55543	AsSftpServerLinkedService() (*SftpServerLinkedService, bool)
55544	AsFtpServerLinkedService() (*FtpServerLinkedService, bool)
55545	AsHTTPLinkedService() (*HTTPLinkedService, bool)
55546	AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool)
55547	AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool)
55548	AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool)
55549	AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool)
55550	AsSapEccLinkedService() (*SapEccLinkedService, bool)
55551	AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool)
55552	AsSalesforceLinkedService() (*SalesforceLinkedService, bool)
55553	AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool)
55554	AsMongoDbLinkedService() (*MongoDbLinkedService, bool)
55555	AsCassandraLinkedService() (*CassandraLinkedService, bool)
55556	AsWebLinkedService() (*WebLinkedService, bool)
55557	AsODataLinkedService() (*ODataLinkedService, bool)
55558	AsHdfsLinkedService() (*HdfsLinkedService, bool)
55559	AsOdbcLinkedService() (*OdbcLinkedService, bool)
55560	AsAzureMLLinkedService() (*AzureMLLinkedService, bool)
55561	AsTeradataLinkedService() (*TeradataLinkedService, bool)
55562	AsDb2LinkedService() (*Db2LinkedService, bool)
55563	AsSybaseLinkedService() (*SybaseLinkedService, bool)
55564	AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool)
55565	AsMySQLLinkedService() (*MySQLLinkedService, bool)
55566	AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool)
55567	AsOracleLinkedService() (*OracleLinkedService, bool)
55568	AsFileServerLinkedService() (*FileServerLinkedService, bool)
55569	AsHDInsightLinkedService() (*HDInsightLinkedService, bool)
55570	AsDynamicsLinkedService() (*DynamicsLinkedService, bool)
55571	AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool)
55572	AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool)
55573	AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool)
55574	AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool)
55575	AsSQLServerLinkedService() (*SQLServerLinkedService, bool)
55576	AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool)
55577	AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool)
55578	AsLinkedService() (*LinkedService, bool)
55579}
55580
55581// LinkedService the Azure Data Factory nested object which contains the information and credential which can
55582// be used to connect with related store or compute resource.
55583type LinkedService struct {
55584	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
55585	AdditionalProperties map[string]interface{} `json:""`
55586	// ConnectVia - The integration runtime reference.
55587	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
55588	// Description - Linked service description.
55589	Description *string `json:"description,omitempty"`
55590	// Parameters - Parameters for linked service.
55591	Parameters map[string]*ParameterSpecification `json:"parameters"`
55592	// Annotations - List of tags that can be used for describing the Dataset.
55593	Annotations *[]interface{} `json:"annotations,omitempty"`
55594	// 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'
55595	Type TypeBasicLinkedService `json:"type,omitempty"`
55596}
55597
55598func unmarshalBasicLinkedService(body []byte) (BasicLinkedService, error) {
55599	var m map[string]interface{}
55600	err := json.Unmarshal(body, &m)
55601	if err != nil {
55602		return nil, err
55603	}
55604
55605	switch m["type"] {
55606	case string(TypeResponsys):
55607		var rls ResponsysLinkedService
55608		err := json.Unmarshal(body, &rls)
55609		return rls, err
55610	case string(TypeAzureDatabricks):
55611		var adls AzureDatabricksLinkedService
55612		err := json.Unmarshal(body, &adls)
55613		return adls, err
55614	case string(TypeAzureDataLakeAnalytics):
55615		var adlals AzureDataLakeAnalyticsLinkedService
55616		err := json.Unmarshal(body, &adlals)
55617		return adlals, err
55618	case string(TypeHDInsightOnDemand):
55619		var hiodls HDInsightOnDemandLinkedService
55620		err := json.Unmarshal(body, &hiodls)
55621		return hiodls, err
55622	case string(TypeSalesforceMarketingCloud):
55623		var smcls SalesforceMarketingCloudLinkedService
55624		err := json.Unmarshal(body, &smcls)
55625		return smcls, err
55626	case string(TypeNetezza):
55627		var nls NetezzaLinkedService
55628		err := json.Unmarshal(body, &nls)
55629		return nls, err
55630	case string(TypeVertica):
55631		var vls VerticaLinkedService
55632		err := json.Unmarshal(body, &vls)
55633		return vls, err
55634	case string(TypeZoho):
55635		var zls ZohoLinkedService
55636		err := json.Unmarshal(body, &zls)
55637		return zls, err
55638	case string(TypeXero):
55639		var xls XeroLinkedService
55640		err := json.Unmarshal(body, &xls)
55641		return xls, err
55642	case string(TypeSquare):
55643		var sls SquareLinkedService
55644		err := json.Unmarshal(body, &sls)
55645		return sls, err
55646	case string(TypeSpark):
55647		var sls SparkLinkedService
55648		err := json.Unmarshal(body, &sls)
55649		return sls, err
55650	case string(TypeShopify):
55651		var sls ShopifyLinkedService
55652		err := json.Unmarshal(body, &sls)
55653		return sls, err
55654	case string(TypeServiceNow):
55655		var snls ServiceNowLinkedService
55656		err := json.Unmarshal(body, &snls)
55657		return snls, err
55658	case string(TypeQuickBooks):
55659		var qbls QuickBooksLinkedService
55660		err := json.Unmarshal(body, &qbls)
55661		return qbls, err
55662	case string(TypePresto):
55663		var pls PrestoLinkedService
55664		err := json.Unmarshal(body, &pls)
55665		return pls, err
55666	case string(TypePhoenix):
55667		var pls PhoenixLinkedService
55668		err := json.Unmarshal(body, &pls)
55669		return pls, err
55670	case string(TypePaypal):
55671		var pls PaypalLinkedService
55672		err := json.Unmarshal(body, &pls)
55673		return pls, err
55674	case string(TypeMarketo):
55675		var mls MarketoLinkedService
55676		err := json.Unmarshal(body, &mls)
55677		return mls, err
55678	case string(TypeMariaDB):
55679		var mdls MariaDBLinkedService
55680		err := json.Unmarshal(body, &mdls)
55681		return mdls, err
55682	case string(TypeMagento):
55683		var mls MagentoLinkedService
55684		err := json.Unmarshal(body, &mls)
55685		return mls, err
55686	case string(TypeJira):
55687		var jls JiraLinkedService
55688		err := json.Unmarshal(body, &jls)
55689		return jls, err
55690	case string(TypeImpala):
55691		var ils ImpalaLinkedService
55692		err := json.Unmarshal(body, &ils)
55693		return ils, err
55694	case string(TypeHubspot):
55695		var hls HubspotLinkedService
55696		err := json.Unmarshal(body, &hls)
55697		return hls, err
55698	case string(TypeHive):
55699		var hls HiveLinkedService
55700		err := json.Unmarshal(body, &hls)
55701		return hls, err
55702	case string(TypeHBase):
55703		var hbls HBaseLinkedService
55704		err := json.Unmarshal(body, &hbls)
55705		return hbls, err
55706	case string(TypeGreenplum):
55707		var gls GreenplumLinkedService
55708		err := json.Unmarshal(body, &gls)
55709		return gls, err
55710	case string(TypeGoogleBigQuery):
55711		var gbqls GoogleBigQueryLinkedService
55712		err := json.Unmarshal(body, &gbqls)
55713		return gbqls, err
55714	case string(TypeEloqua):
55715		var els EloquaLinkedService
55716		err := json.Unmarshal(body, &els)
55717		return els, err
55718	case string(TypeDrill):
55719		var dls DrillLinkedService
55720		err := json.Unmarshal(body, &dls)
55721		return dls, err
55722	case string(TypeCouchbase):
55723		var cls CouchbaseLinkedService
55724		err := json.Unmarshal(body, &cls)
55725		return cls, err
55726	case string(TypeConcur):
55727		var cls ConcurLinkedService
55728		err := json.Unmarshal(body, &cls)
55729		return cls, err
55730	case string(TypeAzurePostgreSQL):
55731		var apsls AzurePostgreSQLLinkedService
55732		err := json.Unmarshal(body, &apsls)
55733		return apsls, err
55734	case string(TypeAmazonMWS):
55735		var amls AmazonMWSLinkedService
55736		err := json.Unmarshal(body, &amls)
55737		return amls, err
55738	case string(TypeSapHana):
55739		var shls SapHanaLinkedService
55740		err := json.Unmarshal(body, &shls)
55741		return shls, err
55742	case string(TypeSapBW):
55743		var sbls SapBWLinkedService
55744		err := json.Unmarshal(body, &sbls)
55745		return sbls, err
55746	case string(TypeSftp):
55747		var ssls SftpServerLinkedService
55748		err := json.Unmarshal(body, &ssls)
55749		return ssls, err
55750	case string(TypeFtpServer):
55751		var fsls FtpServerLinkedService
55752		err := json.Unmarshal(body, &fsls)
55753		return fsls, err
55754	case string(TypeHTTPServer):
55755		var hls HTTPLinkedService
55756		err := json.Unmarshal(body, &hls)
55757		return hls, err
55758	case string(TypeAzureSearch):
55759		var asls AzureSearchLinkedService
55760		err := json.Unmarshal(body, &asls)
55761		return asls, err
55762	case string(TypeCustomDataSource):
55763		var cdsls CustomDataSourceLinkedService
55764		err := json.Unmarshal(body, &cdsls)
55765		return cdsls, err
55766	case string(TypeAmazonRedshift):
55767		var arls AmazonRedshiftLinkedService
55768		err := json.Unmarshal(body, &arls)
55769		return arls, err
55770	case string(TypeAmazonS3):
55771		var asls AmazonS3LinkedService
55772		err := json.Unmarshal(body, &asls)
55773		return asls, err
55774	case string(TypeSapEcc):
55775		var sels SapEccLinkedService
55776		err := json.Unmarshal(body, &sels)
55777		return sels, err
55778	case string(TypeSapCloudForCustomer):
55779		var scfcls SapCloudForCustomerLinkedService
55780		err := json.Unmarshal(body, &scfcls)
55781		return scfcls, err
55782	case string(TypeSalesforce):
55783		var sls SalesforceLinkedService
55784		err := json.Unmarshal(body, &sls)
55785		return sls, err
55786	case string(TypeAzureDataLakeStore):
55787		var adlsls AzureDataLakeStoreLinkedService
55788		err := json.Unmarshal(body, &adlsls)
55789		return adlsls, err
55790	case string(TypeMongoDb):
55791		var mdls MongoDbLinkedService
55792		err := json.Unmarshal(body, &mdls)
55793		return mdls, err
55794	case string(TypeCassandra):
55795		var cls CassandraLinkedService
55796		err := json.Unmarshal(body, &cls)
55797		return cls, err
55798	case string(TypeWeb):
55799		var wls WebLinkedService
55800		err := json.Unmarshal(body, &wls)
55801		return wls, err
55802	case string(TypeOData):
55803		var odls ODataLinkedService
55804		err := json.Unmarshal(body, &odls)
55805		return odls, err
55806	case string(TypeHdfs):
55807		var hls HdfsLinkedService
55808		err := json.Unmarshal(body, &hls)
55809		return hls, err
55810	case string(TypeOdbc):
55811		var ols OdbcLinkedService
55812		err := json.Unmarshal(body, &ols)
55813		return ols, err
55814	case string(TypeAzureML):
55815		var amls AzureMLLinkedService
55816		err := json.Unmarshal(body, &amls)
55817		return amls, err
55818	case string(TypeTeradata):
55819		var TLSVar TeradataLinkedService
55820		err := json.Unmarshal(body, &TLSVar)
55821		return TLSVar, err
55822	case string(TypeDb2):
55823		var d2ls Db2LinkedService
55824		err := json.Unmarshal(body, &d2ls)
55825		return d2ls, err
55826	case string(TypeSybase):
55827		var sls SybaseLinkedService
55828		err := json.Unmarshal(body, &sls)
55829		return sls, err
55830	case string(TypePostgreSQL):
55831		var psls PostgreSQLLinkedService
55832		err := json.Unmarshal(body, &psls)
55833		return psls, err
55834	case string(TypeMySQL):
55835		var msls MySQLLinkedService
55836		err := json.Unmarshal(body, &msls)
55837		return msls, err
55838	case string(TypeAzureMySQL):
55839		var amsls AzureMySQLLinkedService
55840		err := json.Unmarshal(body, &amsls)
55841		return amsls, err
55842	case string(TypeOracle):
55843		var ols OracleLinkedService
55844		err := json.Unmarshal(body, &ols)
55845		return ols, err
55846	case string(TypeFileServer):
55847		var fsls FileServerLinkedService
55848		err := json.Unmarshal(body, &fsls)
55849		return fsls, err
55850	case string(TypeHDInsight):
55851		var hils HDInsightLinkedService
55852		err := json.Unmarshal(body, &hils)
55853		return hils, err
55854	case string(TypeDynamics):
55855		var dls DynamicsLinkedService
55856		err := json.Unmarshal(body, &dls)
55857		return dls, err
55858	case string(TypeCosmosDb):
55859		var cdls CosmosDbLinkedService
55860		err := json.Unmarshal(body, &cdls)
55861		return cdls, err
55862	case string(TypeAzureKeyVault):
55863		var akvls AzureKeyVaultLinkedService
55864		err := json.Unmarshal(body, &akvls)
55865		return akvls, err
55866	case string(TypeAzureBatch):
55867		var abls AzureBatchLinkedService
55868		err := json.Unmarshal(body, &abls)
55869		return abls, err
55870	case string(TypeAzureSQLDatabase):
55871		var asdls AzureSQLDatabaseLinkedService
55872		err := json.Unmarshal(body, &asdls)
55873		return asdls, err
55874	case string(TypeSQLServer):
55875		var ssls SQLServerLinkedService
55876		err := json.Unmarshal(body, &ssls)
55877		return ssls, err
55878	case string(TypeAzureSQLDW):
55879		var asdls AzureSQLDWLinkedService
55880		err := json.Unmarshal(body, &asdls)
55881		return asdls, err
55882	case string(TypeAzureStorage):
55883		var asls AzureStorageLinkedService
55884		err := json.Unmarshal(body, &asls)
55885		return asls, err
55886	default:
55887		var ls LinkedService
55888		err := json.Unmarshal(body, &ls)
55889		return ls, err
55890	}
55891}
55892func unmarshalBasicLinkedServiceArray(body []byte) ([]BasicLinkedService, error) {
55893	var rawMessages []*json.RawMessage
55894	err := json.Unmarshal(body, &rawMessages)
55895	if err != nil {
55896		return nil, err
55897	}
55898
55899	lsArray := make([]BasicLinkedService, len(rawMessages))
55900
55901	for index, rawMessage := range rawMessages {
55902		ls, err := unmarshalBasicLinkedService(*rawMessage)
55903		if err != nil {
55904			return nil, err
55905		}
55906		lsArray[index] = ls
55907	}
55908	return lsArray, nil
55909}
55910
55911// MarshalJSON is the custom marshaler for LinkedService.
55912func (ls LinkedService) MarshalJSON() ([]byte, error) {
55913	ls.Type = TypeLinkedService
55914	objectMap := make(map[string]interface{})
55915	if ls.ConnectVia != nil {
55916		objectMap["connectVia"] = ls.ConnectVia
55917	}
55918	if ls.Description != nil {
55919		objectMap["description"] = ls.Description
55920	}
55921	if ls.Parameters != nil {
55922		objectMap["parameters"] = ls.Parameters
55923	}
55924	if ls.Annotations != nil {
55925		objectMap["annotations"] = ls.Annotations
55926	}
55927	if ls.Type != "" {
55928		objectMap["type"] = ls.Type
55929	}
55930	for k, v := range ls.AdditionalProperties {
55931		objectMap[k] = v
55932	}
55933	return json.Marshal(objectMap)
55934}
55935
55936// AsResponsysLinkedService is the BasicLinkedService implementation for LinkedService.
55937func (ls LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
55938	return nil, false
55939}
55940
55941// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for LinkedService.
55942func (ls LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
55943	return nil, false
55944}
55945
55946// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for LinkedService.
55947func (ls LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
55948	return nil, false
55949}
55950
55951// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for LinkedService.
55952func (ls LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
55953	return nil, false
55954}
55955
55956// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for LinkedService.
55957func (ls LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
55958	return nil, false
55959}
55960
55961// AsNetezzaLinkedService is the BasicLinkedService implementation for LinkedService.
55962func (ls LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
55963	return nil, false
55964}
55965
55966// AsVerticaLinkedService is the BasicLinkedService implementation for LinkedService.
55967func (ls LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
55968	return nil, false
55969}
55970
55971// AsZohoLinkedService is the BasicLinkedService implementation for LinkedService.
55972func (ls LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
55973	return nil, false
55974}
55975
55976// AsXeroLinkedService is the BasicLinkedService implementation for LinkedService.
55977func (ls LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
55978	return nil, false
55979}
55980
55981// AsSquareLinkedService is the BasicLinkedService implementation for LinkedService.
55982func (ls LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
55983	return nil, false
55984}
55985
55986// AsSparkLinkedService is the BasicLinkedService implementation for LinkedService.
55987func (ls LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
55988	return nil, false
55989}
55990
55991// AsShopifyLinkedService is the BasicLinkedService implementation for LinkedService.
55992func (ls LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
55993	return nil, false
55994}
55995
55996// AsServiceNowLinkedService is the BasicLinkedService implementation for LinkedService.
55997func (ls LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
55998	return nil, false
55999}
56000
56001// AsQuickBooksLinkedService is the BasicLinkedService implementation for LinkedService.
56002func (ls LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
56003	return nil, false
56004}
56005
56006// AsPrestoLinkedService is the BasicLinkedService implementation for LinkedService.
56007func (ls LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
56008	return nil, false
56009}
56010
56011// AsPhoenixLinkedService is the BasicLinkedService implementation for LinkedService.
56012func (ls LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
56013	return nil, false
56014}
56015
56016// AsPaypalLinkedService is the BasicLinkedService implementation for LinkedService.
56017func (ls LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
56018	return nil, false
56019}
56020
56021// AsMarketoLinkedService is the BasicLinkedService implementation for LinkedService.
56022func (ls LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
56023	return nil, false
56024}
56025
56026// AsMariaDBLinkedService is the BasicLinkedService implementation for LinkedService.
56027func (ls LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
56028	return nil, false
56029}
56030
56031// AsMagentoLinkedService is the BasicLinkedService implementation for LinkedService.
56032func (ls LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
56033	return nil, false
56034}
56035
56036// AsJiraLinkedService is the BasicLinkedService implementation for LinkedService.
56037func (ls LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
56038	return nil, false
56039}
56040
56041// AsImpalaLinkedService is the BasicLinkedService implementation for LinkedService.
56042func (ls LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
56043	return nil, false
56044}
56045
56046// AsHubspotLinkedService is the BasicLinkedService implementation for LinkedService.
56047func (ls LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
56048	return nil, false
56049}
56050
56051// AsHiveLinkedService is the BasicLinkedService implementation for LinkedService.
56052func (ls LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
56053	return nil, false
56054}
56055
56056// AsHBaseLinkedService is the BasicLinkedService implementation for LinkedService.
56057func (ls LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
56058	return nil, false
56059}
56060
56061// AsGreenplumLinkedService is the BasicLinkedService implementation for LinkedService.
56062func (ls LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
56063	return nil, false
56064}
56065
56066// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for LinkedService.
56067func (ls LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
56068	return nil, false
56069}
56070
56071// AsEloquaLinkedService is the BasicLinkedService implementation for LinkedService.
56072func (ls LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
56073	return nil, false
56074}
56075
56076// AsDrillLinkedService is the BasicLinkedService implementation for LinkedService.
56077func (ls LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
56078	return nil, false
56079}
56080
56081// AsCouchbaseLinkedService is the BasicLinkedService implementation for LinkedService.
56082func (ls LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
56083	return nil, false
56084}
56085
56086// AsConcurLinkedService is the BasicLinkedService implementation for LinkedService.
56087func (ls LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
56088	return nil, false
56089}
56090
56091// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService.
56092func (ls LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
56093	return nil, false
56094}
56095
56096// AsAmazonMWSLinkedService is the BasicLinkedService implementation for LinkedService.
56097func (ls LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
56098	return nil, false
56099}
56100
56101// AsSapHanaLinkedService is the BasicLinkedService implementation for LinkedService.
56102func (ls LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
56103	return nil, false
56104}
56105
56106// AsSapBWLinkedService is the BasicLinkedService implementation for LinkedService.
56107func (ls LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
56108	return nil, false
56109}
56110
56111// AsSftpServerLinkedService is the BasicLinkedService implementation for LinkedService.
56112func (ls LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
56113	return nil, false
56114}
56115
56116// AsFtpServerLinkedService is the BasicLinkedService implementation for LinkedService.
56117func (ls LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
56118	return nil, false
56119}
56120
56121// AsHTTPLinkedService is the BasicLinkedService implementation for LinkedService.
56122func (ls LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
56123	return nil, false
56124}
56125
56126// AsAzureSearchLinkedService is the BasicLinkedService implementation for LinkedService.
56127func (ls LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
56128	return nil, false
56129}
56130
56131// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for LinkedService.
56132func (ls LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
56133	return nil, false
56134}
56135
56136// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for LinkedService.
56137func (ls LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
56138	return nil, false
56139}
56140
56141// AsAmazonS3LinkedService is the BasicLinkedService implementation for LinkedService.
56142func (ls LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
56143	return nil, false
56144}
56145
56146// AsSapEccLinkedService is the BasicLinkedService implementation for LinkedService.
56147func (ls LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
56148	return nil, false
56149}
56150
56151// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for LinkedService.
56152func (ls LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
56153	return nil, false
56154}
56155
56156// AsSalesforceLinkedService is the BasicLinkedService implementation for LinkedService.
56157func (ls LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
56158	return nil, false
56159}
56160
56161// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for LinkedService.
56162func (ls LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
56163	return nil, false
56164}
56165
56166// AsMongoDbLinkedService is the BasicLinkedService implementation for LinkedService.
56167func (ls LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
56168	return nil, false
56169}
56170
56171// AsCassandraLinkedService is the BasicLinkedService implementation for LinkedService.
56172func (ls LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
56173	return nil, false
56174}
56175
56176// AsWebLinkedService is the BasicLinkedService implementation for LinkedService.
56177func (ls LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
56178	return nil, false
56179}
56180
56181// AsODataLinkedService is the BasicLinkedService implementation for LinkedService.
56182func (ls LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
56183	return nil, false
56184}
56185
56186// AsHdfsLinkedService is the BasicLinkedService implementation for LinkedService.
56187func (ls LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
56188	return nil, false
56189}
56190
56191// AsOdbcLinkedService is the BasicLinkedService implementation for LinkedService.
56192func (ls LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
56193	return nil, false
56194}
56195
56196// AsAzureMLLinkedService is the BasicLinkedService implementation for LinkedService.
56197func (ls LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
56198	return nil, false
56199}
56200
56201// AsTeradataLinkedService is the BasicLinkedService implementation for LinkedService.
56202func (ls LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
56203	return nil, false
56204}
56205
56206// AsDb2LinkedService is the BasicLinkedService implementation for LinkedService.
56207func (ls LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
56208	return nil, false
56209}
56210
56211// AsSybaseLinkedService is the BasicLinkedService implementation for LinkedService.
56212func (ls LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
56213	return nil, false
56214}
56215
56216// AsPostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService.
56217func (ls LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
56218	return nil, false
56219}
56220
56221// AsMySQLLinkedService is the BasicLinkedService implementation for LinkedService.
56222func (ls LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
56223	return nil, false
56224}
56225
56226// AsAzureMySQLLinkedService is the BasicLinkedService implementation for LinkedService.
56227func (ls LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
56228	return nil, false
56229}
56230
56231// AsOracleLinkedService is the BasicLinkedService implementation for LinkedService.
56232func (ls LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
56233	return nil, false
56234}
56235
56236// AsFileServerLinkedService is the BasicLinkedService implementation for LinkedService.
56237func (ls LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
56238	return nil, false
56239}
56240
56241// AsHDInsightLinkedService is the BasicLinkedService implementation for LinkedService.
56242func (ls LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
56243	return nil, false
56244}
56245
56246// AsDynamicsLinkedService is the BasicLinkedService implementation for LinkedService.
56247func (ls LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
56248	return nil, false
56249}
56250
56251// AsCosmosDbLinkedService is the BasicLinkedService implementation for LinkedService.
56252func (ls LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
56253	return nil, false
56254}
56255
56256// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for LinkedService.
56257func (ls LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
56258	return nil, false
56259}
56260
56261// AsAzureBatchLinkedService is the BasicLinkedService implementation for LinkedService.
56262func (ls LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
56263	return nil, false
56264}
56265
56266// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for LinkedService.
56267func (ls LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
56268	return nil, false
56269}
56270
56271// AsSQLServerLinkedService is the BasicLinkedService implementation for LinkedService.
56272func (ls LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
56273	return nil, false
56274}
56275
56276// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for LinkedService.
56277func (ls LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
56278	return nil, false
56279}
56280
56281// AsAzureStorageLinkedService is the BasicLinkedService implementation for LinkedService.
56282func (ls LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
56283	return nil, false
56284}
56285
56286// AsLinkedService is the BasicLinkedService implementation for LinkedService.
56287func (ls LinkedService) AsLinkedService() (*LinkedService, bool) {
56288	return &ls, true
56289}
56290
56291// AsBasicLinkedService is the BasicLinkedService implementation for LinkedService.
56292func (ls LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
56293	return &ls, true
56294}
56295
56296// UnmarshalJSON is the custom unmarshaler for LinkedService struct.
56297func (ls *LinkedService) UnmarshalJSON(body []byte) error {
56298	var m map[string]*json.RawMessage
56299	err := json.Unmarshal(body, &m)
56300	if err != nil {
56301		return err
56302	}
56303	for k, v := range m {
56304		switch k {
56305		default:
56306			if v != nil {
56307				var additionalProperties interface{}
56308				err = json.Unmarshal(*v, &additionalProperties)
56309				if err != nil {
56310					return err
56311				}
56312				if ls.AdditionalProperties == nil {
56313					ls.AdditionalProperties = make(map[string]interface{})
56314				}
56315				ls.AdditionalProperties[k] = additionalProperties
56316			}
56317		case "connectVia":
56318			if v != nil {
56319				var connectVia IntegrationRuntimeReference
56320				err = json.Unmarshal(*v, &connectVia)
56321				if err != nil {
56322					return err
56323				}
56324				ls.ConnectVia = &connectVia
56325			}
56326		case "description":
56327			if v != nil {
56328				var description string
56329				err = json.Unmarshal(*v, &description)
56330				if err != nil {
56331					return err
56332				}
56333				ls.Description = &description
56334			}
56335		case "parameters":
56336			if v != nil {
56337				var parameters map[string]*ParameterSpecification
56338				err = json.Unmarshal(*v, &parameters)
56339				if err != nil {
56340					return err
56341				}
56342				ls.Parameters = parameters
56343			}
56344		case "annotations":
56345			if v != nil {
56346				var annotations []interface{}
56347				err = json.Unmarshal(*v, &annotations)
56348				if err != nil {
56349					return err
56350				}
56351				ls.Annotations = &annotations
56352			}
56353		case "type":
56354			if v != nil {
56355				var typeVar TypeBasicLinkedService
56356				err = json.Unmarshal(*v, &typeVar)
56357				if err != nil {
56358					return err
56359				}
56360				ls.Type = typeVar
56361			}
56362		}
56363	}
56364
56365	return nil
56366}
56367
56368// LinkedServiceListResponse a list of linked service resources.
56369type LinkedServiceListResponse struct {
56370	autorest.Response `json:"-"`
56371	// Value - List of linked services.
56372	Value *[]LinkedServiceResource `json:"value,omitempty"`
56373	// NextLink - The link to the next page of results, if any remaining results exist.
56374	NextLink *string `json:"nextLink,omitempty"`
56375}
56376
56377// LinkedServiceListResponseIterator provides access to a complete listing of LinkedServiceResource values.
56378type LinkedServiceListResponseIterator struct {
56379	i    int
56380	page LinkedServiceListResponsePage
56381}
56382
56383// NextWithContext advances to the next value.  If there was an error making
56384// the request the iterator does not advance and the error is returned.
56385func (iter *LinkedServiceListResponseIterator) NextWithContext(ctx context.Context) (err error) {
56386	if tracing.IsEnabled() {
56387		ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponseIterator.NextWithContext")
56388		defer func() {
56389			sc := -1
56390			if iter.Response().Response.Response != nil {
56391				sc = iter.Response().Response.Response.StatusCode
56392			}
56393			tracing.EndSpan(ctx, sc, err)
56394		}()
56395	}
56396	iter.i++
56397	if iter.i < len(iter.page.Values()) {
56398		return nil
56399	}
56400	err = iter.page.NextWithContext(ctx)
56401	if err != nil {
56402		iter.i--
56403		return err
56404	}
56405	iter.i = 0
56406	return nil
56407}
56408
56409// Next advances to the next value.  If there was an error making
56410// the request the iterator does not advance and the error is returned.
56411// Deprecated: Use NextWithContext() instead.
56412func (iter *LinkedServiceListResponseIterator) Next() error {
56413	return iter.NextWithContext(context.Background())
56414}
56415
56416// NotDone returns true if the enumeration should be started or is not yet complete.
56417func (iter LinkedServiceListResponseIterator) NotDone() bool {
56418	return iter.page.NotDone() && iter.i < len(iter.page.Values())
56419}
56420
56421// Response returns the raw server response from the last page request.
56422func (iter LinkedServiceListResponseIterator) Response() LinkedServiceListResponse {
56423	return iter.page.Response()
56424}
56425
56426// Value returns the current value or a zero-initialized value if the
56427// iterator has advanced beyond the end of the collection.
56428func (iter LinkedServiceListResponseIterator) Value() LinkedServiceResource {
56429	if !iter.page.NotDone() {
56430		return LinkedServiceResource{}
56431	}
56432	return iter.page.Values()[iter.i]
56433}
56434
56435// Creates a new instance of the LinkedServiceListResponseIterator type.
56436func NewLinkedServiceListResponseIterator(page LinkedServiceListResponsePage) LinkedServiceListResponseIterator {
56437	return LinkedServiceListResponseIterator{page: page}
56438}
56439
56440// IsEmpty returns true if the ListResult contains no values.
56441func (lslr LinkedServiceListResponse) IsEmpty() bool {
56442	return lslr.Value == nil || len(*lslr.Value) == 0
56443}
56444
56445// hasNextLink returns true if the NextLink is not empty.
56446func (lslr LinkedServiceListResponse) hasNextLink() bool {
56447	return lslr.NextLink != nil && len(*lslr.NextLink) != 0
56448}
56449
56450// linkedServiceListResponsePreparer prepares a request to retrieve the next set of results.
56451// It returns nil if no more results exist.
56452func (lslr LinkedServiceListResponse) linkedServiceListResponsePreparer(ctx context.Context) (*http.Request, error) {
56453	if !lslr.hasNextLink() {
56454		return nil, nil
56455	}
56456	return autorest.Prepare((&http.Request{}).WithContext(ctx),
56457		autorest.AsJSON(),
56458		autorest.AsGet(),
56459		autorest.WithBaseURL(to.String(lslr.NextLink)))
56460}
56461
56462// LinkedServiceListResponsePage contains a page of LinkedServiceResource values.
56463type LinkedServiceListResponsePage struct {
56464	fn   func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)
56465	lslr LinkedServiceListResponse
56466}
56467
56468// NextWithContext advances to the next page of values.  If there was an error making
56469// the request the page does not advance and the error is returned.
56470func (page *LinkedServiceListResponsePage) NextWithContext(ctx context.Context) (err error) {
56471	if tracing.IsEnabled() {
56472		ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponsePage.NextWithContext")
56473		defer func() {
56474			sc := -1
56475			if page.Response().Response.Response != nil {
56476				sc = page.Response().Response.Response.StatusCode
56477			}
56478			tracing.EndSpan(ctx, sc, err)
56479		}()
56480	}
56481	for {
56482		next, err := page.fn(ctx, page.lslr)
56483		if err != nil {
56484			return err
56485		}
56486		page.lslr = next
56487		if !next.hasNextLink() || !next.IsEmpty() {
56488			break
56489		}
56490	}
56491	return nil
56492}
56493
56494// Next advances to the next page of values.  If there was an error making
56495// the request the page does not advance and the error is returned.
56496// Deprecated: Use NextWithContext() instead.
56497func (page *LinkedServiceListResponsePage) Next() error {
56498	return page.NextWithContext(context.Background())
56499}
56500
56501// NotDone returns true if the page enumeration should be started or is not yet complete.
56502func (page LinkedServiceListResponsePage) NotDone() bool {
56503	return !page.lslr.IsEmpty()
56504}
56505
56506// Response returns the raw server response from the last page request.
56507func (page LinkedServiceListResponsePage) Response() LinkedServiceListResponse {
56508	return page.lslr
56509}
56510
56511// Values returns the slice of values for the current page or nil if there are no values.
56512func (page LinkedServiceListResponsePage) Values() []LinkedServiceResource {
56513	if page.lslr.IsEmpty() {
56514		return nil
56515	}
56516	return *page.lslr.Value
56517}
56518
56519// Creates a new instance of the LinkedServiceListResponsePage type.
56520func NewLinkedServiceListResponsePage(cur LinkedServiceListResponse, getNextPage func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)) LinkedServiceListResponsePage {
56521	return LinkedServiceListResponsePage{
56522		fn:   getNextPage,
56523		lslr: cur,
56524	}
56525}
56526
56527// LinkedServiceReference linked service reference type.
56528type LinkedServiceReference struct {
56529	// Type - Linked service reference type.
56530	Type *string `json:"type,omitempty"`
56531	// ReferenceName - Reference LinkedService name.
56532	ReferenceName *string `json:"referenceName,omitempty"`
56533	// Parameters - Arguments for LinkedService.
56534	Parameters map[string]interface{} `json:"parameters"`
56535}
56536
56537// MarshalJSON is the custom marshaler for LinkedServiceReference.
56538func (lsr LinkedServiceReference) MarshalJSON() ([]byte, error) {
56539	objectMap := make(map[string]interface{})
56540	if lsr.Type != nil {
56541		objectMap["type"] = lsr.Type
56542	}
56543	if lsr.ReferenceName != nil {
56544		objectMap["referenceName"] = lsr.ReferenceName
56545	}
56546	if lsr.Parameters != nil {
56547		objectMap["parameters"] = lsr.Parameters
56548	}
56549	return json.Marshal(objectMap)
56550}
56551
56552// LinkedServiceResource linked service resource type.
56553type LinkedServiceResource struct {
56554	autorest.Response `json:"-"`
56555	// Properties - Properties of linked service.
56556	Properties BasicLinkedService `json:"properties,omitempty"`
56557	// ID - READ-ONLY; The resource identifier.
56558	ID *string `json:"id,omitempty"`
56559	// Name - READ-ONLY; The resource name.
56560	Name *string `json:"name,omitempty"`
56561	// Type - READ-ONLY; The resource type.
56562	Type *string `json:"type,omitempty"`
56563	// Etag - READ-ONLY; Etag identifies change in the resource.
56564	Etag *string `json:"etag,omitempty"`
56565}
56566
56567// MarshalJSON is the custom marshaler for LinkedServiceResource.
56568func (lsr LinkedServiceResource) MarshalJSON() ([]byte, error) {
56569	objectMap := make(map[string]interface{})
56570	objectMap["properties"] = lsr.Properties
56571	return json.Marshal(objectMap)
56572}
56573
56574// UnmarshalJSON is the custom unmarshaler for LinkedServiceResource struct.
56575func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error {
56576	var m map[string]*json.RawMessage
56577	err := json.Unmarshal(body, &m)
56578	if err != nil {
56579		return err
56580	}
56581	for k, v := range m {
56582		switch k {
56583		case "properties":
56584			if v != nil {
56585				properties, err := unmarshalBasicLinkedService(*v)
56586				if err != nil {
56587					return err
56588				}
56589				lsr.Properties = properties
56590			}
56591		case "id":
56592			if v != nil {
56593				var ID string
56594				err = json.Unmarshal(*v, &ID)
56595				if err != nil {
56596					return err
56597				}
56598				lsr.ID = &ID
56599			}
56600		case "name":
56601			if v != nil {
56602				var name string
56603				err = json.Unmarshal(*v, &name)
56604				if err != nil {
56605					return err
56606				}
56607				lsr.Name = &name
56608			}
56609		case "type":
56610			if v != nil {
56611				var typeVar string
56612				err = json.Unmarshal(*v, &typeVar)
56613				if err != nil {
56614					return err
56615				}
56616				lsr.Type = &typeVar
56617			}
56618		case "etag":
56619			if v != nil {
56620				var etag string
56621				err = json.Unmarshal(*v, &etag)
56622				if err != nil {
56623					return err
56624				}
56625				lsr.Etag = &etag
56626			}
56627		}
56628	}
56629
56630	return nil
56631}
56632
56633// LookupActivity lookup activity.
56634type LookupActivity struct {
56635	// LookupActivityTypeProperties - Lookup activity properties.
56636	*LookupActivityTypeProperties `json:"typeProperties,omitempty"`
56637	// LinkedServiceName - Linked service reference.
56638	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
56639	// Policy - Activity policy.
56640	Policy *ActivityPolicy `json:"policy,omitempty"`
56641	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
56642	AdditionalProperties map[string]interface{} `json:""`
56643	// Name - Activity name.
56644	Name *string `json:"name,omitempty"`
56645	// Description - Activity description.
56646	Description *string `json:"description,omitempty"`
56647	// DependsOn - Activity depends on condition.
56648	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
56649	// 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'
56650	Type TypeBasicActivity `json:"type,omitempty"`
56651}
56652
56653// MarshalJSON is the custom marshaler for LookupActivity.
56654func (la LookupActivity) MarshalJSON() ([]byte, error) {
56655	la.Type = TypeLookup
56656	objectMap := make(map[string]interface{})
56657	if la.LookupActivityTypeProperties != nil {
56658		objectMap["typeProperties"] = la.LookupActivityTypeProperties
56659	}
56660	if la.LinkedServiceName != nil {
56661		objectMap["linkedServiceName"] = la.LinkedServiceName
56662	}
56663	if la.Policy != nil {
56664		objectMap["policy"] = la.Policy
56665	}
56666	if la.Name != nil {
56667		objectMap["name"] = la.Name
56668	}
56669	if la.Description != nil {
56670		objectMap["description"] = la.Description
56671	}
56672	if la.DependsOn != nil {
56673		objectMap["dependsOn"] = la.DependsOn
56674	}
56675	if la.Type != "" {
56676		objectMap["type"] = la.Type
56677	}
56678	for k, v := range la.AdditionalProperties {
56679		objectMap[k] = v
56680	}
56681	return json.Marshal(objectMap)
56682}
56683
56684// AsDatabricksNotebookActivity is the BasicActivity implementation for LookupActivity.
56685func (la LookupActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
56686	return nil, false
56687}
56688
56689// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for LookupActivity.
56690func (la LookupActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
56691	return nil, false
56692}
56693
56694// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for LookupActivity.
56695func (la LookupActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
56696	return nil, false
56697}
56698
56699// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for LookupActivity.
56700func (la LookupActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
56701	return nil, false
56702}
56703
56704// AsGetMetadataActivity is the BasicActivity implementation for LookupActivity.
56705func (la LookupActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
56706	return nil, false
56707}
56708
56709// AsWebActivity is the BasicActivity implementation for LookupActivity.
56710func (la LookupActivity) AsWebActivity() (*WebActivity, bool) {
56711	return nil, false
56712}
56713
56714// AsLookupActivity is the BasicActivity implementation for LookupActivity.
56715func (la LookupActivity) AsLookupActivity() (*LookupActivity, bool) {
56716	return &la, true
56717}
56718
56719// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for LookupActivity.
56720func (la LookupActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
56721	return nil, false
56722}
56723
56724// AsCustomActivity is the BasicActivity implementation for LookupActivity.
56725func (la LookupActivity) AsCustomActivity() (*CustomActivity, bool) {
56726	return nil, false
56727}
56728
56729// AsExecuteSSISPackageActivity is the BasicActivity implementation for LookupActivity.
56730func (la LookupActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
56731	return nil, false
56732}
56733
56734// AsHDInsightSparkActivity is the BasicActivity implementation for LookupActivity.
56735func (la LookupActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
56736	return nil, false
56737}
56738
56739// AsHDInsightStreamingActivity is the BasicActivity implementation for LookupActivity.
56740func (la LookupActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
56741	return nil, false
56742}
56743
56744// AsHDInsightMapReduceActivity is the BasicActivity implementation for LookupActivity.
56745func (la LookupActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
56746	return nil, false
56747}
56748
56749// AsHDInsightPigActivity is the BasicActivity implementation for LookupActivity.
56750func (la LookupActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
56751	return nil, false
56752}
56753
56754// AsHDInsightHiveActivity is the BasicActivity implementation for LookupActivity.
56755func (la LookupActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
56756	return nil, false
56757}
56758
56759// AsCopyActivity is the BasicActivity implementation for LookupActivity.
56760func (la LookupActivity) AsCopyActivity() (*CopyActivity, bool) {
56761	return nil, false
56762}
56763
56764// AsExecutionActivity is the BasicActivity implementation for LookupActivity.
56765func (la LookupActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
56766	return nil, false
56767}
56768
56769// AsBasicExecutionActivity is the BasicActivity implementation for LookupActivity.
56770func (la LookupActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
56771	return &la, true
56772}
56773
56774// AsFilterActivity is the BasicActivity implementation for LookupActivity.
56775func (la LookupActivity) AsFilterActivity() (*FilterActivity, bool) {
56776	return nil, false
56777}
56778
56779// AsUntilActivity is the BasicActivity implementation for LookupActivity.
56780func (la LookupActivity) AsUntilActivity() (*UntilActivity, bool) {
56781	return nil, false
56782}
56783
56784// AsWaitActivity is the BasicActivity implementation for LookupActivity.
56785func (la LookupActivity) AsWaitActivity() (*WaitActivity, bool) {
56786	return nil, false
56787}
56788
56789// AsForEachActivity is the BasicActivity implementation for LookupActivity.
56790func (la LookupActivity) AsForEachActivity() (*ForEachActivity, bool) {
56791	return nil, false
56792}
56793
56794// AsIfConditionActivity is the BasicActivity implementation for LookupActivity.
56795func (la LookupActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
56796	return nil, false
56797}
56798
56799// AsExecutePipelineActivity is the BasicActivity implementation for LookupActivity.
56800func (la LookupActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
56801	return nil, false
56802}
56803
56804// AsControlActivity is the BasicActivity implementation for LookupActivity.
56805func (la LookupActivity) AsControlActivity() (*ControlActivity, bool) {
56806	return nil, false
56807}
56808
56809// AsBasicControlActivity is the BasicActivity implementation for LookupActivity.
56810func (la LookupActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
56811	return nil, false
56812}
56813
56814// AsActivity is the BasicActivity implementation for LookupActivity.
56815func (la LookupActivity) AsActivity() (*Activity, bool) {
56816	return nil, false
56817}
56818
56819// AsBasicActivity is the BasicActivity implementation for LookupActivity.
56820func (la LookupActivity) AsBasicActivity() (BasicActivity, bool) {
56821	return &la, true
56822}
56823
56824// UnmarshalJSON is the custom unmarshaler for LookupActivity struct.
56825func (la *LookupActivity) UnmarshalJSON(body []byte) error {
56826	var m map[string]*json.RawMessage
56827	err := json.Unmarshal(body, &m)
56828	if err != nil {
56829		return err
56830	}
56831	for k, v := range m {
56832		switch k {
56833		case "typeProperties":
56834			if v != nil {
56835				var lookupActivityTypeProperties LookupActivityTypeProperties
56836				err = json.Unmarshal(*v, &lookupActivityTypeProperties)
56837				if err != nil {
56838					return err
56839				}
56840				la.LookupActivityTypeProperties = &lookupActivityTypeProperties
56841			}
56842		case "linkedServiceName":
56843			if v != nil {
56844				var linkedServiceName LinkedServiceReference
56845				err = json.Unmarshal(*v, &linkedServiceName)
56846				if err != nil {
56847					return err
56848				}
56849				la.LinkedServiceName = &linkedServiceName
56850			}
56851		case "policy":
56852			if v != nil {
56853				var policy ActivityPolicy
56854				err = json.Unmarshal(*v, &policy)
56855				if err != nil {
56856					return err
56857				}
56858				la.Policy = &policy
56859			}
56860		default:
56861			if v != nil {
56862				var additionalProperties interface{}
56863				err = json.Unmarshal(*v, &additionalProperties)
56864				if err != nil {
56865					return err
56866				}
56867				if la.AdditionalProperties == nil {
56868					la.AdditionalProperties = make(map[string]interface{})
56869				}
56870				la.AdditionalProperties[k] = additionalProperties
56871			}
56872		case "name":
56873			if v != nil {
56874				var name string
56875				err = json.Unmarshal(*v, &name)
56876				if err != nil {
56877					return err
56878				}
56879				la.Name = &name
56880			}
56881		case "description":
56882			if v != nil {
56883				var description string
56884				err = json.Unmarshal(*v, &description)
56885				if err != nil {
56886					return err
56887				}
56888				la.Description = &description
56889			}
56890		case "dependsOn":
56891			if v != nil {
56892				var dependsOn []ActivityDependency
56893				err = json.Unmarshal(*v, &dependsOn)
56894				if err != nil {
56895					return err
56896				}
56897				la.DependsOn = &dependsOn
56898			}
56899		case "type":
56900			if v != nil {
56901				var typeVar TypeBasicActivity
56902				err = json.Unmarshal(*v, &typeVar)
56903				if err != nil {
56904					return err
56905				}
56906				la.Type = typeVar
56907			}
56908		}
56909	}
56910
56911	return nil
56912}
56913
56914// LookupActivityTypeProperties lookup activity properties.
56915type LookupActivityTypeProperties struct {
56916	// Source - Dataset-specific source properties, same as copy activity source.
56917	Source BasicCopySource `json:"source,omitempty"`
56918	// Dataset - Lookup activity dataset reference.
56919	Dataset *DatasetReference `json:"dataset,omitempty"`
56920	// FirstRowOnly - Whether to return first row or all rows. Default value is true. Type: boolean (or Expression with resultType boolean).
56921	FirstRowOnly interface{} `json:"firstRowOnly,omitempty"`
56922}
56923
56924// UnmarshalJSON is the custom unmarshaler for LookupActivityTypeProperties struct.
56925func (latp *LookupActivityTypeProperties) UnmarshalJSON(body []byte) error {
56926	var m map[string]*json.RawMessage
56927	err := json.Unmarshal(body, &m)
56928	if err != nil {
56929		return err
56930	}
56931	for k, v := range m {
56932		switch k {
56933		case "source":
56934			if v != nil {
56935				source, err := unmarshalBasicCopySource(*v)
56936				if err != nil {
56937					return err
56938				}
56939				latp.Source = source
56940			}
56941		case "dataset":
56942			if v != nil {
56943				var dataset DatasetReference
56944				err = json.Unmarshal(*v, &dataset)
56945				if err != nil {
56946					return err
56947				}
56948				latp.Dataset = &dataset
56949			}
56950		case "firstRowOnly":
56951			if v != nil {
56952				var firstRowOnly interface{}
56953				err = json.Unmarshal(*v, &firstRowOnly)
56954				if err != nil {
56955					return err
56956				}
56957				latp.FirstRowOnly = firstRowOnly
56958			}
56959		}
56960	}
56961
56962	return nil
56963}
56964
56965// MagentoLinkedService magento server linked service.
56966type MagentoLinkedService struct {
56967	// MagentoLinkedServiceTypeProperties - Magento server linked service properties.
56968	*MagentoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
56969	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
56970	AdditionalProperties map[string]interface{} `json:""`
56971	// ConnectVia - The integration runtime reference.
56972	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
56973	// Description - Linked service description.
56974	Description *string `json:"description,omitempty"`
56975	// Parameters - Parameters for linked service.
56976	Parameters map[string]*ParameterSpecification `json:"parameters"`
56977	// Annotations - List of tags that can be used for describing the Dataset.
56978	Annotations *[]interface{} `json:"annotations,omitempty"`
56979	// 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'
56980	Type TypeBasicLinkedService `json:"type,omitempty"`
56981}
56982
56983// MarshalJSON is the custom marshaler for MagentoLinkedService.
56984func (mls MagentoLinkedService) MarshalJSON() ([]byte, error) {
56985	mls.Type = TypeMagento
56986	objectMap := make(map[string]interface{})
56987	if mls.MagentoLinkedServiceTypeProperties != nil {
56988		objectMap["typeProperties"] = mls.MagentoLinkedServiceTypeProperties
56989	}
56990	if mls.ConnectVia != nil {
56991		objectMap["connectVia"] = mls.ConnectVia
56992	}
56993	if mls.Description != nil {
56994		objectMap["description"] = mls.Description
56995	}
56996	if mls.Parameters != nil {
56997		objectMap["parameters"] = mls.Parameters
56998	}
56999	if mls.Annotations != nil {
57000		objectMap["annotations"] = mls.Annotations
57001	}
57002	if mls.Type != "" {
57003		objectMap["type"] = mls.Type
57004	}
57005	for k, v := range mls.AdditionalProperties {
57006		objectMap[k] = v
57007	}
57008	return json.Marshal(objectMap)
57009}
57010
57011// AsResponsysLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57012func (mls MagentoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
57013	return nil, false
57014}
57015
57016// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57017func (mls MagentoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
57018	return nil, false
57019}
57020
57021// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57022func (mls MagentoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
57023	return nil, false
57024}
57025
57026// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57027func (mls MagentoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
57028	return nil, false
57029}
57030
57031// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57032func (mls MagentoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
57033	return nil, false
57034}
57035
57036// AsNetezzaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57037func (mls MagentoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
57038	return nil, false
57039}
57040
57041// AsVerticaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57042func (mls MagentoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
57043	return nil, false
57044}
57045
57046// AsZohoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57047func (mls MagentoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
57048	return nil, false
57049}
57050
57051// AsXeroLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57052func (mls MagentoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
57053	return nil, false
57054}
57055
57056// AsSquareLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57057func (mls MagentoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
57058	return nil, false
57059}
57060
57061// AsSparkLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57062func (mls MagentoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
57063	return nil, false
57064}
57065
57066// AsShopifyLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57067func (mls MagentoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
57068	return nil, false
57069}
57070
57071// AsServiceNowLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57072func (mls MagentoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
57073	return nil, false
57074}
57075
57076// AsQuickBooksLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57077func (mls MagentoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
57078	return nil, false
57079}
57080
57081// AsPrestoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57082func (mls MagentoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
57083	return nil, false
57084}
57085
57086// AsPhoenixLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57087func (mls MagentoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
57088	return nil, false
57089}
57090
57091// AsPaypalLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57092func (mls MagentoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
57093	return nil, false
57094}
57095
57096// AsMarketoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57097func (mls MagentoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
57098	return nil, false
57099}
57100
57101// AsMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57102func (mls MagentoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
57103	return nil, false
57104}
57105
57106// AsMagentoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57107func (mls MagentoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
57108	return &mls, true
57109}
57110
57111// AsJiraLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57112func (mls MagentoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
57113	return nil, false
57114}
57115
57116// AsImpalaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57117func (mls MagentoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
57118	return nil, false
57119}
57120
57121// AsHubspotLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57122func (mls MagentoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
57123	return nil, false
57124}
57125
57126// AsHiveLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57127func (mls MagentoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
57128	return nil, false
57129}
57130
57131// AsHBaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57132func (mls MagentoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
57133	return nil, false
57134}
57135
57136// AsGreenplumLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57137func (mls MagentoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
57138	return nil, false
57139}
57140
57141// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57142func (mls MagentoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
57143	return nil, false
57144}
57145
57146// AsEloquaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57147func (mls MagentoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
57148	return nil, false
57149}
57150
57151// AsDrillLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57152func (mls MagentoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
57153	return nil, false
57154}
57155
57156// AsCouchbaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57157func (mls MagentoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
57158	return nil, false
57159}
57160
57161// AsConcurLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57162func (mls MagentoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
57163	return nil, false
57164}
57165
57166// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57167func (mls MagentoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
57168	return nil, false
57169}
57170
57171// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57172func (mls MagentoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
57173	return nil, false
57174}
57175
57176// AsSapHanaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57177func (mls MagentoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
57178	return nil, false
57179}
57180
57181// AsSapBWLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57182func (mls MagentoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
57183	return nil, false
57184}
57185
57186// AsSftpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57187func (mls MagentoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
57188	return nil, false
57189}
57190
57191// AsFtpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57192func (mls MagentoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
57193	return nil, false
57194}
57195
57196// AsHTTPLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57197func (mls MagentoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
57198	return nil, false
57199}
57200
57201// AsAzureSearchLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57202func (mls MagentoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
57203	return nil, false
57204}
57205
57206// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57207func (mls MagentoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
57208	return nil, false
57209}
57210
57211// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57212func (mls MagentoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
57213	return nil, false
57214}
57215
57216// AsAmazonS3LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57217func (mls MagentoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
57218	return nil, false
57219}
57220
57221// AsSapEccLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57222func (mls MagentoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
57223	return nil, false
57224}
57225
57226// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57227func (mls MagentoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
57228	return nil, false
57229}
57230
57231// AsSalesforceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57232func (mls MagentoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
57233	return nil, false
57234}
57235
57236// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57237func (mls MagentoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
57238	return nil, false
57239}
57240
57241// AsMongoDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57242func (mls MagentoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
57243	return nil, false
57244}
57245
57246// AsCassandraLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57247func (mls MagentoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
57248	return nil, false
57249}
57250
57251// AsWebLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57252func (mls MagentoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
57253	return nil, false
57254}
57255
57256// AsODataLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57257func (mls MagentoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
57258	return nil, false
57259}
57260
57261// AsHdfsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57262func (mls MagentoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
57263	return nil, false
57264}
57265
57266// AsOdbcLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57267func (mls MagentoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
57268	return nil, false
57269}
57270
57271// AsAzureMLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57272func (mls MagentoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
57273	return nil, false
57274}
57275
57276// AsTeradataLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57277func (mls MagentoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
57278	return nil, false
57279}
57280
57281// AsDb2LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57282func (mls MagentoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
57283	return nil, false
57284}
57285
57286// AsSybaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57287func (mls MagentoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
57288	return nil, false
57289}
57290
57291// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57292func (mls MagentoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
57293	return nil, false
57294}
57295
57296// AsMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57297func (mls MagentoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
57298	return nil, false
57299}
57300
57301// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57302func (mls MagentoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
57303	return nil, false
57304}
57305
57306// AsOracleLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57307func (mls MagentoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
57308	return nil, false
57309}
57310
57311// AsFileServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57312func (mls MagentoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
57313	return nil, false
57314}
57315
57316// AsHDInsightLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57317func (mls MagentoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
57318	return nil, false
57319}
57320
57321// AsDynamicsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57322func (mls MagentoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
57323	return nil, false
57324}
57325
57326// AsCosmosDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57327func (mls MagentoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
57328	return nil, false
57329}
57330
57331// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57332func (mls MagentoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
57333	return nil, false
57334}
57335
57336// AsAzureBatchLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57337func (mls MagentoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
57338	return nil, false
57339}
57340
57341// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57342func (mls MagentoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
57343	return nil, false
57344}
57345
57346// AsSQLServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57347func (mls MagentoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
57348	return nil, false
57349}
57350
57351// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57352func (mls MagentoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
57353	return nil, false
57354}
57355
57356// AsAzureStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57357func (mls MagentoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
57358	return nil, false
57359}
57360
57361// AsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57362func (mls MagentoLinkedService) AsLinkedService() (*LinkedService, bool) {
57363	return nil, false
57364}
57365
57366// AsBasicLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
57367func (mls MagentoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
57368	return &mls, true
57369}
57370
57371// UnmarshalJSON is the custom unmarshaler for MagentoLinkedService struct.
57372func (mls *MagentoLinkedService) UnmarshalJSON(body []byte) error {
57373	var m map[string]*json.RawMessage
57374	err := json.Unmarshal(body, &m)
57375	if err != nil {
57376		return err
57377	}
57378	for k, v := range m {
57379		switch k {
57380		case "typeProperties":
57381			if v != nil {
57382				var magentoLinkedServiceTypeProperties MagentoLinkedServiceTypeProperties
57383				err = json.Unmarshal(*v, &magentoLinkedServiceTypeProperties)
57384				if err != nil {
57385					return err
57386				}
57387				mls.MagentoLinkedServiceTypeProperties = &magentoLinkedServiceTypeProperties
57388			}
57389		default:
57390			if v != nil {
57391				var additionalProperties interface{}
57392				err = json.Unmarshal(*v, &additionalProperties)
57393				if err != nil {
57394					return err
57395				}
57396				if mls.AdditionalProperties == nil {
57397					mls.AdditionalProperties = make(map[string]interface{})
57398				}
57399				mls.AdditionalProperties[k] = additionalProperties
57400			}
57401		case "connectVia":
57402			if v != nil {
57403				var connectVia IntegrationRuntimeReference
57404				err = json.Unmarshal(*v, &connectVia)
57405				if err != nil {
57406					return err
57407				}
57408				mls.ConnectVia = &connectVia
57409			}
57410		case "description":
57411			if v != nil {
57412				var description string
57413				err = json.Unmarshal(*v, &description)
57414				if err != nil {
57415					return err
57416				}
57417				mls.Description = &description
57418			}
57419		case "parameters":
57420			if v != nil {
57421				var parameters map[string]*ParameterSpecification
57422				err = json.Unmarshal(*v, &parameters)
57423				if err != nil {
57424					return err
57425				}
57426				mls.Parameters = parameters
57427			}
57428		case "annotations":
57429			if v != nil {
57430				var annotations []interface{}
57431				err = json.Unmarshal(*v, &annotations)
57432				if err != nil {
57433					return err
57434				}
57435				mls.Annotations = &annotations
57436			}
57437		case "type":
57438			if v != nil {
57439				var typeVar TypeBasicLinkedService
57440				err = json.Unmarshal(*v, &typeVar)
57441				if err != nil {
57442					return err
57443				}
57444				mls.Type = typeVar
57445			}
57446		}
57447	}
57448
57449	return nil
57450}
57451
57452// MagentoLinkedServiceTypeProperties magento server linked service properties.
57453type MagentoLinkedServiceTypeProperties struct {
57454	// Host - The URL of the Magento instance. (i.e. 192.168.222.110/magento3)
57455	Host interface{} `json:"host,omitempty"`
57456	// AccessToken - The access token from Magento.
57457	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
57458	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
57459	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
57460	// 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.
57461	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
57462	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
57463	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
57464	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
57465	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
57466}
57467
57468// UnmarshalJSON is the custom unmarshaler for MagentoLinkedServiceTypeProperties struct.
57469func (mlstp *MagentoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
57470	var m map[string]*json.RawMessage
57471	err := json.Unmarshal(body, &m)
57472	if err != nil {
57473		return err
57474	}
57475	for k, v := range m {
57476		switch k {
57477		case "host":
57478			if v != nil {
57479				var host interface{}
57480				err = json.Unmarshal(*v, &host)
57481				if err != nil {
57482					return err
57483				}
57484				mlstp.Host = host
57485			}
57486		case "accessToken":
57487			if v != nil {
57488				accessToken, err := unmarshalBasicSecretBase(*v)
57489				if err != nil {
57490					return err
57491				}
57492				mlstp.AccessToken = accessToken
57493			}
57494		case "useEncryptedEndpoints":
57495			if v != nil {
57496				var useEncryptedEndpoints interface{}
57497				err = json.Unmarshal(*v, &useEncryptedEndpoints)
57498				if err != nil {
57499					return err
57500				}
57501				mlstp.UseEncryptedEndpoints = useEncryptedEndpoints
57502			}
57503		case "useHostVerification":
57504			if v != nil {
57505				var useHostVerification interface{}
57506				err = json.Unmarshal(*v, &useHostVerification)
57507				if err != nil {
57508					return err
57509				}
57510				mlstp.UseHostVerification = useHostVerification
57511			}
57512		case "usePeerVerification":
57513			if v != nil {
57514				var usePeerVerification interface{}
57515				err = json.Unmarshal(*v, &usePeerVerification)
57516				if err != nil {
57517					return err
57518				}
57519				mlstp.UsePeerVerification = usePeerVerification
57520			}
57521		case "encryptedCredential":
57522			if v != nil {
57523				var encryptedCredential interface{}
57524				err = json.Unmarshal(*v, &encryptedCredential)
57525				if err != nil {
57526					return err
57527				}
57528				mlstp.EncryptedCredential = encryptedCredential
57529			}
57530		}
57531	}
57532
57533	return nil
57534}
57535
57536// MagentoObjectDataset magento server dataset.
57537type MagentoObjectDataset struct {
57538	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
57539	AdditionalProperties map[string]interface{} `json:""`
57540	// Description - Dataset description.
57541	Description *string `json:"description,omitempty"`
57542	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
57543	Structure interface{} `json:"structure,omitempty"`
57544	// LinkedServiceName - Linked service reference.
57545	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
57546	// Parameters - Parameters for dataset.
57547	Parameters map[string]*ParameterSpecification `json:"parameters"`
57548	// Annotations - List of tags that can be used for describing the Dataset.
57549	Annotations *[]interface{} `json:"annotations,omitempty"`
57550	// 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'
57551	Type TypeBasicDataset `json:"type,omitempty"`
57552}
57553
57554// MarshalJSON is the custom marshaler for MagentoObjectDataset.
57555func (mod MagentoObjectDataset) MarshalJSON() ([]byte, error) {
57556	mod.Type = TypeMagentoObject
57557	objectMap := make(map[string]interface{})
57558	if mod.Description != nil {
57559		objectMap["description"] = mod.Description
57560	}
57561	if mod.Structure != nil {
57562		objectMap["structure"] = mod.Structure
57563	}
57564	if mod.LinkedServiceName != nil {
57565		objectMap["linkedServiceName"] = mod.LinkedServiceName
57566	}
57567	if mod.Parameters != nil {
57568		objectMap["parameters"] = mod.Parameters
57569	}
57570	if mod.Annotations != nil {
57571		objectMap["annotations"] = mod.Annotations
57572	}
57573	if mod.Type != "" {
57574		objectMap["type"] = mod.Type
57575	}
57576	for k, v := range mod.AdditionalProperties {
57577		objectMap[k] = v
57578	}
57579	return json.Marshal(objectMap)
57580}
57581
57582// AsResponsysObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57583func (mod MagentoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
57584	return nil, false
57585}
57586
57587// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57588func (mod MagentoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
57589	return nil, false
57590}
57591
57592// AsVerticaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57593func (mod MagentoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
57594	return nil, false
57595}
57596
57597// AsNetezzaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57598func (mod MagentoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
57599	return nil, false
57600}
57601
57602// AsZohoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57603func (mod MagentoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
57604	return nil, false
57605}
57606
57607// AsXeroObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57608func (mod MagentoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
57609	return nil, false
57610}
57611
57612// AsSquareObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57613func (mod MagentoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
57614	return nil, false
57615}
57616
57617// AsSparkObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57618func (mod MagentoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
57619	return nil, false
57620}
57621
57622// AsShopifyObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57623func (mod MagentoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
57624	return nil, false
57625}
57626
57627// AsServiceNowObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57628func (mod MagentoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
57629	return nil, false
57630}
57631
57632// AsQuickBooksObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57633func (mod MagentoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
57634	return nil, false
57635}
57636
57637// AsPrestoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57638func (mod MagentoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
57639	return nil, false
57640}
57641
57642// AsPhoenixObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57643func (mod MagentoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
57644	return nil, false
57645}
57646
57647// AsPaypalObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57648func (mod MagentoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
57649	return nil, false
57650}
57651
57652// AsMarketoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57653func (mod MagentoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
57654	return nil, false
57655}
57656
57657// AsMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57658func (mod MagentoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
57659	return nil, false
57660}
57661
57662// AsMagentoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57663func (mod MagentoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
57664	return &mod, true
57665}
57666
57667// AsJiraObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57668func (mod MagentoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
57669	return nil, false
57670}
57671
57672// AsImpalaObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57673func (mod MagentoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
57674	return nil, false
57675}
57676
57677// AsHubspotObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57678func (mod MagentoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
57679	return nil, false
57680}
57681
57682// AsHiveObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57683func (mod MagentoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
57684	return nil, false
57685}
57686
57687// AsHBaseObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57688func (mod MagentoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
57689	return nil, false
57690}
57691
57692// AsGreenplumTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57693func (mod MagentoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
57694	return nil, false
57695}
57696
57697// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57698func (mod MagentoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
57699	return nil, false
57700}
57701
57702// AsEloquaObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57703func (mod MagentoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
57704	return nil, false
57705}
57706
57707// AsDrillTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57708func (mod MagentoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
57709	return nil, false
57710}
57711
57712// AsCouchbaseTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57713func (mod MagentoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
57714	return nil, false
57715}
57716
57717// AsConcurObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57718func (mod MagentoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
57719	return nil, false
57720}
57721
57722// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57723func (mod MagentoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
57724	return nil, false
57725}
57726
57727// AsAmazonMWSObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57728func (mod MagentoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
57729	return nil, false
57730}
57731
57732// AsHTTPDataset is the BasicDataset implementation for MagentoObjectDataset.
57733func (mod MagentoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
57734	return nil, false
57735}
57736
57737// AsAzureSearchIndexDataset is the BasicDataset implementation for MagentoObjectDataset.
57738func (mod MagentoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
57739	return nil, false
57740}
57741
57742// AsWebTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57743func (mod MagentoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
57744	return nil, false
57745}
57746
57747// AsSQLServerTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57748func (mod MagentoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
57749	return nil, false
57750}
57751
57752// AsSapEccResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
57753func (mod MagentoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
57754	return nil, false
57755}
57756
57757// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
57758func (mod MagentoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
57759	return nil, false
57760}
57761
57762// AsSalesforceObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
57763func (mod MagentoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
57764	return nil, false
57765}
57766
57767// AsRelationalTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57768func (mod MagentoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
57769	return nil, false
57770}
57771
57772// AsAzureMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57773func (mod MagentoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
57774	return nil, false
57775}
57776
57777// AsOracleTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57778func (mod MagentoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
57779	return nil, false
57780}
57781
57782// AsODataResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
57783func (mod MagentoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
57784	return nil, false
57785}
57786
57787// AsMongoDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
57788func (mod MagentoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
57789	return nil, false
57790}
57791
57792// AsFileShareDataset is the BasicDataset implementation for MagentoObjectDataset.
57793func (mod MagentoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
57794	return nil, false
57795}
57796
57797// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MagentoObjectDataset.
57798func (mod MagentoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
57799	return nil, false
57800}
57801
57802// AsDynamicsEntityDataset is the BasicDataset implementation for MagentoObjectDataset.
57803func (mod MagentoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
57804	return nil, false
57805}
57806
57807// AsDocumentDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
57808func (mod MagentoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
57809	return nil, false
57810}
57811
57812// AsCustomDataset is the BasicDataset implementation for MagentoObjectDataset.
57813func (mod MagentoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
57814	return nil, false
57815}
57816
57817// AsCassandraTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57818func (mod MagentoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
57819	return nil, false
57820}
57821
57822// AsAzureSQLDWTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57823func (mod MagentoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
57824	return nil, false
57825}
57826
57827// AsAzureSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57828func (mod MagentoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
57829	return nil, false
57830}
57831
57832// AsAzureTableDataset is the BasicDataset implementation for MagentoObjectDataset.
57833func (mod MagentoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
57834	return nil, false
57835}
57836
57837// AsAzureBlobDataset is the BasicDataset implementation for MagentoObjectDataset.
57838func (mod MagentoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
57839	return nil, false
57840}
57841
57842// AsAmazonS3Dataset is the BasicDataset implementation for MagentoObjectDataset.
57843func (mod MagentoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
57844	return nil, false
57845}
57846
57847// AsDataset is the BasicDataset implementation for MagentoObjectDataset.
57848func (mod MagentoObjectDataset) AsDataset() (*Dataset, bool) {
57849	return nil, false
57850}
57851
57852// AsBasicDataset is the BasicDataset implementation for MagentoObjectDataset.
57853func (mod MagentoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
57854	return &mod, true
57855}
57856
57857// UnmarshalJSON is the custom unmarshaler for MagentoObjectDataset struct.
57858func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error {
57859	var m map[string]*json.RawMessage
57860	err := json.Unmarshal(body, &m)
57861	if err != nil {
57862		return err
57863	}
57864	for k, v := range m {
57865		switch k {
57866		default:
57867			if v != nil {
57868				var additionalProperties interface{}
57869				err = json.Unmarshal(*v, &additionalProperties)
57870				if err != nil {
57871					return err
57872				}
57873				if mod.AdditionalProperties == nil {
57874					mod.AdditionalProperties = make(map[string]interface{})
57875				}
57876				mod.AdditionalProperties[k] = additionalProperties
57877			}
57878		case "description":
57879			if v != nil {
57880				var description string
57881				err = json.Unmarshal(*v, &description)
57882				if err != nil {
57883					return err
57884				}
57885				mod.Description = &description
57886			}
57887		case "structure":
57888			if v != nil {
57889				var structure interface{}
57890				err = json.Unmarshal(*v, &structure)
57891				if err != nil {
57892					return err
57893				}
57894				mod.Structure = structure
57895			}
57896		case "linkedServiceName":
57897			if v != nil {
57898				var linkedServiceName LinkedServiceReference
57899				err = json.Unmarshal(*v, &linkedServiceName)
57900				if err != nil {
57901					return err
57902				}
57903				mod.LinkedServiceName = &linkedServiceName
57904			}
57905		case "parameters":
57906			if v != nil {
57907				var parameters map[string]*ParameterSpecification
57908				err = json.Unmarshal(*v, &parameters)
57909				if err != nil {
57910					return err
57911				}
57912				mod.Parameters = parameters
57913			}
57914		case "annotations":
57915			if v != nil {
57916				var annotations []interface{}
57917				err = json.Unmarshal(*v, &annotations)
57918				if err != nil {
57919					return err
57920				}
57921				mod.Annotations = &annotations
57922			}
57923		case "type":
57924			if v != nil {
57925				var typeVar TypeBasicDataset
57926				err = json.Unmarshal(*v, &typeVar)
57927				if err != nil {
57928					return err
57929				}
57930				mod.Type = typeVar
57931			}
57932		}
57933	}
57934
57935	return nil
57936}
57937
57938// MagentoSource a copy activity Magento server source.
57939type MagentoSource struct {
57940	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
57941	Query interface{} `json:"query,omitempty"`
57942	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
57943	AdditionalProperties map[string]interface{} `json:""`
57944	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
57945	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
57946	// 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])).
57947	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
57948	// 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'
57949	Type TypeBasicCopySource `json:"type,omitempty"`
57950}
57951
57952// MarshalJSON is the custom marshaler for MagentoSource.
57953func (ms MagentoSource) MarshalJSON() ([]byte, error) {
57954	ms.Type = TypeMagentoSource
57955	objectMap := make(map[string]interface{})
57956	if ms.Query != nil {
57957		objectMap["query"] = ms.Query
57958	}
57959	if ms.SourceRetryCount != nil {
57960		objectMap["sourceRetryCount"] = ms.SourceRetryCount
57961	}
57962	if ms.SourceRetryWait != nil {
57963		objectMap["sourceRetryWait"] = ms.SourceRetryWait
57964	}
57965	if ms.Type != "" {
57966		objectMap["type"] = ms.Type
57967	}
57968	for k, v := range ms.AdditionalProperties {
57969		objectMap[k] = v
57970	}
57971	return json.Marshal(objectMap)
57972}
57973
57974// AsAmazonRedshiftSource is the BasicCopySource implementation for MagentoSource.
57975func (ms MagentoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
57976	return nil, false
57977}
57978
57979// AsResponsysSource is the BasicCopySource implementation for MagentoSource.
57980func (ms MagentoSource) AsResponsysSource() (*ResponsysSource, bool) {
57981	return nil, false
57982}
57983
57984// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MagentoSource.
57985func (ms MagentoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
57986	return nil, false
57987}
57988
57989// AsVerticaSource is the BasicCopySource implementation for MagentoSource.
57990func (ms MagentoSource) AsVerticaSource() (*VerticaSource, bool) {
57991	return nil, false
57992}
57993
57994// AsNetezzaSource is the BasicCopySource implementation for MagentoSource.
57995func (ms MagentoSource) AsNetezzaSource() (*NetezzaSource, bool) {
57996	return nil, false
57997}
57998
57999// AsZohoSource is the BasicCopySource implementation for MagentoSource.
58000func (ms MagentoSource) AsZohoSource() (*ZohoSource, bool) {
58001	return nil, false
58002}
58003
58004// AsXeroSource is the BasicCopySource implementation for MagentoSource.
58005func (ms MagentoSource) AsXeroSource() (*XeroSource, bool) {
58006	return nil, false
58007}
58008
58009// AsSquareSource is the BasicCopySource implementation for MagentoSource.
58010func (ms MagentoSource) AsSquareSource() (*SquareSource, bool) {
58011	return nil, false
58012}
58013
58014// AsSparkSource is the BasicCopySource implementation for MagentoSource.
58015func (ms MagentoSource) AsSparkSource() (*SparkSource, bool) {
58016	return nil, false
58017}
58018
58019// AsShopifySource is the BasicCopySource implementation for MagentoSource.
58020func (ms MagentoSource) AsShopifySource() (*ShopifySource, bool) {
58021	return nil, false
58022}
58023
58024// AsServiceNowSource is the BasicCopySource implementation for MagentoSource.
58025func (ms MagentoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
58026	return nil, false
58027}
58028
58029// AsQuickBooksSource is the BasicCopySource implementation for MagentoSource.
58030func (ms MagentoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
58031	return nil, false
58032}
58033
58034// AsPrestoSource is the BasicCopySource implementation for MagentoSource.
58035func (ms MagentoSource) AsPrestoSource() (*PrestoSource, bool) {
58036	return nil, false
58037}
58038
58039// AsPhoenixSource is the BasicCopySource implementation for MagentoSource.
58040func (ms MagentoSource) AsPhoenixSource() (*PhoenixSource, bool) {
58041	return nil, false
58042}
58043
58044// AsPaypalSource is the BasicCopySource implementation for MagentoSource.
58045func (ms MagentoSource) AsPaypalSource() (*PaypalSource, bool) {
58046	return nil, false
58047}
58048
58049// AsMarketoSource is the BasicCopySource implementation for MagentoSource.
58050func (ms MagentoSource) AsMarketoSource() (*MarketoSource, bool) {
58051	return nil, false
58052}
58053
58054// AsMariaDBSource is the BasicCopySource implementation for MagentoSource.
58055func (ms MagentoSource) AsMariaDBSource() (*MariaDBSource, bool) {
58056	return nil, false
58057}
58058
58059// AsMagentoSource is the BasicCopySource implementation for MagentoSource.
58060func (ms MagentoSource) AsMagentoSource() (*MagentoSource, bool) {
58061	return &ms, true
58062}
58063
58064// AsJiraSource is the BasicCopySource implementation for MagentoSource.
58065func (ms MagentoSource) AsJiraSource() (*JiraSource, bool) {
58066	return nil, false
58067}
58068
58069// AsImpalaSource is the BasicCopySource implementation for MagentoSource.
58070func (ms MagentoSource) AsImpalaSource() (*ImpalaSource, bool) {
58071	return nil, false
58072}
58073
58074// AsHubspotSource is the BasicCopySource implementation for MagentoSource.
58075func (ms MagentoSource) AsHubspotSource() (*HubspotSource, bool) {
58076	return nil, false
58077}
58078
58079// AsHiveSource is the BasicCopySource implementation for MagentoSource.
58080func (ms MagentoSource) AsHiveSource() (*HiveSource, bool) {
58081	return nil, false
58082}
58083
58084// AsHBaseSource is the BasicCopySource implementation for MagentoSource.
58085func (ms MagentoSource) AsHBaseSource() (*HBaseSource, bool) {
58086	return nil, false
58087}
58088
58089// AsGreenplumSource is the BasicCopySource implementation for MagentoSource.
58090func (ms MagentoSource) AsGreenplumSource() (*GreenplumSource, bool) {
58091	return nil, false
58092}
58093
58094// AsGoogleBigQuerySource is the BasicCopySource implementation for MagentoSource.
58095func (ms MagentoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
58096	return nil, false
58097}
58098
58099// AsEloquaSource is the BasicCopySource implementation for MagentoSource.
58100func (ms MagentoSource) AsEloquaSource() (*EloquaSource, bool) {
58101	return nil, false
58102}
58103
58104// AsDrillSource is the BasicCopySource implementation for MagentoSource.
58105func (ms MagentoSource) AsDrillSource() (*DrillSource, bool) {
58106	return nil, false
58107}
58108
58109// AsCouchbaseSource is the BasicCopySource implementation for MagentoSource.
58110func (ms MagentoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
58111	return nil, false
58112}
58113
58114// AsConcurSource is the BasicCopySource implementation for MagentoSource.
58115func (ms MagentoSource) AsConcurSource() (*ConcurSource, bool) {
58116	return nil, false
58117}
58118
58119// AsAzurePostgreSQLSource is the BasicCopySource implementation for MagentoSource.
58120func (ms MagentoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
58121	return nil, false
58122}
58123
58124// AsAmazonMWSSource is the BasicCopySource implementation for MagentoSource.
58125func (ms MagentoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
58126	return nil, false
58127}
58128
58129// AsHTTPSource is the BasicCopySource implementation for MagentoSource.
58130func (ms MagentoSource) AsHTTPSource() (*HTTPSource, bool) {
58131	return nil, false
58132}
58133
58134// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MagentoSource.
58135func (ms MagentoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
58136	return nil, false
58137}
58138
58139// AsMongoDbSource is the BasicCopySource implementation for MagentoSource.
58140func (ms MagentoSource) AsMongoDbSource() (*MongoDbSource, bool) {
58141	return nil, false
58142}
58143
58144// AsCassandraSource is the BasicCopySource implementation for MagentoSource.
58145func (ms MagentoSource) AsCassandraSource() (*CassandraSource, bool) {
58146	return nil, false
58147}
58148
58149// AsWebSource is the BasicCopySource implementation for MagentoSource.
58150func (ms MagentoSource) AsWebSource() (*WebSource, bool) {
58151	return nil, false
58152}
58153
58154// AsOracleSource is the BasicCopySource implementation for MagentoSource.
58155func (ms MagentoSource) AsOracleSource() (*OracleSource, bool) {
58156	return nil, false
58157}
58158
58159// AsAzureMySQLSource is the BasicCopySource implementation for MagentoSource.
58160func (ms MagentoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
58161	return nil, false
58162}
58163
58164// AsHdfsSource is the BasicCopySource implementation for MagentoSource.
58165func (ms MagentoSource) AsHdfsSource() (*HdfsSource, bool) {
58166	return nil, false
58167}
58168
58169// AsFileSystemSource is the BasicCopySource implementation for MagentoSource.
58170func (ms MagentoSource) AsFileSystemSource() (*FileSystemSource, bool) {
58171	return nil, false
58172}
58173
58174// AsSQLDWSource is the BasicCopySource implementation for MagentoSource.
58175func (ms MagentoSource) AsSQLDWSource() (*SQLDWSource, bool) {
58176	return nil, false
58177}
58178
58179// AsSQLSource is the BasicCopySource implementation for MagentoSource.
58180func (ms MagentoSource) AsSQLSource() (*SQLSource, bool) {
58181	return nil, false
58182}
58183
58184// AsSapEccSource is the BasicCopySource implementation for MagentoSource.
58185func (ms MagentoSource) AsSapEccSource() (*SapEccSource, bool) {
58186	return nil, false
58187}
58188
58189// AsSapCloudForCustomerSource is the BasicCopySource implementation for MagentoSource.
58190func (ms MagentoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
58191	return nil, false
58192}
58193
58194// AsSalesforceSource is the BasicCopySource implementation for MagentoSource.
58195func (ms MagentoSource) AsSalesforceSource() (*SalesforceSource, bool) {
58196	return nil, false
58197}
58198
58199// AsRelationalSource is the BasicCopySource implementation for MagentoSource.
58200func (ms MagentoSource) AsRelationalSource() (*RelationalSource, bool) {
58201	return nil, false
58202}
58203
58204// AsDynamicsSource is the BasicCopySource implementation for MagentoSource.
58205func (ms MagentoSource) AsDynamicsSource() (*DynamicsSource, bool) {
58206	return nil, false
58207}
58208
58209// AsDocumentDbCollectionSource is the BasicCopySource implementation for MagentoSource.
58210func (ms MagentoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
58211	return nil, false
58212}
58213
58214// AsBlobSource is the BasicCopySource implementation for MagentoSource.
58215func (ms MagentoSource) AsBlobSource() (*BlobSource, bool) {
58216	return nil, false
58217}
58218
58219// AsAzureTableSource is the BasicCopySource implementation for MagentoSource.
58220func (ms MagentoSource) AsAzureTableSource() (*AzureTableSource, bool) {
58221	return nil, false
58222}
58223
58224// AsCopySource is the BasicCopySource implementation for MagentoSource.
58225func (ms MagentoSource) AsCopySource() (*CopySource, bool) {
58226	return nil, false
58227}
58228
58229// AsBasicCopySource is the BasicCopySource implementation for MagentoSource.
58230func (ms MagentoSource) AsBasicCopySource() (BasicCopySource, bool) {
58231	return &ms, true
58232}
58233
58234// UnmarshalJSON is the custom unmarshaler for MagentoSource struct.
58235func (ms *MagentoSource) UnmarshalJSON(body []byte) error {
58236	var m map[string]*json.RawMessage
58237	err := json.Unmarshal(body, &m)
58238	if err != nil {
58239		return err
58240	}
58241	for k, v := range m {
58242		switch k {
58243		case "query":
58244			if v != nil {
58245				var query interface{}
58246				err = json.Unmarshal(*v, &query)
58247				if err != nil {
58248					return err
58249				}
58250				ms.Query = query
58251			}
58252		default:
58253			if v != nil {
58254				var additionalProperties interface{}
58255				err = json.Unmarshal(*v, &additionalProperties)
58256				if err != nil {
58257					return err
58258				}
58259				if ms.AdditionalProperties == nil {
58260					ms.AdditionalProperties = make(map[string]interface{})
58261				}
58262				ms.AdditionalProperties[k] = additionalProperties
58263			}
58264		case "sourceRetryCount":
58265			if v != nil {
58266				var sourceRetryCount interface{}
58267				err = json.Unmarshal(*v, &sourceRetryCount)
58268				if err != nil {
58269					return err
58270				}
58271				ms.SourceRetryCount = sourceRetryCount
58272			}
58273		case "sourceRetryWait":
58274			if v != nil {
58275				var sourceRetryWait interface{}
58276				err = json.Unmarshal(*v, &sourceRetryWait)
58277				if err != nil {
58278					return err
58279				}
58280				ms.SourceRetryWait = sourceRetryWait
58281			}
58282		case "type":
58283			if v != nil {
58284				var typeVar TypeBasicCopySource
58285				err = json.Unmarshal(*v, &typeVar)
58286				if err != nil {
58287					return err
58288				}
58289				ms.Type = typeVar
58290			}
58291		}
58292	}
58293
58294	return nil
58295}
58296
58297// ManagedIntegrationRuntime managed integration runtime, including managed elastic and managed dedicated
58298// integration runtimes.
58299type ManagedIntegrationRuntime struct {
58300	// 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'
58301	State IntegrationRuntimeState `json:"state,omitempty"`
58302	// ManagedIntegrationRuntimeTypeProperties - Managed integration runtime properties.
58303	*ManagedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"`
58304	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58305	AdditionalProperties map[string]interface{} `json:""`
58306	// Description - Integration runtime description.
58307	Description *string `json:"description,omitempty"`
58308	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
58309	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
58310}
58311
58312// MarshalJSON is the custom marshaler for ManagedIntegrationRuntime.
58313func (mir ManagedIntegrationRuntime) MarshalJSON() ([]byte, error) {
58314	mir.Type = TypeManaged
58315	objectMap := make(map[string]interface{})
58316	if mir.ManagedIntegrationRuntimeTypeProperties != nil {
58317		objectMap["typeProperties"] = mir.ManagedIntegrationRuntimeTypeProperties
58318	}
58319	if mir.Description != nil {
58320		objectMap["description"] = mir.Description
58321	}
58322	if mir.Type != "" {
58323		objectMap["type"] = mir.Type
58324	}
58325	for k, v := range mir.AdditionalProperties {
58326		objectMap[k] = v
58327	}
58328	return json.Marshal(objectMap)
58329}
58330
58331// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
58332func (mir ManagedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
58333	return nil, false
58334}
58335
58336// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
58337func (mir ManagedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
58338	return &mir, true
58339}
58340
58341// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
58342func (mir ManagedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
58343	return nil, false
58344}
58345
58346// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
58347func (mir ManagedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
58348	return &mir, true
58349}
58350
58351// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntime struct.
58352func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error {
58353	var m map[string]*json.RawMessage
58354	err := json.Unmarshal(body, &m)
58355	if err != nil {
58356		return err
58357	}
58358	for k, v := range m {
58359		switch k {
58360		case "state":
58361			if v != nil {
58362				var state IntegrationRuntimeState
58363				err = json.Unmarshal(*v, &state)
58364				if err != nil {
58365					return err
58366				}
58367				mir.State = state
58368			}
58369		case "typeProperties":
58370			if v != nil {
58371				var managedIntegrationRuntimeTypeProperties ManagedIntegrationRuntimeTypeProperties
58372				err = json.Unmarshal(*v, &managedIntegrationRuntimeTypeProperties)
58373				if err != nil {
58374					return err
58375				}
58376				mir.ManagedIntegrationRuntimeTypeProperties = &managedIntegrationRuntimeTypeProperties
58377			}
58378		default:
58379			if v != nil {
58380				var additionalProperties interface{}
58381				err = json.Unmarshal(*v, &additionalProperties)
58382				if err != nil {
58383					return err
58384				}
58385				if mir.AdditionalProperties == nil {
58386					mir.AdditionalProperties = make(map[string]interface{})
58387				}
58388				mir.AdditionalProperties[k] = additionalProperties
58389			}
58390		case "description":
58391			if v != nil {
58392				var description string
58393				err = json.Unmarshal(*v, &description)
58394				if err != nil {
58395					return err
58396				}
58397				mir.Description = &description
58398			}
58399		case "type":
58400			if v != nil {
58401				var typeVar TypeBasicIntegrationRuntime
58402				err = json.Unmarshal(*v, &typeVar)
58403				if err != nil {
58404					return err
58405				}
58406				mir.Type = typeVar
58407			}
58408		}
58409	}
58410
58411	return nil
58412}
58413
58414// ManagedIntegrationRuntimeError error definition for managed integration runtime.
58415type ManagedIntegrationRuntimeError struct {
58416	// Time - READ-ONLY; The time when the error occurred.
58417	Time *date.Time `json:"time,omitempty"`
58418	// Code - READ-ONLY; Error code.
58419	Code *string `json:"code,omitempty"`
58420	// Parameters - READ-ONLY; Managed integration runtime error parameters.
58421	Parameters *[]string `json:"parameters,omitempty"`
58422	// Message - READ-ONLY; Error message.
58423	Message *string `json:"message,omitempty"`
58424}
58425
58426// ManagedIntegrationRuntimeNode properties of integration runtime node.
58427type ManagedIntegrationRuntimeNode struct {
58428	// NodeID - READ-ONLY; The managed integration runtime node id.
58429	NodeID *string `json:"nodeId,omitempty"`
58430	// Status - READ-ONLY; The managed integration runtime node status. Possible values include: 'ManagedIntegrationRuntimeNodeStatusStarting', 'ManagedIntegrationRuntimeNodeStatusAvailable', 'ManagedIntegrationRuntimeNodeStatusRecycling', 'ManagedIntegrationRuntimeNodeStatusUnavailable'
58431	Status ManagedIntegrationRuntimeNodeStatus `json:"status,omitempty"`
58432	// Errors - The errors that occurred on this integration runtime node.
58433	Errors *[]ManagedIntegrationRuntimeError `json:"errors,omitempty"`
58434}
58435
58436// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeNode.
58437func (mirn ManagedIntegrationRuntimeNode) MarshalJSON() ([]byte, error) {
58438	objectMap := make(map[string]interface{})
58439	if mirn.Errors != nil {
58440		objectMap["errors"] = mirn.Errors
58441	}
58442	return json.Marshal(objectMap)
58443}
58444
58445// ManagedIntegrationRuntimeOperationResult properties of managed integration runtime operation result.
58446type ManagedIntegrationRuntimeOperationResult struct {
58447	// Type - READ-ONLY; The operation type. Could be start or stop.
58448	Type *string `json:"type,omitempty"`
58449	// StartTime - READ-ONLY; The start time of the operation.
58450	StartTime *date.Time `json:"startTime,omitempty"`
58451	// Result - READ-ONLY; The operation result.
58452	Result *string `json:"result,omitempty"`
58453	// ErrorCode - READ-ONLY; The error code.
58454	ErrorCode *string `json:"errorCode,omitempty"`
58455	// Parameters - READ-ONLY; Managed integration runtime error parameters.
58456	Parameters *[]string `json:"parameters,omitempty"`
58457	// ActivityID - READ-ONLY; The activity id for the operation request.
58458	ActivityID *string `json:"activityId,omitempty"`
58459}
58460
58461// ManagedIntegrationRuntimeStatus managed integration runtime status.
58462type ManagedIntegrationRuntimeStatus struct {
58463	// ManagedIntegrationRuntimeStatusTypeProperties - Managed integration runtime status type properties.
58464	*ManagedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"`
58465	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58466	AdditionalProperties map[string]interface{} `json:""`
58467	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
58468	DataFactoryName *string `json:"dataFactoryName,omitempty"`
58469	// State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline'
58470	State IntegrationRuntimeState `json:"state,omitempty"`
58471	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
58472	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
58473}
58474
58475// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeStatus.
58476func (mirs ManagedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
58477	mirs.Type = TypeBasicIntegrationRuntimeStatusTypeManaged
58478	objectMap := make(map[string]interface{})
58479	if mirs.ManagedIntegrationRuntimeStatusTypeProperties != nil {
58480		objectMap["typeProperties"] = mirs.ManagedIntegrationRuntimeStatusTypeProperties
58481	}
58482	if mirs.Type != "" {
58483		objectMap["type"] = mirs.Type
58484	}
58485	for k, v := range mirs.AdditionalProperties {
58486		objectMap[k] = v
58487	}
58488	return json.Marshal(objectMap)
58489}
58490
58491// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
58492func (mirs ManagedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
58493	return nil, false
58494}
58495
58496// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
58497func (mirs ManagedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
58498	return &mirs, true
58499}
58500
58501// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
58502func (mirs ManagedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
58503	return nil, false
58504}
58505
58506// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
58507func (mirs ManagedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
58508	return &mirs, true
58509}
58510
58511// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntimeStatus struct.
58512func (mirs *ManagedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
58513	var m map[string]*json.RawMessage
58514	err := json.Unmarshal(body, &m)
58515	if err != nil {
58516		return err
58517	}
58518	for k, v := range m {
58519		switch k {
58520		case "typeProperties":
58521			if v != nil {
58522				var managedIntegrationRuntimeStatusTypeProperties ManagedIntegrationRuntimeStatusTypeProperties
58523				err = json.Unmarshal(*v, &managedIntegrationRuntimeStatusTypeProperties)
58524				if err != nil {
58525					return err
58526				}
58527				mirs.ManagedIntegrationRuntimeStatusTypeProperties = &managedIntegrationRuntimeStatusTypeProperties
58528			}
58529		default:
58530			if v != nil {
58531				var additionalProperties interface{}
58532				err = json.Unmarshal(*v, &additionalProperties)
58533				if err != nil {
58534					return err
58535				}
58536				if mirs.AdditionalProperties == nil {
58537					mirs.AdditionalProperties = make(map[string]interface{})
58538				}
58539				mirs.AdditionalProperties[k] = additionalProperties
58540			}
58541		case "dataFactoryName":
58542			if v != nil {
58543				var dataFactoryName string
58544				err = json.Unmarshal(*v, &dataFactoryName)
58545				if err != nil {
58546					return err
58547				}
58548				mirs.DataFactoryName = &dataFactoryName
58549			}
58550		case "state":
58551			if v != nil {
58552				var state IntegrationRuntimeState
58553				err = json.Unmarshal(*v, &state)
58554				if err != nil {
58555					return err
58556				}
58557				mirs.State = state
58558			}
58559		case "type":
58560			if v != nil {
58561				var typeVar TypeBasicIntegrationRuntimeStatus
58562				err = json.Unmarshal(*v, &typeVar)
58563				if err != nil {
58564					return err
58565				}
58566				mirs.Type = typeVar
58567			}
58568		}
58569	}
58570
58571	return nil
58572}
58573
58574// ManagedIntegrationRuntimeStatusTypeProperties managed integration runtime status type properties.
58575type ManagedIntegrationRuntimeStatusTypeProperties struct {
58576	// CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format.
58577	CreateTime *date.Time `json:"createTime,omitempty"`
58578	// Nodes - READ-ONLY; The list of nodes for managed integration runtime.
58579	Nodes *[]ManagedIntegrationRuntimeNode `json:"nodes,omitempty"`
58580	// OtherErrors - READ-ONLY; The errors that occurred on this integration runtime.
58581	OtherErrors *[]ManagedIntegrationRuntimeError `json:"otherErrors,omitempty"`
58582	// LastOperation - READ-ONLY; The last operation result that occurred on this integration runtime.
58583	LastOperation *ManagedIntegrationRuntimeOperationResult `json:"lastOperation,omitempty"`
58584}
58585
58586// ManagedIntegrationRuntimeTypeProperties managed integration runtime type properties.
58587type ManagedIntegrationRuntimeTypeProperties struct {
58588	// ComputeProperties - The compute resource for managed integration runtime.
58589	ComputeProperties *IntegrationRuntimeComputeProperties `json:"computeProperties,omitempty"`
58590	// SsisProperties - SSIS properties for managed integration runtime.
58591	SsisProperties *IntegrationRuntimeSsisProperties `json:"ssisProperties,omitempty"`
58592}
58593
58594// MariaDBLinkedService mariaDB server linked service.
58595type MariaDBLinkedService struct {
58596	// MariaDBLinkedServiceTypeProperties - MariaDB server linked service properties.
58597	*MariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
58598	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58599	AdditionalProperties map[string]interface{} `json:""`
58600	// ConnectVia - The integration runtime reference.
58601	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
58602	// Description - Linked service description.
58603	Description *string `json:"description,omitempty"`
58604	// Parameters - Parameters for linked service.
58605	Parameters map[string]*ParameterSpecification `json:"parameters"`
58606	// Annotations - List of tags that can be used for describing the Dataset.
58607	Annotations *[]interface{} `json:"annotations,omitempty"`
58608	// 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'
58609	Type TypeBasicLinkedService `json:"type,omitempty"`
58610}
58611
58612// MarshalJSON is the custom marshaler for MariaDBLinkedService.
58613func (mdls MariaDBLinkedService) MarshalJSON() ([]byte, error) {
58614	mdls.Type = TypeMariaDB
58615	objectMap := make(map[string]interface{})
58616	if mdls.MariaDBLinkedServiceTypeProperties != nil {
58617		objectMap["typeProperties"] = mdls.MariaDBLinkedServiceTypeProperties
58618	}
58619	if mdls.ConnectVia != nil {
58620		objectMap["connectVia"] = mdls.ConnectVia
58621	}
58622	if mdls.Description != nil {
58623		objectMap["description"] = mdls.Description
58624	}
58625	if mdls.Parameters != nil {
58626		objectMap["parameters"] = mdls.Parameters
58627	}
58628	if mdls.Annotations != nil {
58629		objectMap["annotations"] = mdls.Annotations
58630	}
58631	if mdls.Type != "" {
58632		objectMap["type"] = mdls.Type
58633	}
58634	for k, v := range mdls.AdditionalProperties {
58635		objectMap[k] = v
58636	}
58637	return json.Marshal(objectMap)
58638}
58639
58640// AsResponsysLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58641func (mdls MariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
58642	return nil, false
58643}
58644
58645// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58646func (mdls MariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
58647	return nil, false
58648}
58649
58650// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58651func (mdls MariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
58652	return nil, false
58653}
58654
58655// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58656func (mdls MariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
58657	return nil, false
58658}
58659
58660// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58661func (mdls MariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
58662	return nil, false
58663}
58664
58665// AsNetezzaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58666func (mdls MariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
58667	return nil, false
58668}
58669
58670// AsVerticaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58671func (mdls MariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
58672	return nil, false
58673}
58674
58675// AsZohoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58676func (mdls MariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
58677	return nil, false
58678}
58679
58680// AsXeroLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58681func (mdls MariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
58682	return nil, false
58683}
58684
58685// AsSquareLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58686func (mdls MariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
58687	return nil, false
58688}
58689
58690// AsSparkLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58691func (mdls MariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
58692	return nil, false
58693}
58694
58695// AsShopifyLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58696func (mdls MariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
58697	return nil, false
58698}
58699
58700// AsServiceNowLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58701func (mdls MariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
58702	return nil, false
58703}
58704
58705// AsQuickBooksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58706func (mdls MariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
58707	return nil, false
58708}
58709
58710// AsPrestoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58711func (mdls MariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
58712	return nil, false
58713}
58714
58715// AsPhoenixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58716func (mdls MariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
58717	return nil, false
58718}
58719
58720// AsPaypalLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58721func (mdls MariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
58722	return nil, false
58723}
58724
58725// AsMarketoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58726func (mdls MariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
58727	return nil, false
58728}
58729
58730// AsMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58731func (mdls MariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
58732	return &mdls, true
58733}
58734
58735// AsMagentoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58736func (mdls MariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
58737	return nil, false
58738}
58739
58740// AsJiraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58741func (mdls MariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
58742	return nil, false
58743}
58744
58745// AsImpalaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58746func (mdls MariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
58747	return nil, false
58748}
58749
58750// AsHubspotLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58751func (mdls MariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
58752	return nil, false
58753}
58754
58755// AsHiveLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58756func (mdls MariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
58757	return nil, false
58758}
58759
58760// AsHBaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58761func (mdls MariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
58762	return nil, false
58763}
58764
58765// AsGreenplumLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58766func (mdls MariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
58767	return nil, false
58768}
58769
58770// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58771func (mdls MariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
58772	return nil, false
58773}
58774
58775// AsEloquaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58776func (mdls MariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
58777	return nil, false
58778}
58779
58780// AsDrillLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58781func (mdls MariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
58782	return nil, false
58783}
58784
58785// AsCouchbaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58786func (mdls MariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
58787	return nil, false
58788}
58789
58790// AsConcurLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58791func (mdls MariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
58792	return nil, false
58793}
58794
58795// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58796func (mdls MariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
58797	return nil, false
58798}
58799
58800// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58801func (mdls MariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
58802	return nil, false
58803}
58804
58805// AsSapHanaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58806func (mdls MariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
58807	return nil, false
58808}
58809
58810// AsSapBWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58811func (mdls MariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
58812	return nil, false
58813}
58814
58815// AsSftpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58816func (mdls MariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
58817	return nil, false
58818}
58819
58820// AsFtpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58821func (mdls MariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
58822	return nil, false
58823}
58824
58825// AsHTTPLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58826func (mdls MariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
58827	return nil, false
58828}
58829
58830// AsAzureSearchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58831func (mdls MariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
58832	return nil, false
58833}
58834
58835// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58836func (mdls MariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
58837	return nil, false
58838}
58839
58840// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58841func (mdls MariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
58842	return nil, false
58843}
58844
58845// AsAmazonS3LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58846func (mdls MariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
58847	return nil, false
58848}
58849
58850// AsSapEccLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58851func (mdls MariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
58852	return nil, false
58853}
58854
58855// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58856func (mdls MariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
58857	return nil, false
58858}
58859
58860// AsSalesforceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58861func (mdls MariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
58862	return nil, false
58863}
58864
58865// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58866func (mdls MariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
58867	return nil, false
58868}
58869
58870// AsMongoDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58871func (mdls MariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
58872	return nil, false
58873}
58874
58875// AsCassandraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58876func (mdls MariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
58877	return nil, false
58878}
58879
58880// AsWebLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58881func (mdls MariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
58882	return nil, false
58883}
58884
58885// AsODataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58886func (mdls MariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
58887	return nil, false
58888}
58889
58890// AsHdfsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58891func (mdls MariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
58892	return nil, false
58893}
58894
58895// AsOdbcLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58896func (mdls MariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
58897	return nil, false
58898}
58899
58900// AsAzureMLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58901func (mdls MariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
58902	return nil, false
58903}
58904
58905// AsTeradataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58906func (mdls MariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
58907	return nil, false
58908}
58909
58910// AsDb2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58911func (mdls MariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
58912	return nil, false
58913}
58914
58915// AsSybaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58916func (mdls MariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
58917	return nil, false
58918}
58919
58920// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58921func (mdls MariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
58922	return nil, false
58923}
58924
58925// AsMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58926func (mdls MariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
58927	return nil, false
58928}
58929
58930// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58931func (mdls MariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
58932	return nil, false
58933}
58934
58935// AsOracleLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58936func (mdls MariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
58937	return nil, false
58938}
58939
58940// AsFileServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58941func (mdls MariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
58942	return nil, false
58943}
58944
58945// AsHDInsightLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58946func (mdls MariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
58947	return nil, false
58948}
58949
58950// AsDynamicsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58951func (mdls MariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
58952	return nil, false
58953}
58954
58955// AsCosmosDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58956func (mdls MariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
58957	return nil, false
58958}
58959
58960// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58961func (mdls MariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
58962	return nil, false
58963}
58964
58965// AsAzureBatchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58966func (mdls MariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
58967	return nil, false
58968}
58969
58970// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58971func (mdls MariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
58972	return nil, false
58973}
58974
58975// AsSQLServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58976func (mdls MariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
58977	return nil, false
58978}
58979
58980// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58981func (mdls MariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
58982	return nil, false
58983}
58984
58985// AsAzureStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58986func (mdls MariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
58987	return nil, false
58988}
58989
58990// AsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58991func (mdls MariaDBLinkedService) AsLinkedService() (*LinkedService, bool) {
58992	return nil, false
58993}
58994
58995// AsBasicLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
58996func (mdls MariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
58997	return &mdls, true
58998}
58999
59000// UnmarshalJSON is the custom unmarshaler for MariaDBLinkedService struct.
59001func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error {
59002	var m map[string]*json.RawMessage
59003	err := json.Unmarshal(body, &m)
59004	if err != nil {
59005		return err
59006	}
59007	for k, v := range m {
59008		switch k {
59009		case "typeProperties":
59010			if v != nil {
59011				var mariaDBLinkedServiceTypeProperties MariaDBLinkedServiceTypeProperties
59012				err = json.Unmarshal(*v, &mariaDBLinkedServiceTypeProperties)
59013				if err != nil {
59014					return err
59015				}
59016				mdls.MariaDBLinkedServiceTypeProperties = &mariaDBLinkedServiceTypeProperties
59017			}
59018		default:
59019			if v != nil {
59020				var additionalProperties interface{}
59021				err = json.Unmarshal(*v, &additionalProperties)
59022				if err != nil {
59023					return err
59024				}
59025				if mdls.AdditionalProperties == nil {
59026					mdls.AdditionalProperties = make(map[string]interface{})
59027				}
59028				mdls.AdditionalProperties[k] = additionalProperties
59029			}
59030		case "connectVia":
59031			if v != nil {
59032				var connectVia IntegrationRuntimeReference
59033				err = json.Unmarshal(*v, &connectVia)
59034				if err != nil {
59035					return err
59036				}
59037				mdls.ConnectVia = &connectVia
59038			}
59039		case "description":
59040			if v != nil {
59041				var description string
59042				err = json.Unmarshal(*v, &description)
59043				if err != nil {
59044					return err
59045				}
59046				mdls.Description = &description
59047			}
59048		case "parameters":
59049			if v != nil {
59050				var parameters map[string]*ParameterSpecification
59051				err = json.Unmarshal(*v, &parameters)
59052				if err != nil {
59053					return err
59054				}
59055				mdls.Parameters = parameters
59056			}
59057		case "annotations":
59058			if v != nil {
59059				var annotations []interface{}
59060				err = json.Unmarshal(*v, &annotations)
59061				if err != nil {
59062					return err
59063				}
59064				mdls.Annotations = &annotations
59065			}
59066		case "type":
59067			if v != nil {
59068				var typeVar TypeBasicLinkedService
59069				err = json.Unmarshal(*v, &typeVar)
59070				if err != nil {
59071					return err
59072				}
59073				mdls.Type = typeVar
59074			}
59075		}
59076	}
59077
59078	return nil
59079}
59080
59081// MariaDBLinkedServiceTypeProperties mariaDB server linked service properties.
59082type MariaDBLinkedServiceTypeProperties struct {
59083	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
59084	ConnectionString interface{} `json:"connectionString,omitempty"`
59085	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
59086	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
59087}
59088
59089// MariaDBSource a copy activity MariaDB server source.
59090type MariaDBSource struct {
59091	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
59092	Query interface{} `json:"query,omitempty"`
59093	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59094	AdditionalProperties map[string]interface{} `json:""`
59095	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
59096	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
59097	// 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])).
59098	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
59099	// 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'
59100	Type TypeBasicCopySource `json:"type,omitempty"`
59101}
59102
59103// MarshalJSON is the custom marshaler for MariaDBSource.
59104func (mds MariaDBSource) MarshalJSON() ([]byte, error) {
59105	mds.Type = TypeMariaDBSource
59106	objectMap := make(map[string]interface{})
59107	if mds.Query != nil {
59108		objectMap["query"] = mds.Query
59109	}
59110	if mds.SourceRetryCount != nil {
59111		objectMap["sourceRetryCount"] = mds.SourceRetryCount
59112	}
59113	if mds.SourceRetryWait != nil {
59114		objectMap["sourceRetryWait"] = mds.SourceRetryWait
59115	}
59116	if mds.Type != "" {
59117		objectMap["type"] = mds.Type
59118	}
59119	for k, v := range mds.AdditionalProperties {
59120		objectMap[k] = v
59121	}
59122	return json.Marshal(objectMap)
59123}
59124
59125// AsAmazonRedshiftSource is the BasicCopySource implementation for MariaDBSource.
59126func (mds MariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
59127	return nil, false
59128}
59129
59130// AsResponsysSource is the BasicCopySource implementation for MariaDBSource.
59131func (mds MariaDBSource) AsResponsysSource() (*ResponsysSource, bool) {
59132	return nil, false
59133}
59134
59135// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MariaDBSource.
59136func (mds MariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
59137	return nil, false
59138}
59139
59140// AsVerticaSource is the BasicCopySource implementation for MariaDBSource.
59141func (mds MariaDBSource) AsVerticaSource() (*VerticaSource, bool) {
59142	return nil, false
59143}
59144
59145// AsNetezzaSource is the BasicCopySource implementation for MariaDBSource.
59146func (mds MariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) {
59147	return nil, false
59148}
59149
59150// AsZohoSource is the BasicCopySource implementation for MariaDBSource.
59151func (mds MariaDBSource) AsZohoSource() (*ZohoSource, bool) {
59152	return nil, false
59153}
59154
59155// AsXeroSource is the BasicCopySource implementation for MariaDBSource.
59156func (mds MariaDBSource) AsXeroSource() (*XeroSource, bool) {
59157	return nil, false
59158}
59159
59160// AsSquareSource is the BasicCopySource implementation for MariaDBSource.
59161func (mds MariaDBSource) AsSquareSource() (*SquareSource, bool) {
59162	return nil, false
59163}
59164
59165// AsSparkSource is the BasicCopySource implementation for MariaDBSource.
59166func (mds MariaDBSource) AsSparkSource() (*SparkSource, bool) {
59167	return nil, false
59168}
59169
59170// AsShopifySource is the BasicCopySource implementation for MariaDBSource.
59171func (mds MariaDBSource) AsShopifySource() (*ShopifySource, bool) {
59172	return nil, false
59173}
59174
59175// AsServiceNowSource is the BasicCopySource implementation for MariaDBSource.
59176func (mds MariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) {
59177	return nil, false
59178}
59179
59180// AsQuickBooksSource is the BasicCopySource implementation for MariaDBSource.
59181func (mds MariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
59182	return nil, false
59183}
59184
59185// AsPrestoSource is the BasicCopySource implementation for MariaDBSource.
59186func (mds MariaDBSource) AsPrestoSource() (*PrestoSource, bool) {
59187	return nil, false
59188}
59189
59190// AsPhoenixSource is the BasicCopySource implementation for MariaDBSource.
59191func (mds MariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) {
59192	return nil, false
59193}
59194
59195// AsPaypalSource is the BasicCopySource implementation for MariaDBSource.
59196func (mds MariaDBSource) AsPaypalSource() (*PaypalSource, bool) {
59197	return nil, false
59198}
59199
59200// AsMarketoSource is the BasicCopySource implementation for MariaDBSource.
59201func (mds MariaDBSource) AsMarketoSource() (*MarketoSource, bool) {
59202	return nil, false
59203}
59204
59205// AsMariaDBSource is the BasicCopySource implementation for MariaDBSource.
59206func (mds MariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) {
59207	return &mds, true
59208}
59209
59210// AsMagentoSource is the BasicCopySource implementation for MariaDBSource.
59211func (mds MariaDBSource) AsMagentoSource() (*MagentoSource, bool) {
59212	return nil, false
59213}
59214
59215// AsJiraSource is the BasicCopySource implementation for MariaDBSource.
59216func (mds MariaDBSource) AsJiraSource() (*JiraSource, bool) {
59217	return nil, false
59218}
59219
59220// AsImpalaSource is the BasicCopySource implementation for MariaDBSource.
59221func (mds MariaDBSource) AsImpalaSource() (*ImpalaSource, bool) {
59222	return nil, false
59223}
59224
59225// AsHubspotSource is the BasicCopySource implementation for MariaDBSource.
59226func (mds MariaDBSource) AsHubspotSource() (*HubspotSource, bool) {
59227	return nil, false
59228}
59229
59230// AsHiveSource is the BasicCopySource implementation for MariaDBSource.
59231func (mds MariaDBSource) AsHiveSource() (*HiveSource, bool) {
59232	return nil, false
59233}
59234
59235// AsHBaseSource is the BasicCopySource implementation for MariaDBSource.
59236func (mds MariaDBSource) AsHBaseSource() (*HBaseSource, bool) {
59237	return nil, false
59238}
59239
59240// AsGreenplumSource is the BasicCopySource implementation for MariaDBSource.
59241func (mds MariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) {
59242	return nil, false
59243}
59244
59245// AsGoogleBigQuerySource is the BasicCopySource implementation for MariaDBSource.
59246func (mds MariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
59247	return nil, false
59248}
59249
59250// AsEloquaSource is the BasicCopySource implementation for MariaDBSource.
59251func (mds MariaDBSource) AsEloquaSource() (*EloquaSource, bool) {
59252	return nil, false
59253}
59254
59255// AsDrillSource is the BasicCopySource implementation for MariaDBSource.
59256func (mds MariaDBSource) AsDrillSource() (*DrillSource, bool) {
59257	return nil, false
59258}
59259
59260// AsCouchbaseSource is the BasicCopySource implementation for MariaDBSource.
59261func (mds MariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
59262	return nil, false
59263}
59264
59265// AsConcurSource is the BasicCopySource implementation for MariaDBSource.
59266func (mds MariaDBSource) AsConcurSource() (*ConcurSource, bool) {
59267	return nil, false
59268}
59269
59270// AsAzurePostgreSQLSource is the BasicCopySource implementation for MariaDBSource.
59271func (mds MariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
59272	return nil, false
59273}
59274
59275// AsAmazonMWSSource is the BasicCopySource implementation for MariaDBSource.
59276func (mds MariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
59277	return nil, false
59278}
59279
59280// AsHTTPSource is the BasicCopySource implementation for MariaDBSource.
59281func (mds MariaDBSource) AsHTTPSource() (*HTTPSource, bool) {
59282	return nil, false
59283}
59284
59285// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MariaDBSource.
59286func (mds MariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
59287	return nil, false
59288}
59289
59290// AsMongoDbSource is the BasicCopySource implementation for MariaDBSource.
59291func (mds MariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) {
59292	return nil, false
59293}
59294
59295// AsCassandraSource is the BasicCopySource implementation for MariaDBSource.
59296func (mds MariaDBSource) AsCassandraSource() (*CassandraSource, bool) {
59297	return nil, false
59298}
59299
59300// AsWebSource is the BasicCopySource implementation for MariaDBSource.
59301func (mds MariaDBSource) AsWebSource() (*WebSource, bool) {
59302	return nil, false
59303}
59304
59305// AsOracleSource is the BasicCopySource implementation for MariaDBSource.
59306func (mds MariaDBSource) AsOracleSource() (*OracleSource, bool) {
59307	return nil, false
59308}
59309
59310// AsAzureMySQLSource is the BasicCopySource implementation for MariaDBSource.
59311func (mds MariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
59312	return nil, false
59313}
59314
59315// AsHdfsSource is the BasicCopySource implementation for MariaDBSource.
59316func (mds MariaDBSource) AsHdfsSource() (*HdfsSource, bool) {
59317	return nil, false
59318}
59319
59320// AsFileSystemSource is the BasicCopySource implementation for MariaDBSource.
59321func (mds MariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) {
59322	return nil, false
59323}
59324
59325// AsSQLDWSource is the BasicCopySource implementation for MariaDBSource.
59326func (mds MariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) {
59327	return nil, false
59328}
59329
59330// AsSQLSource is the BasicCopySource implementation for MariaDBSource.
59331func (mds MariaDBSource) AsSQLSource() (*SQLSource, bool) {
59332	return nil, false
59333}
59334
59335// AsSapEccSource is the BasicCopySource implementation for MariaDBSource.
59336func (mds MariaDBSource) AsSapEccSource() (*SapEccSource, bool) {
59337	return nil, false
59338}
59339
59340// AsSapCloudForCustomerSource is the BasicCopySource implementation for MariaDBSource.
59341func (mds MariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
59342	return nil, false
59343}
59344
59345// AsSalesforceSource is the BasicCopySource implementation for MariaDBSource.
59346func (mds MariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) {
59347	return nil, false
59348}
59349
59350// AsRelationalSource is the BasicCopySource implementation for MariaDBSource.
59351func (mds MariaDBSource) AsRelationalSource() (*RelationalSource, bool) {
59352	return nil, false
59353}
59354
59355// AsDynamicsSource is the BasicCopySource implementation for MariaDBSource.
59356func (mds MariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) {
59357	return nil, false
59358}
59359
59360// AsDocumentDbCollectionSource is the BasicCopySource implementation for MariaDBSource.
59361func (mds MariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
59362	return nil, false
59363}
59364
59365// AsBlobSource is the BasicCopySource implementation for MariaDBSource.
59366func (mds MariaDBSource) AsBlobSource() (*BlobSource, bool) {
59367	return nil, false
59368}
59369
59370// AsAzureTableSource is the BasicCopySource implementation for MariaDBSource.
59371func (mds MariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) {
59372	return nil, false
59373}
59374
59375// AsCopySource is the BasicCopySource implementation for MariaDBSource.
59376func (mds MariaDBSource) AsCopySource() (*CopySource, bool) {
59377	return nil, false
59378}
59379
59380// AsBasicCopySource is the BasicCopySource implementation for MariaDBSource.
59381func (mds MariaDBSource) AsBasicCopySource() (BasicCopySource, bool) {
59382	return &mds, true
59383}
59384
59385// UnmarshalJSON is the custom unmarshaler for MariaDBSource struct.
59386func (mds *MariaDBSource) UnmarshalJSON(body []byte) error {
59387	var m map[string]*json.RawMessage
59388	err := json.Unmarshal(body, &m)
59389	if err != nil {
59390		return err
59391	}
59392	for k, v := range m {
59393		switch k {
59394		case "query":
59395			if v != nil {
59396				var query interface{}
59397				err = json.Unmarshal(*v, &query)
59398				if err != nil {
59399					return err
59400				}
59401				mds.Query = query
59402			}
59403		default:
59404			if v != nil {
59405				var additionalProperties interface{}
59406				err = json.Unmarshal(*v, &additionalProperties)
59407				if err != nil {
59408					return err
59409				}
59410				if mds.AdditionalProperties == nil {
59411					mds.AdditionalProperties = make(map[string]interface{})
59412				}
59413				mds.AdditionalProperties[k] = additionalProperties
59414			}
59415		case "sourceRetryCount":
59416			if v != nil {
59417				var sourceRetryCount interface{}
59418				err = json.Unmarshal(*v, &sourceRetryCount)
59419				if err != nil {
59420					return err
59421				}
59422				mds.SourceRetryCount = sourceRetryCount
59423			}
59424		case "sourceRetryWait":
59425			if v != nil {
59426				var sourceRetryWait interface{}
59427				err = json.Unmarshal(*v, &sourceRetryWait)
59428				if err != nil {
59429					return err
59430				}
59431				mds.SourceRetryWait = sourceRetryWait
59432			}
59433		case "type":
59434			if v != nil {
59435				var typeVar TypeBasicCopySource
59436				err = json.Unmarshal(*v, &typeVar)
59437				if err != nil {
59438					return err
59439				}
59440				mds.Type = typeVar
59441			}
59442		}
59443	}
59444
59445	return nil
59446}
59447
59448// MariaDBTableDataset mariaDB server dataset.
59449type MariaDBTableDataset struct {
59450	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59451	AdditionalProperties map[string]interface{} `json:""`
59452	// Description - Dataset description.
59453	Description *string `json:"description,omitempty"`
59454	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
59455	Structure interface{} `json:"structure,omitempty"`
59456	// LinkedServiceName - Linked service reference.
59457	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
59458	// Parameters - Parameters for dataset.
59459	Parameters map[string]*ParameterSpecification `json:"parameters"`
59460	// Annotations - List of tags that can be used for describing the Dataset.
59461	Annotations *[]interface{} `json:"annotations,omitempty"`
59462	// 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'
59463	Type TypeBasicDataset `json:"type,omitempty"`
59464}
59465
59466// MarshalJSON is the custom marshaler for MariaDBTableDataset.
59467func (mdtd MariaDBTableDataset) MarshalJSON() ([]byte, error) {
59468	mdtd.Type = TypeMariaDBTable
59469	objectMap := make(map[string]interface{})
59470	if mdtd.Description != nil {
59471		objectMap["description"] = mdtd.Description
59472	}
59473	if mdtd.Structure != nil {
59474		objectMap["structure"] = mdtd.Structure
59475	}
59476	if mdtd.LinkedServiceName != nil {
59477		objectMap["linkedServiceName"] = mdtd.LinkedServiceName
59478	}
59479	if mdtd.Parameters != nil {
59480		objectMap["parameters"] = mdtd.Parameters
59481	}
59482	if mdtd.Annotations != nil {
59483		objectMap["annotations"] = mdtd.Annotations
59484	}
59485	if mdtd.Type != "" {
59486		objectMap["type"] = mdtd.Type
59487	}
59488	for k, v := range mdtd.AdditionalProperties {
59489		objectMap[k] = v
59490	}
59491	return json.Marshal(objectMap)
59492}
59493
59494// AsResponsysObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59495func (mdtd MariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
59496	return nil, false
59497}
59498
59499// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59500func (mdtd MariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
59501	return nil, false
59502}
59503
59504// AsVerticaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59505func (mdtd MariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
59506	return nil, false
59507}
59508
59509// AsNetezzaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59510func (mdtd MariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
59511	return nil, false
59512}
59513
59514// AsZohoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59515func (mdtd MariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
59516	return nil, false
59517}
59518
59519// AsXeroObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59520func (mdtd MariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
59521	return nil, false
59522}
59523
59524// AsSquareObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59525func (mdtd MariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
59526	return nil, false
59527}
59528
59529// AsSparkObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59530func (mdtd MariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
59531	return nil, false
59532}
59533
59534// AsShopifyObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59535func (mdtd MariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
59536	return nil, false
59537}
59538
59539// AsServiceNowObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59540func (mdtd MariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
59541	return nil, false
59542}
59543
59544// AsQuickBooksObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59545func (mdtd MariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
59546	return nil, false
59547}
59548
59549// AsPrestoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59550func (mdtd MariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
59551	return nil, false
59552}
59553
59554// AsPhoenixObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59555func (mdtd MariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
59556	return nil, false
59557}
59558
59559// AsPaypalObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59560func (mdtd MariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
59561	return nil, false
59562}
59563
59564// AsMarketoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59565func (mdtd MariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
59566	return nil, false
59567}
59568
59569// AsMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59570func (mdtd MariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
59571	return &mdtd, true
59572}
59573
59574// AsMagentoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59575func (mdtd MariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
59576	return nil, false
59577}
59578
59579// AsJiraObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59580func (mdtd MariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
59581	return nil, false
59582}
59583
59584// AsImpalaObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59585func (mdtd MariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
59586	return nil, false
59587}
59588
59589// AsHubspotObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59590func (mdtd MariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
59591	return nil, false
59592}
59593
59594// AsHiveObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59595func (mdtd MariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
59596	return nil, false
59597}
59598
59599// AsHBaseObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59600func (mdtd MariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
59601	return nil, false
59602}
59603
59604// AsGreenplumTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59605func (mdtd MariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
59606	return nil, false
59607}
59608
59609// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59610func (mdtd MariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
59611	return nil, false
59612}
59613
59614// AsEloquaObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59615func (mdtd MariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
59616	return nil, false
59617}
59618
59619// AsDrillTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59620func (mdtd MariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
59621	return nil, false
59622}
59623
59624// AsCouchbaseTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59625func (mdtd MariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
59626	return nil, false
59627}
59628
59629// AsConcurObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59630func (mdtd MariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
59631	return nil, false
59632}
59633
59634// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59635func (mdtd MariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
59636	return nil, false
59637}
59638
59639// AsAmazonMWSObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59640func (mdtd MariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
59641	return nil, false
59642}
59643
59644// AsHTTPDataset is the BasicDataset implementation for MariaDBTableDataset.
59645func (mdtd MariaDBTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
59646	return nil, false
59647}
59648
59649// AsAzureSearchIndexDataset is the BasicDataset implementation for MariaDBTableDataset.
59650func (mdtd MariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
59651	return nil, false
59652}
59653
59654// AsWebTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59655func (mdtd MariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
59656	return nil, false
59657}
59658
59659// AsSQLServerTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59660func (mdtd MariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
59661	return nil, false
59662}
59663
59664// AsSapEccResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
59665func (mdtd MariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
59666	return nil, false
59667}
59668
59669// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
59670func (mdtd MariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
59671	return nil, false
59672}
59673
59674// AsSalesforceObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
59675func (mdtd MariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
59676	return nil, false
59677}
59678
59679// AsRelationalTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59680func (mdtd MariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
59681	return nil, false
59682}
59683
59684// AsAzureMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59685func (mdtd MariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
59686	return nil, false
59687}
59688
59689// AsOracleTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59690func (mdtd MariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
59691	return nil, false
59692}
59693
59694// AsODataResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
59695func (mdtd MariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
59696	return nil, false
59697}
59698
59699// AsMongoDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
59700func (mdtd MariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
59701	return nil, false
59702}
59703
59704// AsFileShareDataset is the BasicDataset implementation for MariaDBTableDataset.
59705func (mdtd MariaDBTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
59706	return nil, false
59707}
59708
59709// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MariaDBTableDataset.
59710func (mdtd MariaDBTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
59711	return nil, false
59712}
59713
59714// AsDynamicsEntityDataset is the BasicDataset implementation for MariaDBTableDataset.
59715func (mdtd MariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
59716	return nil, false
59717}
59718
59719// AsDocumentDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
59720func (mdtd MariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
59721	return nil, false
59722}
59723
59724// AsCustomDataset is the BasicDataset implementation for MariaDBTableDataset.
59725func (mdtd MariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) {
59726	return nil, false
59727}
59728
59729// AsCassandraTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59730func (mdtd MariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
59731	return nil, false
59732}
59733
59734// AsAzureSQLDWTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59735func (mdtd MariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
59736	return nil, false
59737}
59738
59739// AsAzureSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59740func (mdtd MariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
59741	return nil, false
59742}
59743
59744// AsAzureTableDataset is the BasicDataset implementation for MariaDBTableDataset.
59745func (mdtd MariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
59746	return nil, false
59747}
59748
59749// AsAzureBlobDataset is the BasicDataset implementation for MariaDBTableDataset.
59750func (mdtd MariaDBTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
59751	return nil, false
59752}
59753
59754// AsAmazonS3Dataset is the BasicDataset implementation for MariaDBTableDataset.
59755func (mdtd MariaDBTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
59756	return nil, false
59757}
59758
59759// AsDataset is the BasicDataset implementation for MariaDBTableDataset.
59760func (mdtd MariaDBTableDataset) AsDataset() (*Dataset, bool) {
59761	return nil, false
59762}
59763
59764// AsBasicDataset is the BasicDataset implementation for MariaDBTableDataset.
59765func (mdtd MariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) {
59766	return &mdtd, true
59767}
59768
59769// UnmarshalJSON is the custom unmarshaler for MariaDBTableDataset struct.
59770func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error {
59771	var m map[string]*json.RawMessage
59772	err := json.Unmarshal(body, &m)
59773	if err != nil {
59774		return err
59775	}
59776	for k, v := range m {
59777		switch k {
59778		default:
59779			if v != nil {
59780				var additionalProperties interface{}
59781				err = json.Unmarshal(*v, &additionalProperties)
59782				if err != nil {
59783					return err
59784				}
59785				if mdtd.AdditionalProperties == nil {
59786					mdtd.AdditionalProperties = make(map[string]interface{})
59787				}
59788				mdtd.AdditionalProperties[k] = additionalProperties
59789			}
59790		case "description":
59791			if v != nil {
59792				var description string
59793				err = json.Unmarshal(*v, &description)
59794				if err != nil {
59795					return err
59796				}
59797				mdtd.Description = &description
59798			}
59799		case "structure":
59800			if v != nil {
59801				var structure interface{}
59802				err = json.Unmarshal(*v, &structure)
59803				if err != nil {
59804					return err
59805				}
59806				mdtd.Structure = structure
59807			}
59808		case "linkedServiceName":
59809			if v != nil {
59810				var linkedServiceName LinkedServiceReference
59811				err = json.Unmarshal(*v, &linkedServiceName)
59812				if err != nil {
59813					return err
59814				}
59815				mdtd.LinkedServiceName = &linkedServiceName
59816			}
59817		case "parameters":
59818			if v != nil {
59819				var parameters map[string]*ParameterSpecification
59820				err = json.Unmarshal(*v, &parameters)
59821				if err != nil {
59822					return err
59823				}
59824				mdtd.Parameters = parameters
59825			}
59826		case "annotations":
59827			if v != nil {
59828				var annotations []interface{}
59829				err = json.Unmarshal(*v, &annotations)
59830				if err != nil {
59831					return err
59832				}
59833				mdtd.Annotations = &annotations
59834			}
59835		case "type":
59836			if v != nil {
59837				var typeVar TypeBasicDataset
59838				err = json.Unmarshal(*v, &typeVar)
59839				if err != nil {
59840					return err
59841				}
59842				mdtd.Type = typeVar
59843			}
59844		}
59845	}
59846
59847	return nil
59848}
59849
59850// MarketoLinkedService marketo server linked service.
59851type MarketoLinkedService struct {
59852	// MarketoLinkedServiceTypeProperties - Marketo server linked service properties.
59853	*MarketoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
59854	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59855	AdditionalProperties map[string]interface{} `json:""`
59856	// ConnectVia - The integration runtime reference.
59857	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
59858	// Description - Linked service description.
59859	Description *string `json:"description,omitempty"`
59860	// Parameters - Parameters for linked service.
59861	Parameters map[string]*ParameterSpecification `json:"parameters"`
59862	// Annotations - List of tags that can be used for describing the Dataset.
59863	Annotations *[]interface{} `json:"annotations,omitempty"`
59864	// 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'
59865	Type TypeBasicLinkedService `json:"type,omitempty"`
59866}
59867
59868// MarshalJSON is the custom marshaler for MarketoLinkedService.
59869func (mls MarketoLinkedService) MarshalJSON() ([]byte, error) {
59870	mls.Type = TypeMarketo
59871	objectMap := make(map[string]interface{})
59872	if mls.MarketoLinkedServiceTypeProperties != nil {
59873		objectMap["typeProperties"] = mls.MarketoLinkedServiceTypeProperties
59874	}
59875	if mls.ConnectVia != nil {
59876		objectMap["connectVia"] = mls.ConnectVia
59877	}
59878	if mls.Description != nil {
59879		objectMap["description"] = mls.Description
59880	}
59881	if mls.Parameters != nil {
59882		objectMap["parameters"] = mls.Parameters
59883	}
59884	if mls.Annotations != nil {
59885		objectMap["annotations"] = mls.Annotations
59886	}
59887	if mls.Type != "" {
59888		objectMap["type"] = mls.Type
59889	}
59890	for k, v := range mls.AdditionalProperties {
59891		objectMap[k] = v
59892	}
59893	return json.Marshal(objectMap)
59894}
59895
59896// AsResponsysLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59897func (mls MarketoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
59898	return nil, false
59899}
59900
59901// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59902func (mls MarketoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
59903	return nil, false
59904}
59905
59906// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59907func (mls MarketoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
59908	return nil, false
59909}
59910
59911// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59912func (mls MarketoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
59913	return nil, false
59914}
59915
59916// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59917func (mls MarketoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
59918	return nil, false
59919}
59920
59921// AsNetezzaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59922func (mls MarketoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
59923	return nil, false
59924}
59925
59926// AsVerticaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59927func (mls MarketoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
59928	return nil, false
59929}
59930
59931// AsZohoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59932func (mls MarketoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
59933	return nil, false
59934}
59935
59936// AsXeroLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59937func (mls MarketoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
59938	return nil, false
59939}
59940
59941// AsSquareLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59942func (mls MarketoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
59943	return nil, false
59944}
59945
59946// AsSparkLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59947func (mls MarketoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
59948	return nil, false
59949}
59950
59951// AsShopifyLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59952func (mls MarketoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
59953	return nil, false
59954}
59955
59956// AsServiceNowLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59957func (mls MarketoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
59958	return nil, false
59959}
59960
59961// AsQuickBooksLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59962func (mls MarketoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
59963	return nil, false
59964}
59965
59966// AsPrestoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59967func (mls MarketoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
59968	return nil, false
59969}
59970
59971// AsPhoenixLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59972func (mls MarketoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
59973	return nil, false
59974}
59975
59976// AsPaypalLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59977func (mls MarketoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
59978	return nil, false
59979}
59980
59981// AsMarketoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59982func (mls MarketoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
59983	return &mls, true
59984}
59985
59986// AsMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59987func (mls MarketoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
59988	return nil, false
59989}
59990
59991// AsMagentoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59992func (mls MarketoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
59993	return nil, false
59994}
59995
59996// AsJiraLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
59997func (mls MarketoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
59998	return nil, false
59999}
60000
60001// AsImpalaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60002func (mls MarketoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
60003	return nil, false
60004}
60005
60006// AsHubspotLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60007func (mls MarketoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
60008	return nil, false
60009}
60010
60011// AsHiveLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60012func (mls MarketoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
60013	return nil, false
60014}
60015
60016// AsHBaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60017func (mls MarketoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
60018	return nil, false
60019}
60020
60021// AsGreenplumLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60022func (mls MarketoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
60023	return nil, false
60024}
60025
60026// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60027func (mls MarketoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
60028	return nil, false
60029}
60030
60031// AsEloquaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60032func (mls MarketoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
60033	return nil, false
60034}
60035
60036// AsDrillLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60037func (mls MarketoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
60038	return nil, false
60039}
60040
60041// AsCouchbaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60042func (mls MarketoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
60043	return nil, false
60044}
60045
60046// AsConcurLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60047func (mls MarketoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
60048	return nil, false
60049}
60050
60051// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60052func (mls MarketoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
60053	return nil, false
60054}
60055
60056// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60057func (mls MarketoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
60058	return nil, false
60059}
60060
60061// AsSapHanaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60062func (mls MarketoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
60063	return nil, false
60064}
60065
60066// AsSapBWLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60067func (mls MarketoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
60068	return nil, false
60069}
60070
60071// AsSftpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60072func (mls MarketoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
60073	return nil, false
60074}
60075
60076// AsFtpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60077func (mls MarketoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
60078	return nil, false
60079}
60080
60081// AsHTTPLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60082func (mls MarketoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
60083	return nil, false
60084}
60085
60086// AsAzureSearchLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60087func (mls MarketoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
60088	return nil, false
60089}
60090
60091// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60092func (mls MarketoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
60093	return nil, false
60094}
60095
60096// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60097func (mls MarketoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
60098	return nil, false
60099}
60100
60101// AsAmazonS3LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60102func (mls MarketoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
60103	return nil, false
60104}
60105
60106// AsSapEccLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60107func (mls MarketoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
60108	return nil, false
60109}
60110
60111// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60112func (mls MarketoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
60113	return nil, false
60114}
60115
60116// AsSalesforceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60117func (mls MarketoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
60118	return nil, false
60119}
60120
60121// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60122func (mls MarketoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
60123	return nil, false
60124}
60125
60126// AsMongoDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60127func (mls MarketoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
60128	return nil, false
60129}
60130
60131// AsCassandraLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60132func (mls MarketoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
60133	return nil, false
60134}
60135
60136// AsWebLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60137func (mls MarketoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
60138	return nil, false
60139}
60140
60141// AsODataLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60142func (mls MarketoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
60143	return nil, false
60144}
60145
60146// AsHdfsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60147func (mls MarketoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
60148	return nil, false
60149}
60150
60151// AsOdbcLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60152func (mls MarketoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
60153	return nil, false
60154}
60155
60156// AsAzureMLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60157func (mls MarketoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
60158	return nil, false
60159}
60160
60161// AsTeradataLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60162func (mls MarketoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
60163	return nil, false
60164}
60165
60166// AsDb2LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60167func (mls MarketoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
60168	return nil, false
60169}
60170
60171// AsSybaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60172func (mls MarketoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
60173	return nil, false
60174}
60175
60176// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60177func (mls MarketoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
60178	return nil, false
60179}
60180
60181// AsMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60182func (mls MarketoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
60183	return nil, false
60184}
60185
60186// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60187func (mls MarketoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
60188	return nil, false
60189}
60190
60191// AsOracleLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60192func (mls MarketoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
60193	return nil, false
60194}
60195
60196// AsFileServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60197func (mls MarketoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
60198	return nil, false
60199}
60200
60201// AsHDInsightLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60202func (mls MarketoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
60203	return nil, false
60204}
60205
60206// AsDynamicsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60207func (mls MarketoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
60208	return nil, false
60209}
60210
60211// AsCosmosDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60212func (mls MarketoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
60213	return nil, false
60214}
60215
60216// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60217func (mls MarketoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
60218	return nil, false
60219}
60220
60221// AsAzureBatchLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60222func (mls MarketoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
60223	return nil, false
60224}
60225
60226// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60227func (mls MarketoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
60228	return nil, false
60229}
60230
60231// AsSQLServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60232func (mls MarketoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
60233	return nil, false
60234}
60235
60236// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60237func (mls MarketoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
60238	return nil, false
60239}
60240
60241// AsAzureStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60242func (mls MarketoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
60243	return nil, false
60244}
60245
60246// AsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60247func (mls MarketoLinkedService) AsLinkedService() (*LinkedService, bool) {
60248	return nil, false
60249}
60250
60251// AsBasicLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
60252func (mls MarketoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
60253	return &mls, true
60254}
60255
60256// UnmarshalJSON is the custom unmarshaler for MarketoLinkedService struct.
60257func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error {
60258	var m map[string]*json.RawMessage
60259	err := json.Unmarshal(body, &m)
60260	if err != nil {
60261		return err
60262	}
60263	for k, v := range m {
60264		switch k {
60265		case "typeProperties":
60266			if v != nil {
60267				var marketoLinkedServiceTypeProperties MarketoLinkedServiceTypeProperties
60268				err = json.Unmarshal(*v, &marketoLinkedServiceTypeProperties)
60269				if err != nil {
60270					return err
60271				}
60272				mls.MarketoLinkedServiceTypeProperties = &marketoLinkedServiceTypeProperties
60273			}
60274		default:
60275			if v != nil {
60276				var additionalProperties interface{}
60277				err = json.Unmarshal(*v, &additionalProperties)
60278				if err != nil {
60279					return err
60280				}
60281				if mls.AdditionalProperties == nil {
60282					mls.AdditionalProperties = make(map[string]interface{})
60283				}
60284				mls.AdditionalProperties[k] = additionalProperties
60285			}
60286		case "connectVia":
60287			if v != nil {
60288				var connectVia IntegrationRuntimeReference
60289				err = json.Unmarshal(*v, &connectVia)
60290				if err != nil {
60291					return err
60292				}
60293				mls.ConnectVia = &connectVia
60294			}
60295		case "description":
60296			if v != nil {
60297				var description string
60298				err = json.Unmarshal(*v, &description)
60299				if err != nil {
60300					return err
60301				}
60302				mls.Description = &description
60303			}
60304		case "parameters":
60305			if v != nil {
60306				var parameters map[string]*ParameterSpecification
60307				err = json.Unmarshal(*v, &parameters)
60308				if err != nil {
60309					return err
60310				}
60311				mls.Parameters = parameters
60312			}
60313		case "annotations":
60314			if v != nil {
60315				var annotations []interface{}
60316				err = json.Unmarshal(*v, &annotations)
60317				if err != nil {
60318					return err
60319				}
60320				mls.Annotations = &annotations
60321			}
60322		case "type":
60323			if v != nil {
60324				var typeVar TypeBasicLinkedService
60325				err = json.Unmarshal(*v, &typeVar)
60326				if err != nil {
60327					return err
60328				}
60329				mls.Type = typeVar
60330			}
60331		}
60332	}
60333
60334	return nil
60335}
60336
60337// MarketoLinkedServiceTypeProperties marketo server linked service properties.
60338type MarketoLinkedServiceTypeProperties struct {
60339	// Endpoint - The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com)
60340	Endpoint interface{} `json:"endpoint,omitempty"`
60341	// ClientID - The client Id of your Marketo service.
60342	ClientID interface{} `json:"clientId,omitempty"`
60343	// ClientSecret - The client secret of your Marketo service.
60344	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
60345	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
60346	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
60347	// 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.
60348	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
60349	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
60350	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
60351	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
60352	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
60353}
60354
60355// UnmarshalJSON is the custom unmarshaler for MarketoLinkedServiceTypeProperties struct.
60356func (mlstp *MarketoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
60357	var m map[string]*json.RawMessage
60358	err := json.Unmarshal(body, &m)
60359	if err != nil {
60360		return err
60361	}
60362	for k, v := range m {
60363		switch k {
60364		case "endpoint":
60365			if v != nil {
60366				var endpoint interface{}
60367				err = json.Unmarshal(*v, &endpoint)
60368				if err != nil {
60369					return err
60370				}
60371				mlstp.Endpoint = endpoint
60372			}
60373		case "clientId":
60374			if v != nil {
60375				var clientID interface{}
60376				err = json.Unmarshal(*v, &clientID)
60377				if err != nil {
60378					return err
60379				}
60380				mlstp.ClientID = clientID
60381			}
60382		case "clientSecret":
60383			if v != nil {
60384				clientSecret, err := unmarshalBasicSecretBase(*v)
60385				if err != nil {
60386					return err
60387				}
60388				mlstp.ClientSecret = clientSecret
60389			}
60390		case "useEncryptedEndpoints":
60391			if v != nil {
60392				var useEncryptedEndpoints interface{}
60393				err = json.Unmarshal(*v, &useEncryptedEndpoints)
60394				if err != nil {
60395					return err
60396				}
60397				mlstp.UseEncryptedEndpoints = useEncryptedEndpoints
60398			}
60399		case "useHostVerification":
60400			if v != nil {
60401				var useHostVerification interface{}
60402				err = json.Unmarshal(*v, &useHostVerification)
60403				if err != nil {
60404					return err
60405				}
60406				mlstp.UseHostVerification = useHostVerification
60407			}
60408		case "usePeerVerification":
60409			if v != nil {
60410				var usePeerVerification interface{}
60411				err = json.Unmarshal(*v, &usePeerVerification)
60412				if err != nil {
60413					return err
60414				}
60415				mlstp.UsePeerVerification = usePeerVerification
60416			}
60417		case "encryptedCredential":
60418			if v != nil {
60419				var encryptedCredential interface{}
60420				err = json.Unmarshal(*v, &encryptedCredential)
60421				if err != nil {
60422					return err
60423				}
60424				mlstp.EncryptedCredential = encryptedCredential
60425			}
60426		}
60427	}
60428
60429	return nil
60430}
60431
60432// MarketoObjectDataset marketo server dataset.
60433type MarketoObjectDataset struct {
60434	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
60435	AdditionalProperties map[string]interface{} `json:""`
60436	// Description - Dataset description.
60437	Description *string `json:"description,omitempty"`
60438	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
60439	Structure interface{} `json:"structure,omitempty"`
60440	// LinkedServiceName - Linked service reference.
60441	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
60442	// Parameters - Parameters for dataset.
60443	Parameters map[string]*ParameterSpecification `json:"parameters"`
60444	// Annotations - List of tags that can be used for describing the Dataset.
60445	Annotations *[]interface{} `json:"annotations,omitempty"`
60446	// 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'
60447	Type TypeBasicDataset `json:"type,omitempty"`
60448}
60449
60450// MarshalJSON is the custom marshaler for MarketoObjectDataset.
60451func (mod MarketoObjectDataset) MarshalJSON() ([]byte, error) {
60452	mod.Type = TypeMarketoObject
60453	objectMap := make(map[string]interface{})
60454	if mod.Description != nil {
60455		objectMap["description"] = mod.Description
60456	}
60457	if mod.Structure != nil {
60458		objectMap["structure"] = mod.Structure
60459	}
60460	if mod.LinkedServiceName != nil {
60461		objectMap["linkedServiceName"] = mod.LinkedServiceName
60462	}
60463	if mod.Parameters != nil {
60464		objectMap["parameters"] = mod.Parameters
60465	}
60466	if mod.Annotations != nil {
60467		objectMap["annotations"] = mod.Annotations
60468	}
60469	if mod.Type != "" {
60470		objectMap["type"] = mod.Type
60471	}
60472	for k, v := range mod.AdditionalProperties {
60473		objectMap[k] = v
60474	}
60475	return json.Marshal(objectMap)
60476}
60477
60478// AsResponsysObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60479func (mod MarketoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
60480	return nil, false
60481}
60482
60483// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60484func (mod MarketoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
60485	return nil, false
60486}
60487
60488// AsVerticaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60489func (mod MarketoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
60490	return nil, false
60491}
60492
60493// AsNetezzaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60494func (mod MarketoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
60495	return nil, false
60496}
60497
60498// AsZohoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60499func (mod MarketoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
60500	return nil, false
60501}
60502
60503// AsXeroObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60504func (mod MarketoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
60505	return nil, false
60506}
60507
60508// AsSquareObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60509func (mod MarketoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
60510	return nil, false
60511}
60512
60513// AsSparkObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60514func (mod MarketoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
60515	return nil, false
60516}
60517
60518// AsShopifyObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60519func (mod MarketoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
60520	return nil, false
60521}
60522
60523// AsServiceNowObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60524func (mod MarketoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
60525	return nil, false
60526}
60527
60528// AsQuickBooksObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60529func (mod MarketoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
60530	return nil, false
60531}
60532
60533// AsPrestoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60534func (mod MarketoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
60535	return nil, false
60536}
60537
60538// AsPhoenixObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60539func (mod MarketoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
60540	return nil, false
60541}
60542
60543// AsPaypalObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60544func (mod MarketoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
60545	return nil, false
60546}
60547
60548// AsMarketoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60549func (mod MarketoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
60550	return &mod, true
60551}
60552
60553// AsMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60554func (mod MarketoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
60555	return nil, false
60556}
60557
60558// AsMagentoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60559func (mod MarketoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
60560	return nil, false
60561}
60562
60563// AsJiraObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60564func (mod MarketoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
60565	return nil, false
60566}
60567
60568// AsImpalaObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60569func (mod MarketoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
60570	return nil, false
60571}
60572
60573// AsHubspotObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60574func (mod MarketoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
60575	return nil, false
60576}
60577
60578// AsHiveObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60579func (mod MarketoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
60580	return nil, false
60581}
60582
60583// AsHBaseObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60584func (mod MarketoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
60585	return nil, false
60586}
60587
60588// AsGreenplumTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60589func (mod MarketoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
60590	return nil, false
60591}
60592
60593// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60594func (mod MarketoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
60595	return nil, false
60596}
60597
60598// AsEloquaObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60599func (mod MarketoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
60600	return nil, false
60601}
60602
60603// AsDrillTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60604func (mod MarketoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
60605	return nil, false
60606}
60607
60608// AsCouchbaseTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60609func (mod MarketoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
60610	return nil, false
60611}
60612
60613// AsConcurObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60614func (mod MarketoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
60615	return nil, false
60616}
60617
60618// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60619func (mod MarketoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
60620	return nil, false
60621}
60622
60623// AsAmazonMWSObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60624func (mod MarketoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
60625	return nil, false
60626}
60627
60628// AsHTTPDataset is the BasicDataset implementation for MarketoObjectDataset.
60629func (mod MarketoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
60630	return nil, false
60631}
60632
60633// AsAzureSearchIndexDataset is the BasicDataset implementation for MarketoObjectDataset.
60634func (mod MarketoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
60635	return nil, false
60636}
60637
60638// AsWebTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60639func (mod MarketoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
60640	return nil, false
60641}
60642
60643// AsSQLServerTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60644func (mod MarketoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
60645	return nil, false
60646}
60647
60648// AsSapEccResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
60649func (mod MarketoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
60650	return nil, false
60651}
60652
60653// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
60654func (mod MarketoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
60655	return nil, false
60656}
60657
60658// AsSalesforceObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
60659func (mod MarketoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
60660	return nil, false
60661}
60662
60663// AsRelationalTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60664func (mod MarketoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
60665	return nil, false
60666}
60667
60668// AsAzureMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60669func (mod MarketoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
60670	return nil, false
60671}
60672
60673// AsOracleTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60674func (mod MarketoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
60675	return nil, false
60676}
60677
60678// AsODataResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
60679func (mod MarketoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
60680	return nil, false
60681}
60682
60683// AsMongoDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
60684func (mod MarketoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
60685	return nil, false
60686}
60687
60688// AsFileShareDataset is the BasicDataset implementation for MarketoObjectDataset.
60689func (mod MarketoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
60690	return nil, false
60691}
60692
60693// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MarketoObjectDataset.
60694func (mod MarketoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
60695	return nil, false
60696}
60697
60698// AsDynamicsEntityDataset is the BasicDataset implementation for MarketoObjectDataset.
60699func (mod MarketoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
60700	return nil, false
60701}
60702
60703// AsDocumentDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
60704func (mod MarketoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
60705	return nil, false
60706}
60707
60708// AsCustomDataset is the BasicDataset implementation for MarketoObjectDataset.
60709func (mod MarketoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
60710	return nil, false
60711}
60712
60713// AsCassandraTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60714func (mod MarketoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
60715	return nil, false
60716}
60717
60718// AsAzureSQLDWTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60719func (mod MarketoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
60720	return nil, false
60721}
60722
60723// AsAzureSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60724func (mod MarketoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
60725	return nil, false
60726}
60727
60728// AsAzureTableDataset is the BasicDataset implementation for MarketoObjectDataset.
60729func (mod MarketoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
60730	return nil, false
60731}
60732
60733// AsAzureBlobDataset is the BasicDataset implementation for MarketoObjectDataset.
60734func (mod MarketoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
60735	return nil, false
60736}
60737
60738// AsAmazonS3Dataset is the BasicDataset implementation for MarketoObjectDataset.
60739func (mod MarketoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
60740	return nil, false
60741}
60742
60743// AsDataset is the BasicDataset implementation for MarketoObjectDataset.
60744func (mod MarketoObjectDataset) AsDataset() (*Dataset, bool) {
60745	return nil, false
60746}
60747
60748// AsBasicDataset is the BasicDataset implementation for MarketoObjectDataset.
60749func (mod MarketoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
60750	return &mod, true
60751}
60752
60753// UnmarshalJSON is the custom unmarshaler for MarketoObjectDataset struct.
60754func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error {
60755	var m map[string]*json.RawMessage
60756	err := json.Unmarshal(body, &m)
60757	if err != nil {
60758		return err
60759	}
60760	for k, v := range m {
60761		switch k {
60762		default:
60763			if v != nil {
60764				var additionalProperties interface{}
60765				err = json.Unmarshal(*v, &additionalProperties)
60766				if err != nil {
60767					return err
60768				}
60769				if mod.AdditionalProperties == nil {
60770					mod.AdditionalProperties = make(map[string]interface{})
60771				}
60772				mod.AdditionalProperties[k] = additionalProperties
60773			}
60774		case "description":
60775			if v != nil {
60776				var description string
60777				err = json.Unmarshal(*v, &description)
60778				if err != nil {
60779					return err
60780				}
60781				mod.Description = &description
60782			}
60783		case "structure":
60784			if v != nil {
60785				var structure interface{}
60786				err = json.Unmarshal(*v, &structure)
60787				if err != nil {
60788					return err
60789				}
60790				mod.Structure = structure
60791			}
60792		case "linkedServiceName":
60793			if v != nil {
60794				var linkedServiceName LinkedServiceReference
60795				err = json.Unmarshal(*v, &linkedServiceName)
60796				if err != nil {
60797					return err
60798				}
60799				mod.LinkedServiceName = &linkedServiceName
60800			}
60801		case "parameters":
60802			if v != nil {
60803				var parameters map[string]*ParameterSpecification
60804				err = json.Unmarshal(*v, &parameters)
60805				if err != nil {
60806					return err
60807				}
60808				mod.Parameters = parameters
60809			}
60810		case "annotations":
60811			if v != nil {
60812				var annotations []interface{}
60813				err = json.Unmarshal(*v, &annotations)
60814				if err != nil {
60815					return err
60816				}
60817				mod.Annotations = &annotations
60818			}
60819		case "type":
60820			if v != nil {
60821				var typeVar TypeBasicDataset
60822				err = json.Unmarshal(*v, &typeVar)
60823				if err != nil {
60824					return err
60825				}
60826				mod.Type = typeVar
60827			}
60828		}
60829	}
60830
60831	return nil
60832}
60833
60834// MarketoSource a copy activity Marketo server source.
60835type MarketoSource struct {
60836	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
60837	Query interface{} `json:"query,omitempty"`
60838	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
60839	AdditionalProperties map[string]interface{} `json:""`
60840	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
60841	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
60842	// 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])).
60843	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
60844	// 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'
60845	Type TypeBasicCopySource `json:"type,omitempty"`
60846}
60847
60848// MarshalJSON is the custom marshaler for MarketoSource.
60849func (ms MarketoSource) MarshalJSON() ([]byte, error) {
60850	ms.Type = TypeMarketoSource
60851	objectMap := make(map[string]interface{})
60852	if ms.Query != nil {
60853		objectMap["query"] = ms.Query
60854	}
60855	if ms.SourceRetryCount != nil {
60856		objectMap["sourceRetryCount"] = ms.SourceRetryCount
60857	}
60858	if ms.SourceRetryWait != nil {
60859		objectMap["sourceRetryWait"] = ms.SourceRetryWait
60860	}
60861	if ms.Type != "" {
60862		objectMap["type"] = ms.Type
60863	}
60864	for k, v := range ms.AdditionalProperties {
60865		objectMap[k] = v
60866	}
60867	return json.Marshal(objectMap)
60868}
60869
60870// AsAmazonRedshiftSource is the BasicCopySource implementation for MarketoSource.
60871func (ms MarketoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
60872	return nil, false
60873}
60874
60875// AsResponsysSource is the BasicCopySource implementation for MarketoSource.
60876func (ms MarketoSource) AsResponsysSource() (*ResponsysSource, bool) {
60877	return nil, false
60878}
60879
60880// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MarketoSource.
60881func (ms MarketoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
60882	return nil, false
60883}
60884
60885// AsVerticaSource is the BasicCopySource implementation for MarketoSource.
60886func (ms MarketoSource) AsVerticaSource() (*VerticaSource, bool) {
60887	return nil, false
60888}
60889
60890// AsNetezzaSource is the BasicCopySource implementation for MarketoSource.
60891func (ms MarketoSource) AsNetezzaSource() (*NetezzaSource, bool) {
60892	return nil, false
60893}
60894
60895// AsZohoSource is the BasicCopySource implementation for MarketoSource.
60896func (ms MarketoSource) AsZohoSource() (*ZohoSource, bool) {
60897	return nil, false
60898}
60899
60900// AsXeroSource is the BasicCopySource implementation for MarketoSource.
60901func (ms MarketoSource) AsXeroSource() (*XeroSource, bool) {
60902	return nil, false
60903}
60904
60905// AsSquareSource is the BasicCopySource implementation for MarketoSource.
60906func (ms MarketoSource) AsSquareSource() (*SquareSource, bool) {
60907	return nil, false
60908}
60909
60910// AsSparkSource is the BasicCopySource implementation for MarketoSource.
60911func (ms MarketoSource) AsSparkSource() (*SparkSource, bool) {
60912	return nil, false
60913}
60914
60915// AsShopifySource is the BasicCopySource implementation for MarketoSource.
60916func (ms MarketoSource) AsShopifySource() (*ShopifySource, bool) {
60917	return nil, false
60918}
60919
60920// AsServiceNowSource is the BasicCopySource implementation for MarketoSource.
60921func (ms MarketoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
60922	return nil, false
60923}
60924
60925// AsQuickBooksSource is the BasicCopySource implementation for MarketoSource.
60926func (ms MarketoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
60927	return nil, false
60928}
60929
60930// AsPrestoSource is the BasicCopySource implementation for MarketoSource.
60931func (ms MarketoSource) AsPrestoSource() (*PrestoSource, bool) {
60932	return nil, false
60933}
60934
60935// AsPhoenixSource is the BasicCopySource implementation for MarketoSource.
60936func (ms MarketoSource) AsPhoenixSource() (*PhoenixSource, bool) {
60937	return nil, false
60938}
60939
60940// AsPaypalSource is the BasicCopySource implementation for MarketoSource.
60941func (ms MarketoSource) AsPaypalSource() (*PaypalSource, bool) {
60942	return nil, false
60943}
60944
60945// AsMarketoSource is the BasicCopySource implementation for MarketoSource.
60946func (ms MarketoSource) AsMarketoSource() (*MarketoSource, bool) {
60947	return &ms, true
60948}
60949
60950// AsMariaDBSource is the BasicCopySource implementation for MarketoSource.
60951func (ms MarketoSource) AsMariaDBSource() (*MariaDBSource, bool) {
60952	return nil, false
60953}
60954
60955// AsMagentoSource is the BasicCopySource implementation for MarketoSource.
60956func (ms MarketoSource) AsMagentoSource() (*MagentoSource, bool) {
60957	return nil, false
60958}
60959
60960// AsJiraSource is the BasicCopySource implementation for MarketoSource.
60961func (ms MarketoSource) AsJiraSource() (*JiraSource, bool) {
60962	return nil, false
60963}
60964
60965// AsImpalaSource is the BasicCopySource implementation for MarketoSource.
60966func (ms MarketoSource) AsImpalaSource() (*ImpalaSource, bool) {
60967	return nil, false
60968}
60969
60970// AsHubspotSource is the BasicCopySource implementation for MarketoSource.
60971func (ms MarketoSource) AsHubspotSource() (*HubspotSource, bool) {
60972	return nil, false
60973}
60974
60975// AsHiveSource is the BasicCopySource implementation for MarketoSource.
60976func (ms MarketoSource) AsHiveSource() (*HiveSource, bool) {
60977	return nil, false
60978}
60979
60980// AsHBaseSource is the BasicCopySource implementation for MarketoSource.
60981func (ms MarketoSource) AsHBaseSource() (*HBaseSource, bool) {
60982	return nil, false
60983}
60984
60985// AsGreenplumSource is the BasicCopySource implementation for MarketoSource.
60986func (ms MarketoSource) AsGreenplumSource() (*GreenplumSource, bool) {
60987	return nil, false
60988}
60989
60990// AsGoogleBigQuerySource is the BasicCopySource implementation for MarketoSource.
60991func (ms MarketoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
60992	return nil, false
60993}
60994
60995// AsEloquaSource is the BasicCopySource implementation for MarketoSource.
60996func (ms MarketoSource) AsEloquaSource() (*EloquaSource, bool) {
60997	return nil, false
60998}
60999
61000// AsDrillSource is the BasicCopySource implementation for MarketoSource.
61001func (ms MarketoSource) AsDrillSource() (*DrillSource, bool) {
61002	return nil, false
61003}
61004
61005// AsCouchbaseSource is the BasicCopySource implementation for MarketoSource.
61006func (ms MarketoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
61007	return nil, false
61008}
61009
61010// AsConcurSource is the BasicCopySource implementation for MarketoSource.
61011func (ms MarketoSource) AsConcurSource() (*ConcurSource, bool) {
61012	return nil, false
61013}
61014
61015// AsAzurePostgreSQLSource is the BasicCopySource implementation for MarketoSource.
61016func (ms MarketoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
61017	return nil, false
61018}
61019
61020// AsAmazonMWSSource is the BasicCopySource implementation for MarketoSource.
61021func (ms MarketoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
61022	return nil, false
61023}
61024
61025// AsHTTPSource is the BasicCopySource implementation for MarketoSource.
61026func (ms MarketoSource) AsHTTPSource() (*HTTPSource, bool) {
61027	return nil, false
61028}
61029
61030// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MarketoSource.
61031func (ms MarketoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
61032	return nil, false
61033}
61034
61035// AsMongoDbSource is the BasicCopySource implementation for MarketoSource.
61036func (ms MarketoSource) AsMongoDbSource() (*MongoDbSource, bool) {
61037	return nil, false
61038}
61039
61040// AsCassandraSource is the BasicCopySource implementation for MarketoSource.
61041func (ms MarketoSource) AsCassandraSource() (*CassandraSource, bool) {
61042	return nil, false
61043}
61044
61045// AsWebSource is the BasicCopySource implementation for MarketoSource.
61046func (ms MarketoSource) AsWebSource() (*WebSource, bool) {
61047	return nil, false
61048}
61049
61050// AsOracleSource is the BasicCopySource implementation for MarketoSource.
61051func (ms MarketoSource) AsOracleSource() (*OracleSource, bool) {
61052	return nil, false
61053}
61054
61055// AsAzureMySQLSource is the BasicCopySource implementation for MarketoSource.
61056func (ms MarketoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
61057	return nil, false
61058}
61059
61060// AsHdfsSource is the BasicCopySource implementation for MarketoSource.
61061func (ms MarketoSource) AsHdfsSource() (*HdfsSource, bool) {
61062	return nil, false
61063}
61064
61065// AsFileSystemSource is the BasicCopySource implementation for MarketoSource.
61066func (ms MarketoSource) AsFileSystemSource() (*FileSystemSource, bool) {
61067	return nil, false
61068}
61069
61070// AsSQLDWSource is the BasicCopySource implementation for MarketoSource.
61071func (ms MarketoSource) AsSQLDWSource() (*SQLDWSource, bool) {
61072	return nil, false
61073}
61074
61075// AsSQLSource is the BasicCopySource implementation for MarketoSource.
61076func (ms MarketoSource) AsSQLSource() (*SQLSource, bool) {
61077	return nil, false
61078}
61079
61080// AsSapEccSource is the BasicCopySource implementation for MarketoSource.
61081func (ms MarketoSource) AsSapEccSource() (*SapEccSource, bool) {
61082	return nil, false
61083}
61084
61085// AsSapCloudForCustomerSource is the BasicCopySource implementation for MarketoSource.
61086func (ms MarketoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
61087	return nil, false
61088}
61089
61090// AsSalesforceSource is the BasicCopySource implementation for MarketoSource.
61091func (ms MarketoSource) AsSalesforceSource() (*SalesforceSource, bool) {
61092	return nil, false
61093}
61094
61095// AsRelationalSource is the BasicCopySource implementation for MarketoSource.
61096func (ms MarketoSource) AsRelationalSource() (*RelationalSource, bool) {
61097	return nil, false
61098}
61099
61100// AsDynamicsSource is the BasicCopySource implementation for MarketoSource.
61101func (ms MarketoSource) AsDynamicsSource() (*DynamicsSource, bool) {
61102	return nil, false
61103}
61104
61105// AsDocumentDbCollectionSource is the BasicCopySource implementation for MarketoSource.
61106func (ms MarketoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
61107	return nil, false
61108}
61109
61110// AsBlobSource is the BasicCopySource implementation for MarketoSource.
61111func (ms MarketoSource) AsBlobSource() (*BlobSource, bool) {
61112	return nil, false
61113}
61114
61115// AsAzureTableSource is the BasicCopySource implementation for MarketoSource.
61116func (ms MarketoSource) AsAzureTableSource() (*AzureTableSource, bool) {
61117	return nil, false
61118}
61119
61120// AsCopySource is the BasicCopySource implementation for MarketoSource.
61121func (ms MarketoSource) AsCopySource() (*CopySource, bool) {
61122	return nil, false
61123}
61124
61125// AsBasicCopySource is the BasicCopySource implementation for MarketoSource.
61126func (ms MarketoSource) AsBasicCopySource() (BasicCopySource, bool) {
61127	return &ms, true
61128}
61129
61130// UnmarshalJSON is the custom unmarshaler for MarketoSource struct.
61131func (ms *MarketoSource) UnmarshalJSON(body []byte) error {
61132	var m map[string]*json.RawMessage
61133	err := json.Unmarshal(body, &m)
61134	if err != nil {
61135		return err
61136	}
61137	for k, v := range m {
61138		switch k {
61139		case "query":
61140			if v != nil {
61141				var query interface{}
61142				err = json.Unmarshal(*v, &query)
61143				if err != nil {
61144					return err
61145				}
61146				ms.Query = query
61147			}
61148		default:
61149			if v != nil {
61150				var additionalProperties interface{}
61151				err = json.Unmarshal(*v, &additionalProperties)
61152				if err != nil {
61153					return err
61154				}
61155				if ms.AdditionalProperties == nil {
61156					ms.AdditionalProperties = make(map[string]interface{})
61157				}
61158				ms.AdditionalProperties[k] = additionalProperties
61159			}
61160		case "sourceRetryCount":
61161			if v != nil {
61162				var sourceRetryCount interface{}
61163				err = json.Unmarshal(*v, &sourceRetryCount)
61164				if err != nil {
61165					return err
61166				}
61167				ms.SourceRetryCount = sourceRetryCount
61168			}
61169		case "sourceRetryWait":
61170			if v != nil {
61171				var sourceRetryWait interface{}
61172				err = json.Unmarshal(*v, &sourceRetryWait)
61173				if err != nil {
61174					return err
61175				}
61176				ms.SourceRetryWait = sourceRetryWait
61177			}
61178		case "type":
61179			if v != nil {
61180				var typeVar TypeBasicCopySource
61181				err = json.Unmarshal(*v, &typeVar)
61182				if err != nil {
61183					return err
61184				}
61185				ms.Type = typeVar
61186			}
61187		}
61188	}
61189
61190	return nil
61191}
61192
61193// MongoDbCollectionDataset the MongoDB database dataset.
61194type MongoDbCollectionDataset struct {
61195	// MongoDbCollectionDatasetTypeProperties - MongoDB database dataset properties.
61196	*MongoDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
61197	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
61198	AdditionalProperties map[string]interface{} `json:""`
61199	// Description - Dataset description.
61200	Description *string `json:"description,omitempty"`
61201	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
61202	Structure interface{} `json:"structure,omitempty"`
61203	// LinkedServiceName - Linked service reference.
61204	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
61205	// Parameters - Parameters for dataset.
61206	Parameters map[string]*ParameterSpecification `json:"parameters"`
61207	// Annotations - List of tags that can be used for describing the Dataset.
61208	Annotations *[]interface{} `json:"annotations,omitempty"`
61209	// 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'
61210	Type TypeBasicDataset `json:"type,omitempty"`
61211}
61212
61213// MarshalJSON is the custom marshaler for MongoDbCollectionDataset.
61214func (mdcd MongoDbCollectionDataset) MarshalJSON() ([]byte, error) {
61215	mdcd.Type = TypeMongoDbCollection
61216	objectMap := make(map[string]interface{})
61217	if mdcd.MongoDbCollectionDatasetTypeProperties != nil {
61218		objectMap["typeProperties"] = mdcd.MongoDbCollectionDatasetTypeProperties
61219	}
61220	if mdcd.Description != nil {
61221		objectMap["description"] = mdcd.Description
61222	}
61223	if mdcd.Structure != nil {
61224		objectMap["structure"] = mdcd.Structure
61225	}
61226	if mdcd.LinkedServiceName != nil {
61227		objectMap["linkedServiceName"] = mdcd.LinkedServiceName
61228	}
61229	if mdcd.Parameters != nil {
61230		objectMap["parameters"] = mdcd.Parameters
61231	}
61232	if mdcd.Annotations != nil {
61233		objectMap["annotations"] = mdcd.Annotations
61234	}
61235	if mdcd.Type != "" {
61236		objectMap["type"] = mdcd.Type
61237	}
61238	for k, v := range mdcd.AdditionalProperties {
61239		objectMap[k] = v
61240	}
61241	return json.Marshal(objectMap)
61242}
61243
61244// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61245func (mdcd MongoDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
61246	return nil, false
61247}
61248
61249// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61250func (mdcd MongoDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
61251	return nil, false
61252}
61253
61254// AsVerticaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61255func (mdcd MongoDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
61256	return nil, false
61257}
61258
61259// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61260func (mdcd MongoDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
61261	return nil, false
61262}
61263
61264// AsZohoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61265func (mdcd MongoDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
61266	return nil, false
61267}
61268
61269// AsXeroObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61270func (mdcd MongoDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
61271	return nil, false
61272}
61273
61274// AsSquareObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61275func (mdcd MongoDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
61276	return nil, false
61277}
61278
61279// AsSparkObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61280func (mdcd MongoDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
61281	return nil, false
61282}
61283
61284// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61285func (mdcd MongoDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
61286	return nil, false
61287}
61288
61289// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61290func (mdcd MongoDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
61291	return nil, false
61292}
61293
61294// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61295func (mdcd MongoDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
61296	return nil, false
61297}
61298
61299// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61300func (mdcd MongoDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
61301	return nil, false
61302}
61303
61304// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61305func (mdcd MongoDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
61306	return nil, false
61307}
61308
61309// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61310func (mdcd MongoDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
61311	return nil, false
61312}
61313
61314// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61315func (mdcd MongoDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
61316	return nil, false
61317}
61318
61319// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61320func (mdcd MongoDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
61321	return nil, false
61322}
61323
61324// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61325func (mdcd MongoDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
61326	return nil, false
61327}
61328
61329// AsJiraObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61330func (mdcd MongoDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
61331	return nil, false
61332}
61333
61334// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61335func (mdcd MongoDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
61336	return nil, false
61337}
61338
61339// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61340func (mdcd MongoDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
61341	return nil, false
61342}
61343
61344// AsHiveObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61345func (mdcd MongoDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
61346	return nil, false
61347}
61348
61349// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61350func (mdcd MongoDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
61351	return nil, false
61352}
61353
61354// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61355func (mdcd MongoDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
61356	return nil, false
61357}
61358
61359// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61360func (mdcd MongoDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
61361	return nil, false
61362}
61363
61364// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61365func (mdcd MongoDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
61366	return nil, false
61367}
61368
61369// AsDrillTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61370func (mdcd MongoDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
61371	return nil, false
61372}
61373
61374// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61375func (mdcd MongoDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
61376	return nil, false
61377}
61378
61379// AsConcurObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61380func (mdcd MongoDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
61381	return nil, false
61382}
61383
61384// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61385func (mdcd MongoDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
61386	return nil, false
61387}
61388
61389// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61390func (mdcd MongoDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
61391	return nil, false
61392}
61393
61394// AsHTTPDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61395func (mdcd MongoDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) {
61396	return nil, false
61397}
61398
61399// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61400func (mdcd MongoDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
61401	return nil, false
61402}
61403
61404// AsWebTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61405func (mdcd MongoDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
61406	return nil, false
61407}
61408
61409// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61410func (mdcd MongoDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
61411	return nil, false
61412}
61413
61414// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61415func (mdcd MongoDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
61416	return nil, false
61417}
61418
61419// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61420func (mdcd MongoDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
61421	return nil, false
61422}
61423
61424// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61425func (mdcd MongoDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
61426	return nil, false
61427}
61428
61429// AsRelationalTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61430func (mdcd MongoDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
61431	return nil, false
61432}
61433
61434// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61435func (mdcd MongoDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
61436	return nil, false
61437}
61438
61439// AsOracleTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61440func (mdcd MongoDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
61441	return nil, false
61442}
61443
61444// AsODataResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61445func (mdcd MongoDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
61446	return nil, false
61447}
61448
61449// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61450func (mdcd MongoDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
61451	return &mdcd, true
61452}
61453
61454// AsFileShareDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61455func (mdcd MongoDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) {
61456	return nil, false
61457}
61458
61459// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61460func (mdcd MongoDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
61461	return nil, false
61462}
61463
61464// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61465func (mdcd MongoDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
61466	return nil, false
61467}
61468
61469// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61470func (mdcd MongoDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
61471	return nil, false
61472}
61473
61474// AsCustomDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61475func (mdcd MongoDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
61476	return nil, false
61477}
61478
61479// AsCassandraTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61480func (mdcd MongoDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
61481	return nil, false
61482}
61483
61484// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61485func (mdcd MongoDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
61486	return nil, false
61487}
61488
61489// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61490func (mdcd MongoDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
61491	return nil, false
61492}
61493
61494// AsAzureTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61495func (mdcd MongoDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
61496	return nil, false
61497}
61498
61499// AsAzureBlobDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61500func (mdcd MongoDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
61501	return nil, false
61502}
61503
61504// AsAmazonS3Dataset is the BasicDataset implementation for MongoDbCollectionDataset.
61505func (mdcd MongoDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
61506	return nil, false
61507}
61508
61509// AsDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61510func (mdcd MongoDbCollectionDataset) AsDataset() (*Dataset, bool) {
61511	return nil, false
61512}
61513
61514// AsBasicDataset is the BasicDataset implementation for MongoDbCollectionDataset.
61515func (mdcd MongoDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) {
61516	return &mdcd, true
61517}
61518
61519// UnmarshalJSON is the custom unmarshaler for MongoDbCollectionDataset struct.
61520func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error {
61521	var m map[string]*json.RawMessage
61522	err := json.Unmarshal(body, &m)
61523	if err != nil {
61524		return err
61525	}
61526	for k, v := range m {
61527		switch k {
61528		case "typeProperties":
61529			if v != nil {
61530				var mongoDbCollectionDatasetTypeProperties MongoDbCollectionDatasetTypeProperties
61531				err = json.Unmarshal(*v, &mongoDbCollectionDatasetTypeProperties)
61532				if err != nil {
61533					return err
61534				}
61535				mdcd.MongoDbCollectionDatasetTypeProperties = &mongoDbCollectionDatasetTypeProperties
61536			}
61537		default:
61538			if v != nil {
61539				var additionalProperties interface{}
61540				err = json.Unmarshal(*v, &additionalProperties)
61541				if err != nil {
61542					return err
61543				}
61544				if mdcd.AdditionalProperties == nil {
61545					mdcd.AdditionalProperties = make(map[string]interface{})
61546				}
61547				mdcd.AdditionalProperties[k] = additionalProperties
61548			}
61549		case "description":
61550			if v != nil {
61551				var description string
61552				err = json.Unmarshal(*v, &description)
61553				if err != nil {
61554					return err
61555				}
61556				mdcd.Description = &description
61557			}
61558		case "structure":
61559			if v != nil {
61560				var structure interface{}
61561				err = json.Unmarshal(*v, &structure)
61562				if err != nil {
61563					return err
61564				}
61565				mdcd.Structure = structure
61566			}
61567		case "linkedServiceName":
61568			if v != nil {
61569				var linkedServiceName LinkedServiceReference
61570				err = json.Unmarshal(*v, &linkedServiceName)
61571				if err != nil {
61572					return err
61573				}
61574				mdcd.LinkedServiceName = &linkedServiceName
61575			}
61576		case "parameters":
61577			if v != nil {
61578				var parameters map[string]*ParameterSpecification
61579				err = json.Unmarshal(*v, &parameters)
61580				if err != nil {
61581					return err
61582				}
61583				mdcd.Parameters = parameters
61584			}
61585		case "annotations":
61586			if v != nil {
61587				var annotations []interface{}
61588				err = json.Unmarshal(*v, &annotations)
61589				if err != nil {
61590					return err
61591				}
61592				mdcd.Annotations = &annotations
61593			}
61594		case "type":
61595			if v != nil {
61596				var typeVar TypeBasicDataset
61597				err = json.Unmarshal(*v, &typeVar)
61598				if err != nil {
61599					return err
61600				}
61601				mdcd.Type = typeVar
61602			}
61603		}
61604	}
61605
61606	return nil
61607}
61608
61609// MongoDbCollectionDatasetTypeProperties mongoDB database dataset properties.
61610type MongoDbCollectionDatasetTypeProperties struct {
61611	// CollectionName - The table name of the MongoDB database. Type: string (or Expression with resultType string).
61612	CollectionName interface{} `json:"collectionName,omitempty"`
61613}
61614
61615// MongoDbLinkedService linked service for MongoDb data source.
61616type MongoDbLinkedService struct {
61617	// MongoDbLinkedServiceTypeProperties - MongoDB linked service properties.
61618	*MongoDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
61619	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
61620	AdditionalProperties map[string]interface{} `json:""`
61621	// ConnectVia - The integration runtime reference.
61622	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
61623	// Description - Linked service description.
61624	Description *string `json:"description,omitempty"`
61625	// Parameters - Parameters for linked service.
61626	Parameters map[string]*ParameterSpecification `json:"parameters"`
61627	// Annotations - List of tags that can be used for describing the Dataset.
61628	Annotations *[]interface{} `json:"annotations,omitempty"`
61629	// 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'
61630	Type TypeBasicLinkedService `json:"type,omitempty"`
61631}
61632
61633// MarshalJSON is the custom marshaler for MongoDbLinkedService.
61634func (mdls MongoDbLinkedService) MarshalJSON() ([]byte, error) {
61635	mdls.Type = TypeMongoDb
61636	objectMap := make(map[string]interface{})
61637	if mdls.MongoDbLinkedServiceTypeProperties != nil {
61638		objectMap["typeProperties"] = mdls.MongoDbLinkedServiceTypeProperties
61639	}
61640	if mdls.ConnectVia != nil {
61641		objectMap["connectVia"] = mdls.ConnectVia
61642	}
61643	if mdls.Description != nil {
61644		objectMap["description"] = mdls.Description
61645	}
61646	if mdls.Parameters != nil {
61647		objectMap["parameters"] = mdls.Parameters
61648	}
61649	if mdls.Annotations != nil {
61650		objectMap["annotations"] = mdls.Annotations
61651	}
61652	if mdls.Type != "" {
61653		objectMap["type"] = mdls.Type
61654	}
61655	for k, v := range mdls.AdditionalProperties {
61656		objectMap[k] = v
61657	}
61658	return json.Marshal(objectMap)
61659}
61660
61661// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61662func (mdls MongoDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
61663	return nil, false
61664}
61665
61666// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61667func (mdls MongoDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
61668	return nil, false
61669}
61670
61671// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61672func (mdls MongoDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
61673	return nil, false
61674}
61675
61676// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61677func (mdls MongoDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
61678	return nil, false
61679}
61680
61681// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61682func (mdls MongoDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
61683	return nil, false
61684}
61685
61686// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61687func (mdls MongoDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
61688	return nil, false
61689}
61690
61691// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61692func (mdls MongoDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
61693	return nil, false
61694}
61695
61696// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61697func (mdls MongoDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
61698	return nil, false
61699}
61700
61701// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61702func (mdls MongoDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
61703	return nil, false
61704}
61705
61706// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61707func (mdls MongoDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
61708	return nil, false
61709}
61710
61711// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61712func (mdls MongoDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
61713	return nil, false
61714}
61715
61716// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61717func (mdls MongoDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
61718	return nil, false
61719}
61720
61721// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61722func (mdls MongoDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
61723	return nil, false
61724}
61725
61726// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61727func (mdls MongoDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
61728	return nil, false
61729}
61730
61731// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61732func (mdls MongoDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
61733	return nil, false
61734}
61735
61736// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61737func (mdls MongoDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
61738	return nil, false
61739}
61740
61741// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61742func (mdls MongoDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
61743	return nil, false
61744}
61745
61746// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61747func (mdls MongoDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
61748	return nil, false
61749}
61750
61751// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61752func (mdls MongoDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
61753	return nil, false
61754}
61755
61756// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61757func (mdls MongoDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
61758	return nil, false
61759}
61760
61761// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61762func (mdls MongoDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
61763	return nil, false
61764}
61765
61766// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61767func (mdls MongoDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
61768	return nil, false
61769}
61770
61771// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61772func (mdls MongoDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
61773	return nil, false
61774}
61775
61776// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61777func (mdls MongoDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
61778	return nil, false
61779}
61780
61781// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61782func (mdls MongoDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
61783	return nil, false
61784}
61785
61786// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61787func (mdls MongoDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
61788	return nil, false
61789}
61790
61791// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61792func (mdls MongoDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
61793	return nil, false
61794}
61795
61796// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61797func (mdls MongoDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
61798	return nil, false
61799}
61800
61801// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61802func (mdls MongoDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
61803	return nil, false
61804}
61805
61806// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61807func (mdls MongoDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
61808	return nil, false
61809}
61810
61811// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61812func (mdls MongoDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
61813	return nil, false
61814}
61815
61816// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61817func (mdls MongoDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
61818	return nil, false
61819}
61820
61821// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61822func (mdls MongoDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
61823	return nil, false
61824}
61825
61826// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61827func (mdls MongoDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
61828	return nil, false
61829}
61830
61831// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61832func (mdls MongoDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
61833	return nil, false
61834}
61835
61836// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61837func (mdls MongoDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
61838	return nil, false
61839}
61840
61841// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61842func (mdls MongoDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
61843	return nil, false
61844}
61845
61846// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61847func (mdls MongoDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
61848	return nil, false
61849}
61850
61851// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61852func (mdls MongoDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
61853	return nil, false
61854}
61855
61856// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61857func (mdls MongoDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
61858	return nil, false
61859}
61860
61861// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61862func (mdls MongoDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
61863	return nil, false
61864}
61865
61866// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61867func (mdls MongoDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
61868	return nil, false
61869}
61870
61871// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61872func (mdls MongoDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
61873	return nil, false
61874}
61875
61876// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61877func (mdls MongoDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
61878	return nil, false
61879}
61880
61881// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61882func (mdls MongoDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
61883	return nil, false
61884}
61885
61886// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61887func (mdls MongoDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
61888	return nil, false
61889}
61890
61891// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61892func (mdls MongoDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
61893	return &mdls, true
61894}
61895
61896// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61897func (mdls MongoDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
61898	return nil, false
61899}
61900
61901// AsWebLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61902func (mdls MongoDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
61903	return nil, false
61904}
61905
61906// AsODataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61907func (mdls MongoDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
61908	return nil, false
61909}
61910
61911// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61912func (mdls MongoDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
61913	return nil, false
61914}
61915
61916// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61917func (mdls MongoDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
61918	return nil, false
61919}
61920
61921// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61922func (mdls MongoDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
61923	return nil, false
61924}
61925
61926// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61927func (mdls MongoDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
61928	return nil, false
61929}
61930
61931// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61932func (mdls MongoDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
61933	return nil, false
61934}
61935
61936// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61937func (mdls MongoDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
61938	return nil, false
61939}
61940
61941// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61942func (mdls MongoDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
61943	return nil, false
61944}
61945
61946// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61947func (mdls MongoDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
61948	return nil, false
61949}
61950
61951// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61952func (mdls MongoDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
61953	return nil, false
61954}
61955
61956// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61957func (mdls MongoDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
61958	return nil, false
61959}
61960
61961// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61962func (mdls MongoDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
61963	return nil, false
61964}
61965
61966// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61967func (mdls MongoDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
61968	return nil, false
61969}
61970
61971// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61972func (mdls MongoDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
61973	return nil, false
61974}
61975
61976// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61977func (mdls MongoDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
61978	return nil, false
61979}
61980
61981// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61982func (mdls MongoDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
61983	return nil, false
61984}
61985
61986// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61987func (mdls MongoDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
61988	return nil, false
61989}
61990
61991// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61992func (mdls MongoDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
61993	return nil, false
61994}
61995
61996// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
61997func (mdls MongoDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
61998	return nil, false
61999}
62000
62001// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62002func (mdls MongoDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
62003	return nil, false
62004}
62005
62006// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62007func (mdls MongoDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
62008	return nil, false
62009}
62010
62011// AsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62012func (mdls MongoDbLinkedService) AsLinkedService() (*LinkedService, bool) {
62013	return nil, false
62014}
62015
62016// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
62017func (mdls MongoDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
62018	return &mdls, true
62019}
62020
62021// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedService struct.
62022func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error {
62023	var m map[string]*json.RawMessage
62024	err := json.Unmarshal(body, &m)
62025	if err != nil {
62026		return err
62027	}
62028	for k, v := range m {
62029		switch k {
62030		case "typeProperties":
62031			if v != nil {
62032				var mongoDbLinkedServiceTypeProperties MongoDbLinkedServiceTypeProperties
62033				err = json.Unmarshal(*v, &mongoDbLinkedServiceTypeProperties)
62034				if err != nil {
62035					return err
62036				}
62037				mdls.MongoDbLinkedServiceTypeProperties = &mongoDbLinkedServiceTypeProperties
62038			}
62039		default:
62040			if v != nil {
62041				var additionalProperties interface{}
62042				err = json.Unmarshal(*v, &additionalProperties)
62043				if err != nil {
62044					return err
62045				}
62046				if mdls.AdditionalProperties == nil {
62047					mdls.AdditionalProperties = make(map[string]interface{})
62048				}
62049				mdls.AdditionalProperties[k] = additionalProperties
62050			}
62051		case "connectVia":
62052			if v != nil {
62053				var connectVia IntegrationRuntimeReference
62054				err = json.Unmarshal(*v, &connectVia)
62055				if err != nil {
62056					return err
62057				}
62058				mdls.ConnectVia = &connectVia
62059			}
62060		case "description":
62061			if v != nil {
62062				var description string
62063				err = json.Unmarshal(*v, &description)
62064				if err != nil {
62065					return err
62066				}
62067				mdls.Description = &description
62068			}
62069		case "parameters":
62070			if v != nil {
62071				var parameters map[string]*ParameterSpecification
62072				err = json.Unmarshal(*v, &parameters)
62073				if err != nil {
62074					return err
62075				}
62076				mdls.Parameters = parameters
62077			}
62078		case "annotations":
62079			if v != nil {
62080				var annotations []interface{}
62081				err = json.Unmarshal(*v, &annotations)
62082				if err != nil {
62083					return err
62084				}
62085				mdls.Annotations = &annotations
62086			}
62087		case "type":
62088			if v != nil {
62089				var typeVar TypeBasicLinkedService
62090				err = json.Unmarshal(*v, &typeVar)
62091				if err != nil {
62092					return err
62093				}
62094				mdls.Type = typeVar
62095			}
62096		}
62097	}
62098
62099	return nil
62100}
62101
62102// MongoDbLinkedServiceTypeProperties mongoDB linked service properties.
62103type MongoDbLinkedServiceTypeProperties struct {
62104	// Server - The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string).
62105	Server interface{} `json:"server,omitempty"`
62106	// AuthenticationType - The authentication type to be used to connect to the MongoDB database. Possible values include: 'MongoDbAuthenticationTypeBasic', 'MongoDbAuthenticationTypeAnonymous'
62107	AuthenticationType MongoDbAuthenticationType `json:"authenticationType,omitempty"`
62108	// DatabaseName - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
62109	DatabaseName interface{} `json:"databaseName,omitempty"`
62110	// Username - Username for authentication. Type: string (or Expression with resultType string).
62111	Username interface{} `json:"username,omitempty"`
62112	// Password - Password for authentication.
62113	Password BasicSecretBase `json:"password,omitempty"`
62114	// AuthSource - Database to verify the username and password. Type: string (or Expression with resultType string).
62115	AuthSource interface{} `json:"authSource,omitempty"`
62116	// 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.
62117	Port interface{} `json:"port,omitempty"`
62118	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean).
62119	EnableSsl interface{} `json:"enableSsl,omitempty"`
62120	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean).
62121	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
62122	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
62123	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
62124}
62125
62126// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedServiceTypeProperties struct.
62127func (mdlstp *MongoDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
62128	var m map[string]*json.RawMessage
62129	err := json.Unmarshal(body, &m)
62130	if err != nil {
62131		return err
62132	}
62133	for k, v := range m {
62134		switch k {
62135		case "server":
62136			if v != nil {
62137				var server interface{}
62138				err = json.Unmarshal(*v, &server)
62139				if err != nil {
62140					return err
62141				}
62142				mdlstp.Server = server
62143			}
62144		case "authenticationType":
62145			if v != nil {
62146				var authenticationType MongoDbAuthenticationType
62147				err = json.Unmarshal(*v, &authenticationType)
62148				if err != nil {
62149					return err
62150				}
62151				mdlstp.AuthenticationType = authenticationType
62152			}
62153		case "databaseName":
62154			if v != nil {
62155				var databaseName interface{}
62156				err = json.Unmarshal(*v, &databaseName)
62157				if err != nil {
62158					return err
62159				}
62160				mdlstp.DatabaseName = databaseName
62161			}
62162		case "username":
62163			if v != nil {
62164				var username interface{}
62165				err = json.Unmarshal(*v, &username)
62166				if err != nil {
62167					return err
62168				}
62169				mdlstp.Username = username
62170			}
62171		case "password":
62172			if v != nil {
62173				password, err := unmarshalBasicSecretBase(*v)
62174				if err != nil {
62175					return err
62176				}
62177				mdlstp.Password = password
62178			}
62179		case "authSource":
62180			if v != nil {
62181				var authSource interface{}
62182				err = json.Unmarshal(*v, &authSource)
62183				if err != nil {
62184					return err
62185				}
62186				mdlstp.AuthSource = authSource
62187			}
62188		case "port":
62189			if v != nil {
62190				var port interface{}
62191				err = json.Unmarshal(*v, &port)
62192				if err != nil {
62193					return err
62194				}
62195				mdlstp.Port = port
62196			}
62197		case "enableSsl":
62198			if v != nil {
62199				var enableSsl interface{}
62200				err = json.Unmarshal(*v, &enableSsl)
62201				if err != nil {
62202					return err
62203				}
62204				mdlstp.EnableSsl = enableSsl
62205			}
62206		case "allowSelfSignedServerCert":
62207			if v != nil {
62208				var allowSelfSignedServerCert interface{}
62209				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
62210				if err != nil {
62211					return err
62212				}
62213				mdlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
62214			}
62215		case "encryptedCredential":
62216			if v != nil {
62217				var encryptedCredential interface{}
62218				err = json.Unmarshal(*v, &encryptedCredential)
62219				if err != nil {
62220					return err
62221				}
62222				mdlstp.EncryptedCredential = encryptedCredential
62223			}
62224		}
62225	}
62226
62227	return nil
62228}
62229
62230// MongoDbSource a copy activity source for a MongoDB database.
62231type MongoDbSource struct {
62232	// Query - Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string).
62233	Query interface{} `json:"query,omitempty"`
62234	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
62235	AdditionalProperties map[string]interface{} `json:""`
62236	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
62237	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
62238	// 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])).
62239	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
62240	// 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'
62241	Type TypeBasicCopySource `json:"type,omitempty"`
62242}
62243
62244// MarshalJSON is the custom marshaler for MongoDbSource.
62245func (mds MongoDbSource) MarshalJSON() ([]byte, error) {
62246	mds.Type = TypeMongoDbSource
62247	objectMap := make(map[string]interface{})
62248	if mds.Query != nil {
62249		objectMap["query"] = mds.Query
62250	}
62251	if mds.SourceRetryCount != nil {
62252		objectMap["sourceRetryCount"] = mds.SourceRetryCount
62253	}
62254	if mds.SourceRetryWait != nil {
62255		objectMap["sourceRetryWait"] = mds.SourceRetryWait
62256	}
62257	if mds.Type != "" {
62258		objectMap["type"] = mds.Type
62259	}
62260	for k, v := range mds.AdditionalProperties {
62261		objectMap[k] = v
62262	}
62263	return json.Marshal(objectMap)
62264}
62265
62266// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbSource.
62267func (mds MongoDbSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
62268	return nil, false
62269}
62270
62271// AsResponsysSource is the BasicCopySource implementation for MongoDbSource.
62272func (mds MongoDbSource) AsResponsysSource() (*ResponsysSource, bool) {
62273	return nil, false
62274}
62275
62276// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbSource.
62277func (mds MongoDbSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
62278	return nil, false
62279}
62280
62281// AsVerticaSource is the BasicCopySource implementation for MongoDbSource.
62282func (mds MongoDbSource) AsVerticaSource() (*VerticaSource, bool) {
62283	return nil, false
62284}
62285
62286// AsNetezzaSource is the BasicCopySource implementation for MongoDbSource.
62287func (mds MongoDbSource) AsNetezzaSource() (*NetezzaSource, bool) {
62288	return nil, false
62289}
62290
62291// AsZohoSource is the BasicCopySource implementation for MongoDbSource.
62292func (mds MongoDbSource) AsZohoSource() (*ZohoSource, bool) {
62293	return nil, false
62294}
62295
62296// AsXeroSource is the BasicCopySource implementation for MongoDbSource.
62297func (mds MongoDbSource) AsXeroSource() (*XeroSource, bool) {
62298	return nil, false
62299}
62300
62301// AsSquareSource is the BasicCopySource implementation for MongoDbSource.
62302func (mds MongoDbSource) AsSquareSource() (*SquareSource, bool) {
62303	return nil, false
62304}
62305
62306// AsSparkSource is the BasicCopySource implementation for MongoDbSource.
62307func (mds MongoDbSource) AsSparkSource() (*SparkSource, bool) {
62308	return nil, false
62309}
62310
62311// AsShopifySource is the BasicCopySource implementation for MongoDbSource.
62312func (mds MongoDbSource) AsShopifySource() (*ShopifySource, bool) {
62313	return nil, false
62314}
62315
62316// AsServiceNowSource is the BasicCopySource implementation for MongoDbSource.
62317func (mds MongoDbSource) AsServiceNowSource() (*ServiceNowSource, bool) {
62318	return nil, false
62319}
62320
62321// AsQuickBooksSource is the BasicCopySource implementation for MongoDbSource.
62322func (mds MongoDbSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
62323	return nil, false
62324}
62325
62326// AsPrestoSource is the BasicCopySource implementation for MongoDbSource.
62327func (mds MongoDbSource) AsPrestoSource() (*PrestoSource, bool) {
62328	return nil, false
62329}
62330
62331// AsPhoenixSource is the BasicCopySource implementation for MongoDbSource.
62332func (mds MongoDbSource) AsPhoenixSource() (*PhoenixSource, bool) {
62333	return nil, false
62334}
62335
62336// AsPaypalSource is the BasicCopySource implementation for MongoDbSource.
62337func (mds MongoDbSource) AsPaypalSource() (*PaypalSource, bool) {
62338	return nil, false
62339}
62340
62341// AsMarketoSource is the BasicCopySource implementation for MongoDbSource.
62342func (mds MongoDbSource) AsMarketoSource() (*MarketoSource, bool) {
62343	return nil, false
62344}
62345
62346// AsMariaDBSource is the BasicCopySource implementation for MongoDbSource.
62347func (mds MongoDbSource) AsMariaDBSource() (*MariaDBSource, bool) {
62348	return nil, false
62349}
62350
62351// AsMagentoSource is the BasicCopySource implementation for MongoDbSource.
62352func (mds MongoDbSource) AsMagentoSource() (*MagentoSource, bool) {
62353	return nil, false
62354}
62355
62356// AsJiraSource is the BasicCopySource implementation for MongoDbSource.
62357func (mds MongoDbSource) AsJiraSource() (*JiraSource, bool) {
62358	return nil, false
62359}
62360
62361// AsImpalaSource is the BasicCopySource implementation for MongoDbSource.
62362func (mds MongoDbSource) AsImpalaSource() (*ImpalaSource, bool) {
62363	return nil, false
62364}
62365
62366// AsHubspotSource is the BasicCopySource implementation for MongoDbSource.
62367func (mds MongoDbSource) AsHubspotSource() (*HubspotSource, bool) {
62368	return nil, false
62369}
62370
62371// AsHiveSource is the BasicCopySource implementation for MongoDbSource.
62372func (mds MongoDbSource) AsHiveSource() (*HiveSource, bool) {
62373	return nil, false
62374}
62375
62376// AsHBaseSource is the BasicCopySource implementation for MongoDbSource.
62377func (mds MongoDbSource) AsHBaseSource() (*HBaseSource, bool) {
62378	return nil, false
62379}
62380
62381// AsGreenplumSource is the BasicCopySource implementation for MongoDbSource.
62382func (mds MongoDbSource) AsGreenplumSource() (*GreenplumSource, bool) {
62383	return nil, false
62384}
62385
62386// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbSource.
62387func (mds MongoDbSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
62388	return nil, false
62389}
62390
62391// AsEloquaSource is the BasicCopySource implementation for MongoDbSource.
62392func (mds MongoDbSource) AsEloquaSource() (*EloquaSource, bool) {
62393	return nil, false
62394}
62395
62396// AsDrillSource is the BasicCopySource implementation for MongoDbSource.
62397func (mds MongoDbSource) AsDrillSource() (*DrillSource, bool) {
62398	return nil, false
62399}
62400
62401// AsCouchbaseSource is the BasicCopySource implementation for MongoDbSource.
62402func (mds MongoDbSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
62403	return nil, false
62404}
62405
62406// AsConcurSource is the BasicCopySource implementation for MongoDbSource.
62407func (mds MongoDbSource) AsConcurSource() (*ConcurSource, bool) {
62408	return nil, false
62409}
62410
62411// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbSource.
62412func (mds MongoDbSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
62413	return nil, false
62414}
62415
62416// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbSource.
62417func (mds MongoDbSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
62418	return nil, false
62419}
62420
62421// AsHTTPSource is the BasicCopySource implementation for MongoDbSource.
62422func (mds MongoDbSource) AsHTTPSource() (*HTTPSource, bool) {
62423	return nil, false
62424}
62425
62426// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbSource.
62427func (mds MongoDbSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
62428	return nil, false
62429}
62430
62431// AsMongoDbSource is the BasicCopySource implementation for MongoDbSource.
62432func (mds MongoDbSource) AsMongoDbSource() (*MongoDbSource, bool) {
62433	return &mds, true
62434}
62435
62436// AsCassandraSource is the BasicCopySource implementation for MongoDbSource.
62437func (mds MongoDbSource) AsCassandraSource() (*CassandraSource, bool) {
62438	return nil, false
62439}
62440
62441// AsWebSource is the BasicCopySource implementation for MongoDbSource.
62442func (mds MongoDbSource) AsWebSource() (*WebSource, bool) {
62443	return nil, false
62444}
62445
62446// AsOracleSource is the BasicCopySource implementation for MongoDbSource.
62447func (mds MongoDbSource) AsOracleSource() (*OracleSource, bool) {
62448	return nil, false
62449}
62450
62451// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbSource.
62452func (mds MongoDbSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
62453	return nil, false
62454}
62455
62456// AsHdfsSource is the BasicCopySource implementation for MongoDbSource.
62457func (mds MongoDbSource) AsHdfsSource() (*HdfsSource, bool) {
62458	return nil, false
62459}
62460
62461// AsFileSystemSource is the BasicCopySource implementation for MongoDbSource.
62462func (mds MongoDbSource) AsFileSystemSource() (*FileSystemSource, bool) {
62463	return nil, false
62464}
62465
62466// AsSQLDWSource is the BasicCopySource implementation for MongoDbSource.
62467func (mds MongoDbSource) AsSQLDWSource() (*SQLDWSource, bool) {
62468	return nil, false
62469}
62470
62471// AsSQLSource is the BasicCopySource implementation for MongoDbSource.
62472func (mds MongoDbSource) AsSQLSource() (*SQLSource, bool) {
62473	return nil, false
62474}
62475
62476// AsSapEccSource is the BasicCopySource implementation for MongoDbSource.
62477func (mds MongoDbSource) AsSapEccSource() (*SapEccSource, bool) {
62478	return nil, false
62479}
62480
62481// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbSource.
62482func (mds MongoDbSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
62483	return nil, false
62484}
62485
62486// AsSalesforceSource is the BasicCopySource implementation for MongoDbSource.
62487func (mds MongoDbSource) AsSalesforceSource() (*SalesforceSource, bool) {
62488	return nil, false
62489}
62490
62491// AsRelationalSource is the BasicCopySource implementation for MongoDbSource.
62492func (mds MongoDbSource) AsRelationalSource() (*RelationalSource, bool) {
62493	return nil, false
62494}
62495
62496// AsDynamicsSource is the BasicCopySource implementation for MongoDbSource.
62497func (mds MongoDbSource) AsDynamicsSource() (*DynamicsSource, bool) {
62498	return nil, false
62499}
62500
62501// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbSource.
62502func (mds MongoDbSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
62503	return nil, false
62504}
62505
62506// AsBlobSource is the BasicCopySource implementation for MongoDbSource.
62507func (mds MongoDbSource) AsBlobSource() (*BlobSource, bool) {
62508	return nil, false
62509}
62510
62511// AsAzureTableSource is the BasicCopySource implementation for MongoDbSource.
62512func (mds MongoDbSource) AsAzureTableSource() (*AzureTableSource, bool) {
62513	return nil, false
62514}
62515
62516// AsCopySource is the BasicCopySource implementation for MongoDbSource.
62517func (mds MongoDbSource) AsCopySource() (*CopySource, bool) {
62518	return nil, false
62519}
62520
62521// AsBasicCopySource is the BasicCopySource implementation for MongoDbSource.
62522func (mds MongoDbSource) AsBasicCopySource() (BasicCopySource, bool) {
62523	return &mds, true
62524}
62525
62526// UnmarshalJSON is the custom unmarshaler for MongoDbSource struct.
62527func (mds *MongoDbSource) UnmarshalJSON(body []byte) error {
62528	var m map[string]*json.RawMessage
62529	err := json.Unmarshal(body, &m)
62530	if err != nil {
62531		return err
62532	}
62533	for k, v := range m {
62534		switch k {
62535		case "query":
62536			if v != nil {
62537				var query interface{}
62538				err = json.Unmarshal(*v, &query)
62539				if err != nil {
62540					return err
62541				}
62542				mds.Query = query
62543			}
62544		default:
62545			if v != nil {
62546				var additionalProperties interface{}
62547				err = json.Unmarshal(*v, &additionalProperties)
62548				if err != nil {
62549					return err
62550				}
62551				if mds.AdditionalProperties == nil {
62552					mds.AdditionalProperties = make(map[string]interface{})
62553				}
62554				mds.AdditionalProperties[k] = additionalProperties
62555			}
62556		case "sourceRetryCount":
62557			if v != nil {
62558				var sourceRetryCount interface{}
62559				err = json.Unmarshal(*v, &sourceRetryCount)
62560				if err != nil {
62561					return err
62562				}
62563				mds.SourceRetryCount = sourceRetryCount
62564			}
62565		case "sourceRetryWait":
62566			if v != nil {
62567				var sourceRetryWait interface{}
62568				err = json.Unmarshal(*v, &sourceRetryWait)
62569				if err != nil {
62570					return err
62571				}
62572				mds.SourceRetryWait = sourceRetryWait
62573			}
62574		case "type":
62575			if v != nil {
62576				var typeVar TypeBasicCopySource
62577				err = json.Unmarshal(*v, &typeVar)
62578				if err != nil {
62579					return err
62580				}
62581				mds.Type = typeVar
62582			}
62583		}
62584	}
62585
62586	return nil
62587}
62588
62589// BasicMultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline.
62590type BasicMultiplePipelineTrigger interface {
62591	AsBlobEventsTrigger() (*BlobEventsTrigger, bool)
62592	AsBlobTrigger() (*BlobTrigger, bool)
62593	AsScheduleTrigger() (*ScheduleTrigger, bool)
62594	AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool)
62595}
62596
62597// MultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline.
62598type MultiplePipelineTrigger struct {
62599	// Pipelines - Pipelines that need to be started.
62600	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
62601	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
62602	AdditionalProperties map[string]interface{} `json:""`
62603	// Description - Trigger description.
62604	Description *string `json:"description,omitempty"`
62605	// 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'
62606	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
62607	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
62608	Type TypeBasicTrigger `json:"type,omitempty"`
62609}
62610
62611func unmarshalBasicMultiplePipelineTrigger(body []byte) (BasicMultiplePipelineTrigger, error) {
62612	var m map[string]interface{}
62613	err := json.Unmarshal(body, &m)
62614	if err != nil {
62615		return nil, err
62616	}
62617
62618	switch m["type"] {
62619	case string(TypeBlobEventsTrigger):
62620		var bet BlobEventsTrigger
62621		err := json.Unmarshal(body, &bet)
62622		return bet, err
62623	case string(TypeBlobTrigger):
62624		var bt BlobTrigger
62625		err := json.Unmarshal(body, &bt)
62626		return bt, err
62627	case string(TypeScheduleTrigger):
62628		var st ScheduleTrigger
62629		err := json.Unmarshal(body, &st)
62630		return st, err
62631	default:
62632		var mpt MultiplePipelineTrigger
62633		err := json.Unmarshal(body, &mpt)
62634		return mpt, err
62635	}
62636}
62637func unmarshalBasicMultiplePipelineTriggerArray(body []byte) ([]BasicMultiplePipelineTrigger, error) {
62638	var rawMessages []*json.RawMessage
62639	err := json.Unmarshal(body, &rawMessages)
62640	if err != nil {
62641		return nil, err
62642	}
62643
62644	mptArray := make([]BasicMultiplePipelineTrigger, len(rawMessages))
62645
62646	for index, rawMessage := range rawMessages {
62647		mpt, err := unmarshalBasicMultiplePipelineTrigger(*rawMessage)
62648		if err != nil {
62649			return nil, err
62650		}
62651		mptArray[index] = mpt
62652	}
62653	return mptArray, nil
62654}
62655
62656// MarshalJSON is the custom marshaler for MultiplePipelineTrigger.
62657func (mpt MultiplePipelineTrigger) MarshalJSON() ([]byte, error) {
62658	mpt.Type = TypeMultiplePipelineTrigger
62659	objectMap := make(map[string]interface{})
62660	if mpt.Pipelines != nil {
62661		objectMap["pipelines"] = mpt.Pipelines
62662	}
62663	if mpt.Description != nil {
62664		objectMap["description"] = mpt.Description
62665	}
62666	if mpt.Type != "" {
62667		objectMap["type"] = mpt.Type
62668	}
62669	for k, v := range mpt.AdditionalProperties {
62670		objectMap[k] = v
62671	}
62672	return json.Marshal(objectMap)
62673}
62674
62675// AsTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62676func (mpt MultiplePipelineTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
62677	return nil, false
62678}
62679
62680// AsBlobEventsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62681func (mpt MultiplePipelineTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
62682	return nil, false
62683}
62684
62685// AsBlobTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62686func (mpt MultiplePipelineTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
62687	return nil, false
62688}
62689
62690// AsScheduleTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62691func (mpt MultiplePipelineTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
62692	return nil, false
62693}
62694
62695// AsMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62696func (mpt MultiplePipelineTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
62697	return &mpt, true
62698}
62699
62700// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62701func (mpt MultiplePipelineTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
62702	return &mpt, true
62703}
62704
62705// AsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62706func (mpt MultiplePipelineTrigger) AsTrigger() (*Trigger, bool) {
62707	return nil, false
62708}
62709
62710// AsBasicTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
62711func (mpt MultiplePipelineTrigger) AsBasicTrigger() (BasicTrigger, bool) {
62712	return &mpt, true
62713}
62714
62715// UnmarshalJSON is the custom unmarshaler for MultiplePipelineTrigger struct.
62716func (mpt *MultiplePipelineTrigger) UnmarshalJSON(body []byte) error {
62717	var m map[string]*json.RawMessage
62718	err := json.Unmarshal(body, &m)
62719	if err != nil {
62720		return err
62721	}
62722	for k, v := range m {
62723		switch k {
62724		case "pipelines":
62725			if v != nil {
62726				var pipelines []TriggerPipelineReference
62727				err = json.Unmarshal(*v, &pipelines)
62728				if err != nil {
62729					return err
62730				}
62731				mpt.Pipelines = &pipelines
62732			}
62733		default:
62734			if v != nil {
62735				var additionalProperties interface{}
62736				err = json.Unmarshal(*v, &additionalProperties)
62737				if err != nil {
62738					return err
62739				}
62740				if mpt.AdditionalProperties == nil {
62741					mpt.AdditionalProperties = make(map[string]interface{})
62742				}
62743				mpt.AdditionalProperties[k] = additionalProperties
62744			}
62745		case "description":
62746			if v != nil {
62747				var description string
62748				err = json.Unmarshal(*v, &description)
62749				if err != nil {
62750					return err
62751				}
62752				mpt.Description = &description
62753			}
62754		case "runtimeState":
62755			if v != nil {
62756				var runtimeState TriggerRuntimeState
62757				err = json.Unmarshal(*v, &runtimeState)
62758				if err != nil {
62759					return err
62760				}
62761				mpt.RuntimeState = runtimeState
62762			}
62763		case "type":
62764			if v != nil {
62765				var typeVar TypeBasicTrigger
62766				err = json.Unmarshal(*v, &typeVar)
62767				if err != nil {
62768					return err
62769				}
62770				mpt.Type = typeVar
62771			}
62772		}
62773	}
62774
62775	return nil
62776}
62777
62778// MySQLLinkedService linked service for MySQL data source.
62779type MySQLLinkedService struct {
62780	// MySQLLinkedServiceTypeProperties - MySQL linked service properties.
62781	*MySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
62782	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
62783	AdditionalProperties map[string]interface{} `json:""`
62784	// ConnectVia - The integration runtime reference.
62785	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
62786	// Description - Linked service description.
62787	Description *string `json:"description,omitempty"`
62788	// Parameters - Parameters for linked service.
62789	Parameters map[string]*ParameterSpecification `json:"parameters"`
62790	// Annotations - List of tags that can be used for describing the Dataset.
62791	Annotations *[]interface{} `json:"annotations,omitempty"`
62792	// 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'
62793	Type TypeBasicLinkedService `json:"type,omitempty"`
62794}
62795
62796// MarshalJSON is the custom marshaler for MySQLLinkedService.
62797func (msls MySQLLinkedService) MarshalJSON() ([]byte, error) {
62798	msls.Type = TypeMySQL
62799	objectMap := make(map[string]interface{})
62800	if msls.MySQLLinkedServiceTypeProperties != nil {
62801		objectMap["typeProperties"] = msls.MySQLLinkedServiceTypeProperties
62802	}
62803	if msls.ConnectVia != nil {
62804		objectMap["connectVia"] = msls.ConnectVia
62805	}
62806	if msls.Description != nil {
62807		objectMap["description"] = msls.Description
62808	}
62809	if msls.Parameters != nil {
62810		objectMap["parameters"] = msls.Parameters
62811	}
62812	if msls.Annotations != nil {
62813		objectMap["annotations"] = msls.Annotations
62814	}
62815	if msls.Type != "" {
62816		objectMap["type"] = msls.Type
62817	}
62818	for k, v := range msls.AdditionalProperties {
62819		objectMap[k] = v
62820	}
62821	return json.Marshal(objectMap)
62822}
62823
62824// AsResponsysLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62825func (msls MySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
62826	return nil, false
62827}
62828
62829// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62830func (msls MySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
62831	return nil, false
62832}
62833
62834// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62835func (msls MySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
62836	return nil, false
62837}
62838
62839// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62840func (msls MySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
62841	return nil, false
62842}
62843
62844// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62845func (msls MySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
62846	return nil, false
62847}
62848
62849// AsNetezzaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62850func (msls MySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
62851	return nil, false
62852}
62853
62854// AsVerticaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62855func (msls MySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
62856	return nil, false
62857}
62858
62859// AsZohoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62860func (msls MySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
62861	return nil, false
62862}
62863
62864// AsXeroLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62865func (msls MySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
62866	return nil, false
62867}
62868
62869// AsSquareLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62870func (msls MySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
62871	return nil, false
62872}
62873
62874// AsSparkLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62875func (msls MySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
62876	return nil, false
62877}
62878
62879// AsShopifyLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62880func (msls MySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
62881	return nil, false
62882}
62883
62884// AsServiceNowLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62885func (msls MySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
62886	return nil, false
62887}
62888
62889// AsQuickBooksLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62890func (msls MySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
62891	return nil, false
62892}
62893
62894// AsPrestoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62895func (msls MySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
62896	return nil, false
62897}
62898
62899// AsPhoenixLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62900func (msls MySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
62901	return nil, false
62902}
62903
62904// AsPaypalLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62905func (msls MySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
62906	return nil, false
62907}
62908
62909// AsMarketoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62910func (msls MySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
62911	return nil, false
62912}
62913
62914// AsMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62915func (msls MySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
62916	return nil, false
62917}
62918
62919// AsMagentoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62920func (msls MySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
62921	return nil, false
62922}
62923
62924// AsJiraLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62925func (msls MySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
62926	return nil, false
62927}
62928
62929// AsImpalaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62930func (msls MySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
62931	return nil, false
62932}
62933
62934// AsHubspotLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62935func (msls MySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
62936	return nil, false
62937}
62938
62939// AsHiveLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62940func (msls MySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
62941	return nil, false
62942}
62943
62944// AsHBaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62945func (msls MySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
62946	return nil, false
62947}
62948
62949// AsGreenplumLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62950func (msls MySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
62951	return nil, false
62952}
62953
62954// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62955func (msls MySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
62956	return nil, false
62957}
62958
62959// AsEloquaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62960func (msls MySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
62961	return nil, false
62962}
62963
62964// AsDrillLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62965func (msls MySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
62966	return nil, false
62967}
62968
62969// AsCouchbaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62970func (msls MySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
62971	return nil, false
62972}
62973
62974// AsConcurLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62975func (msls MySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
62976	return nil, false
62977}
62978
62979// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62980func (msls MySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
62981	return nil, false
62982}
62983
62984// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62985func (msls MySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
62986	return nil, false
62987}
62988
62989// AsSapHanaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62990func (msls MySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
62991	return nil, false
62992}
62993
62994// AsSapBWLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
62995func (msls MySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
62996	return nil, false
62997}
62998
62999// AsSftpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63000func (msls MySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
63001	return nil, false
63002}
63003
63004// AsFtpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63005func (msls MySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
63006	return nil, false
63007}
63008
63009// AsHTTPLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63010func (msls MySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
63011	return nil, false
63012}
63013
63014// AsAzureSearchLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63015func (msls MySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
63016	return nil, false
63017}
63018
63019// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63020func (msls MySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
63021	return nil, false
63022}
63023
63024// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63025func (msls MySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
63026	return nil, false
63027}
63028
63029// AsAmazonS3LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63030func (msls MySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
63031	return nil, false
63032}
63033
63034// AsSapEccLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63035func (msls MySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
63036	return nil, false
63037}
63038
63039// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63040func (msls MySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
63041	return nil, false
63042}
63043
63044// AsSalesforceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63045func (msls MySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
63046	return nil, false
63047}
63048
63049// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63050func (msls MySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
63051	return nil, false
63052}
63053
63054// AsMongoDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63055func (msls MySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
63056	return nil, false
63057}
63058
63059// AsCassandraLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63060func (msls MySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
63061	return nil, false
63062}
63063
63064// AsWebLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63065func (msls MySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
63066	return nil, false
63067}
63068
63069// AsODataLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63070func (msls MySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
63071	return nil, false
63072}
63073
63074// AsHdfsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63075func (msls MySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
63076	return nil, false
63077}
63078
63079// AsOdbcLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63080func (msls MySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
63081	return nil, false
63082}
63083
63084// AsAzureMLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63085func (msls MySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
63086	return nil, false
63087}
63088
63089// AsTeradataLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63090func (msls MySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
63091	return nil, false
63092}
63093
63094// AsDb2LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63095func (msls MySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
63096	return nil, false
63097}
63098
63099// AsSybaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63100func (msls MySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
63101	return nil, false
63102}
63103
63104// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63105func (msls MySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
63106	return nil, false
63107}
63108
63109// AsMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63110func (msls MySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
63111	return &msls, true
63112}
63113
63114// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63115func (msls MySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
63116	return nil, false
63117}
63118
63119// AsOracleLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63120func (msls MySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
63121	return nil, false
63122}
63123
63124// AsFileServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63125func (msls MySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
63126	return nil, false
63127}
63128
63129// AsHDInsightLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63130func (msls MySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
63131	return nil, false
63132}
63133
63134// AsDynamicsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63135func (msls MySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
63136	return nil, false
63137}
63138
63139// AsCosmosDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63140func (msls MySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
63141	return nil, false
63142}
63143
63144// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63145func (msls MySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
63146	return nil, false
63147}
63148
63149// AsAzureBatchLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63150func (msls MySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
63151	return nil, false
63152}
63153
63154// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63155func (msls MySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
63156	return nil, false
63157}
63158
63159// AsSQLServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63160func (msls MySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
63161	return nil, false
63162}
63163
63164// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63165func (msls MySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
63166	return nil, false
63167}
63168
63169// AsAzureStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63170func (msls MySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
63171	return nil, false
63172}
63173
63174// AsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63175func (msls MySQLLinkedService) AsLinkedService() (*LinkedService, bool) {
63176	return nil, false
63177}
63178
63179// AsBasicLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
63180func (msls MySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
63181	return &msls, true
63182}
63183
63184// UnmarshalJSON is the custom unmarshaler for MySQLLinkedService struct.
63185func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error {
63186	var m map[string]*json.RawMessage
63187	err := json.Unmarshal(body, &m)
63188	if err != nil {
63189		return err
63190	}
63191	for k, v := range m {
63192		switch k {
63193		case "typeProperties":
63194			if v != nil {
63195				var mySQLLinkedServiceTypeProperties MySQLLinkedServiceTypeProperties
63196				err = json.Unmarshal(*v, &mySQLLinkedServiceTypeProperties)
63197				if err != nil {
63198					return err
63199				}
63200				msls.MySQLLinkedServiceTypeProperties = &mySQLLinkedServiceTypeProperties
63201			}
63202		default:
63203			if v != nil {
63204				var additionalProperties interface{}
63205				err = json.Unmarshal(*v, &additionalProperties)
63206				if err != nil {
63207					return err
63208				}
63209				if msls.AdditionalProperties == nil {
63210					msls.AdditionalProperties = make(map[string]interface{})
63211				}
63212				msls.AdditionalProperties[k] = additionalProperties
63213			}
63214		case "connectVia":
63215			if v != nil {
63216				var connectVia IntegrationRuntimeReference
63217				err = json.Unmarshal(*v, &connectVia)
63218				if err != nil {
63219					return err
63220				}
63221				msls.ConnectVia = &connectVia
63222			}
63223		case "description":
63224			if v != nil {
63225				var description string
63226				err = json.Unmarshal(*v, &description)
63227				if err != nil {
63228					return err
63229				}
63230				msls.Description = &description
63231			}
63232		case "parameters":
63233			if v != nil {
63234				var parameters map[string]*ParameterSpecification
63235				err = json.Unmarshal(*v, &parameters)
63236				if err != nil {
63237					return err
63238				}
63239				msls.Parameters = parameters
63240			}
63241		case "annotations":
63242			if v != nil {
63243				var annotations []interface{}
63244				err = json.Unmarshal(*v, &annotations)
63245				if err != nil {
63246					return err
63247				}
63248				msls.Annotations = &annotations
63249			}
63250		case "type":
63251			if v != nil {
63252				var typeVar TypeBasicLinkedService
63253				err = json.Unmarshal(*v, &typeVar)
63254				if err != nil {
63255					return err
63256				}
63257				msls.Type = typeVar
63258			}
63259		}
63260	}
63261
63262	return nil
63263}
63264
63265// MySQLLinkedServiceTypeProperties mySQL linked service properties.
63266type MySQLLinkedServiceTypeProperties struct {
63267	// ConnectionString - The connection string.
63268	ConnectionString BasicSecretBase `json:"connectionString,omitempty"`
63269	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
63270	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
63271}
63272
63273// UnmarshalJSON is the custom unmarshaler for MySQLLinkedServiceTypeProperties struct.
63274func (mslstp *MySQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
63275	var m map[string]*json.RawMessage
63276	err := json.Unmarshal(body, &m)
63277	if err != nil {
63278		return err
63279	}
63280	for k, v := range m {
63281		switch k {
63282		case "connectionString":
63283			if v != nil {
63284				connectionString, err := unmarshalBasicSecretBase(*v)
63285				if err != nil {
63286					return err
63287				}
63288				mslstp.ConnectionString = connectionString
63289			}
63290		case "encryptedCredential":
63291			if v != nil {
63292				var encryptedCredential interface{}
63293				err = json.Unmarshal(*v, &encryptedCredential)
63294				if err != nil {
63295					return err
63296				}
63297				mslstp.EncryptedCredential = encryptedCredential
63298			}
63299		}
63300	}
63301
63302	return nil
63303}
63304
63305// NetezzaLinkedService netezza linked service.
63306type NetezzaLinkedService struct {
63307	// NetezzaLinkedServiceTypeProperties - Netezza linked service properties.
63308	*NetezzaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
63309	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
63310	AdditionalProperties map[string]interface{} `json:""`
63311	// ConnectVia - The integration runtime reference.
63312	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
63313	// Description - Linked service description.
63314	Description *string `json:"description,omitempty"`
63315	// Parameters - Parameters for linked service.
63316	Parameters map[string]*ParameterSpecification `json:"parameters"`
63317	// Annotations - List of tags that can be used for describing the Dataset.
63318	Annotations *[]interface{} `json:"annotations,omitempty"`
63319	// 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'
63320	Type TypeBasicLinkedService `json:"type,omitempty"`
63321}
63322
63323// MarshalJSON is the custom marshaler for NetezzaLinkedService.
63324func (nls NetezzaLinkedService) MarshalJSON() ([]byte, error) {
63325	nls.Type = TypeNetezza
63326	objectMap := make(map[string]interface{})
63327	if nls.NetezzaLinkedServiceTypeProperties != nil {
63328		objectMap["typeProperties"] = nls.NetezzaLinkedServiceTypeProperties
63329	}
63330	if nls.ConnectVia != nil {
63331		objectMap["connectVia"] = nls.ConnectVia
63332	}
63333	if nls.Description != nil {
63334		objectMap["description"] = nls.Description
63335	}
63336	if nls.Parameters != nil {
63337		objectMap["parameters"] = nls.Parameters
63338	}
63339	if nls.Annotations != nil {
63340		objectMap["annotations"] = nls.Annotations
63341	}
63342	if nls.Type != "" {
63343		objectMap["type"] = nls.Type
63344	}
63345	for k, v := range nls.AdditionalProperties {
63346		objectMap[k] = v
63347	}
63348	return json.Marshal(objectMap)
63349}
63350
63351// AsResponsysLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63352func (nls NetezzaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
63353	return nil, false
63354}
63355
63356// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63357func (nls NetezzaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
63358	return nil, false
63359}
63360
63361// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63362func (nls NetezzaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
63363	return nil, false
63364}
63365
63366// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63367func (nls NetezzaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
63368	return nil, false
63369}
63370
63371// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63372func (nls NetezzaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
63373	return nil, false
63374}
63375
63376// AsNetezzaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63377func (nls NetezzaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
63378	return &nls, true
63379}
63380
63381// AsVerticaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63382func (nls NetezzaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
63383	return nil, false
63384}
63385
63386// AsZohoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63387func (nls NetezzaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
63388	return nil, false
63389}
63390
63391// AsXeroLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63392func (nls NetezzaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
63393	return nil, false
63394}
63395
63396// AsSquareLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63397func (nls NetezzaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
63398	return nil, false
63399}
63400
63401// AsSparkLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63402func (nls NetezzaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
63403	return nil, false
63404}
63405
63406// AsShopifyLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63407func (nls NetezzaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
63408	return nil, false
63409}
63410
63411// AsServiceNowLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63412func (nls NetezzaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
63413	return nil, false
63414}
63415
63416// AsQuickBooksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63417func (nls NetezzaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
63418	return nil, false
63419}
63420
63421// AsPrestoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63422func (nls NetezzaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
63423	return nil, false
63424}
63425
63426// AsPhoenixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63427func (nls NetezzaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
63428	return nil, false
63429}
63430
63431// AsPaypalLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63432func (nls NetezzaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
63433	return nil, false
63434}
63435
63436// AsMarketoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63437func (nls NetezzaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
63438	return nil, false
63439}
63440
63441// AsMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63442func (nls NetezzaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
63443	return nil, false
63444}
63445
63446// AsMagentoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63447func (nls NetezzaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
63448	return nil, false
63449}
63450
63451// AsJiraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63452func (nls NetezzaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
63453	return nil, false
63454}
63455
63456// AsImpalaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63457func (nls NetezzaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
63458	return nil, false
63459}
63460
63461// AsHubspotLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63462func (nls NetezzaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
63463	return nil, false
63464}
63465
63466// AsHiveLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63467func (nls NetezzaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
63468	return nil, false
63469}
63470
63471// AsHBaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63472func (nls NetezzaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
63473	return nil, false
63474}
63475
63476// AsGreenplumLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63477func (nls NetezzaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
63478	return nil, false
63479}
63480
63481// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63482func (nls NetezzaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
63483	return nil, false
63484}
63485
63486// AsEloquaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63487func (nls NetezzaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
63488	return nil, false
63489}
63490
63491// AsDrillLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63492func (nls NetezzaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
63493	return nil, false
63494}
63495
63496// AsCouchbaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63497func (nls NetezzaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
63498	return nil, false
63499}
63500
63501// AsConcurLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63502func (nls NetezzaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
63503	return nil, false
63504}
63505
63506// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63507func (nls NetezzaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
63508	return nil, false
63509}
63510
63511// AsAmazonMWSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63512func (nls NetezzaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
63513	return nil, false
63514}
63515
63516// AsSapHanaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63517func (nls NetezzaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
63518	return nil, false
63519}
63520
63521// AsSapBWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63522func (nls NetezzaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
63523	return nil, false
63524}
63525
63526// AsSftpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63527func (nls NetezzaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
63528	return nil, false
63529}
63530
63531// AsFtpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63532func (nls NetezzaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
63533	return nil, false
63534}
63535
63536// AsHTTPLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63537func (nls NetezzaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
63538	return nil, false
63539}
63540
63541// AsAzureSearchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63542func (nls NetezzaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
63543	return nil, false
63544}
63545
63546// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63547func (nls NetezzaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
63548	return nil, false
63549}
63550
63551// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63552func (nls NetezzaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
63553	return nil, false
63554}
63555
63556// AsAmazonS3LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63557func (nls NetezzaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
63558	return nil, false
63559}
63560
63561// AsSapEccLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63562func (nls NetezzaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
63563	return nil, false
63564}
63565
63566// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63567func (nls NetezzaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
63568	return nil, false
63569}
63570
63571// AsSalesforceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63572func (nls NetezzaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
63573	return nil, false
63574}
63575
63576// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63577func (nls NetezzaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
63578	return nil, false
63579}
63580
63581// AsMongoDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63582func (nls NetezzaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
63583	return nil, false
63584}
63585
63586// AsCassandraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63587func (nls NetezzaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
63588	return nil, false
63589}
63590
63591// AsWebLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63592func (nls NetezzaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
63593	return nil, false
63594}
63595
63596// AsODataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63597func (nls NetezzaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
63598	return nil, false
63599}
63600
63601// AsHdfsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63602func (nls NetezzaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
63603	return nil, false
63604}
63605
63606// AsOdbcLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63607func (nls NetezzaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
63608	return nil, false
63609}
63610
63611// AsAzureMLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63612func (nls NetezzaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
63613	return nil, false
63614}
63615
63616// AsTeradataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63617func (nls NetezzaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
63618	return nil, false
63619}
63620
63621// AsDb2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63622func (nls NetezzaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
63623	return nil, false
63624}
63625
63626// AsSybaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63627func (nls NetezzaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
63628	return nil, false
63629}
63630
63631// AsPostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63632func (nls NetezzaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
63633	return nil, false
63634}
63635
63636// AsMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63637func (nls NetezzaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
63638	return nil, false
63639}
63640
63641// AsAzureMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63642func (nls NetezzaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
63643	return nil, false
63644}
63645
63646// AsOracleLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63647func (nls NetezzaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
63648	return nil, false
63649}
63650
63651// AsFileServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63652func (nls NetezzaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
63653	return nil, false
63654}
63655
63656// AsHDInsightLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63657func (nls NetezzaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
63658	return nil, false
63659}
63660
63661// AsDynamicsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63662func (nls NetezzaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
63663	return nil, false
63664}
63665
63666// AsCosmosDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63667func (nls NetezzaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
63668	return nil, false
63669}
63670
63671// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63672func (nls NetezzaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
63673	return nil, false
63674}
63675
63676// AsAzureBatchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63677func (nls NetezzaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
63678	return nil, false
63679}
63680
63681// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63682func (nls NetezzaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
63683	return nil, false
63684}
63685
63686// AsSQLServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63687func (nls NetezzaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
63688	return nil, false
63689}
63690
63691// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63692func (nls NetezzaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
63693	return nil, false
63694}
63695
63696// AsAzureStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63697func (nls NetezzaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
63698	return nil, false
63699}
63700
63701// AsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63702func (nls NetezzaLinkedService) AsLinkedService() (*LinkedService, bool) {
63703	return nil, false
63704}
63705
63706// AsBasicLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
63707func (nls NetezzaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
63708	return &nls, true
63709}
63710
63711// UnmarshalJSON is the custom unmarshaler for NetezzaLinkedService struct.
63712func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error {
63713	var m map[string]*json.RawMessage
63714	err := json.Unmarshal(body, &m)
63715	if err != nil {
63716		return err
63717	}
63718	for k, v := range m {
63719		switch k {
63720		case "typeProperties":
63721			if v != nil {
63722				var netezzaLinkedServiceTypeProperties NetezzaLinkedServiceTypeProperties
63723				err = json.Unmarshal(*v, &netezzaLinkedServiceTypeProperties)
63724				if err != nil {
63725					return err
63726				}
63727				nls.NetezzaLinkedServiceTypeProperties = &netezzaLinkedServiceTypeProperties
63728			}
63729		default:
63730			if v != nil {
63731				var additionalProperties interface{}
63732				err = json.Unmarshal(*v, &additionalProperties)
63733				if err != nil {
63734					return err
63735				}
63736				if nls.AdditionalProperties == nil {
63737					nls.AdditionalProperties = make(map[string]interface{})
63738				}
63739				nls.AdditionalProperties[k] = additionalProperties
63740			}
63741		case "connectVia":
63742			if v != nil {
63743				var connectVia IntegrationRuntimeReference
63744				err = json.Unmarshal(*v, &connectVia)
63745				if err != nil {
63746					return err
63747				}
63748				nls.ConnectVia = &connectVia
63749			}
63750		case "description":
63751			if v != nil {
63752				var description string
63753				err = json.Unmarshal(*v, &description)
63754				if err != nil {
63755					return err
63756				}
63757				nls.Description = &description
63758			}
63759		case "parameters":
63760			if v != nil {
63761				var parameters map[string]*ParameterSpecification
63762				err = json.Unmarshal(*v, &parameters)
63763				if err != nil {
63764					return err
63765				}
63766				nls.Parameters = parameters
63767			}
63768		case "annotations":
63769			if v != nil {
63770				var annotations []interface{}
63771				err = json.Unmarshal(*v, &annotations)
63772				if err != nil {
63773					return err
63774				}
63775				nls.Annotations = &annotations
63776			}
63777		case "type":
63778			if v != nil {
63779				var typeVar TypeBasicLinkedService
63780				err = json.Unmarshal(*v, &typeVar)
63781				if err != nil {
63782					return err
63783				}
63784				nls.Type = typeVar
63785			}
63786		}
63787	}
63788
63789	return nil
63790}
63791
63792// NetezzaLinkedServiceTypeProperties netezza linked service properties.
63793type NetezzaLinkedServiceTypeProperties struct {
63794	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
63795	ConnectionString interface{} `json:"connectionString,omitempty"`
63796	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
63797	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
63798}
63799
63800// NetezzaSource a copy activity Netezza source.
63801type NetezzaSource struct {
63802	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
63803	Query interface{} `json:"query,omitempty"`
63804	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
63805	AdditionalProperties map[string]interface{} `json:""`
63806	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
63807	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
63808	// 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])).
63809	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
63810	// 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'
63811	Type TypeBasicCopySource `json:"type,omitempty"`
63812}
63813
63814// MarshalJSON is the custom marshaler for NetezzaSource.
63815func (ns NetezzaSource) MarshalJSON() ([]byte, error) {
63816	ns.Type = TypeNetezzaSource
63817	objectMap := make(map[string]interface{})
63818	if ns.Query != nil {
63819		objectMap["query"] = ns.Query
63820	}
63821	if ns.SourceRetryCount != nil {
63822		objectMap["sourceRetryCount"] = ns.SourceRetryCount
63823	}
63824	if ns.SourceRetryWait != nil {
63825		objectMap["sourceRetryWait"] = ns.SourceRetryWait
63826	}
63827	if ns.Type != "" {
63828		objectMap["type"] = ns.Type
63829	}
63830	for k, v := range ns.AdditionalProperties {
63831		objectMap[k] = v
63832	}
63833	return json.Marshal(objectMap)
63834}
63835
63836// AsAmazonRedshiftSource is the BasicCopySource implementation for NetezzaSource.
63837func (ns NetezzaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
63838	return nil, false
63839}
63840
63841// AsResponsysSource is the BasicCopySource implementation for NetezzaSource.
63842func (ns NetezzaSource) AsResponsysSource() (*ResponsysSource, bool) {
63843	return nil, false
63844}
63845
63846// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for NetezzaSource.
63847func (ns NetezzaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
63848	return nil, false
63849}
63850
63851// AsVerticaSource is the BasicCopySource implementation for NetezzaSource.
63852func (ns NetezzaSource) AsVerticaSource() (*VerticaSource, bool) {
63853	return nil, false
63854}
63855
63856// AsNetezzaSource is the BasicCopySource implementation for NetezzaSource.
63857func (ns NetezzaSource) AsNetezzaSource() (*NetezzaSource, bool) {
63858	return &ns, true
63859}
63860
63861// AsZohoSource is the BasicCopySource implementation for NetezzaSource.
63862func (ns NetezzaSource) AsZohoSource() (*ZohoSource, bool) {
63863	return nil, false
63864}
63865
63866// AsXeroSource is the BasicCopySource implementation for NetezzaSource.
63867func (ns NetezzaSource) AsXeroSource() (*XeroSource, bool) {
63868	return nil, false
63869}
63870
63871// AsSquareSource is the BasicCopySource implementation for NetezzaSource.
63872func (ns NetezzaSource) AsSquareSource() (*SquareSource, bool) {
63873	return nil, false
63874}
63875
63876// AsSparkSource is the BasicCopySource implementation for NetezzaSource.
63877func (ns NetezzaSource) AsSparkSource() (*SparkSource, bool) {
63878	return nil, false
63879}
63880
63881// AsShopifySource is the BasicCopySource implementation for NetezzaSource.
63882func (ns NetezzaSource) AsShopifySource() (*ShopifySource, bool) {
63883	return nil, false
63884}
63885
63886// AsServiceNowSource is the BasicCopySource implementation for NetezzaSource.
63887func (ns NetezzaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
63888	return nil, false
63889}
63890
63891// AsQuickBooksSource is the BasicCopySource implementation for NetezzaSource.
63892func (ns NetezzaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
63893	return nil, false
63894}
63895
63896// AsPrestoSource is the BasicCopySource implementation for NetezzaSource.
63897func (ns NetezzaSource) AsPrestoSource() (*PrestoSource, bool) {
63898	return nil, false
63899}
63900
63901// AsPhoenixSource is the BasicCopySource implementation for NetezzaSource.
63902func (ns NetezzaSource) AsPhoenixSource() (*PhoenixSource, bool) {
63903	return nil, false
63904}
63905
63906// AsPaypalSource is the BasicCopySource implementation for NetezzaSource.
63907func (ns NetezzaSource) AsPaypalSource() (*PaypalSource, bool) {
63908	return nil, false
63909}
63910
63911// AsMarketoSource is the BasicCopySource implementation for NetezzaSource.
63912func (ns NetezzaSource) AsMarketoSource() (*MarketoSource, bool) {
63913	return nil, false
63914}
63915
63916// AsMariaDBSource is the BasicCopySource implementation for NetezzaSource.
63917func (ns NetezzaSource) AsMariaDBSource() (*MariaDBSource, bool) {
63918	return nil, false
63919}
63920
63921// AsMagentoSource is the BasicCopySource implementation for NetezzaSource.
63922func (ns NetezzaSource) AsMagentoSource() (*MagentoSource, bool) {
63923	return nil, false
63924}
63925
63926// AsJiraSource is the BasicCopySource implementation for NetezzaSource.
63927func (ns NetezzaSource) AsJiraSource() (*JiraSource, bool) {
63928	return nil, false
63929}
63930
63931// AsImpalaSource is the BasicCopySource implementation for NetezzaSource.
63932func (ns NetezzaSource) AsImpalaSource() (*ImpalaSource, bool) {
63933	return nil, false
63934}
63935
63936// AsHubspotSource is the BasicCopySource implementation for NetezzaSource.
63937func (ns NetezzaSource) AsHubspotSource() (*HubspotSource, bool) {
63938	return nil, false
63939}
63940
63941// AsHiveSource is the BasicCopySource implementation for NetezzaSource.
63942func (ns NetezzaSource) AsHiveSource() (*HiveSource, bool) {
63943	return nil, false
63944}
63945
63946// AsHBaseSource is the BasicCopySource implementation for NetezzaSource.
63947func (ns NetezzaSource) AsHBaseSource() (*HBaseSource, bool) {
63948	return nil, false
63949}
63950
63951// AsGreenplumSource is the BasicCopySource implementation for NetezzaSource.
63952func (ns NetezzaSource) AsGreenplumSource() (*GreenplumSource, bool) {
63953	return nil, false
63954}
63955
63956// AsGoogleBigQuerySource is the BasicCopySource implementation for NetezzaSource.
63957func (ns NetezzaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
63958	return nil, false
63959}
63960
63961// AsEloquaSource is the BasicCopySource implementation for NetezzaSource.
63962func (ns NetezzaSource) AsEloquaSource() (*EloquaSource, bool) {
63963	return nil, false
63964}
63965
63966// AsDrillSource is the BasicCopySource implementation for NetezzaSource.
63967func (ns NetezzaSource) AsDrillSource() (*DrillSource, bool) {
63968	return nil, false
63969}
63970
63971// AsCouchbaseSource is the BasicCopySource implementation for NetezzaSource.
63972func (ns NetezzaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
63973	return nil, false
63974}
63975
63976// AsConcurSource is the BasicCopySource implementation for NetezzaSource.
63977func (ns NetezzaSource) AsConcurSource() (*ConcurSource, bool) {
63978	return nil, false
63979}
63980
63981// AsAzurePostgreSQLSource is the BasicCopySource implementation for NetezzaSource.
63982func (ns NetezzaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
63983	return nil, false
63984}
63985
63986// AsAmazonMWSSource is the BasicCopySource implementation for NetezzaSource.
63987func (ns NetezzaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
63988	return nil, false
63989}
63990
63991// AsHTTPSource is the BasicCopySource implementation for NetezzaSource.
63992func (ns NetezzaSource) AsHTTPSource() (*HTTPSource, bool) {
63993	return nil, false
63994}
63995
63996// AsAzureDataLakeStoreSource is the BasicCopySource implementation for NetezzaSource.
63997func (ns NetezzaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
63998	return nil, false
63999}
64000
64001// AsMongoDbSource is the BasicCopySource implementation for NetezzaSource.
64002func (ns NetezzaSource) AsMongoDbSource() (*MongoDbSource, bool) {
64003	return nil, false
64004}
64005
64006// AsCassandraSource is the BasicCopySource implementation for NetezzaSource.
64007func (ns NetezzaSource) AsCassandraSource() (*CassandraSource, bool) {
64008	return nil, false
64009}
64010
64011// AsWebSource is the BasicCopySource implementation for NetezzaSource.
64012func (ns NetezzaSource) AsWebSource() (*WebSource, bool) {
64013	return nil, false
64014}
64015
64016// AsOracleSource is the BasicCopySource implementation for NetezzaSource.
64017func (ns NetezzaSource) AsOracleSource() (*OracleSource, bool) {
64018	return nil, false
64019}
64020
64021// AsAzureMySQLSource is the BasicCopySource implementation for NetezzaSource.
64022func (ns NetezzaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
64023	return nil, false
64024}
64025
64026// AsHdfsSource is the BasicCopySource implementation for NetezzaSource.
64027func (ns NetezzaSource) AsHdfsSource() (*HdfsSource, bool) {
64028	return nil, false
64029}
64030
64031// AsFileSystemSource is the BasicCopySource implementation for NetezzaSource.
64032func (ns NetezzaSource) AsFileSystemSource() (*FileSystemSource, bool) {
64033	return nil, false
64034}
64035
64036// AsSQLDWSource is the BasicCopySource implementation for NetezzaSource.
64037func (ns NetezzaSource) AsSQLDWSource() (*SQLDWSource, bool) {
64038	return nil, false
64039}
64040
64041// AsSQLSource is the BasicCopySource implementation for NetezzaSource.
64042func (ns NetezzaSource) AsSQLSource() (*SQLSource, bool) {
64043	return nil, false
64044}
64045
64046// AsSapEccSource is the BasicCopySource implementation for NetezzaSource.
64047func (ns NetezzaSource) AsSapEccSource() (*SapEccSource, bool) {
64048	return nil, false
64049}
64050
64051// AsSapCloudForCustomerSource is the BasicCopySource implementation for NetezzaSource.
64052func (ns NetezzaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
64053	return nil, false
64054}
64055
64056// AsSalesforceSource is the BasicCopySource implementation for NetezzaSource.
64057func (ns NetezzaSource) AsSalesforceSource() (*SalesforceSource, bool) {
64058	return nil, false
64059}
64060
64061// AsRelationalSource is the BasicCopySource implementation for NetezzaSource.
64062func (ns NetezzaSource) AsRelationalSource() (*RelationalSource, bool) {
64063	return nil, false
64064}
64065
64066// AsDynamicsSource is the BasicCopySource implementation for NetezzaSource.
64067func (ns NetezzaSource) AsDynamicsSource() (*DynamicsSource, bool) {
64068	return nil, false
64069}
64070
64071// AsDocumentDbCollectionSource is the BasicCopySource implementation for NetezzaSource.
64072func (ns NetezzaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
64073	return nil, false
64074}
64075
64076// AsBlobSource is the BasicCopySource implementation for NetezzaSource.
64077func (ns NetezzaSource) AsBlobSource() (*BlobSource, bool) {
64078	return nil, false
64079}
64080
64081// AsAzureTableSource is the BasicCopySource implementation for NetezzaSource.
64082func (ns NetezzaSource) AsAzureTableSource() (*AzureTableSource, bool) {
64083	return nil, false
64084}
64085
64086// AsCopySource is the BasicCopySource implementation for NetezzaSource.
64087func (ns NetezzaSource) AsCopySource() (*CopySource, bool) {
64088	return nil, false
64089}
64090
64091// AsBasicCopySource is the BasicCopySource implementation for NetezzaSource.
64092func (ns NetezzaSource) AsBasicCopySource() (BasicCopySource, bool) {
64093	return &ns, true
64094}
64095
64096// UnmarshalJSON is the custom unmarshaler for NetezzaSource struct.
64097func (ns *NetezzaSource) UnmarshalJSON(body []byte) error {
64098	var m map[string]*json.RawMessage
64099	err := json.Unmarshal(body, &m)
64100	if err != nil {
64101		return err
64102	}
64103	for k, v := range m {
64104		switch k {
64105		case "query":
64106			if v != nil {
64107				var query interface{}
64108				err = json.Unmarshal(*v, &query)
64109				if err != nil {
64110					return err
64111				}
64112				ns.Query = query
64113			}
64114		default:
64115			if v != nil {
64116				var additionalProperties interface{}
64117				err = json.Unmarshal(*v, &additionalProperties)
64118				if err != nil {
64119					return err
64120				}
64121				if ns.AdditionalProperties == nil {
64122					ns.AdditionalProperties = make(map[string]interface{})
64123				}
64124				ns.AdditionalProperties[k] = additionalProperties
64125			}
64126		case "sourceRetryCount":
64127			if v != nil {
64128				var sourceRetryCount interface{}
64129				err = json.Unmarshal(*v, &sourceRetryCount)
64130				if err != nil {
64131					return err
64132				}
64133				ns.SourceRetryCount = sourceRetryCount
64134			}
64135		case "sourceRetryWait":
64136			if v != nil {
64137				var sourceRetryWait interface{}
64138				err = json.Unmarshal(*v, &sourceRetryWait)
64139				if err != nil {
64140					return err
64141				}
64142				ns.SourceRetryWait = sourceRetryWait
64143			}
64144		case "type":
64145			if v != nil {
64146				var typeVar TypeBasicCopySource
64147				err = json.Unmarshal(*v, &typeVar)
64148				if err != nil {
64149					return err
64150				}
64151				ns.Type = typeVar
64152			}
64153		}
64154	}
64155
64156	return nil
64157}
64158
64159// NetezzaTableDataset netezza dataset.
64160type NetezzaTableDataset struct {
64161	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
64162	AdditionalProperties map[string]interface{} `json:""`
64163	// Description - Dataset description.
64164	Description *string `json:"description,omitempty"`
64165	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
64166	Structure interface{} `json:"structure,omitempty"`
64167	// LinkedServiceName - Linked service reference.
64168	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
64169	// Parameters - Parameters for dataset.
64170	Parameters map[string]*ParameterSpecification `json:"parameters"`
64171	// Annotations - List of tags that can be used for describing the Dataset.
64172	Annotations *[]interface{} `json:"annotations,omitempty"`
64173	// 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'
64174	Type TypeBasicDataset `json:"type,omitempty"`
64175}
64176
64177// MarshalJSON is the custom marshaler for NetezzaTableDataset.
64178func (ntd NetezzaTableDataset) MarshalJSON() ([]byte, error) {
64179	ntd.Type = TypeNetezzaTable
64180	objectMap := make(map[string]interface{})
64181	if ntd.Description != nil {
64182		objectMap["description"] = ntd.Description
64183	}
64184	if ntd.Structure != nil {
64185		objectMap["structure"] = ntd.Structure
64186	}
64187	if ntd.LinkedServiceName != nil {
64188		objectMap["linkedServiceName"] = ntd.LinkedServiceName
64189	}
64190	if ntd.Parameters != nil {
64191		objectMap["parameters"] = ntd.Parameters
64192	}
64193	if ntd.Annotations != nil {
64194		objectMap["annotations"] = ntd.Annotations
64195	}
64196	if ntd.Type != "" {
64197		objectMap["type"] = ntd.Type
64198	}
64199	for k, v := range ntd.AdditionalProperties {
64200		objectMap[k] = v
64201	}
64202	return json.Marshal(objectMap)
64203}
64204
64205// AsResponsysObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64206func (ntd NetezzaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
64207	return nil, false
64208}
64209
64210// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64211func (ntd NetezzaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
64212	return nil, false
64213}
64214
64215// AsVerticaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64216func (ntd NetezzaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
64217	return nil, false
64218}
64219
64220// AsNetezzaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64221func (ntd NetezzaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
64222	return &ntd, true
64223}
64224
64225// AsZohoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64226func (ntd NetezzaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
64227	return nil, false
64228}
64229
64230// AsXeroObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64231func (ntd NetezzaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
64232	return nil, false
64233}
64234
64235// AsSquareObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64236func (ntd NetezzaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
64237	return nil, false
64238}
64239
64240// AsSparkObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64241func (ntd NetezzaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
64242	return nil, false
64243}
64244
64245// AsShopifyObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64246func (ntd NetezzaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
64247	return nil, false
64248}
64249
64250// AsServiceNowObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64251func (ntd NetezzaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
64252	return nil, false
64253}
64254
64255// AsQuickBooksObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64256func (ntd NetezzaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
64257	return nil, false
64258}
64259
64260// AsPrestoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64261func (ntd NetezzaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
64262	return nil, false
64263}
64264
64265// AsPhoenixObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64266func (ntd NetezzaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
64267	return nil, false
64268}
64269
64270// AsPaypalObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64271func (ntd NetezzaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
64272	return nil, false
64273}
64274
64275// AsMarketoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64276func (ntd NetezzaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
64277	return nil, false
64278}
64279
64280// AsMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64281func (ntd NetezzaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
64282	return nil, false
64283}
64284
64285// AsMagentoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64286func (ntd NetezzaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
64287	return nil, false
64288}
64289
64290// AsJiraObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64291func (ntd NetezzaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
64292	return nil, false
64293}
64294
64295// AsImpalaObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64296func (ntd NetezzaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
64297	return nil, false
64298}
64299
64300// AsHubspotObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64301func (ntd NetezzaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
64302	return nil, false
64303}
64304
64305// AsHiveObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64306func (ntd NetezzaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
64307	return nil, false
64308}
64309
64310// AsHBaseObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64311func (ntd NetezzaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
64312	return nil, false
64313}
64314
64315// AsGreenplumTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64316func (ntd NetezzaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
64317	return nil, false
64318}
64319
64320// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64321func (ntd NetezzaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
64322	return nil, false
64323}
64324
64325// AsEloquaObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64326func (ntd NetezzaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
64327	return nil, false
64328}
64329
64330// AsDrillTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64331func (ntd NetezzaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
64332	return nil, false
64333}
64334
64335// AsCouchbaseTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64336func (ntd NetezzaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
64337	return nil, false
64338}
64339
64340// AsConcurObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64341func (ntd NetezzaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
64342	return nil, false
64343}
64344
64345// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64346func (ntd NetezzaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
64347	return nil, false
64348}
64349
64350// AsAmazonMWSObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64351func (ntd NetezzaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
64352	return nil, false
64353}
64354
64355// AsHTTPDataset is the BasicDataset implementation for NetezzaTableDataset.
64356func (ntd NetezzaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
64357	return nil, false
64358}
64359
64360// AsAzureSearchIndexDataset is the BasicDataset implementation for NetezzaTableDataset.
64361func (ntd NetezzaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
64362	return nil, false
64363}
64364
64365// AsWebTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64366func (ntd NetezzaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
64367	return nil, false
64368}
64369
64370// AsSQLServerTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64371func (ntd NetezzaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
64372	return nil, false
64373}
64374
64375// AsSapEccResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
64376func (ntd NetezzaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
64377	return nil, false
64378}
64379
64380// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
64381func (ntd NetezzaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
64382	return nil, false
64383}
64384
64385// AsSalesforceObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
64386func (ntd NetezzaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
64387	return nil, false
64388}
64389
64390// AsRelationalTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64391func (ntd NetezzaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
64392	return nil, false
64393}
64394
64395// AsAzureMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64396func (ntd NetezzaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
64397	return nil, false
64398}
64399
64400// AsOracleTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64401func (ntd NetezzaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
64402	return nil, false
64403}
64404
64405// AsODataResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
64406func (ntd NetezzaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
64407	return nil, false
64408}
64409
64410// AsMongoDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
64411func (ntd NetezzaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
64412	return nil, false
64413}
64414
64415// AsFileShareDataset is the BasicDataset implementation for NetezzaTableDataset.
64416func (ntd NetezzaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
64417	return nil, false
64418}
64419
64420// AsAzureDataLakeStoreDataset is the BasicDataset implementation for NetezzaTableDataset.
64421func (ntd NetezzaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
64422	return nil, false
64423}
64424
64425// AsDynamicsEntityDataset is the BasicDataset implementation for NetezzaTableDataset.
64426func (ntd NetezzaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
64427	return nil, false
64428}
64429
64430// AsDocumentDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
64431func (ntd NetezzaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
64432	return nil, false
64433}
64434
64435// AsCustomDataset is the BasicDataset implementation for NetezzaTableDataset.
64436func (ntd NetezzaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
64437	return nil, false
64438}
64439
64440// AsCassandraTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64441func (ntd NetezzaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
64442	return nil, false
64443}
64444
64445// AsAzureSQLDWTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64446func (ntd NetezzaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
64447	return nil, false
64448}
64449
64450// AsAzureSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64451func (ntd NetezzaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
64452	return nil, false
64453}
64454
64455// AsAzureTableDataset is the BasicDataset implementation for NetezzaTableDataset.
64456func (ntd NetezzaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
64457	return nil, false
64458}
64459
64460// AsAzureBlobDataset is the BasicDataset implementation for NetezzaTableDataset.
64461func (ntd NetezzaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
64462	return nil, false
64463}
64464
64465// AsAmazonS3Dataset is the BasicDataset implementation for NetezzaTableDataset.
64466func (ntd NetezzaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
64467	return nil, false
64468}
64469
64470// AsDataset is the BasicDataset implementation for NetezzaTableDataset.
64471func (ntd NetezzaTableDataset) AsDataset() (*Dataset, bool) {
64472	return nil, false
64473}
64474
64475// AsBasicDataset is the BasicDataset implementation for NetezzaTableDataset.
64476func (ntd NetezzaTableDataset) AsBasicDataset() (BasicDataset, bool) {
64477	return &ntd, true
64478}
64479
64480// UnmarshalJSON is the custom unmarshaler for NetezzaTableDataset struct.
64481func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error {
64482	var m map[string]*json.RawMessage
64483	err := json.Unmarshal(body, &m)
64484	if err != nil {
64485		return err
64486	}
64487	for k, v := range m {
64488		switch k {
64489		default:
64490			if v != nil {
64491				var additionalProperties interface{}
64492				err = json.Unmarshal(*v, &additionalProperties)
64493				if err != nil {
64494					return err
64495				}
64496				if ntd.AdditionalProperties == nil {
64497					ntd.AdditionalProperties = make(map[string]interface{})
64498				}
64499				ntd.AdditionalProperties[k] = additionalProperties
64500			}
64501		case "description":
64502			if v != nil {
64503				var description string
64504				err = json.Unmarshal(*v, &description)
64505				if err != nil {
64506					return err
64507				}
64508				ntd.Description = &description
64509			}
64510		case "structure":
64511			if v != nil {
64512				var structure interface{}
64513				err = json.Unmarshal(*v, &structure)
64514				if err != nil {
64515					return err
64516				}
64517				ntd.Structure = structure
64518			}
64519		case "linkedServiceName":
64520			if v != nil {
64521				var linkedServiceName LinkedServiceReference
64522				err = json.Unmarshal(*v, &linkedServiceName)
64523				if err != nil {
64524					return err
64525				}
64526				ntd.LinkedServiceName = &linkedServiceName
64527			}
64528		case "parameters":
64529			if v != nil {
64530				var parameters map[string]*ParameterSpecification
64531				err = json.Unmarshal(*v, &parameters)
64532				if err != nil {
64533					return err
64534				}
64535				ntd.Parameters = parameters
64536			}
64537		case "annotations":
64538			if v != nil {
64539				var annotations []interface{}
64540				err = json.Unmarshal(*v, &annotations)
64541				if err != nil {
64542					return err
64543				}
64544				ntd.Annotations = &annotations
64545			}
64546		case "type":
64547			if v != nil {
64548				var typeVar TypeBasicDataset
64549				err = json.Unmarshal(*v, &typeVar)
64550				if err != nil {
64551					return err
64552				}
64553				ntd.Type = typeVar
64554			}
64555		}
64556	}
64557
64558	return nil
64559}
64560
64561// ODataLinkedService open Data Protocol (OData) linked service.
64562type ODataLinkedService struct {
64563	// ODataLinkedServiceTypeProperties - OData linked service properties.
64564	*ODataLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
64565	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
64566	AdditionalProperties map[string]interface{} `json:""`
64567	// ConnectVia - The integration runtime reference.
64568	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
64569	// Description - Linked service description.
64570	Description *string `json:"description,omitempty"`
64571	// Parameters - Parameters for linked service.
64572	Parameters map[string]*ParameterSpecification `json:"parameters"`
64573	// Annotations - List of tags that can be used for describing the Dataset.
64574	Annotations *[]interface{} `json:"annotations,omitempty"`
64575	// 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'
64576	Type TypeBasicLinkedService `json:"type,omitempty"`
64577}
64578
64579// MarshalJSON is the custom marshaler for ODataLinkedService.
64580func (odls ODataLinkedService) MarshalJSON() ([]byte, error) {
64581	odls.Type = TypeOData
64582	objectMap := make(map[string]interface{})
64583	if odls.ODataLinkedServiceTypeProperties != nil {
64584		objectMap["typeProperties"] = odls.ODataLinkedServiceTypeProperties
64585	}
64586	if odls.ConnectVia != nil {
64587		objectMap["connectVia"] = odls.ConnectVia
64588	}
64589	if odls.Description != nil {
64590		objectMap["description"] = odls.Description
64591	}
64592	if odls.Parameters != nil {
64593		objectMap["parameters"] = odls.Parameters
64594	}
64595	if odls.Annotations != nil {
64596		objectMap["annotations"] = odls.Annotations
64597	}
64598	if odls.Type != "" {
64599		objectMap["type"] = odls.Type
64600	}
64601	for k, v := range odls.AdditionalProperties {
64602		objectMap[k] = v
64603	}
64604	return json.Marshal(objectMap)
64605}
64606
64607// AsResponsysLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64608func (odls ODataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
64609	return nil, false
64610}
64611
64612// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64613func (odls ODataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
64614	return nil, false
64615}
64616
64617// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64618func (odls ODataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
64619	return nil, false
64620}
64621
64622// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64623func (odls ODataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
64624	return nil, false
64625}
64626
64627// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64628func (odls ODataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
64629	return nil, false
64630}
64631
64632// AsNetezzaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64633func (odls ODataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
64634	return nil, false
64635}
64636
64637// AsVerticaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64638func (odls ODataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
64639	return nil, false
64640}
64641
64642// AsZohoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64643func (odls ODataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
64644	return nil, false
64645}
64646
64647// AsXeroLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64648func (odls ODataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
64649	return nil, false
64650}
64651
64652// AsSquareLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64653func (odls ODataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
64654	return nil, false
64655}
64656
64657// AsSparkLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64658func (odls ODataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
64659	return nil, false
64660}
64661
64662// AsShopifyLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64663func (odls ODataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
64664	return nil, false
64665}
64666
64667// AsServiceNowLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64668func (odls ODataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
64669	return nil, false
64670}
64671
64672// AsQuickBooksLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64673func (odls ODataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
64674	return nil, false
64675}
64676
64677// AsPrestoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64678func (odls ODataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
64679	return nil, false
64680}
64681
64682// AsPhoenixLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64683func (odls ODataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
64684	return nil, false
64685}
64686
64687// AsPaypalLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64688func (odls ODataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
64689	return nil, false
64690}
64691
64692// AsMarketoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64693func (odls ODataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
64694	return nil, false
64695}
64696
64697// AsMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64698func (odls ODataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
64699	return nil, false
64700}
64701
64702// AsMagentoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64703func (odls ODataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
64704	return nil, false
64705}
64706
64707// AsJiraLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64708func (odls ODataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
64709	return nil, false
64710}
64711
64712// AsImpalaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64713func (odls ODataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
64714	return nil, false
64715}
64716
64717// AsHubspotLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64718func (odls ODataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
64719	return nil, false
64720}
64721
64722// AsHiveLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64723func (odls ODataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
64724	return nil, false
64725}
64726
64727// AsHBaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64728func (odls ODataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
64729	return nil, false
64730}
64731
64732// AsGreenplumLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64733func (odls ODataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
64734	return nil, false
64735}
64736
64737// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64738func (odls ODataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
64739	return nil, false
64740}
64741
64742// AsEloquaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64743func (odls ODataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
64744	return nil, false
64745}
64746
64747// AsDrillLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64748func (odls ODataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
64749	return nil, false
64750}
64751
64752// AsCouchbaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64753func (odls ODataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
64754	return nil, false
64755}
64756
64757// AsConcurLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64758func (odls ODataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
64759	return nil, false
64760}
64761
64762// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64763func (odls ODataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
64764	return nil, false
64765}
64766
64767// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64768func (odls ODataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
64769	return nil, false
64770}
64771
64772// AsSapHanaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64773func (odls ODataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
64774	return nil, false
64775}
64776
64777// AsSapBWLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64778func (odls ODataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
64779	return nil, false
64780}
64781
64782// AsSftpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64783func (odls ODataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
64784	return nil, false
64785}
64786
64787// AsFtpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64788func (odls ODataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
64789	return nil, false
64790}
64791
64792// AsHTTPLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64793func (odls ODataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
64794	return nil, false
64795}
64796
64797// AsAzureSearchLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64798func (odls ODataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
64799	return nil, false
64800}
64801
64802// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64803func (odls ODataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
64804	return nil, false
64805}
64806
64807// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64808func (odls ODataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
64809	return nil, false
64810}
64811
64812// AsAmazonS3LinkedService is the BasicLinkedService implementation for ODataLinkedService.
64813func (odls ODataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
64814	return nil, false
64815}
64816
64817// AsSapEccLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64818func (odls ODataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
64819	return nil, false
64820}
64821
64822// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64823func (odls ODataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
64824	return nil, false
64825}
64826
64827// AsSalesforceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64828func (odls ODataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
64829	return nil, false
64830}
64831
64832// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64833func (odls ODataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
64834	return nil, false
64835}
64836
64837// AsMongoDbLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64838func (odls ODataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
64839	return nil, false
64840}
64841
64842// AsCassandraLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64843func (odls ODataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
64844	return nil, false
64845}
64846
64847// AsWebLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64848func (odls ODataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
64849	return nil, false
64850}
64851
64852// AsODataLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64853func (odls ODataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
64854	return &odls, true
64855}
64856
64857// AsHdfsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64858func (odls ODataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
64859	return nil, false
64860}
64861
64862// AsOdbcLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64863func (odls ODataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
64864	return nil, false
64865}
64866
64867// AsAzureMLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64868func (odls ODataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
64869	return nil, false
64870}
64871
64872// AsTeradataLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64873func (odls ODataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
64874	return nil, false
64875}
64876
64877// AsDb2LinkedService is the BasicLinkedService implementation for ODataLinkedService.
64878func (odls ODataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
64879	return nil, false
64880}
64881
64882// AsSybaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64883func (odls ODataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
64884	return nil, false
64885}
64886
64887// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64888func (odls ODataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
64889	return nil, false
64890}
64891
64892// AsMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64893func (odls ODataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
64894	return nil, false
64895}
64896
64897// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64898func (odls ODataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
64899	return nil, false
64900}
64901
64902// AsOracleLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64903func (odls ODataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
64904	return nil, false
64905}
64906
64907// AsFileServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64908func (odls ODataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
64909	return nil, false
64910}
64911
64912// AsHDInsightLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64913func (odls ODataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
64914	return nil, false
64915}
64916
64917// AsDynamicsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64918func (odls ODataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
64919	return nil, false
64920}
64921
64922// AsCosmosDbLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64923func (odls ODataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
64924	return nil, false
64925}
64926
64927// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64928func (odls ODataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
64929	return nil, false
64930}
64931
64932// AsAzureBatchLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64933func (odls ODataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
64934	return nil, false
64935}
64936
64937// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64938func (odls ODataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
64939	return nil, false
64940}
64941
64942// AsSQLServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64943func (odls ODataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
64944	return nil, false
64945}
64946
64947// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64948func (odls ODataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
64949	return nil, false
64950}
64951
64952// AsAzureStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64953func (odls ODataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
64954	return nil, false
64955}
64956
64957// AsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64958func (odls ODataLinkedService) AsLinkedService() (*LinkedService, bool) {
64959	return nil, false
64960}
64961
64962// AsBasicLinkedService is the BasicLinkedService implementation for ODataLinkedService.
64963func (odls ODataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
64964	return &odls, true
64965}
64966
64967// UnmarshalJSON is the custom unmarshaler for ODataLinkedService struct.
64968func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error {
64969	var m map[string]*json.RawMessage
64970	err := json.Unmarshal(body, &m)
64971	if err != nil {
64972		return err
64973	}
64974	for k, v := range m {
64975		switch k {
64976		case "typeProperties":
64977			if v != nil {
64978				var oDataLinkedServiceTypeProperties ODataLinkedServiceTypeProperties
64979				err = json.Unmarshal(*v, &oDataLinkedServiceTypeProperties)
64980				if err != nil {
64981					return err
64982				}
64983				odls.ODataLinkedServiceTypeProperties = &oDataLinkedServiceTypeProperties
64984			}
64985		default:
64986			if v != nil {
64987				var additionalProperties interface{}
64988				err = json.Unmarshal(*v, &additionalProperties)
64989				if err != nil {
64990					return err
64991				}
64992				if odls.AdditionalProperties == nil {
64993					odls.AdditionalProperties = make(map[string]interface{})
64994				}
64995				odls.AdditionalProperties[k] = additionalProperties
64996			}
64997		case "connectVia":
64998			if v != nil {
64999				var connectVia IntegrationRuntimeReference
65000				err = json.Unmarshal(*v, &connectVia)
65001				if err != nil {
65002					return err
65003				}
65004				odls.ConnectVia = &connectVia
65005			}
65006		case "description":
65007			if v != nil {
65008				var description string
65009				err = json.Unmarshal(*v, &description)
65010				if err != nil {
65011					return err
65012				}
65013				odls.Description = &description
65014			}
65015		case "parameters":
65016			if v != nil {
65017				var parameters map[string]*ParameterSpecification
65018				err = json.Unmarshal(*v, &parameters)
65019				if err != nil {
65020					return err
65021				}
65022				odls.Parameters = parameters
65023			}
65024		case "annotations":
65025			if v != nil {
65026				var annotations []interface{}
65027				err = json.Unmarshal(*v, &annotations)
65028				if err != nil {
65029					return err
65030				}
65031				odls.Annotations = &annotations
65032			}
65033		case "type":
65034			if v != nil {
65035				var typeVar TypeBasicLinkedService
65036				err = json.Unmarshal(*v, &typeVar)
65037				if err != nil {
65038					return err
65039				}
65040				odls.Type = typeVar
65041			}
65042		}
65043	}
65044
65045	return nil
65046}
65047
65048// ODataLinkedServiceTypeProperties oData linked service properties.
65049type ODataLinkedServiceTypeProperties struct {
65050	// URL - The URL of the OData service endpoint. Type: string (or Expression with resultType string).
65051	URL interface{} `json:"url,omitempty"`
65052	// AuthenticationType - Type of authentication used to connect to the OData service. Possible values include: 'ODataAuthenticationTypeBasic', 'ODataAuthenticationTypeAnonymous'
65053	AuthenticationType ODataAuthenticationType `json:"authenticationType,omitempty"`
65054	// UserName - User name of the OData service. Type: string (or Expression with resultType string).
65055	UserName interface{} `json:"userName,omitempty"`
65056	// Password - Password of the OData service.
65057	Password BasicSecretBase `json:"password,omitempty"`
65058	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
65059	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
65060}
65061
65062// UnmarshalJSON is the custom unmarshaler for ODataLinkedServiceTypeProperties struct.
65063func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
65064	var m map[string]*json.RawMessage
65065	err := json.Unmarshal(body, &m)
65066	if err != nil {
65067		return err
65068	}
65069	for k, v := range m {
65070		switch k {
65071		case "url":
65072			if v != nil {
65073				var URL interface{}
65074				err = json.Unmarshal(*v, &URL)
65075				if err != nil {
65076					return err
65077				}
65078				odlstp.URL = URL
65079			}
65080		case "authenticationType":
65081			if v != nil {
65082				var authenticationType ODataAuthenticationType
65083				err = json.Unmarshal(*v, &authenticationType)
65084				if err != nil {
65085					return err
65086				}
65087				odlstp.AuthenticationType = authenticationType
65088			}
65089		case "userName":
65090			if v != nil {
65091				var userName interface{}
65092				err = json.Unmarshal(*v, &userName)
65093				if err != nil {
65094					return err
65095				}
65096				odlstp.UserName = userName
65097			}
65098		case "password":
65099			if v != nil {
65100				password, err := unmarshalBasicSecretBase(*v)
65101				if err != nil {
65102					return err
65103				}
65104				odlstp.Password = password
65105			}
65106		case "encryptedCredential":
65107			if v != nil {
65108				var encryptedCredential interface{}
65109				err = json.Unmarshal(*v, &encryptedCredential)
65110				if err != nil {
65111					return err
65112				}
65113				odlstp.EncryptedCredential = encryptedCredential
65114			}
65115		}
65116	}
65117
65118	return nil
65119}
65120
65121// ODataResourceDataset the Open Data Protocol (OData) resource dataset.
65122type ODataResourceDataset struct {
65123	// ODataResourceDatasetTypeProperties - OData dataset properties.
65124	*ODataResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
65125	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
65126	AdditionalProperties map[string]interface{} `json:""`
65127	// Description - Dataset description.
65128	Description *string `json:"description,omitempty"`
65129	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
65130	Structure interface{} `json:"structure,omitempty"`
65131	// LinkedServiceName - Linked service reference.
65132	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
65133	// Parameters - Parameters for dataset.
65134	Parameters map[string]*ParameterSpecification `json:"parameters"`
65135	// Annotations - List of tags that can be used for describing the Dataset.
65136	Annotations *[]interface{} `json:"annotations,omitempty"`
65137	// 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'
65138	Type TypeBasicDataset `json:"type,omitempty"`
65139}
65140
65141// MarshalJSON is the custom marshaler for ODataResourceDataset.
65142func (odrd ODataResourceDataset) MarshalJSON() ([]byte, error) {
65143	odrd.Type = TypeODataResource
65144	objectMap := make(map[string]interface{})
65145	if odrd.ODataResourceDatasetTypeProperties != nil {
65146		objectMap["typeProperties"] = odrd.ODataResourceDatasetTypeProperties
65147	}
65148	if odrd.Description != nil {
65149		objectMap["description"] = odrd.Description
65150	}
65151	if odrd.Structure != nil {
65152		objectMap["structure"] = odrd.Structure
65153	}
65154	if odrd.LinkedServiceName != nil {
65155		objectMap["linkedServiceName"] = odrd.LinkedServiceName
65156	}
65157	if odrd.Parameters != nil {
65158		objectMap["parameters"] = odrd.Parameters
65159	}
65160	if odrd.Annotations != nil {
65161		objectMap["annotations"] = odrd.Annotations
65162	}
65163	if odrd.Type != "" {
65164		objectMap["type"] = odrd.Type
65165	}
65166	for k, v := range odrd.AdditionalProperties {
65167		objectMap[k] = v
65168	}
65169	return json.Marshal(objectMap)
65170}
65171
65172// AsResponsysObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65173func (odrd ODataResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
65174	return nil, false
65175}
65176
65177// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65178func (odrd ODataResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
65179	return nil, false
65180}
65181
65182// AsVerticaTableDataset is the BasicDataset implementation for ODataResourceDataset.
65183func (odrd ODataResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
65184	return nil, false
65185}
65186
65187// AsNetezzaTableDataset is the BasicDataset implementation for ODataResourceDataset.
65188func (odrd ODataResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
65189	return nil, false
65190}
65191
65192// AsZohoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65193func (odrd ODataResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
65194	return nil, false
65195}
65196
65197// AsXeroObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65198func (odrd ODataResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
65199	return nil, false
65200}
65201
65202// AsSquareObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65203func (odrd ODataResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
65204	return nil, false
65205}
65206
65207// AsSparkObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65208func (odrd ODataResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
65209	return nil, false
65210}
65211
65212// AsShopifyObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65213func (odrd ODataResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
65214	return nil, false
65215}
65216
65217// AsServiceNowObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65218func (odrd ODataResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
65219	return nil, false
65220}
65221
65222// AsQuickBooksObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65223func (odrd ODataResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
65224	return nil, false
65225}
65226
65227// AsPrestoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65228func (odrd ODataResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
65229	return nil, false
65230}
65231
65232// AsPhoenixObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65233func (odrd ODataResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
65234	return nil, false
65235}
65236
65237// AsPaypalObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65238func (odrd ODataResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
65239	return nil, false
65240}
65241
65242// AsMarketoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65243func (odrd ODataResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
65244	return nil, false
65245}
65246
65247// AsMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset.
65248func (odrd ODataResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
65249	return nil, false
65250}
65251
65252// AsMagentoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65253func (odrd ODataResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
65254	return nil, false
65255}
65256
65257// AsJiraObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65258func (odrd ODataResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
65259	return nil, false
65260}
65261
65262// AsImpalaObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65263func (odrd ODataResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
65264	return nil, false
65265}
65266
65267// AsHubspotObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65268func (odrd ODataResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
65269	return nil, false
65270}
65271
65272// AsHiveObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65273func (odrd ODataResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
65274	return nil, false
65275}
65276
65277// AsHBaseObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65278func (odrd ODataResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
65279	return nil, false
65280}
65281
65282// AsGreenplumTableDataset is the BasicDataset implementation for ODataResourceDataset.
65283func (odrd ODataResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
65284	return nil, false
65285}
65286
65287// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65288func (odrd ODataResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
65289	return nil, false
65290}
65291
65292// AsEloquaObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65293func (odrd ODataResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
65294	return nil, false
65295}
65296
65297// AsDrillTableDataset is the BasicDataset implementation for ODataResourceDataset.
65298func (odrd ODataResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
65299	return nil, false
65300}
65301
65302// AsCouchbaseTableDataset is the BasicDataset implementation for ODataResourceDataset.
65303func (odrd ODataResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
65304	return nil, false
65305}
65306
65307// AsConcurObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65308func (odrd ODataResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
65309	return nil, false
65310}
65311
65312// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
65313func (odrd ODataResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
65314	return nil, false
65315}
65316
65317// AsAmazonMWSObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65318func (odrd ODataResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
65319	return nil, false
65320}
65321
65322// AsHTTPDataset is the BasicDataset implementation for ODataResourceDataset.
65323func (odrd ODataResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
65324	return nil, false
65325}
65326
65327// AsAzureSearchIndexDataset is the BasicDataset implementation for ODataResourceDataset.
65328func (odrd ODataResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
65329	return nil, false
65330}
65331
65332// AsWebTableDataset is the BasicDataset implementation for ODataResourceDataset.
65333func (odrd ODataResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
65334	return nil, false
65335}
65336
65337// AsSQLServerTableDataset is the BasicDataset implementation for ODataResourceDataset.
65338func (odrd ODataResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
65339	return nil, false
65340}
65341
65342// AsSapEccResourceDataset is the BasicDataset implementation for ODataResourceDataset.
65343func (odrd ODataResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
65344	return nil, false
65345}
65346
65347// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ODataResourceDataset.
65348func (odrd ODataResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
65349	return nil, false
65350}
65351
65352// AsSalesforceObjectDataset is the BasicDataset implementation for ODataResourceDataset.
65353func (odrd ODataResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
65354	return nil, false
65355}
65356
65357// AsRelationalTableDataset is the BasicDataset implementation for ODataResourceDataset.
65358func (odrd ODataResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
65359	return nil, false
65360}
65361
65362// AsAzureMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
65363func (odrd ODataResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
65364	return nil, false
65365}
65366
65367// AsOracleTableDataset is the BasicDataset implementation for ODataResourceDataset.
65368func (odrd ODataResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
65369	return nil, false
65370}
65371
65372// AsODataResourceDataset is the BasicDataset implementation for ODataResourceDataset.
65373func (odrd ODataResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
65374	return &odrd, true
65375}
65376
65377// AsMongoDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset.
65378func (odrd ODataResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
65379	return nil, false
65380}
65381
65382// AsFileShareDataset is the BasicDataset implementation for ODataResourceDataset.
65383func (odrd ODataResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
65384	return nil, false
65385}
65386
65387// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ODataResourceDataset.
65388func (odrd ODataResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
65389	return nil, false
65390}
65391
65392// AsDynamicsEntityDataset is the BasicDataset implementation for ODataResourceDataset.
65393func (odrd ODataResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
65394	return nil, false
65395}
65396
65397// AsDocumentDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset.
65398func (odrd ODataResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
65399	return nil, false
65400}
65401
65402// AsCustomDataset is the BasicDataset implementation for ODataResourceDataset.
65403func (odrd ODataResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
65404	return nil, false
65405}
65406
65407// AsCassandraTableDataset is the BasicDataset implementation for ODataResourceDataset.
65408func (odrd ODataResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
65409	return nil, false
65410}
65411
65412// AsAzureSQLDWTableDataset is the BasicDataset implementation for ODataResourceDataset.
65413func (odrd ODataResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
65414	return nil, false
65415}
65416
65417// AsAzureSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
65418func (odrd ODataResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
65419	return nil, false
65420}
65421
65422// AsAzureTableDataset is the BasicDataset implementation for ODataResourceDataset.
65423func (odrd ODataResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
65424	return nil, false
65425}
65426
65427// AsAzureBlobDataset is the BasicDataset implementation for ODataResourceDataset.
65428func (odrd ODataResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
65429	return nil, false
65430}
65431
65432// AsAmazonS3Dataset is the BasicDataset implementation for ODataResourceDataset.
65433func (odrd ODataResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
65434	return nil, false
65435}
65436
65437// AsDataset is the BasicDataset implementation for ODataResourceDataset.
65438func (odrd ODataResourceDataset) AsDataset() (*Dataset, bool) {
65439	return nil, false
65440}
65441
65442// AsBasicDataset is the BasicDataset implementation for ODataResourceDataset.
65443func (odrd ODataResourceDataset) AsBasicDataset() (BasicDataset, bool) {
65444	return &odrd, true
65445}
65446
65447// UnmarshalJSON is the custom unmarshaler for ODataResourceDataset struct.
65448func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error {
65449	var m map[string]*json.RawMessage
65450	err := json.Unmarshal(body, &m)
65451	if err != nil {
65452		return err
65453	}
65454	for k, v := range m {
65455		switch k {
65456		case "typeProperties":
65457			if v != nil {
65458				var oDataResourceDatasetTypeProperties ODataResourceDatasetTypeProperties
65459				err = json.Unmarshal(*v, &oDataResourceDatasetTypeProperties)
65460				if err != nil {
65461					return err
65462				}
65463				odrd.ODataResourceDatasetTypeProperties = &oDataResourceDatasetTypeProperties
65464			}
65465		default:
65466			if v != nil {
65467				var additionalProperties interface{}
65468				err = json.Unmarshal(*v, &additionalProperties)
65469				if err != nil {
65470					return err
65471				}
65472				if odrd.AdditionalProperties == nil {
65473					odrd.AdditionalProperties = make(map[string]interface{})
65474				}
65475				odrd.AdditionalProperties[k] = additionalProperties
65476			}
65477		case "description":
65478			if v != nil {
65479				var description string
65480				err = json.Unmarshal(*v, &description)
65481				if err != nil {
65482					return err
65483				}
65484				odrd.Description = &description
65485			}
65486		case "structure":
65487			if v != nil {
65488				var structure interface{}
65489				err = json.Unmarshal(*v, &structure)
65490				if err != nil {
65491					return err
65492				}
65493				odrd.Structure = structure
65494			}
65495		case "linkedServiceName":
65496			if v != nil {
65497				var linkedServiceName LinkedServiceReference
65498				err = json.Unmarshal(*v, &linkedServiceName)
65499				if err != nil {
65500					return err
65501				}
65502				odrd.LinkedServiceName = &linkedServiceName
65503			}
65504		case "parameters":
65505			if v != nil {
65506				var parameters map[string]*ParameterSpecification
65507				err = json.Unmarshal(*v, &parameters)
65508				if err != nil {
65509					return err
65510				}
65511				odrd.Parameters = parameters
65512			}
65513		case "annotations":
65514			if v != nil {
65515				var annotations []interface{}
65516				err = json.Unmarshal(*v, &annotations)
65517				if err != nil {
65518					return err
65519				}
65520				odrd.Annotations = &annotations
65521			}
65522		case "type":
65523			if v != nil {
65524				var typeVar TypeBasicDataset
65525				err = json.Unmarshal(*v, &typeVar)
65526				if err != nil {
65527					return err
65528				}
65529				odrd.Type = typeVar
65530			}
65531		}
65532	}
65533
65534	return nil
65535}
65536
65537// ODataResourceDatasetTypeProperties oData dataset properties.
65538type ODataResourceDatasetTypeProperties struct {
65539	// Path - The OData resource path. Type: string (or Expression with resultType string).
65540	Path interface{} `json:"path,omitempty"`
65541}
65542
65543// OdbcLinkedService open Database Connectivity (ODBC) linked service.
65544type OdbcLinkedService struct {
65545	// OdbcLinkedServiceTypeProperties - ODBC linked service properties.
65546	*OdbcLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
65547	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
65548	AdditionalProperties map[string]interface{} `json:""`
65549	// ConnectVia - The integration runtime reference.
65550	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
65551	// Description - Linked service description.
65552	Description *string `json:"description,omitempty"`
65553	// Parameters - Parameters for linked service.
65554	Parameters map[string]*ParameterSpecification `json:"parameters"`
65555	// Annotations - List of tags that can be used for describing the Dataset.
65556	Annotations *[]interface{} `json:"annotations,omitempty"`
65557	// 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'
65558	Type TypeBasicLinkedService `json:"type,omitempty"`
65559}
65560
65561// MarshalJSON is the custom marshaler for OdbcLinkedService.
65562func (ols OdbcLinkedService) MarshalJSON() ([]byte, error) {
65563	ols.Type = TypeOdbc
65564	objectMap := make(map[string]interface{})
65565	if ols.OdbcLinkedServiceTypeProperties != nil {
65566		objectMap["typeProperties"] = ols.OdbcLinkedServiceTypeProperties
65567	}
65568	if ols.ConnectVia != nil {
65569		objectMap["connectVia"] = ols.ConnectVia
65570	}
65571	if ols.Description != nil {
65572		objectMap["description"] = ols.Description
65573	}
65574	if ols.Parameters != nil {
65575		objectMap["parameters"] = ols.Parameters
65576	}
65577	if ols.Annotations != nil {
65578		objectMap["annotations"] = ols.Annotations
65579	}
65580	if ols.Type != "" {
65581		objectMap["type"] = ols.Type
65582	}
65583	for k, v := range ols.AdditionalProperties {
65584		objectMap[k] = v
65585	}
65586	return json.Marshal(objectMap)
65587}
65588
65589// AsResponsysLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65590func (ols OdbcLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
65591	return nil, false
65592}
65593
65594// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65595func (ols OdbcLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
65596	return nil, false
65597}
65598
65599// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65600func (ols OdbcLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
65601	return nil, false
65602}
65603
65604// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65605func (ols OdbcLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
65606	return nil, false
65607}
65608
65609// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65610func (ols OdbcLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
65611	return nil, false
65612}
65613
65614// AsNetezzaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65615func (ols OdbcLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
65616	return nil, false
65617}
65618
65619// AsVerticaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65620func (ols OdbcLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
65621	return nil, false
65622}
65623
65624// AsZohoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65625func (ols OdbcLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
65626	return nil, false
65627}
65628
65629// AsXeroLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65630func (ols OdbcLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
65631	return nil, false
65632}
65633
65634// AsSquareLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65635func (ols OdbcLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
65636	return nil, false
65637}
65638
65639// AsSparkLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65640func (ols OdbcLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
65641	return nil, false
65642}
65643
65644// AsShopifyLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65645func (ols OdbcLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
65646	return nil, false
65647}
65648
65649// AsServiceNowLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65650func (ols OdbcLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
65651	return nil, false
65652}
65653
65654// AsQuickBooksLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65655func (ols OdbcLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
65656	return nil, false
65657}
65658
65659// AsPrestoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65660func (ols OdbcLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
65661	return nil, false
65662}
65663
65664// AsPhoenixLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65665func (ols OdbcLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
65666	return nil, false
65667}
65668
65669// AsPaypalLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65670func (ols OdbcLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
65671	return nil, false
65672}
65673
65674// AsMarketoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65675func (ols OdbcLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
65676	return nil, false
65677}
65678
65679// AsMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65680func (ols OdbcLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
65681	return nil, false
65682}
65683
65684// AsMagentoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65685func (ols OdbcLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
65686	return nil, false
65687}
65688
65689// AsJiraLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65690func (ols OdbcLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
65691	return nil, false
65692}
65693
65694// AsImpalaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65695func (ols OdbcLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
65696	return nil, false
65697}
65698
65699// AsHubspotLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65700func (ols OdbcLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
65701	return nil, false
65702}
65703
65704// AsHiveLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65705func (ols OdbcLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
65706	return nil, false
65707}
65708
65709// AsHBaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65710func (ols OdbcLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
65711	return nil, false
65712}
65713
65714// AsGreenplumLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65715func (ols OdbcLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
65716	return nil, false
65717}
65718
65719// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65720func (ols OdbcLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
65721	return nil, false
65722}
65723
65724// AsEloquaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65725func (ols OdbcLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
65726	return nil, false
65727}
65728
65729// AsDrillLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65730func (ols OdbcLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
65731	return nil, false
65732}
65733
65734// AsCouchbaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65735func (ols OdbcLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
65736	return nil, false
65737}
65738
65739// AsConcurLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65740func (ols OdbcLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
65741	return nil, false
65742}
65743
65744// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65745func (ols OdbcLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
65746	return nil, false
65747}
65748
65749// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65750func (ols OdbcLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
65751	return nil, false
65752}
65753
65754// AsSapHanaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65755func (ols OdbcLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
65756	return nil, false
65757}
65758
65759// AsSapBWLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65760func (ols OdbcLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
65761	return nil, false
65762}
65763
65764// AsSftpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65765func (ols OdbcLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
65766	return nil, false
65767}
65768
65769// AsFtpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65770func (ols OdbcLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
65771	return nil, false
65772}
65773
65774// AsHTTPLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65775func (ols OdbcLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
65776	return nil, false
65777}
65778
65779// AsAzureSearchLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65780func (ols OdbcLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
65781	return nil, false
65782}
65783
65784// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65785func (ols OdbcLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
65786	return nil, false
65787}
65788
65789// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65790func (ols OdbcLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
65791	return nil, false
65792}
65793
65794// AsAmazonS3LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65795func (ols OdbcLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
65796	return nil, false
65797}
65798
65799// AsSapEccLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65800func (ols OdbcLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
65801	return nil, false
65802}
65803
65804// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65805func (ols OdbcLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
65806	return nil, false
65807}
65808
65809// AsSalesforceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65810func (ols OdbcLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
65811	return nil, false
65812}
65813
65814// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65815func (ols OdbcLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
65816	return nil, false
65817}
65818
65819// AsMongoDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65820func (ols OdbcLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
65821	return nil, false
65822}
65823
65824// AsCassandraLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65825func (ols OdbcLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
65826	return nil, false
65827}
65828
65829// AsWebLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65830func (ols OdbcLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
65831	return nil, false
65832}
65833
65834// AsODataLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65835func (ols OdbcLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
65836	return nil, false
65837}
65838
65839// AsHdfsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65840func (ols OdbcLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
65841	return nil, false
65842}
65843
65844// AsOdbcLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65845func (ols OdbcLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
65846	return &ols, true
65847}
65848
65849// AsAzureMLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65850func (ols OdbcLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
65851	return nil, false
65852}
65853
65854// AsTeradataLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65855func (ols OdbcLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
65856	return nil, false
65857}
65858
65859// AsDb2LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65860func (ols OdbcLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
65861	return nil, false
65862}
65863
65864// AsSybaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65865func (ols OdbcLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
65866	return nil, false
65867}
65868
65869// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65870func (ols OdbcLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
65871	return nil, false
65872}
65873
65874// AsMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65875func (ols OdbcLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
65876	return nil, false
65877}
65878
65879// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65880func (ols OdbcLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
65881	return nil, false
65882}
65883
65884// AsOracleLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65885func (ols OdbcLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
65886	return nil, false
65887}
65888
65889// AsFileServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65890func (ols OdbcLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
65891	return nil, false
65892}
65893
65894// AsHDInsightLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65895func (ols OdbcLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
65896	return nil, false
65897}
65898
65899// AsDynamicsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65900func (ols OdbcLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
65901	return nil, false
65902}
65903
65904// AsCosmosDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65905func (ols OdbcLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
65906	return nil, false
65907}
65908
65909// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65910func (ols OdbcLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
65911	return nil, false
65912}
65913
65914// AsAzureBatchLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65915func (ols OdbcLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
65916	return nil, false
65917}
65918
65919// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65920func (ols OdbcLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
65921	return nil, false
65922}
65923
65924// AsSQLServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65925func (ols OdbcLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
65926	return nil, false
65927}
65928
65929// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65930func (ols OdbcLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
65931	return nil, false
65932}
65933
65934// AsAzureStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65935func (ols OdbcLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
65936	return nil, false
65937}
65938
65939// AsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65940func (ols OdbcLinkedService) AsLinkedService() (*LinkedService, bool) {
65941	return nil, false
65942}
65943
65944// AsBasicLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
65945func (ols OdbcLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
65946	return &ols, true
65947}
65948
65949// UnmarshalJSON is the custom unmarshaler for OdbcLinkedService struct.
65950func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error {
65951	var m map[string]*json.RawMessage
65952	err := json.Unmarshal(body, &m)
65953	if err != nil {
65954		return err
65955	}
65956	for k, v := range m {
65957		switch k {
65958		case "typeProperties":
65959			if v != nil {
65960				var odbcLinkedServiceTypeProperties OdbcLinkedServiceTypeProperties
65961				err = json.Unmarshal(*v, &odbcLinkedServiceTypeProperties)
65962				if err != nil {
65963					return err
65964				}
65965				ols.OdbcLinkedServiceTypeProperties = &odbcLinkedServiceTypeProperties
65966			}
65967		default:
65968			if v != nil {
65969				var additionalProperties interface{}
65970				err = json.Unmarshal(*v, &additionalProperties)
65971				if err != nil {
65972					return err
65973				}
65974				if ols.AdditionalProperties == nil {
65975					ols.AdditionalProperties = make(map[string]interface{})
65976				}
65977				ols.AdditionalProperties[k] = additionalProperties
65978			}
65979		case "connectVia":
65980			if v != nil {
65981				var connectVia IntegrationRuntimeReference
65982				err = json.Unmarshal(*v, &connectVia)
65983				if err != nil {
65984					return err
65985				}
65986				ols.ConnectVia = &connectVia
65987			}
65988		case "description":
65989			if v != nil {
65990				var description string
65991				err = json.Unmarshal(*v, &description)
65992				if err != nil {
65993					return err
65994				}
65995				ols.Description = &description
65996			}
65997		case "parameters":
65998			if v != nil {
65999				var parameters map[string]*ParameterSpecification
66000				err = json.Unmarshal(*v, &parameters)
66001				if err != nil {
66002					return err
66003				}
66004				ols.Parameters = parameters
66005			}
66006		case "annotations":
66007			if v != nil {
66008				var annotations []interface{}
66009				err = json.Unmarshal(*v, &annotations)
66010				if err != nil {
66011					return err
66012				}
66013				ols.Annotations = &annotations
66014			}
66015		case "type":
66016			if v != nil {
66017				var typeVar TypeBasicLinkedService
66018				err = json.Unmarshal(*v, &typeVar)
66019				if err != nil {
66020					return err
66021				}
66022				ols.Type = typeVar
66023			}
66024		}
66025	}
66026
66027	return nil
66028}
66029
66030// OdbcLinkedServiceTypeProperties ODBC linked service properties.
66031type OdbcLinkedServiceTypeProperties struct {
66032	// ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference.
66033	ConnectionString interface{} `json:"connectionString,omitempty"`
66034	// 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).
66035	AuthenticationType interface{} `json:"authenticationType,omitempty"`
66036	// Credential - The access credential portion of the connection string specified in driver-specific property-value format.
66037	Credential BasicSecretBase `json:"credential,omitempty"`
66038	// UserName - User name for Basic authentication. Type: string (or Expression with resultType string).
66039	UserName interface{} `json:"userName,omitempty"`
66040	// Password - Password for Basic authentication.
66041	Password BasicSecretBase `json:"password,omitempty"`
66042	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
66043	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
66044}
66045
66046// UnmarshalJSON is the custom unmarshaler for OdbcLinkedServiceTypeProperties struct.
66047func (olstp *OdbcLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
66048	var m map[string]*json.RawMessage
66049	err := json.Unmarshal(body, &m)
66050	if err != nil {
66051		return err
66052	}
66053	for k, v := range m {
66054		switch k {
66055		case "connectionString":
66056			if v != nil {
66057				var connectionString interface{}
66058				err = json.Unmarshal(*v, &connectionString)
66059				if err != nil {
66060					return err
66061				}
66062				olstp.ConnectionString = connectionString
66063			}
66064		case "authenticationType":
66065			if v != nil {
66066				var authenticationType interface{}
66067				err = json.Unmarshal(*v, &authenticationType)
66068				if err != nil {
66069					return err
66070				}
66071				olstp.AuthenticationType = authenticationType
66072			}
66073		case "credential":
66074			if v != nil {
66075				credential, err := unmarshalBasicSecretBase(*v)
66076				if err != nil {
66077					return err
66078				}
66079				olstp.Credential = credential
66080			}
66081		case "userName":
66082			if v != nil {
66083				var userName interface{}
66084				err = json.Unmarshal(*v, &userName)
66085				if err != nil {
66086					return err
66087				}
66088				olstp.UserName = userName
66089			}
66090		case "password":
66091			if v != nil {
66092				password, err := unmarshalBasicSecretBase(*v)
66093				if err != nil {
66094					return err
66095				}
66096				olstp.Password = password
66097			}
66098		case "encryptedCredential":
66099			if v != nil {
66100				var encryptedCredential interface{}
66101				err = json.Unmarshal(*v, &encryptedCredential)
66102				if err != nil {
66103					return err
66104				}
66105				olstp.EncryptedCredential = encryptedCredential
66106			}
66107		}
66108	}
66109
66110	return nil
66111}
66112
66113// OdbcSink a copy activity ODBC sink.
66114type OdbcSink struct {
66115	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
66116	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
66117	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
66118	AdditionalProperties map[string]interface{} `json:""`
66119	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
66120	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
66121	// 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])).
66122	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
66123	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
66124	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
66125	// 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])).
66126	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
66127	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
66128	Type TypeBasicCopySink `json:"type,omitempty"`
66129}
66130
66131// MarshalJSON is the custom marshaler for OdbcSink.
66132func (osVar OdbcSink) MarshalJSON() ([]byte, error) {
66133	osVar.Type = TypeOdbcSink
66134	objectMap := make(map[string]interface{})
66135	if osVar.PreCopyScript != nil {
66136		objectMap["preCopyScript"] = osVar.PreCopyScript
66137	}
66138	if osVar.WriteBatchSize != nil {
66139		objectMap["writeBatchSize"] = osVar.WriteBatchSize
66140	}
66141	if osVar.WriteBatchTimeout != nil {
66142		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
66143	}
66144	if osVar.SinkRetryCount != nil {
66145		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
66146	}
66147	if osVar.SinkRetryWait != nil {
66148		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
66149	}
66150	if osVar.Type != "" {
66151		objectMap["type"] = osVar.Type
66152	}
66153	for k, v := range osVar.AdditionalProperties {
66154		objectMap[k] = v
66155	}
66156	return json.Marshal(objectMap)
66157}
66158
66159// AsSalesforceSink is the BasicCopySink implementation for OdbcSink.
66160func (osVar OdbcSink) AsSalesforceSink() (*SalesforceSink, bool) {
66161	return nil, false
66162}
66163
66164// AsDynamicsSink is the BasicCopySink implementation for OdbcSink.
66165func (osVar OdbcSink) AsDynamicsSink() (*DynamicsSink, bool) {
66166	return nil, false
66167}
66168
66169// AsOdbcSink is the BasicCopySink implementation for OdbcSink.
66170func (osVar OdbcSink) AsOdbcSink() (*OdbcSink, bool) {
66171	return &osVar, true
66172}
66173
66174// AsAzureSearchIndexSink is the BasicCopySink implementation for OdbcSink.
66175func (osVar OdbcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
66176	return nil, false
66177}
66178
66179// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OdbcSink.
66180func (osVar OdbcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
66181	return nil, false
66182}
66183
66184// AsOracleSink is the BasicCopySink implementation for OdbcSink.
66185func (osVar OdbcSink) AsOracleSink() (*OracleSink, bool) {
66186	return nil, false
66187}
66188
66189// AsSQLDWSink is the BasicCopySink implementation for OdbcSink.
66190func (osVar OdbcSink) AsSQLDWSink() (*SQLDWSink, bool) {
66191	return nil, false
66192}
66193
66194// AsSQLSink is the BasicCopySink implementation for OdbcSink.
66195func (osVar OdbcSink) AsSQLSink() (*SQLSink, bool) {
66196	return nil, false
66197}
66198
66199// AsDocumentDbCollectionSink is the BasicCopySink implementation for OdbcSink.
66200func (osVar OdbcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
66201	return nil, false
66202}
66203
66204// AsFileSystemSink is the BasicCopySink implementation for OdbcSink.
66205func (osVar OdbcSink) AsFileSystemSink() (*FileSystemSink, bool) {
66206	return nil, false
66207}
66208
66209// AsBlobSink is the BasicCopySink implementation for OdbcSink.
66210func (osVar OdbcSink) AsBlobSink() (*BlobSink, bool) {
66211	return nil, false
66212}
66213
66214// AsAzureTableSink is the BasicCopySink implementation for OdbcSink.
66215func (osVar OdbcSink) AsAzureTableSink() (*AzureTableSink, bool) {
66216	return nil, false
66217}
66218
66219// AsAzureQueueSink is the BasicCopySink implementation for OdbcSink.
66220func (osVar OdbcSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
66221	return nil, false
66222}
66223
66224// AsSapCloudForCustomerSink is the BasicCopySink implementation for OdbcSink.
66225func (osVar OdbcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
66226	return nil, false
66227}
66228
66229// AsCopySink is the BasicCopySink implementation for OdbcSink.
66230func (osVar OdbcSink) AsCopySink() (*CopySink, bool) {
66231	return nil, false
66232}
66233
66234// AsBasicCopySink is the BasicCopySink implementation for OdbcSink.
66235func (osVar OdbcSink) AsBasicCopySink() (BasicCopySink, bool) {
66236	return &osVar, true
66237}
66238
66239// UnmarshalJSON is the custom unmarshaler for OdbcSink struct.
66240func (osVar *OdbcSink) UnmarshalJSON(body []byte) error {
66241	var m map[string]*json.RawMessage
66242	err := json.Unmarshal(body, &m)
66243	if err != nil {
66244		return err
66245	}
66246	for k, v := range m {
66247		switch k {
66248		case "preCopyScript":
66249			if v != nil {
66250				var preCopyScript interface{}
66251				err = json.Unmarshal(*v, &preCopyScript)
66252				if err != nil {
66253					return err
66254				}
66255				osVar.PreCopyScript = preCopyScript
66256			}
66257		default:
66258			if v != nil {
66259				var additionalProperties interface{}
66260				err = json.Unmarshal(*v, &additionalProperties)
66261				if err != nil {
66262					return err
66263				}
66264				if osVar.AdditionalProperties == nil {
66265					osVar.AdditionalProperties = make(map[string]interface{})
66266				}
66267				osVar.AdditionalProperties[k] = additionalProperties
66268			}
66269		case "writeBatchSize":
66270			if v != nil {
66271				var writeBatchSize interface{}
66272				err = json.Unmarshal(*v, &writeBatchSize)
66273				if err != nil {
66274					return err
66275				}
66276				osVar.WriteBatchSize = writeBatchSize
66277			}
66278		case "writeBatchTimeout":
66279			if v != nil {
66280				var writeBatchTimeout interface{}
66281				err = json.Unmarshal(*v, &writeBatchTimeout)
66282				if err != nil {
66283					return err
66284				}
66285				osVar.WriteBatchTimeout = writeBatchTimeout
66286			}
66287		case "sinkRetryCount":
66288			if v != nil {
66289				var sinkRetryCount interface{}
66290				err = json.Unmarshal(*v, &sinkRetryCount)
66291				if err != nil {
66292					return err
66293				}
66294				osVar.SinkRetryCount = sinkRetryCount
66295			}
66296		case "sinkRetryWait":
66297			if v != nil {
66298				var sinkRetryWait interface{}
66299				err = json.Unmarshal(*v, &sinkRetryWait)
66300				if err != nil {
66301					return err
66302				}
66303				osVar.SinkRetryWait = sinkRetryWait
66304			}
66305		case "type":
66306			if v != nil {
66307				var typeVar TypeBasicCopySink
66308				err = json.Unmarshal(*v, &typeVar)
66309				if err != nil {
66310					return err
66311				}
66312				osVar.Type = typeVar
66313			}
66314		}
66315	}
66316
66317	return nil
66318}
66319
66320// Operation azure Data Factory API operation definition.
66321type Operation struct {
66322	// Name - Operation name: {provider}/{resource}/{operation}
66323	Name *string `json:"name,omitempty"`
66324	// Origin - The intended executor of the operation.
66325	Origin *string `json:"origin,omitempty"`
66326	// Display - Metadata associated with the operation.
66327	Display *OperationDisplay `json:"display,omitempty"`
66328	// OperationProperties - Additional details about the operation.
66329	*OperationProperties `json:"properties,omitempty"`
66330}
66331
66332// MarshalJSON is the custom marshaler for Operation.
66333func (o Operation) MarshalJSON() ([]byte, error) {
66334	objectMap := make(map[string]interface{})
66335	if o.Name != nil {
66336		objectMap["name"] = o.Name
66337	}
66338	if o.Origin != nil {
66339		objectMap["origin"] = o.Origin
66340	}
66341	if o.Display != nil {
66342		objectMap["display"] = o.Display
66343	}
66344	if o.OperationProperties != nil {
66345		objectMap["properties"] = o.OperationProperties
66346	}
66347	return json.Marshal(objectMap)
66348}
66349
66350// UnmarshalJSON is the custom unmarshaler for Operation struct.
66351func (o *Operation) UnmarshalJSON(body []byte) error {
66352	var m map[string]*json.RawMessage
66353	err := json.Unmarshal(body, &m)
66354	if err != nil {
66355		return err
66356	}
66357	for k, v := range m {
66358		switch k {
66359		case "name":
66360			if v != nil {
66361				var name string
66362				err = json.Unmarshal(*v, &name)
66363				if err != nil {
66364					return err
66365				}
66366				o.Name = &name
66367			}
66368		case "origin":
66369			if v != nil {
66370				var origin string
66371				err = json.Unmarshal(*v, &origin)
66372				if err != nil {
66373					return err
66374				}
66375				o.Origin = &origin
66376			}
66377		case "display":
66378			if v != nil {
66379				var display OperationDisplay
66380				err = json.Unmarshal(*v, &display)
66381				if err != nil {
66382					return err
66383				}
66384				o.Display = &display
66385			}
66386		case "properties":
66387			if v != nil {
66388				var operationProperties OperationProperties
66389				err = json.Unmarshal(*v, &operationProperties)
66390				if err != nil {
66391					return err
66392				}
66393				o.OperationProperties = &operationProperties
66394			}
66395		}
66396	}
66397
66398	return nil
66399}
66400
66401// OperationDisplay metadata associated with the operation.
66402type OperationDisplay struct {
66403	// Description - The description of the operation.
66404	Description *string `json:"description,omitempty"`
66405	// Provider - The name of the provider.
66406	Provider *string `json:"provider,omitempty"`
66407	// Resource - The name of the resource type on which the operation is performed.
66408	Resource *string `json:"resource,omitempty"`
66409	// Operation - The type of operation: get, read, delete, etc.
66410	Operation *string `json:"operation,omitempty"`
66411}
66412
66413// OperationListResponse a list of operations that can be performed by the Data Factory service.
66414type OperationListResponse struct {
66415	autorest.Response `json:"-"`
66416	// Value - List of Data Factory operations supported by the Data Factory resource provider.
66417	Value *[]Operation `json:"value,omitempty"`
66418	// NextLink - The link to the next page of results, if any remaining results exist.
66419	NextLink *string `json:"nextLink,omitempty"`
66420}
66421
66422// OperationLogSpecification details about an operation related to logs.
66423type OperationLogSpecification struct {
66424	// Name - The name of the log category.
66425	Name *string `json:"name,omitempty"`
66426	// DisplayName - Localized display name.
66427	DisplayName *string `json:"displayName,omitempty"`
66428	// BlobDuration - Blobs created in the customer storage account, per hour.
66429	BlobDuration *string `json:"blobDuration,omitempty"`
66430}
66431
66432// OperationMetricAvailability defines how often data for a metric becomes available.
66433type OperationMetricAvailability struct {
66434	// TimeGrain - The granularity for the metric.
66435	TimeGrain *string `json:"timeGrain,omitempty"`
66436	// BlobDuration - Blob created in the customer storage account, per hour.
66437	BlobDuration *string `json:"blobDuration,omitempty"`
66438}
66439
66440// OperationMetricSpecification details about an operation related to metrics.
66441type OperationMetricSpecification struct {
66442	// Name - The name of the metric.
66443	Name *string `json:"name,omitempty"`
66444	// DisplayName - Localized display name of the metric.
66445	DisplayName *string `json:"displayName,omitempty"`
66446	// DisplayDescription - The description of the metric.
66447	DisplayDescription *string `json:"displayDescription,omitempty"`
66448	// Unit - The unit that the metric is measured in.
66449	Unit *string `json:"unit,omitempty"`
66450	// AggregationType - The type of metric aggregation.
66451	AggregationType *string `json:"aggregationType,omitempty"`
66452	// EnableRegionalMdmAccount - Whether or not the service is using regional MDM accounts.
66453	EnableRegionalMdmAccount *string `json:"enableRegionalMdmAccount,omitempty"`
66454	// SourceMdmAccount - The name of the MDM account.
66455	SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"`
66456	// SourceMdmNamespace - The name of the MDM namespace.
66457	SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"`
66458	// Availabilities - Defines how often data for metrics becomes available.
66459	Availabilities *[]OperationMetricAvailability `json:"availabilities,omitempty"`
66460}
66461
66462// OperationProperties additional details about an operation.
66463type OperationProperties struct {
66464	// ServiceSpecification - Details about a service operation.
66465	ServiceSpecification *OperationServiceSpecification `json:"serviceSpecification,omitempty"`
66466}
66467
66468// OperationServiceSpecification details about a service operation.
66469type OperationServiceSpecification struct {
66470	// LogSpecifications - Details about operations related to logs.
66471	LogSpecifications *[]OperationLogSpecification `json:"logSpecifications,omitempty"`
66472	// MetricSpecifications - Details about operations related to metrics.
66473	MetricSpecifications *[]OperationMetricSpecification `json:"metricSpecifications,omitempty"`
66474}
66475
66476// OracleLinkedService oracle database.
66477type OracleLinkedService struct {
66478	// OracleLinkedServiceTypeProperties - Oracle database linked service properties.
66479	*OracleLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
66480	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
66481	AdditionalProperties map[string]interface{} `json:""`
66482	// ConnectVia - The integration runtime reference.
66483	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
66484	// Description - Linked service description.
66485	Description *string `json:"description,omitempty"`
66486	// Parameters - Parameters for linked service.
66487	Parameters map[string]*ParameterSpecification `json:"parameters"`
66488	// Annotations - List of tags that can be used for describing the Dataset.
66489	Annotations *[]interface{} `json:"annotations,omitempty"`
66490	// 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'
66491	Type TypeBasicLinkedService `json:"type,omitempty"`
66492}
66493
66494// MarshalJSON is the custom marshaler for OracleLinkedService.
66495func (ols OracleLinkedService) MarshalJSON() ([]byte, error) {
66496	ols.Type = TypeOracle
66497	objectMap := make(map[string]interface{})
66498	if ols.OracleLinkedServiceTypeProperties != nil {
66499		objectMap["typeProperties"] = ols.OracleLinkedServiceTypeProperties
66500	}
66501	if ols.ConnectVia != nil {
66502		objectMap["connectVia"] = ols.ConnectVia
66503	}
66504	if ols.Description != nil {
66505		objectMap["description"] = ols.Description
66506	}
66507	if ols.Parameters != nil {
66508		objectMap["parameters"] = ols.Parameters
66509	}
66510	if ols.Annotations != nil {
66511		objectMap["annotations"] = ols.Annotations
66512	}
66513	if ols.Type != "" {
66514		objectMap["type"] = ols.Type
66515	}
66516	for k, v := range ols.AdditionalProperties {
66517		objectMap[k] = v
66518	}
66519	return json.Marshal(objectMap)
66520}
66521
66522// AsResponsysLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66523func (ols OracleLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
66524	return nil, false
66525}
66526
66527// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66528func (ols OracleLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
66529	return nil, false
66530}
66531
66532// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66533func (ols OracleLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
66534	return nil, false
66535}
66536
66537// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66538func (ols OracleLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
66539	return nil, false
66540}
66541
66542// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66543func (ols OracleLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
66544	return nil, false
66545}
66546
66547// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66548func (ols OracleLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
66549	return nil, false
66550}
66551
66552// AsVerticaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66553func (ols OracleLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
66554	return nil, false
66555}
66556
66557// AsZohoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66558func (ols OracleLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
66559	return nil, false
66560}
66561
66562// AsXeroLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66563func (ols OracleLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
66564	return nil, false
66565}
66566
66567// AsSquareLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66568func (ols OracleLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
66569	return nil, false
66570}
66571
66572// AsSparkLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66573func (ols OracleLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
66574	return nil, false
66575}
66576
66577// AsShopifyLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66578func (ols OracleLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
66579	return nil, false
66580}
66581
66582// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66583func (ols OracleLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
66584	return nil, false
66585}
66586
66587// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66588func (ols OracleLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
66589	return nil, false
66590}
66591
66592// AsPrestoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66593func (ols OracleLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
66594	return nil, false
66595}
66596
66597// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66598func (ols OracleLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
66599	return nil, false
66600}
66601
66602// AsPaypalLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66603func (ols OracleLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
66604	return nil, false
66605}
66606
66607// AsMarketoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66608func (ols OracleLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
66609	return nil, false
66610}
66611
66612// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66613func (ols OracleLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
66614	return nil, false
66615}
66616
66617// AsMagentoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66618func (ols OracleLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
66619	return nil, false
66620}
66621
66622// AsJiraLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66623func (ols OracleLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
66624	return nil, false
66625}
66626
66627// AsImpalaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66628func (ols OracleLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
66629	return nil, false
66630}
66631
66632// AsHubspotLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66633func (ols OracleLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
66634	return nil, false
66635}
66636
66637// AsHiveLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66638func (ols OracleLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
66639	return nil, false
66640}
66641
66642// AsHBaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66643func (ols OracleLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
66644	return nil, false
66645}
66646
66647// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66648func (ols OracleLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
66649	return nil, false
66650}
66651
66652// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66653func (ols OracleLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
66654	return nil, false
66655}
66656
66657// AsEloquaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66658func (ols OracleLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
66659	return nil, false
66660}
66661
66662// AsDrillLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66663func (ols OracleLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
66664	return nil, false
66665}
66666
66667// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66668func (ols OracleLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
66669	return nil, false
66670}
66671
66672// AsConcurLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66673func (ols OracleLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
66674	return nil, false
66675}
66676
66677// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66678func (ols OracleLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
66679	return nil, false
66680}
66681
66682// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66683func (ols OracleLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
66684	return nil, false
66685}
66686
66687// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66688func (ols OracleLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
66689	return nil, false
66690}
66691
66692// AsSapBWLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66693func (ols OracleLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
66694	return nil, false
66695}
66696
66697// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66698func (ols OracleLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
66699	return nil, false
66700}
66701
66702// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66703func (ols OracleLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
66704	return nil, false
66705}
66706
66707// AsHTTPLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66708func (ols OracleLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
66709	return nil, false
66710}
66711
66712// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66713func (ols OracleLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
66714	return nil, false
66715}
66716
66717// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66718func (ols OracleLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
66719	return nil, false
66720}
66721
66722// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66723func (ols OracleLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
66724	return nil, false
66725}
66726
66727// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleLinkedService.
66728func (ols OracleLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
66729	return nil, false
66730}
66731
66732// AsSapEccLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66733func (ols OracleLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
66734	return nil, false
66735}
66736
66737// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66738func (ols OracleLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
66739	return nil, false
66740}
66741
66742// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66743func (ols OracleLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
66744	return nil, false
66745}
66746
66747// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66748func (ols OracleLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
66749	return nil, false
66750}
66751
66752// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66753func (ols OracleLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
66754	return nil, false
66755}
66756
66757// AsCassandraLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66758func (ols OracleLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
66759	return nil, false
66760}
66761
66762// AsWebLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66763func (ols OracleLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
66764	return nil, false
66765}
66766
66767// AsODataLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66768func (ols OracleLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
66769	return nil, false
66770}
66771
66772// AsHdfsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66773func (ols OracleLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
66774	return nil, false
66775}
66776
66777// AsOdbcLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66778func (ols OracleLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
66779	return nil, false
66780}
66781
66782// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66783func (ols OracleLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
66784	return nil, false
66785}
66786
66787// AsTeradataLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66788func (ols OracleLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
66789	return nil, false
66790}
66791
66792// AsDb2LinkedService is the BasicLinkedService implementation for OracleLinkedService.
66793func (ols OracleLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
66794	return nil, false
66795}
66796
66797// AsSybaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66798func (ols OracleLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
66799	return nil, false
66800}
66801
66802// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66803func (ols OracleLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
66804	return nil, false
66805}
66806
66807// AsMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66808func (ols OracleLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
66809	return nil, false
66810}
66811
66812// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66813func (ols OracleLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
66814	return nil, false
66815}
66816
66817// AsOracleLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66818func (ols OracleLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
66819	return &ols, true
66820}
66821
66822// AsFileServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66823func (ols OracleLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
66824	return nil, false
66825}
66826
66827// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66828func (ols OracleLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
66829	return nil, false
66830}
66831
66832// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66833func (ols OracleLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
66834	return nil, false
66835}
66836
66837// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66838func (ols OracleLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
66839	return nil, false
66840}
66841
66842// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66843func (ols OracleLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
66844	return nil, false
66845}
66846
66847// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66848func (ols OracleLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
66849	return nil, false
66850}
66851
66852// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66853func (ols OracleLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
66854	return nil, false
66855}
66856
66857// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66858func (ols OracleLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
66859	return nil, false
66860}
66861
66862// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66863func (ols OracleLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
66864	return nil, false
66865}
66866
66867// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66868func (ols OracleLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
66869	return nil, false
66870}
66871
66872// AsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66873func (ols OracleLinkedService) AsLinkedService() (*LinkedService, bool) {
66874	return nil, false
66875}
66876
66877// AsBasicLinkedService is the BasicLinkedService implementation for OracleLinkedService.
66878func (ols OracleLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
66879	return &ols, true
66880}
66881
66882// UnmarshalJSON is the custom unmarshaler for OracleLinkedService struct.
66883func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error {
66884	var m map[string]*json.RawMessage
66885	err := json.Unmarshal(body, &m)
66886	if err != nil {
66887		return err
66888	}
66889	for k, v := range m {
66890		switch k {
66891		case "typeProperties":
66892			if v != nil {
66893				var oracleLinkedServiceTypeProperties OracleLinkedServiceTypeProperties
66894				err = json.Unmarshal(*v, &oracleLinkedServiceTypeProperties)
66895				if err != nil {
66896					return err
66897				}
66898				ols.OracleLinkedServiceTypeProperties = &oracleLinkedServiceTypeProperties
66899			}
66900		default:
66901			if v != nil {
66902				var additionalProperties interface{}
66903				err = json.Unmarshal(*v, &additionalProperties)
66904				if err != nil {
66905					return err
66906				}
66907				if ols.AdditionalProperties == nil {
66908					ols.AdditionalProperties = make(map[string]interface{})
66909				}
66910				ols.AdditionalProperties[k] = additionalProperties
66911			}
66912		case "connectVia":
66913			if v != nil {
66914				var connectVia IntegrationRuntimeReference
66915				err = json.Unmarshal(*v, &connectVia)
66916				if err != nil {
66917					return err
66918				}
66919				ols.ConnectVia = &connectVia
66920			}
66921		case "description":
66922			if v != nil {
66923				var description string
66924				err = json.Unmarshal(*v, &description)
66925				if err != nil {
66926					return err
66927				}
66928				ols.Description = &description
66929			}
66930		case "parameters":
66931			if v != nil {
66932				var parameters map[string]*ParameterSpecification
66933				err = json.Unmarshal(*v, &parameters)
66934				if err != nil {
66935					return err
66936				}
66937				ols.Parameters = parameters
66938			}
66939		case "annotations":
66940			if v != nil {
66941				var annotations []interface{}
66942				err = json.Unmarshal(*v, &annotations)
66943				if err != nil {
66944					return err
66945				}
66946				ols.Annotations = &annotations
66947			}
66948		case "type":
66949			if v != nil {
66950				var typeVar TypeBasicLinkedService
66951				err = json.Unmarshal(*v, &typeVar)
66952				if err != nil {
66953					return err
66954				}
66955				ols.Type = typeVar
66956			}
66957		}
66958	}
66959
66960	return nil
66961}
66962
66963// OracleLinkedServiceTypeProperties oracle database linked service properties.
66964type OracleLinkedServiceTypeProperties struct {
66965	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
66966	ConnectionString interface{} `json:"connectionString,omitempty"`
66967	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
66968	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
66969}
66970
66971// OracleSink a copy activity Oracle sink.
66972type OracleSink struct {
66973	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
66974	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
66975	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
66976	AdditionalProperties map[string]interface{} `json:""`
66977	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
66978	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
66979	// 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])).
66980	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
66981	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
66982	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
66983	// 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])).
66984	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
66985	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
66986	Type TypeBasicCopySink `json:"type,omitempty"`
66987}
66988
66989// MarshalJSON is the custom marshaler for OracleSink.
66990func (osVar OracleSink) MarshalJSON() ([]byte, error) {
66991	osVar.Type = TypeOracleSink
66992	objectMap := make(map[string]interface{})
66993	if osVar.PreCopyScript != nil {
66994		objectMap["preCopyScript"] = osVar.PreCopyScript
66995	}
66996	if osVar.WriteBatchSize != nil {
66997		objectMap["writeBatchSize"] = osVar.WriteBatchSize
66998	}
66999	if osVar.WriteBatchTimeout != nil {
67000		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
67001	}
67002	if osVar.SinkRetryCount != nil {
67003		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
67004	}
67005	if osVar.SinkRetryWait != nil {
67006		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
67007	}
67008	if osVar.Type != "" {
67009		objectMap["type"] = osVar.Type
67010	}
67011	for k, v := range osVar.AdditionalProperties {
67012		objectMap[k] = v
67013	}
67014	return json.Marshal(objectMap)
67015}
67016
67017// AsSalesforceSink is the BasicCopySink implementation for OracleSink.
67018func (osVar OracleSink) AsSalesforceSink() (*SalesforceSink, bool) {
67019	return nil, false
67020}
67021
67022// AsDynamicsSink is the BasicCopySink implementation for OracleSink.
67023func (osVar OracleSink) AsDynamicsSink() (*DynamicsSink, bool) {
67024	return nil, false
67025}
67026
67027// AsOdbcSink is the BasicCopySink implementation for OracleSink.
67028func (osVar OracleSink) AsOdbcSink() (*OdbcSink, bool) {
67029	return nil, false
67030}
67031
67032// AsAzureSearchIndexSink is the BasicCopySink implementation for OracleSink.
67033func (osVar OracleSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
67034	return nil, false
67035}
67036
67037// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OracleSink.
67038func (osVar OracleSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
67039	return nil, false
67040}
67041
67042// AsOracleSink is the BasicCopySink implementation for OracleSink.
67043func (osVar OracleSink) AsOracleSink() (*OracleSink, bool) {
67044	return &osVar, true
67045}
67046
67047// AsSQLDWSink is the BasicCopySink implementation for OracleSink.
67048func (osVar OracleSink) AsSQLDWSink() (*SQLDWSink, bool) {
67049	return nil, false
67050}
67051
67052// AsSQLSink is the BasicCopySink implementation for OracleSink.
67053func (osVar OracleSink) AsSQLSink() (*SQLSink, bool) {
67054	return nil, false
67055}
67056
67057// AsDocumentDbCollectionSink is the BasicCopySink implementation for OracleSink.
67058func (osVar OracleSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
67059	return nil, false
67060}
67061
67062// AsFileSystemSink is the BasicCopySink implementation for OracleSink.
67063func (osVar OracleSink) AsFileSystemSink() (*FileSystemSink, bool) {
67064	return nil, false
67065}
67066
67067// AsBlobSink is the BasicCopySink implementation for OracleSink.
67068func (osVar OracleSink) AsBlobSink() (*BlobSink, bool) {
67069	return nil, false
67070}
67071
67072// AsAzureTableSink is the BasicCopySink implementation for OracleSink.
67073func (osVar OracleSink) AsAzureTableSink() (*AzureTableSink, bool) {
67074	return nil, false
67075}
67076
67077// AsAzureQueueSink is the BasicCopySink implementation for OracleSink.
67078func (osVar OracleSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
67079	return nil, false
67080}
67081
67082// AsSapCloudForCustomerSink is the BasicCopySink implementation for OracleSink.
67083func (osVar OracleSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
67084	return nil, false
67085}
67086
67087// AsCopySink is the BasicCopySink implementation for OracleSink.
67088func (osVar OracleSink) AsCopySink() (*CopySink, bool) {
67089	return nil, false
67090}
67091
67092// AsBasicCopySink is the BasicCopySink implementation for OracleSink.
67093func (osVar OracleSink) AsBasicCopySink() (BasicCopySink, bool) {
67094	return &osVar, true
67095}
67096
67097// UnmarshalJSON is the custom unmarshaler for OracleSink struct.
67098func (osVar *OracleSink) UnmarshalJSON(body []byte) error {
67099	var m map[string]*json.RawMessage
67100	err := json.Unmarshal(body, &m)
67101	if err != nil {
67102		return err
67103	}
67104	for k, v := range m {
67105		switch k {
67106		case "preCopyScript":
67107			if v != nil {
67108				var preCopyScript interface{}
67109				err = json.Unmarshal(*v, &preCopyScript)
67110				if err != nil {
67111					return err
67112				}
67113				osVar.PreCopyScript = preCopyScript
67114			}
67115		default:
67116			if v != nil {
67117				var additionalProperties interface{}
67118				err = json.Unmarshal(*v, &additionalProperties)
67119				if err != nil {
67120					return err
67121				}
67122				if osVar.AdditionalProperties == nil {
67123					osVar.AdditionalProperties = make(map[string]interface{})
67124				}
67125				osVar.AdditionalProperties[k] = additionalProperties
67126			}
67127		case "writeBatchSize":
67128			if v != nil {
67129				var writeBatchSize interface{}
67130				err = json.Unmarshal(*v, &writeBatchSize)
67131				if err != nil {
67132					return err
67133				}
67134				osVar.WriteBatchSize = writeBatchSize
67135			}
67136		case "writeBatchTimeout":
67137			if v != nil {
67138				var writeBatchTimeout interface{}
67139				err = json.Unmarshal(*v, &writeBatchTimeout)
67140				if err != nil {
67141					return err
67142				}
67143				osVar.WriteBatchTimeout = writeBatchTimeout
67144			}
67145		case "sinkRetryCount":
67146			if v != nil {
67147				var sinkRetryCount interface{}
67148				err = json.Unmarshal(*v, &sinkRetryCount)
67149				if err != nil {
67150					return err
67151				}
67152				osVar.SinkRetryCount = sinkRetryCount
67153			}
67154		case "sinkRetryWait":
67155			if v != nil {
67156				var sinkRetryWait interface{}
67157				err = json.Unmarshal(*v, &sinkRetryWait)
67158				if err != nil {
67159					return err
67160				}
67161				osVar.SinkRetryWait = sinkRetryWait
67162			}
67163		case "type":
67164			if v != nil {
67165				var typeVar TypeBasicCopySink
67166				err = json.Unmarshal(*v, &typeVar)
67167				if err != nil {
67168					return err
67169				}
67170				osVar.Type = typeVar
67171			}
67172		}
67173	}
67174
67175	return nil
67176}
67177
67178// OracleSource a copy activity Oracle source.
67179type OracleSource struct {
67180	// OracleReaderQuery - Oracle reader query. Type: string (or Expression with resultType string).
67181	OracleReaderQuery interface{} `json:"oracleReaderQuery,omitempty"`
67182	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
67183	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
67184	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
67185	AdditionalProperties map[string]interface{} `json:""`
67186	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
67187	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
67188	// 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])).
67189	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
67190	// 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'
67191	Type TypeBasicCopySource `json:"type,omitempty"`
67192}
67193
67194// MarshalJSON is the custom marshaler for OracleSource.
67195func (osVar OracleSource) MarshalJSON() ([]byte, error) {
67196	osVar.Type = TypeOracleSource
67197	objectMap := make(map[string]interface{})
67198	if osVar.OracleReaderQuery != nil {
67199		objectMap["oracleReaderQuery"] = osVar.OracleReaderQuery
67200	}
67201	if osVar.QueryTimeout != nil {
67202		objectMap["queryTimeout"] = osVar.QueryTimeout
67203	}
67204	if osVar.SourceRetryCount != nil {
67205		objectMap["sourceRetryCount"] = osVar.SourceRetryCount
67206	}
67207	if osVar.SourceRetryWait != nil {
67208		objectMap["sourceRetryWait"] = osVar.SourceRetryWait
67209	}
67210	if osVar.Type != "" {
67211		objectMap["type"] = osVar.Type
67212	}
67213	for k, v := range osVar.AdditionalProperties {
67214		objectMap[k] = v
67215	}
67216	return json.Marshal(objectMap)
67217}
67218
67219// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleSource.
67220func (osVar OracleSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
67221	return nil, false
67222}
67223
67224// AsResponsysSource is the BasicCopySource implementation for OracleSource.
67225func (osVar OracleSource) AsResponsysSource() (*ResponsysSource, bool) {
67226	return nil, false
67227}
67228
67229// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleSource.
67230func (osVar OracleSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
67231	return nil, false
67232}
67233
67234// AsVerticaSource is the BasicCopySource implementation for OracleSource.
67235func (osVar OracleSource) AsVerticaSource() (*VerticaSource, bool) {
67236	return nil, false
67237}
67238
67239// AsNetezzaSource is the BasicCopySource implementation for OracleSource.
67240func (osVar OracleSource) AsNetezzaSource() (*NetezzaSource, bool) {
67241	return nil, false
67242}
67243
67244// AsZohoSource is the BasicCopySource implementation for OracleSource.
67245func (osVar OracleSource) AsZohoSource() (*ZohoSource, bool) {
67246	return nil, false
67247}
67248
67249// AsXeroSource is the BasicCopySource implementation for OracleSource.
67250func (osVar OracleSource) AsXeroSource() (*XeroSource, bool) {
67251	return nil, false
67252}
67253
67254// AsSquareSource is the BasicCopySource implementation for OracleSource.
67255func (osVar OracleSource) AsSquareSource() (*SquareSource, bool) {
67256	return nil, false
67257}
67258
67259// AsSparkSource is the BasicCopySource implementation for OracleSource.
67260func (osVar OracleSource) AsSparkSource() (*SparkSource, bool) {
67261	return nil, false
67262}
67263
67264// AsShopifySource is the BasicCopySource implementation for OracleSource.
67265func (osVar OracleSource) AsShopifySource() (*ShopifySource, bool) {
67266	return nil, false
67267}
67268
67269// AsServiceNowSource is the BasicCopySource implementation for OracleSource.
67270func (osVar OracleSource) AsServiceNowSource() (*ServiceNowSource, bool) {
67271	return nil, false
67272}
67273
67274// AsQuickBooksSource is the BasicCopySource implementation for OracleSource.
67275func (osVar OracleSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
67276	return nil, false
67277}
67278
67279// AsPrestoSource is the BasicCopySource implementation for OracleSource.
67280func (osVar OracleSource) AsPrestoSource() (*PrestoSource, bool) {
67281	return nil, false
67282}
67283
67284// AsPhoenixSource is the BasicCopySource implementation for OracleSource.
67285func (osVar OracleSource) AsPhoenixSource() (*PhoenixSource, bool) {
67286	return nil, false
67287}
67288
67289// AsPaypalSource is the BasicCopySource implementation for OracleSource.
67290func (osVar OracleSource) AsPaypalSource() (*PaypalSource, bool) {
67291	return nil, false
67292}
67293
67294// AsMarketoSource is the BasicCopySource implementation for OracleSource.
67295func (osVar OracleSource) AsMarketoSource() (*MarketoSource, bool) {
67296	return nil, false
67297}
67298
67299// AsMariaDBSource is the BasicCopySource implementation for OracleSource.
67300func (osVar OracleSource) AsMariaDBSource() (*MariaDBSource, bool) {
67301	return nil, false
67302}
67303
67304// AsMagentoSource is the BasicCopySource implementation for OracleSource.
67305func (osVar OracleSource) AsMagentoSource() (*MagentoSource, bool) {
67306	return nil, false
67307}
67308
67309// AsJiraSource is the BasicCopySource implementation for OracleSource.
67310func (osVar OracleSource) AsJiraSource() (*JiraSource, bool) {
67311	return nil, false
67312}
67313
67314// AsImpalaSource is the BasicCopySource implementation for OracleSource.
67315func (osVar OracleSource) AsImpalaSource() (*ImpalaSource, bool) {
67316	return nil, false
67317}
67318
67319// AsHubspotSource is the BasicCopySource implementation for OracleSource.
67320func (osVar OracleSource) AsHubspotSource() (*HubspotSource, bool) {
67321	return nil, false
67322}
67323
67324// AsHiveSource is the BasicCopySource implementation for OracleSource.
67325func (osVar OracleSource) AsHiveSource() (*HiveSource, bool) {
67326	return nil, false
67327}
67328
67329// AsHBaseSource is the BasicCopySource implementation for OracleSource.
67330func (osVar OracleSource) AsHBaseSource() (*HBaseSource, bool) {
67331	return nil, false
67332}
67333
67334// AsGreenplumSource is the BasicCopySource implementation for OracleSource.
67335func (osVar OracleSource) AsGreenplumSource() (*GreenplumSource, bool) {
67336	return nil, false
67337}
67338
67339// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleSource.
67340func (osVar OracleSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
67341	return nil, false
67342}
67343
67344// AsEloquaSource is the BasicCopySource implementation for OracleSource.
67345func (osVar OracleSource) AsEloquaSource() (*EloquaSource, bool) {
67346	return nil, false
67347}
67348
67349// AsDrillSource is the BasicCopySource implementation for OracleSource.
67350func (osVar OracleSource) AsDrillSource() (*DrillSource, bool) {
67351	return nil, false
67352}
67353
67354// AsCouchbaseSource is the BasicCopySource implementation for OracleSource.
67355func (osVar OracleSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
67356	return nil, false
67357}
67358
67359// AsConcurSource is the BasicCopySource implementation for OracleSource.
67360func (osVar OracleSource) AsConcurSource() (*ConcurSource, bool) {
67361	return nil, false
67362}
67363
67364// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleSource.
67365func (osVar OracleSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
67366	return nil, false
67367}
67368
67369// AsAmazonMWSSource is the BasicCopySource implementation for OracleSource.
67370func (osVar OracleSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
67371	return nil, false
67372}
67373
67374// AsHTTPSource is the BasicCopySource implementation for OracleSource.
67375func (osVar OracleSource) AsHTTPSource() (*HTTPSource, bool) {
67376	return nil, false
67377}
67378
67379// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleSource.
67380func (osVar OracleSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
67381	return nil, false
67382}
67383
67384// AsMongoDbSource is the BasicCopySource implementation for OracleSource.
67385func (osVar OracleSource) AsMongoDbSource() (*MongoDbSource, bool) {
67386	return nil, false
67387}
67388
67389// AsCassandraSource is the BasicCopySource implementation for OracleSource.
67390func (osVar OracleSource) AsCassandraSource() (*CassandraSource, bool) {
67391	return nil, false
67392}
67393
67394// AsWebSource is the BasicCopySource implementation for OracleSource.
67395func (osVar OracleSource) AsWebSource() (*WebSource, bool) {
67396	return nil, false
67397}
67398
67399// AsOracleSource is the BasicCopySource implementation for OracleSource.
67400func (osVar OracleSource) AsOracleSource() (*OracleSource, bool) {
67401	return &osVar, true
67402}
67403
67404// AsAzureMySQLSource is the BasicCopySource implementation for OracleSource.
67405func (osVar OracleSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
67406	return nil, false
67407}
67408
67409// AsHdfsSource is the BasicCopySource implementation for OracleSource.
67410func (osVar OracleSource) AsHdfsSource() (*HdfsSource, bool) {
67411	return nil, false
67412}
67413
67414// AsFileSystemSource is the BasicCopySource implementation for OracleSource.
67415func (osVar OracleSource) AsFileSystemSource() (*FileSystemSource, bool) {
67416	return nil, false
67417}
67418
67419// AsSQLDWSource is the BasicCopySource implementation for OracleSource.
67420func (osVar OracleSource) AsSQLDWSource() (*SQLDWSource, bool) {
67421	return nil, false
67422}
67423
67424// AsSQLSource is the BasicCopySource implementation for OracleSource.
67425func (osVar OracleSource) AsSQLSource() (*SQLSource, bool) {
67426	return nil, false
67427}
67428
67429// AsSapEccSource is the BasicCopySource implementation for OracleSource.
67430func (osVar OracleSource) AsSapEccSource() (*SapEccSource, bool) {
67431	return nil, false
67432}
67433
67434// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleSource.
67435func (osVar OracleSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
67436	return nil, false
67437}
67438
67439// AsSalesforceSource is the BasicCopySource implementation for OracleSource.
67440func (osVar OracleSource) AsSalesforceSource() (*SalesforceSource, bool) {
67441	return nil, false
67442}
67443
67444// AsRelationalSource is the BasicCopySource implementation for OracleSource.
67445func (osVar OracleSource) AsRelationalSource() (*RelationalSource, bool) {
67446	return nil, false
67447}
67448
67449// AsDynamicsSource is the BasicCopySource implementation for OracleSource.
67450func (osVar OracleSource) AsDynamicsSource() (*DynamicsSource, bool) {
67451	return nil, false
67452}
67453
67454// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleSource.
67455func (osVar OracleSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
67456	return nil, false
67457}
67458
67459// AsBlobSource is the BasicCopySource implementation for OracleSource.
67460func (osVar OracleSource) AsBlobSource() (*BlobSource, bool) {
67461	return nil, false
67462}
67463
67464// AsAzureTableSource is the BasicCopySource implementation for OracleSource.
67465func (osVar OracleSource) AsAzureTableSource() (*AzureTableSource, bool) {
67466	return nil, false
67467}
67468
67469// AsCopySource is the BasicCopySource implementation for OracleSource.
67470func (osVar OracleSource) AsCopySource() (*CopySource, bool) {
67471	return nil, false
67472}
67473
67474// AsBasicCopySource is the BasicCopySource implementation for OracleSource.
67475func (osVar OracleSource) AsBasicCopySource() (BasicCopySource, bool) {
67476	return &osVar, true
67477}
67478
67479// UnmarshalJSON is the custom unmarshaler for OracleSource struct.
67480func (osVar *OracleSource) UnmarshalJSON(body []byte) error {
67481	var m map[string]*json.RawMessage
67482	err := json.Unmarshal(body, &m)
67483	if err != nil {
67484		return err
67485	}
67486	for k, v := range m {
67487		switch k {
67488		case "oracleReaderQuery":
67489			if v != nil {
67490				var oracleReaderQuery interface{}
67491				err = json.Unmarshal(*v, &oracleReaderQuery)
67492				if err != nil {
67493					return err
67494				}
67495				osVar.OracleReaderQuery = oracleReaderQuery
67496			}
67497		case "queryTimeout":
67498			if v != nil {
67499				var queryTimeout interface{}
67500				err = json.Unmarshal(*v, &queryTimeout)
67501				if err != nil {
67502					return err
67503				}
67504				osVar.QueryTimeout = queryTimeout
67505			}
67506		default:
67507			if v != nil {
67508				var additionalProperties interface{}
67509				err = json.Unmarshal(*v, &additionalProperties)
67510				if err != nil {
67511					return err
67512				}
67513				if osVar.AdditionalProperties == nil {
67514					osVar.AdditionalProperties = make(map[string]interface{})
67515				}
67516				osVar.AdditionalProperties[k] = additionalProperties
67517			}
67518		case "sourceRetryCount":
67519			if v != nil {
67520				var sourceRetryCount interface{}
67521				err = json.Unmarshal(*v, &sourceRetryCount)
67522				if err != nil {
67523					return err
67524				}
67525				osVar.SourceRetryCount = sourceRetryCount
67526			}
67527		case "sourceRetryWait":
67528			if v != nil {
67529				var sourceRetryWait interface{}
67530				err = json.Unmarshal(*v, &sourceRetryWait)
67531				if err != nil {
67532					return err
67533				}
67534				osVar.SourceRetryWait = sourceRetryWait
67535			}
67536		case "type":
67537			if v != nil {
67538				var typeVar TypeBasicCopySource
67539				err = json.Unmarshal(*v, &typeVar)
67540				if err != nil {
67541					return err
67542				}
67543				osVar.Type = typeVar
67544			}
67545		}
67546	}
67547
67548	return nil
67549}
67550
67551// OracleTableDataset the on-premises Oracle database dataset.
67552type OracleTableDataset struct {
67553	// OracleTableDatasetTypeProperties - On-premises Oracle dataset properties.
67554	*OracleTableDatasetTypeProperties `json:"typeProperties,omitempty"`
67555	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
67556	AdditionalProperties map[string]interface{} `json:""`
67557	// Description - Dataset description.
67558	Description *string `json:"description,omitempty"`
67559	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
67560	Structure interface{} `json:"structure,omitempty"`
67561	// LinkedServiceName - Linked service reference.
67562	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
67563	// Parameters - Parameters for dataset.
67564	Parameters map[string]*ParameterSpecification `json:"parameters"`
67565	// Annotations - List of tags that can be used for describing the Dataset.
67566	Annotations *[]interface{} `json:"annotations,omitempty"`
67567	// 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'
67568	Type TypeBasicDataset `json:"type,omitempty"`
67569}
67570
67571// MarshalJSON is the custom marshaler for OracleTableDataset.
67572func (otd OracleTableDataset) MarshalJSON() ([]byte, error) {
67573	otd.Type = TypeOracleTable
67574	objectMap := make(map[string]interface{})
67575	if otd.OracleTableDatasetTypeProperties != nil {
67576		objectMap["typeProperties"] = otd.OracleTableDatasetTypeProperties
67577	}
67578	if otd.Description != nil {
67579		objectMap["description"] = otd.Description
67580	}
67581	if otd.Structure != nil {
67582		objectMap["structure"] = otd.Structure
67583	}
67584	if otd.LinkedServiceName != nil {
67585		objectMap["linkedServiceName"] = otd.LinkedServiceName
67586	}
67587	if otd.Parameters != nil {
67588		objectMap["parameters"] = otd.Parameters
67589	}
67590	if otd.Annotations != nil {
67591		objectMap["annotations"] = otd.Annotations
67592	}
67593	if otd.Type != "" {
67594		objectMap["type"] = otd.Type
67595	}
67596	for k, v := range otd.AdditionalProperties {
67597		objectMap[k] = v
67598	}
67599	return json.Marshal(objectMap)
67600}
67601
67602// AsResponsysObjectDataset is the BasicDataset implementation for OracleTableDataset.
67603func (otd OracleTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
67604	return nil, false
67605}
67606
67607// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleTableDataset.
67608func (otd OracleTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
67609	return nil, false
67610}
67611
67612// AsVerticaTableDataset is the BasicDataset implementation for OracleTableDataset.
67613func (otd OracleTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
67614	return nil, false
67615}
67616
67617// AsNetezzaTableDataset is the BasicDataset implementation for OracleTableDataset.
67618func (otd OracleTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
67619	return nil, false
67620}
67621
67622// AsZohoObjectDataset is the BasicDataset implementation for OracleTableDataset.
67623func (otd OracleTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
67624	return nil, false
67625}
67626
67627// AsXeroObjectDataset is the BasicDataset implementation for OracleTableDataset.
67628func (otd OracleTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
67629	return nil, false
67630}
67631
67632// AsSquareObjectDataset is the BasicDataset implementation for OracleTableDataset.
67633func (otd OracleTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
67634	return nil, false
67635}
67636
67637// AsSparkObjectDataset is the BasicDataset implementation for OracleTableDataset.
67638func (otd OracleTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
67639	return nil, false
67640}
67641
67642// AsShopifyObjectDataset is the BasicDataset implementation for OracleTableDataset.
67643func (otd OracleTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
67644	return nil, false
67645}
67646
67647// AsServiceNowObjectDataset is the BasicDataset implementation for OracleTableDataset.
67648func (otd OracleTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
67649	return nil, false
67650}
67651
67652// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleTableDataset.
67653func (otd OracleTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
67654	return nil, false
67655}
67656
67657// AsPrestoObjectDataset is the BasicDataset implementation for OracleTableDataset.
67658func (otd OracleTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
67659	return nil, false
67660}
67661
67662// AsPhoenixObjectDataset is the BasicDataset implementation for OracleTableDataset.
67663func (otd OracleTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
67664	return nil, false
67665}
67666
67667// AsPaypalObjectDataset is the BasicDataset implementation for OracleTableDataset.
67668func (otd OracleTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
67669	return nil, false
67670}
67671
67672// AsMarketoObjectDataset is the BasicDataset implementation for OracleTableDataset.
67673func (otd OracleTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
67674	return nil, false
67675}
67676
67677// AsMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset.
67678func (otd OracleTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
67679	return nil, false
67680}
67681
67682// AsMagentoObjectDataset is the BasicDataset implementation for OracleTableDataset.
67683func (otd OracleTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
67684	return nil, false
67685}
67686
67687// AsJiraObjectDataset is the BasicDataset implementation for OracleTableDataset.
67688func (otd OracleTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
67689	return nil, false
67690}
67691
67692// AsImpalaObjectDataset is the BasicDataset implementation for OracleTableDataset.
67693func (otd OracleTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
67694	return nil, false
67695}
67696
67697// AsHubspotObjectDataset is the BasicDataset implementation for OracleTableDataset.
67698func (otd OracleTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
67699	return nil, false
67700}
67701
67702// AsHiveObjectDataset is the BasicDataset implementation for OracleTableDataset.
67703func (otd OracleTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
67704	return nil, false
67705}
67706
67707// AsHBaseObjectDataset is the BasicDataset implementation for OracleTableDataset.
67708func (otd OracleTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
67709	return nil, false
67710}
67711
67712// AsGreenplumTableDataset is the BasicDataset implementation for OracleTableDataset.
67713func (otd OracleTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
67714	return nil, false
67715}
67716
67717// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleTableDataset.
67718func (otd OracleTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
67719	return nil, false
67720}
67721
67722// AsEloquaObjectDataset is the BasicDataset implementation for OracleTableDataset.
67723func (otd OracleTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
67724	return nil, false
67725}
67726
67727// AsDrillTableDataset is the BasicDataset implementation for OracleTableDataset.
67728func (otd OracleTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
67729	return nil, false
67730}
67731
67732// AsCouchbaseTableDataset is the BasicDataset implementation for OracleTableDataset.
67733func (otd OracleTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
67734	return nil, false
67735}
67736
67737// AsConcurObjectDataset is the BasicDataset implementation for OracleTableDataset.
67738func (otd OracleTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
67739	return nil, false
67740}
67741
67742// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
67743func (otd OracleTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
67744	return nil, false
67745}
67746
67747// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleTableDataset.
67748func (otd OracleTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
67749	return nil, false
67750}
67751
67752// AsHTTPDataset is the BasicDataset implementation for OracleTableDataset.
67753func (otd OracleTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
67754	return nil, false
67755}
67756
67757// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleTableDataset.
67758func (otd OracleTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
67759	return nil, false
67760}
67761
67762// AsWebTableDataset is the BasicDataset implementation for OracleTableDataset.
67763func (otd OracleTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
67764	return nil, false
67765}
67766
67767// AsSQLServerTableDataset is the BasicDataset implementation for OracleTableDataset.
67768func (otd OracleTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
67769	return nil, false
67770}
67771
67772// AsSapEccResourceDataset is the BasicDataset implementation for OracleTableDataset.
67773func (otd OracleTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
67774	return nil, false
67775}
67776
67777// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleTableDataset.
67778func (otd OracleTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
67779	return nil, false
67780}
67781
67782// AsSalesforceObjectDataset is the BasicDataset implementation for OracleTableDataset.
67783func (otd OracleTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
67784	return nil, false
67785}
67786
67787// AsRelationalTableDataset is the BasicDataset implementation for OracleTableDataset.
67788func (otd OracleTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
67789	return nil, false
67790}
67791
67792// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleTableDataset.
67793func (otd OracleTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
67794	return nil, false
67795}
67796
67797// AsOracleTableDataset is the BasicDataset implementation for OracleTableDataset.
67798func (otd OracleTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
67799	return &otd, true
67800}
67801
67802// AsODataResourceDataset is the BasicDataset implementation for OracleTableDataset.
67803func (otd OracleTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
67804	return nil, false
67805}
67806
67807// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleTableDataset.
67808func (otd OracleTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
67809	return nil, false
67810}
67811
67812// AsFileShareDataset is the BasicDataset implementation for OracleTableDataset.
67813func (otd OracleTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
67814	return nil, false
67815}
67816
67817// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OracleTableDataset.
67818func (otd OracleTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
67819	return nil, false
67820}
67821
67822// AsDynamicsEntityDataset is the BasicDataset implementation for OracleTableDataset.
67823func (otd OracleTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
67824	return nil, false
67825}
67826
67827// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleTableDataset.
67828func (otd OracleTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
67829	return nil, false
67830}
67831
67832// AsCustomDataset is the BasicDataset implementation for OracleTableDataset.
67833func (otd OracleTableDataset) AsCustomDataset() (*CustomDataset, bool) {
67834	return nil, false
67835}
67836
67837// AsCassandraTableDataset is the BasicDataset implementation for OracleTableDataset.
67838func (otd OracleTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
67839	return nil, false
67840}
67841
67842// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleTableDataset.
67843func (otd OracleTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
67844	return nil, false
67845}
67846
67847// AsAzureSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
67848func (otd OracleTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
67849	return nil, false
67850}
67851
67852// AsAzureTableDataset is the BasicDataset implementation for OracleTableDataset.
67853func (otd OracleTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
67854	return nil, false
67855}
67856
67857// AsAzureBlobDataset is the BasicDataset implementation for OracleTableDataset.
67858func (otd OracleTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
67859	return nil, false
67860}
67861
67862// AsAmazonS3Dataset is the BasicDataset implementation for OracleTableDataset.
67863func (otd OracleTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
67864	return nil, false
67865}
67866
67867// AsDataset is the BasicDataset implementation for OracleTableDataset.
67868func (otd OracleTableDataset) AsDataset() (*Dataset, bool) {
67869	return nil, false
67870}
67871
67872// AsBasicDataset is the BasicDataset implementation for OracleTableDataset.
67873func (otd OracleTableDataset) AsBasicDataset() (BasicDataset, bool) {
67874	return &otd, true
67875}
67876
67877// UnmarshalJSON is the custom unmarshaler for OracleTableDataset struct.
67878func (otd *OracleTableDataset) UnmarshalJSON(body []byte) error {
67879	var m map[string]*json.RawMessage
67880	err := json.Unmarshal(body, &m)
67881	if err != nil {
67882		return err
67883	}
67884	for k, v := range m {
67885		switch k {
67886		case "typeProperties":
67887			if v != nil {
67888				var oracleTableDatasetTypeProperties OracleTableDatasetTypeProperties
67889				err = json.Unmarshal(*v, &oracleTableDatasetTypeProperties)
67890				if err != nil {
67891					return err
67892				}
67893				otd.OracleTableDatasetTypeProperties = &oracleTableDatasetTypeProperties
67894			}
67895		default:
67896			if v != nil {
67897				var additionalProperties interface{}
67898				err = json.Unmarshal(*v, &additionalProperties)
67899				if err != nil {
67900					return err
67901				}
67902				if otd.AdditionalProperties == nil {
67903					otd.AdditionalProperties = make(map[string]interface{})
67904				}
67905				otd.AdditionalProperties[k] = additionalProperties
67906			}
67907		case "description":
67908			if v != nil {
67909				var description string
67910				err = json.Unmarshal(*v, &description)
67911				if err != nil {
67912					return err
67913				}
67914				otd.Description = &description
67915			}
67916		case "structure":
67917			if v != nil {
67918				var structure interface{}
67919				err = json.Unmarshal(*v, &structure)
67920				if err != nil {
67921					return err
67922				}
67923				otd.Structure = structure
67924			}
67925		case "linkedServiceName":
67926			if v != nil {
67927				var linkedServiceName LinkedServiceReference
67928				err = json.Unmarshal(*v, &linkedServiceName)
67929				if err != nil {
67930					return err
67931				}
67932				otd.LinkedServiceName = &linkedServiceName
67933			}
67934		case "parameters":
67935			if v != nil {
67936				var parameters map[string]*ParameterSpecification
67937				err = json.Unmarshal(*v, &parameters)
67938				if err != nil {
67939					return err
67940				}
67941				otd.Parameters = parameters
67942			}
67943		case "annotations":
67944			if v != nil {
67945				var annotations []interface{}
67946				err = json.Unmarshal(*v, &annotations)
67947				if err != nil {
67948					return err
67949				}
67950				otd.Annotations = &annotations
67951			}
67952		case "type":
67953			if v != nil {
67954				var typeVar TypeBasicDataset
67955				err = json.Unmarshal(*v, &typeVar)
67956				if err != nil {
67957					return err
67958				}
67959				otd.Type = typeVar
67960			}
67961		}
67962	}
67963
67964	return nil
67965}
67966
67967// OracleTableDatasetTypeProperties on-premises Oracle dataset properties.
67968type OracleTableDatasetTypeProperties struct {
67969	// TableName - The table name of the on-premises Oracle database. Type: string (or Expression with resultType string).
67970	TableName interface{} `json:"tableName,omitempty"`
67971}
67972
67973// OrcFormat the data stored in Optimized Row Columnar (ORC) format.
67974type OrcFormat struct {
67975	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
67976	AdditionalProperties map[string]interface{} `json:""`
67977	// Serializer - Serializer. Type: string (or Expression with resultType string).
67978	Serializer interface{} `json:"serializer,omitempty"`
67979	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
67980	Deserializer interface{} `json:"deserializer,omitempty"`
67981	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
67982	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
67983}
67984
67985// MarshalJSON is the custom marshaler for OrcFormat.
67986func (of OrcFormat) MarshalJSON() ([]byte, error) {
67987	of.Type = TypeOrcFormat
67988	objectMap := make(map[string]interface{})
67989	if of.Serializer != nil {
67990		objectMap["serializer"] = of.Serializer
67991	}
67992	if of.Deserializer != nil {
67993		objectMap["deserializer"] = of.Deserializer
67994	}
67995	if of.Type != "" {
67996		objectMap["type"] = of.Type
67997	}
67998	for k, v := range of.AdditionalProperties {
67999		objectMap[k] = v
68000	}
68001	return json.Marshal(objectMap)
68002}
68003
68004// AsParquetFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68005func (of OrcFormat) AsParquetFormat() (*ParquetFormat, bool) {
68006	return nil, false
68007}
68008
68009// AsOrcFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68010func (of OrcFormat) AsOrcFormat() (*OrcFormat, bool) {
68011	return &of, true
68012}
68013
68014// AsAvroFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68015func (of OrcFormat) AsAvroFormat() (*AvroFormat, bool) {
68016	return nil, false
68017}
68018
68019// AsJSONFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68020func (of OrcFormat) AsJSONFormat() (*JSONFormat, bool) {
68021	return nil, false
68022}
68023
68024// AsTextFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68025func (of OrcFormat) AsTextFormat() (*TextFormat, bool) {
68026	return nil, false
68027}
68028
68029// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68030func (of OrcFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
68031	return nil, false
68032}
68033
68034// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
68035func (of OrcFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
68036	return &of, true
68037}
68038
68039// UnmarshalJSON is the custom unmarshaler for OrcFormat struct.
68040func (of *OrcFormat) UnmarshalJSON(body []byte) error {
68041	var m map[string]*json.RawMessage
68042	err := json.Unmarshal(body, &m)
68043	if err != nil {
68044		return err
68045	}
68046	for k, v := range m {
68047		switch k {
68048		default:
68049			if v != nil {
68050				var additionalProperties interface{}
68051				err = json.Unmarshal(*v, &additionalProperties)
68052				if err != nil {
68053					return err
68054				}
68055				if of.AdditionalProperties == nil {
68056					of.AdditionalProperties = make(map[string]interface{})
68057				}
68058				of.AdditionalProperties[k] = additionalProperties
68059			}
68060		case "serializer":
68061			if v != nil {
68062				var serializer interface{}
68063				err = json.Unmarshal(*v, &serializer)
68064				if err != nil {
68065					return err
68066				}
68067				of.Serializer = serializer
68068			}
68069		case "deserializer":
68070			if v != nil {
68071				var deserializer interface{}
68072				err = json.Unmarshal(*v, &deserializer)
68073				if err != nil {
68074					return err
68075				}
68076				of.Deserializer = deserializer
68077			}
68078		case "type":
68079			if v != nil {
68080				var typeVar TypeBasicDatasetStorageFormat
68081				err = json.Unmarshal(*v, &typeVar)
68082				if err != nil {
68083					return err
68084				}
68085				of.Type = typeVar
68086			}
68087		}
68088	}
68089
68090	return nil
68091}
68092
68093// ParameterSpecification definition of a single parameter for an entity.
68094type ParameterSpecification struct {
68095	// Type - Parameter type. Possible values include: 'ParameterTypeObject', 'ParameterTypeString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeSecureString'
68096	Type ParameterType `json:"type,omitempty"`
68097	// DefaultValue - Default value of parameter.
68098	DefaultValue interface{} `json:"defaultValue,omitempty"`
68099}
68100
68101// ParquetFormat the data stored in Parquet format.
68102type ParquetFormat struct {
68103	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68104	AdditionalProperties map[string]interface{} `json:""`
68105	// Serializer - Serializer. Type: string (or Expression with resultType string).
68106	Serializer interface{} `json:"serializer,omitempty"`
68107	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
68108	Deserializer interface{} `json:"deserializer,omitempty"`
68109	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
68110	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
68111}
68112
68113// MarshalJSON is the custom marshaler for ParquetFormat.
68114func (pf ParquetFormat) MarshalJSON() ([]byte, error) {
68115	pf.Type = TypeParquetFormat
68116	objectMap := make(map[string]interface{})
68117	if pf.Serializer != nil {
68118		objectMap["serializer"] = pf.Serializer
68119	}
68120	if pf.Deserializer != nil {
68121		objectMap["deserializer"] = pf.Deserializer
68122	}
68123	if pf.Type != "" {
68124		objectMap["type"] = pf.Type
68125	}
68126	for k, v := range pf.AdditionalProperties {
68127		objectMap[k] = v
68128	}
68129	return json.Marshal(objectMap)
68130}
68131
68132// AsParquetFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68133func (pf ParquetFormat) AsParquetFormat() (*ParquetFormat, bool) {
68134	return &pf, true
68135}
68136
68137// AsOrcFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68138func (pf ParquetFormat) AsOrcFormat() (*OrcFormat, bool) {
68139	return nil, false
68140}
68141
68142// AsAvroFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68143func (pf ParquetFormat) AsAvroFormat() (*AvroFormat, bool) {
68144	return nil, false
68145}
68146
68147// AsJSONFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68148func (pf ParquetFormat) AsJSONFormat() (*JSONFormat, bool) {
68149	return nil, false
68150}
68151
68152// AsTextFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68153func (pf ParquetFormat) AsTextFormat() (*TextFormat, bool) {
68154	return nil, false
68155}
68156
68157// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68158func (pf ParquetFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
68159	return nil, false
68160}
68161
68162// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
68163func (pf ParquetFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
68164	return &pf, true
68165}
68166
68167// UnmarshalJSON is the custom unmarshaler for ParquetFormat struct.
68168func (pf *ParquetFormat) UnmarshalJSON(body []byte) error {
68169	var m map[string]*json.RawMessage
68170	err := json.Unmarshal(body, &m)
68171	if err != nil {
68172		return err
68173	}
68174	for k, v := range m {
68175		switch k {
68176		default:
68177			if v != nil {
68178				var additionalProperties interface{}
68179				err = json.Unmarshal(*v, &additionalProperties)
68180				if err != nil {
68181					return err
68182				}
68183				if pf.AdditionalProperties == nil {
68184					pf.AdditionalProperties = make(map[string]interface{})
68185				}
68186				pf.AdditionalProperties[k] = additionalProperties
68187			}
68188		case "serializer":
68189			if v != nil {
68190				var serializer interface{}
68191				err = json.Unmarshal(*v, &serializer)
68192				if err != nil {
68193					return err
68194				}
68195				pf.Serializer = serializer
68196			}
68197		case "deserializer":
68198			if v != nil {
68199				var deserializer interface{}
68200				err = json.Unmarshal(*v, &deserializer)
68201				if err != nil {
68202					return err
68203				}
68204				pf.Deserializer = deserializer
68205			}
68206		case "type":
68207			if v != nil {
68208				var typeVar TypeBasicDatasetStorageFormat
68209				err = json.Unmarshal(*v, &typeVar)
68210				if err != nil {
68211					return err
68212				}
68213				pf.Type = typeVar
68214			}
68215		}
68216	}
68217
68218	return nil
68219}
68220
68221// PaypalLinkedService paypal Service linked service.
68222type PaypalLinkedService struct {
68223	// PaypalLinkedServiceTypeProperties - Paypal Service linked service properties.
68224	*PaypalLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
68225	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68226	AdditionalProperties map[string]interface{} `json:""`
68227	// ConnectVia - The integration runtime reference.
68228	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
68229	// Description - Linked service description.
68230	Description *string `json:"description,omitempty"`
68231	// Parameters - Parameters for linked service.
68232	Parameters map[string]*ParameterSpecification `json:"parameters"`
68233	// Annotations - List of tags that can be used for describing the Dataset.
68234	Annotations *[]interface{} `json:"annotations,omitempty"`
68235	// 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'
68236	Type TypeBasicLinkedService `json:"type,omitempty"`
68237}
68238
68239// MarshalJSON is the custom marshaler for PaypalLinkedService.
68240func (pls PaypalLinkedService) MarshalJSON() ([]byte, error) {
68241	pls.Type = TypePaypal
68242	objectMap := make(map[string]interface{})
68243	if pls.PaypalLinkedServiceTypeProperties != nil {
68244		objectMap["typeProperties"] = pls.PaypalLinkedServiceTypeProperties
68245	}
68246	if pls.ConnectVia != nil {
68247		objectMap["connectVia"] = pls.ConnectVia
68248	}
68249	if pls.Description != nil {
68250		objectMap["description"] = pls.Description
68251	}
68252	if pls.Parameters != nil {
68253		objectMap["parameters"] = pls.Parameters
68254	}
68255	if pls.Annotations != nil {
68256		objectMap["annotations"] = pls.Annotations
68257	}
68258	if pls.Type != "" {
68259		objectMap["type"] = pls.Type
68260	}
68261	for k, v := range pls.AdditionalProperties {
68262		objectMap[k] = v
68263	}
68264	return json.Marshal(objectMap)
68265}
68266
68267// AsResponsysLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68268func (pls PaypalLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
68269	return nil, false
68270}
68271
68272// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68273func (pls PaypalLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
68274	return nil, false
68275}
68276
68277// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68278func (pls PaypalLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
68279	return nil, false
68280}
68281
68282// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68283func (pls PaypalLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
68284	return nil, false
68285}
68286
68287// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68288func (pls PaypalLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
68289	return nil, false
68290}
68291
68292// AsNetezzaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68293func (pls PaypalLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
68294	return nil, false
68295}
68296
68297// AsVerticaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68298func (pls PaypalLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
68299	return nil, false
68300}
68301
68302// AsZohoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68303func (pls PaypalLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
68304	return nil, false
68305}
68306
68307// AsXeroLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68308func (pls PaypalLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
68309	return nil, false
68310}
68311
68312// AsSquareLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68313func (pls PaypalLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
68314	return nil, false
68315}
68316
68317// AsSparkLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68318func (pls PaypalLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
68319	return nil, false
68320}
68321
68322// AsShopifyLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68323func (pls PaypalLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
68324	return nil, false
68325}
68326
68327// AsServiceNowLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68328func (pls PaypalLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
68329	return nil, false
68330}
68331
68332// AsQuickBooksLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68333func (pls PaypalLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
68334	return nil, false
68335}
68336
68337// AsPrestoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68338func (pls PaypalLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
68339	return nil, false
68340}
68341
68342// AsPhoenixLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68343func (pls PaypalLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
68344	return nil, false
68345}
68346
68347// AsPaypalLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68348func (pls PaypalLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
68349	return &pls, true
68350}
68351
68352// AsMarketoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68353func (pls PaypalLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
68354	return nil, false
68355}
68356
68357// AsMariaDBLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68358func (pls PaypalLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
68359	return nil, false
68360}
68361
68362// AsMagentoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68363func (pls PaypalLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
68364	return nil, false
68365}
68366
68367// AsJiraLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68368func (pls PaypalLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
68369	return nil, false
68370}
68371
68372// AsImpalaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68373func (pls PaypalLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
68374	return nil, false
68375}
68376
68377// AsHubspotLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68378func (pls PaypalLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
68379	return nil, false
68380}
68381
68382// AsHiveLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68383func (pls PaypalLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
68384	return nil, false
68385}
68386
68387// AsHBaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68388func (pls PaypalLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
68389	return nil, false
68390}
68391
68392// AsGreenplumLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68393func (pls PaypalLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
68394	return nil, false
68395}
68396
68397// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68398func (pls PaypalLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
68399	return nil, false
68400}
68401
68402// AsEloquaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68403func (pls PaypalLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
68404	return nil, false
68405}
68406
68407// AsDrillLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68408func (pls PaypalLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
68409	return nil, false
68410}
68411
68412// AsCouchbaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68413func (pls PaypalLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
68414	return nil, false
68415}
68416
68417// AsConcurLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68418func (pls PaypalLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
68419	return nil, false
68420}
68421
68422// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68423func (pls PaypalLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
68424	return nil, false
68425}
68426
68427// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68428func (pls PaypalLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
68429	return nil, false
68430}
68431
68432// AsSapHanaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68433func (pls PaypalLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
68434	return nil, false
68435}
68436
68437// AsSapBWLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68438func (pls PaypalLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
68439	return nil, false
68440}
68441
68442// AsSftpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68443func (pls PaypalLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
68444	return nil, false
68445}
68446
68447// AsFtpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68448func (pls PaypalLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
68449	return nil, false
68450}
68451
68452// AsHTTPLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68453func (pls PaypalLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
68454	return nil, false
68455}
68456
68457// AsAzureSearchLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68458func (pls PaypalLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
68459	return nil, false
68460}
68461
68462// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68463func (pls PaypalLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
68464	return nil, false
68465}
68466
68467// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68468func (pls PaypalLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
68469	return nil, false
68470}
68471
68472// AsAmazonS3LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68473func (pls PaypalLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
68474	return nil, false
68475}
68476
68477// AsSapEccLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68478func (pls PaypalLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
68479	return nil, false
68480}
68481
68482// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68483func (pls PaypalLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
68484	return nil, false
68485}
68486
68487// AsSalesforceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68488func (pls PaypalLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
68489	return nil, false
68490}
68491
68492// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68493func (pls PaypalLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
68494	return nil, false
68495}
68496
68497// AsMongoDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68498func (pls PaypalLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
68499	return nil, false
68500}
68501
68502// AsCassandraLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68503func (pls PaypalLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
68504	return nil, false
68505}
68506
68507// AsWebLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68508func (pls PaypalLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
68509	return nil, false
68510}
68511
68512// AsODataLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68513func (pls PaypalLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
68514	return nil, false
68515}
68516
68517// AsHdfsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68518func (pls PaypalLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
68519	return nil, false
68520}
68521
68522// AsOdbcLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68523func (pls PaypalLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
68524	return nil, false
68525}
68526
68527// AsAzureMLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68528func (pls PaypalLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
68529	return nil, false
68530}
68531
68532// AsTeradataLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68533func (pls PaypalLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
68534	return nil, false
68535}
68536
68537// AsDb2LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68538func (pls PaypalLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
68539	return nil, false
68540}
68541
68542// AsSybaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68543func (pls PaypalLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
68544	return nil, false
68545}
68546
68547// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68548func (pls PaypalLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
68549	return nil, false
68550}
68551
68552// AsMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68553func (pls PaypalLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
68554	return nil, false
68555}
68556
68557// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68558func (pls PaypalLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
68559	return nil, false
68560}
68561
68562// AsOracleLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68563func (pls PaypalLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
68564	return nil, false
68565}
68566
68567// AsFileServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68568func (pls PaypalLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
68569	return nil, false
68570}
68571
68572// AsHDInsightLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68573func (pls PaypalLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
68574	return nil, false
68575}
68576
68577// AsDynamicsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68578func (pls PaypalLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
68579	return nil, false
68580}
68581
68582// AsCosmosDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68583func (pls PaypalLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
68584	return nil, false
68585}
68586
68587// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68588func (pls PaypalLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
68589	return nil, false
68590}
68591
68592// AsAzureBatchLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68593func (pls PaypalLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
68594	return nil, false
68595}
68596
68597// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68598func (pls PaypalLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
68599	return nil, false
68600}
68601
68602// AsSQLServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68603func (pls PaypalLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
68604	return nil, false
68605}
68606
68607// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68608func (pls PaypalLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
68609	return nil, false
68610}
68611
68612// AsAzureStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68613func (pls PaypalLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
68614	return nil, false
68615}
68616
68617// AsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68618func (pls PaypalLinkedService) AsLinkedService() (*LinkedService, bool) {
68619	return nil, false
68620}
68621
68622// AsBasicLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
68623func (pls PaypalLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
68624	return &pls, true
68625}
68626
68627// UnmarshalJSON is the custom unmarshaler for PaypalLinkedService struct.
68628func (pls *PaypalLinkedService) UnmarshalJSON(body []byte) error {
68629	var m map[string]*json.RawMessage
68630	err := json.Unmarshal(body, &m)
68631	if err != nil {
68632		return err
68633	}
68634	for k, v := range m {
68635		switch k {
68636		case "typeProperties":
68637			if v != nil {
68638				var paypalLinkedServiceTypeProperties PaypalLinkedServiceTypeProperties
68639				err = json.Unmarshal(*v, &paypalLinkedServiceTypeProperties)
68640				if err != nil {
68641					return err
68642				}
68643				pls.PaypalLinkedServiceTypeProperties = &paypalLinkedServiceTypeProperties
68644			}
68645		default:
68646			if v != nil {
68647				var additionalProperties interface{}
68648				err = json.Unmarshal(*v, &additionalProperties)
68649				if err != nil {
68650					return err
68651				}
68652				if pls.AdditionalProperties == nil {
68653					pls.AdditionalProperties = make(map[string]interface{})
68654				}
68655				pls.AdditionalProperties[k] = additionalProperties
68656			}
68657		case "connectVia":
68658			if v != nil {
68659				var connectVia IntegrationRuntimeReference
68660				err = json.Unmarshal(*v, &connectVia)
68661				if err != nil {
68662					return err
68663				}
68664				pls.ConnectVia = &connectVia
68665			}
68666		case "description":
68667			if v != nil {
68668				var description string
68669				err = json.Unmarshal(*v, &description)
68670				if err != nil {
68671					return err
68672				}
68673				pls.Description = &description
68674			}
68675		case "parameters":
68676			if v != nil {
68677				var parameters map[string]*ParameterSpecification
68678				err = json.Unmarshal(*v, &parameters)
68679				if err != nil {
68680					return err
68681				}
68682				pls.Parameters = parameters
68683			}
68684		case "annotations":
68685			if v != nil {
68686				var annotations []interface{}
68687				err = json.Unmarshal(*v, &annotations)
68688				if err != nil {
68689					return err
68690				}
68691				pls.Annotations = &annotations
68692			}
68693		case "type":
68694			if v != nil {
68695				var typeVar TypeBasicLinkedService
68696				err = json.Unmarshal(*v, &typeVar)
68697				if err != nil {
68698					return err
68699				}
68700				pls.Type = typeVar
68701			}
68702		}
68703	}
68704
68705	return nil
68706}
68707
68708// PaypalLinkedServiceTypeProperties paypal Service linked service properties.
68709type PaypalLinkedServiceTypeProperties struct {
68710	// Host - The URL of the PayPal instance. (i.e. api.sandbox.paypal.com)
68711	Host interface{} `json:"host,omitempty"`
68712	// ClientID - The client ID associated with your PayPal application.
68713	ClientID interface{} `json:"clientId,omitempty"`
68714	// ClientSecret - The client secret associated with your PayPal application.
68715	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
68716	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
68717	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
68718	// 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.
68719	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
68720	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
68721	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
68722	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
68723	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
68724}
68725
68726// UnmarshalJSON is the custom unmarshaler for PaypalLinkedServiceTypeProperties struct.
68727func (plstp *PaypalLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
68728	var m map[string]*json.RawMessage
68729	err := json.Unmarshal(body, &m)
68730	if err != nil {
68731		return err
68732	}
68733	for k, v := range m {
68734		switch k {
68735		case "host":
68736			if v != nil {
68737				var host interface{}
68738				err = json.Unmarshal(*v, &host)
68739				if err != nil {
68740					return err
68741				}
68742				plstp.Host = host
68743			}
68744		case "clientId":
68745			if v != nil {
68746				var clientID interface{}
68747				err = json.Unmarshal(*v, &clientID)
68748				if err != nil {
68749					return err
68750				}
68751				plstp.ClientID = clientID
68752			}
68753		case "clientSecret":
68754			if v != nil {
68755				clientSecret, err := unmarshalBasicSecretBase(*v)
68756				if err != nil {
68757					return err
68758				}
68759				plstp.ClientSecret = clientSecret
68760			}
68761		case "useEncryptedEndpoints":
68762			if v != nil {
68763				var useEncryptedEndpoints interface{}
68764				err = json.Unmarshal(*v, &useEncryptedEndpoints)
68765				if err != nil {
68766					return err
68767				}
68768				plstp.UseEncryptedEndpoints = useEncryptedEndpoints
68769			}
68770		case "useHostVerification":
68771			if v != nil {
68772				var useHostVerification interface{}
68773				err = json.Unmarshal(*v, &useHostVerification)
68774				if err != nil {
68775					return err
68776				}
68777				plstp.UseHostVerification = useHostVerification
68778			}
68779		case "usePeerVerification":
68780			if v != nil {
68781				var usePeerVerification interface{}
68782				err = json.Unmarshal(*v, &usePeerVerification)
68783				if err != nil {
68784					return err
68785				}
68786				plstp.UsePeerVerification = usePeerVerification
68787			}
68788		case "encryptedCredential":
68789			if v != nil {
68790				var encryptedCredential interface{}
68791				err = json.Unmarshal(*v, &encryptedCredential)
68792				if err != nil {
68793					return err
68794				}
68795				plstp.EncryptedCredential = encryptedCredential
68796			}
68797		}
68798	}
68799
68800	return nil
68801}
68802
68803// PaypalObjectDataset paypal Service dataset.
68804type PaypalObjectDataset struct {
68805	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68806	AdditionalProperties map[string]interface{} `json:""`
68807	// Description - Dataset description.
68808	Description *string `json:"description,omitempty"`
68809	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
68810	Structure interface{} `json:"structure,omitempty"`
68811	// LinkedServiceName - Linked service reference.
68812	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
68813	// Parameters - Parameters for dataset.
68814	Parameters map[string]*ParameterSpecification `json:"parameters"`
68815	// Annotations - List of tags that can be used for describing the Dataset.
68816	Annotations *[]interface{} `json:"annotations,omitempty"`
68817	// 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'
68818	Type TypeBasicDataset `json:"type,omitempty"`
68819}
68820
68821// MarshalJSON is the custom marshaler for PaypalObjectDataset.
68822func (pod PaypalObjectDataset) MarshalJSON() ([]byte, error) {
68823	pod.Type = TypePaypalObject
68824	objectMap := make(map[string]interface{})
68825	if pod.Description != nil {
68826		objectMap["description"] = pod.Description
68827	}
68828	if pod.Structure != nil {
68829		objectMap["structure"] = pod.Structure
68830	}
68831	if pod.LinkedServiceName != nil {
68832		objectMap["linkedServiceName"] = pod.LinkedServiceName
68833	}
68834	if pod.Parameters != nil {
68835		objectMap["parameters"] = pod.Parameters
68836	}
68837	if pod.Annotations != nil {
68838		objectMap["annotations"] = pod.Annotations
68839	}
68840	if pod.Type != "" {
68841		objectMap["type"] = pod.Type
68842	}
68843	for k, v := range pod.AdditionalProperties {
68844		objectMap[k] = v
68845	}
68846	return json.Marshal(objectMap)
68847}
68848
68849// AsResponsysObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68850func (pod PaypalObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
68851	return nil, false
68852}
68853
68854// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68855func (pod PaypalObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
68856	return nil, false
68857}
68858
68859// AsVerticaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68860func (pod PaypalObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
68861	return nil, false
68862}
68863
68864// AsNetezzaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68865func (pod PaypalObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
68866	return nil, false
68867}
68868
68869// AsZohoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68870func (pod PaypalObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
68871	return nil, false
68872}
68873
68874// AsXeroObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68875func (pod PaypalObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
68876	return nil, false
68877}
68878
68879// AsSquareObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68880func (pod PaypalObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
68881	return nil, false
68882}
68883
68884// AsSparkObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68885func (pod PaypalObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
68886	return nil, false
68887}
68888
68889// AsShopifyObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68890func (pod PaypalObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
68891	return nil, false
68892}
68893
68894// AsServiceNowObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68895func (pod PaypalObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
68896	return nil, false
68897}
68898
68899// AsQuickBooksObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68900func (pod PaypalObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
68901	return nil, false
68902}
68903
68904// AsPrestoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68905func (pod PaypalObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
68906	return nil, false
68907}
68908
68909// AsPhoenixObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68910func (pod PaypalObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
68911	return nil, false
68912}
68913
68914// AsPaypalObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68915func (pod PaypalObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
68916	return &pod, true
68917}
68918
68919// AsMarketoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68920func (pod PaypalObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
68921	return nil, false
68922}
68923
68924// AsMariaDBTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68925func (pod PaypalObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
68926	return nil, false
68927}
68928
68929// AsMagentoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68930func (pod PaypalObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
68931	return nil, false
68932}
68933
68934// AsJiraObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68935func (pod PaypalObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
68936	return nil, false
68937}
68938
68939// AsImpalaObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68940func (pod PaypalObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
68941	return nil, false
68942}
68943
68944// AsHubspotObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68945func (pod PaypalObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
68946	return nil, false
68947}
68948
68949// AsHiveObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68950func (pod PaypalObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
68951	return nil, false
68952}
68953
68954// AsHBaseObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68955func (pod PaypalObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
68956	return nil, false
68957}
68958
68959// AsGreenplumTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68960func (pod PaypalObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
68961	return nil, false
68962}
68963
68964// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68965func (pod PaypalObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
68966	return nil, false
68967}
68968
68969// AsEloquaObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68970func (pod PaypalObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
68971	return nil, false
68972}
68973
68974// AsDrillTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68975func (pod PaypalObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
68976	return nil, false
68977}
68978
68979// AsCouchbaseTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68980func (pod PaypalObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
68981	return nil, false
68982}
68983
68984// AsConcurObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68985func (pod PaypalObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
68986	return nil, false
68987}
68988
68989// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
68990func (pod PaypalObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
68991	return nil, false
68992}
68993
68994// AsAmazonMWSObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
68995func (pod PaypalObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
68996	return nil, false
68997}
68998
68999// AsHTTPDataset is the BasicDataset implementation for PaypalObjectDataset.
69000func (pod PaypalObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
69001	return nil, false
69002}
69003
69004// AsAzureSearchIndexDataset is the BasicDataset implementation for PaypalObjectDataset.
69005func (pod PaypalObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
69006	return nil, false
69007}
69008
69009// AsWebTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69010func (pod PaypalObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
69011	return nil, false
69012}
69013
69014// AsSQLServerTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69015func (pod PaypalObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
69016	return nil, false
69017}
69018
69019// AsSapEccResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
69020func (pod PaypalObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
69021	return nil, false
69022}
69023
69024// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
69025func (pod PaypalObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
69026	return nil, false
69027}
69028
69029// AsSalesforceObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
69030func (pod PaypalObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
69031	return nil, false
69032}
69033
69034// AsRelationalTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69035func (pod PaypalObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
69036	return nil, false
69037}
69038
69039// AsAzureMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69040func (pod PaypalObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
69041	return nil, false
69042}
69043
69044// AsOracleTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69045func (pod PaypalObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
69046	return nil, false
69047}
69048
69049// AsODataResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
69050func (pod PaypalObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
69051	return nil, false
69052}
69053
69054// AsMongoDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
69055func (pod PaypalObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
69056	return nil, false
69057}
69058
69059// AsFileShareDataset is the BasicDataset implementation for PaypalObjectDataset.
69060func (pod PaypalObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
69061	return nil, false
69062}
69063
69064// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PaypalObjectDataset.
69065func (pod PaypalObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
69066	return nil, false
69067}
69068
69069// AsDynamicsEntityDataset is the BasicDataset implementation for PaypalObjectDataset.
69070func (pod PaypalObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
69071	return nil, false
69072}
69073
69074// AsDocumentDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
69075func (pod PaypalObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
69076	return nil, false
69077}
69078
69079// AsCustomDataset is the BasicDataset implementation for PaypalObjectDataset.
69080func (pod PaypalObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
69081	return nil, false
69082}
69083
69084// AsCassandraTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69085func (pod PaypalObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
69086	return nil, false
69087}
69088
69089// AsAzureSQLDWTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69090func (pod PaypalObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
69091	return nil, false
69092}
69093
69094// AsAzureSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69095func (pod PaypalObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
69096	return nil, false
69097}
69098
69099// AsAzureTableDataset is the BasicDataset implementation for PaypalObjectDataset.
69100func (pod PaypalObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
69101	return nil, false
69102}
69103
69104// AsAzureBlobDataset is the BasicDataset implementation for PaypalObjectDataset.
69105func (pod PaypalObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
69106	return nil, false
69107}
69108
69109// AsAmazonS3Dataset is the BasicDataset implementation for PaypalObjectDataset.
69110func (pod PaypalObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
69111	return nil, false
69112}
69113
69114// AsDataset is the BasicDataset implementation for PaypalObjectDataset.
69115func (pod PaypalObjectDataset) AsDataset() (*Dataset, bool) {
69116	return nil, false
69117}
69118
69119// AsBasicDataset is the BasicDataset implementation for PaypalObjectDataset.
69120func (pod PaypalObjectDataset) AsBasicDataset() (BasicDataset, bool) {
69121	return &pod, true
69122}
69123
69124// UnmarshalJSON is the custom unmarshaler for PaypalObjectDataset struct.
69125func (pod *PaypalObjectDataset) UnmarshalJSON(body []byte) error {
69126	var m map[string]*json.RawMessage
69127	err := json.Unmarshal(body, &m)
69128	if err != nil {
69129		return err
69130	}
69131	for k, v := range m {
69132		switch k {
69133		default:
69134			if v != nil {
69135				var additionalProperties interface{}
69136				err = json.Unmarshal(*v, &additionalProperties)
69137				if err != nil {
69138					return err
69139				}
69140				if pod.AdditionalProperties == nil {
69141					pod.AdditionalProperties = make(map[string]interface{})
69142				}
69143				pod.AdditionalProperties[k] = additionalProperties
69144			}
69145		case "description":
69146			if v != nil {
69147				var description string
69148				err = json.Unmarshal(*v, &description)
69149				if err != nil {
69150					return err
69151				}
69152				pod.Description = &description
69153			}
69154		case "structure":
69155			if v != nil {
69156				var structure interface{}
69157				err = json.Unmarshal(*v, &structure)
69158				if err != nil {
69159					return err
69160				}
69161				pod.Structure = structure
69162			}
69163		case "linkedServiceName":
69164			if v != nil {
69165				var linkedServiceName LinkedServiceReference
69166				err = json.Unmarshal(*v, &linkedServiceName)
69167				if err != nil {
69168					return err
69169				}
69170				pod.LinkedServiceName = &linkedServiceName
69171			}
69172		case "parameters":
69173			if v != nil {
69174				var parameters map[string]*ParameterSpecification
69175				err = json.Unmarshal(*v, &parameters)
69176				if err != nil {
69177					return err
69178				}
69179				pod.Parameters = parameters
69180			}
69181		case "annotations":
69182			if v != nil {
69183				var annotations []interface{}
69184				err = json.Unmarshal(*v, &annotations)
69185				if err != nil {
69186					return err
69187				}
69188				pod.Annotations = &annotations
69189			}
69190		case "type":
69191			if v != nil {
69192				var typeVar TypeBasicDataset
69193				err = json.Unmarshal(*v, &typeVar)
69194				if err != nil {
69195					return err
69196				}
69197				pod.Type = typeVar
69198			}
69199		}
69200	}
69201
69202	return nil
69203}
69204
69205// PaypalSource a copy activity Paypal Service source.
69206type PaypalSource struct {
69207	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
69208	Query interface{} `json:"query,omitempty"`
69209	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
69210	AdditionalProperties map[string]interface{} `json:""`
69211	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
69212	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
69213	// 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])).
69214	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
69215	// 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'
69216	Type TypeBasicCopySource `json:"type,omitempty"`
69217}
69218
69219// MarshalJSON is the custom marshaler for PaypalSource.
69220func (ps PaypalSource) MarshalJSON() ([]byte, error) {
69221	ps.Type = TypePaypalSource
69222	objectMap := make(map[string]interface{})
69223	if ps.Query != nil {
69224		objectMap["query"] = ps.Query
69225	}
69226	if ps.SourceRetryCount != nil {
69227		objectMap["sourceRetryCount"] = ps.SourceRetryCount
69228	}
69229	if ps.SourceRetryWait != nil {
69230		objectMap["sourceRetryWait"] = ps.SourceRetryWait
69231	}
69232	if ps.Type != "" {
69233		objectMap["type"] = ps.Type
69234	}
69235	for k, v := range ps.AdditionalProperties {
69236		objectMap[k] = v
69237	}
69238	return json.Marshal(objectMap)
69239}
69240
69241// AsAmazonRedshiftSource is the BasicCopySource implementation for PaypalSource.
69242func (ps PaypalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
69243	return nil, false
69244}
69245
69246// AsResponsysSource is the BasicCopySource implementation for PaypalSource.
69247func (ps PaypalSource) AsResponsysSource() (*ResponsysSource, bool) {
69248	return nil, false
69249}
69250
69251// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PaypalSource.
69252func (ps PaypalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
69253	return nil, false
69254}
69255
69256// AsVerticaSource is the BasicCopySource implementation for PaypalSource.
69257func (ps PaypalSource) AsVerticaSource() (*VerticaSource, bool) {
69258	return nil, false
69259}
69260
69261// AsNetezzaSource is the BasicCopySource implementation for PaypalSource.
69262func (ps PaypalSource) AsNetezzaSource() (*NetezzaSource, bool) {
69263	return nil, false
69264}
69265
69266// AsZohoSource is the BasicCopySource implementation for PaypalSource.
69267func (ps PaypalSource) AsZohoSource() (*ZohoSource, bool) {
69268	return nil, false
69269}
69270
69271// AsXeroSource is the BasicCopySource implementation for PaypalSource.
69272func (ps PaypalSource) AsXeroSource() (*XeroSource, bool) {
69273	return nil, false
69274}
69275
69276// AsSquareSource is the BasicCopySource implementation for PaypalSource.
69277func (ps PaypalSource) AsSquareSource() (*SquareSource, bool) {
69278	return nil, false
69279}
69280
69281// AsSparkSource is the BasicCopySource implementation for PaypalSource.
69282func (ps PaypalSource) AsSparkSource() (*SparkSource, bool) {
69283	return nil, false
69284}
69285
69286// AsShopifySource is the BasicCopySource implementation for PaypalSource.
69287func (ps PaypalSource) AsShopifySource() (*ShopifySource, bool) {
69288	return nil, false
69289}
69290
69291// AsServiceNowSource is the BasicCopySource implementation for PaypalSource.
69292func (ps PaypalSource) AsServiceNowSource() (*ServiceNowSource, bool) {
69293	return nil, false
69294}
69295
69296// AsQuickBooksSource is the BasicCopySource implementation for PaypalSource.
69297func (ps PaypalSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
69298	return nil, false
69299}
69300
69301// AsPrestoSource is the BasicCopySource implementation for PaypalSource.
69302func (ps PaypalSource) AsPrestoSource() (*PrestoSource, bool) {
69303	return nil, false
69304}
69305
69306// AsPhoenixSource is the BasicCopySource implementation for PaypalSource.
69307func (ps PaypalSource) AsPhoenixSource() (*PhoenixSource, bool) {
69308	return nil, false
69309}
69310
69311// AsPaypalSource is the BasicCopySource implementation for PaypalSource.
69312func (ps PaypalSource) AsPaypalSource() (*PaypalSource, bool) {
69313	return &ps, true
69314}
69315
69316// AsMarketoSource is the BasicCopySource implementation for PaypalSource.
69317func (ps PaypalSource) AsMarketoSource() (*MarketoSource, bool) {
69318	return nil, false
69319}
69320
69321// AsMariaDBSource is the BasicCopySource implementation for PaypalSource.
69322func (ps PaypalSource) AsMariaDBSource() (*MariaDBSource, bool) {
69323	return nil, false
69324}
69325
69326// AsMagentoSource is the BasicCopySource implementation for PaypalSource.
69327func (ps PaypalSource) AsMagentoSource() (*MagentoSource, bool) {
69328	return nil, false
69329}
69330
69331// AsJiraSource is the BasicCopySource implementation for PaypalSource.
69332func (ps PaypalSource) AsJiraSource() (*JiraSource, bool) {
69333	return nil, false
69334}
69335
69336// AsImpalaSource is the BasicCopySource implementation for PaypalSource.
69337func (ps PaypalSource) AsImpalaSource() (*ImpalaSource, bool) {
69338	return nil, false
69339}
69340
69341// AsHubspotSource is the BasicCopySource implementation for PaypalSource.
69342func (ps PaypalSource) AsHubspotSource() (*HubspotSource, bool) {
69343	return nil, false
69344}
69345
69346// AsHiveSource is the BasicCopySource implementation for PaypalSource.
69347func (ps PaypalSource) AsHiveSource() (*HiveSource, bool) {
69348	return nil, false
69349}
69350
69351// AsHBaseSource is the BasicCopySource implementation for PaypalSource.
69352func (ps PaypalSource) AsHBaseSource() (*HBaseSource, bool) {
69353	return nil, false
69354}
69355
69356// AsGreenplumSource is the BasicCopySource implementation for PaypalSource.
69357func (ps PaypalSource) AsGreenplumSource() (*GreenplumSource, bool) {
69358	return nil, false
69359}
69360
69361// AsGoogleBigQuerySource is the BasicCopySource implementation for PaypalSource.
69362func (ps PaypalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
69363	return nil, false
69364}
69365
69366// AsEloquaSource is the BasicCopySource implementation for PaypalSource.
69367func (ps PaypalSource) AsEloquaSource() (*EloquaSource, bool) {
69368	return nil, false
69369}
69370
69371// AsDrillSource is the BasicCopySource implementation for PaypalSource.
69372func (ps PaypalSource) AsDrillSource() (*DrillSource, bool) {
69373	return nil, false
69374}
69375
69376// AsCouchbaseSource is the BasicCopySource implementation for PaypalSource.
69377func (ps PaypalSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
69378	return nil, false
69379}
69380
69381// AsConcurSource is the BasicCopySource implementation for PaypalSource.
69382func (ps PaypalSource) AsConcurSource() (*ConcurSource, bool) {
69383	return nil, false
69384}
69385
69386// AsAzurePostgreSQLSource is the BasicCopySource implementation for PaypalSource.
69387func (ps PaypalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
69388	return nil, false
69389}
69390
69391// AsAmazonMWSSource is the BasicCopySource implementation for PaypalSource.
69392func (ps PaypalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
69393	return nil, false
69394}
69395
69396// AsHTTPSource is the BasicCopySource implementation for PaypalSource.
69397func (ps PaypalSource) AsHTTPSource() (*HTTPSource, bool) {
69398	return nil, false
69399}
69400
69401// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PaypalSource.
69402func (ps PaypalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
69403	return nil, false
69404}
69405
69406// AsMongoDbSource is the BasicCopySource implementation for PaypalSource.
69407func (ps PaypalSource) AsMongoDbSource() (*MongoDbSource, bool) {
69408	return nil, false
69409}
69410
69411// AsCassandraSource is the BasicCopySource implementation for PaypalSource.
69412func (ps PaypalSource) AsCassandraSource() (*CassandraSource, bool) {
69413	return nil, false
69414}
69415
69416// AsWebSource is the BasicCopySource implementation for PaypalSource.
69417func (ps PaypalSource) AsWebSource() (*WebSource, bool) {
69418	return nil, false
69419}
69420
69421// AsOracleSource is the BasicCopySource implementation for PaypalSource.
69422func (ps PaypalSource) AsOracleSource() (*OracleSource, bool) {
69423	return nil, false
69424}
69425
69426// AsAzureMySQLSource is the BasicCopySource implementation for PaypalSource.
69427func (ps PaypalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
69428	return nil, false
69429}
69430
69431// AsHdfsSource is the BasicCopySource implementation for PaypalSource.
69432func (ps PaypalSource) AsHdfsSource() (*HdfsSource, bool) {
69433	return nil, false
69434}
69435
69436// AsFileSystemSource is the BasicCopySource implementation for PaypalSource.
69437func (ps PaypalSource) AsFileSystemSource() (*FileSystemSource, bool) {
69438	return nil, false
69439}
69440
69441// AsSQLDWSource is the BasicCopySource implementation for PaypalSource.
69442func (ps PaypalSource) AsSQLDWSource() (*SQLDWSource, bool) {
69443	return nil, false
69444}
69445
69446// AsSQLSource is the BasicCopySource implementation for PaypalSource.
69447func (ps PaypalSource) AsSQLSource() (*SQLSource, bool) {
69448	return nil, false
69449}
69450
69451// AsSapEccSource is the BasicCopySource implementation for PaypalSource.
69452func (ps PaypalSource) AsSapEccSource() (*SapEccSource, bool) {
69453	return nil, false
69454}
69455
69456// AsSapCloudForCustomerSource is the BasicCopySource implementation for PaypalSource.
69457func (ps PaypalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
69458	return nil, false
69459}
69460
69461// AsSalesforceSource is the BasicCopySource implementation for PaypalSource.
69462func (ps PaypalSource) AsSalesforceSource() (*SalesforceSource, bool) {
69463	return nil, false
69464}
69465
69466// AsRelationalSource is the BasicCopySource implementation for PaypalSource.
69467func (ps PaypalSource) AsRelationalSource() (*RelationalSource, bool) {
69468	return nil, false
69469}
69470
69471// AsDynamicsSource is the BasicCopySource implementation for PaypalSource.
69472func (ps PaypalSource) AsDynamicsSource() (*DynamicsSource, bool) {
69473	return nil, false
69474}
69475
69476// AsDocumentDbCollectionSource is the BasicCopySource implementation for PaypalSource.
69477func (ps PaypalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
69478	return nil, false
69479}
69480
69481// AsBlobSource is the BasicCopySource implementation for PaypalSource.
69482func (ps PaypalSource) AsBlobSource() (*BlobSource, bool) {
69483	return nil, false
69484}
69485
69486// AsAzureTableSource is the BasicCopySource implementation for PaypalSource.
69487func (ps PaypalSource) AsAzureTableSource() (*AzureTableSource, bool) {
69488	return nil, false
69489}
69490
69491// AsCopySource is the BasicCopySource implementation for PaypalSource.
69492func (ps PaypalSource) AsCopySource() (*CopySource, bool) {
69493	return nil, false
69494}
69495
69496// AsBasicCopySource is the BasicCopySource implementation for PaypalSource.
69497func (ps PaypalSource) AsBasicCopySource() (BasicCopySource, bool) {
69498	return &ps, true
69499}
69500
69501// UnmarshalJSON is the custom unmarshaler for PaypalSource struct.
69502func (ps *PaypalSource) UnmarshalJSON(body []byte) error {
69503	var m map[string]*json.RawMessage
69504	err := json.Unmarshal(body, &m)
69505	if err != nil {
69506		return err
69507	}
69508	for k, v := range m {
69509		switch k {
69510		case "query":
69511			if v != nil {
69512				var query interface{}
69513				err = json.Unmarshal(*v, &query)
69514				if err != nil {
69515					return err
69516				}
69517				ps.Query = query
69518			}
69519		default:
69520			if v != nil {
69521				var additionalProperties interface{}
69522				err = json.Unmarshal(*v, &additionalProperties)
69523				if err != nil {
69524					return err
69525				}
69526				if ps.AdditionalProperties == nil {
69527					ps.AdditionalProperties = make(map[string]interface{})
69528				}
69529				ps.AdditionalProperties[k] = additionalProperties
69530			}
69531		case "sourceRetryCount":
69532			if v != nil {
69533				var sourceRetryCount interface{}
69534				err = json.Unmarshal(*v, &sourceRetryCount)
69535				if err != nil {
69536					return err
69537				}
69538				ps.SourceRetryCount = sourceRetryCount
69539			}
69540		case "sourceRetryWait":
69541			if v != nil {
69542				var sourceRetryWait interface{}
69543				err = json.Unmarshal(*v, &sourceRetryWait)
69544				if err != nil {
69545					return err
69546				}
69547				ps.SourceRetryWait = sourceRetryWait
69548			}
69549		case "type":
69550			if v != nil {
69551				var typeVar TypeBasicCopySource
69552				err = json.Unmarshal(*v, &typeVar)
69553				if err != nil {
69554					return err
69555				}
69556				ps.Type = typeVar
69557			}
69558		}
69559	}
69560
69561	return nil
69562}
69563
69564// PhoenixLinkedService phoenix server linked service.
69565type PhoenixLinkedService struct {
69566	// PhoenixLinkedServiceTypeProperties - Phoenix server linked service properties.
69567	*PhoenixLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
69568	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
69569	AdditionalProperties map[string]interface{} `json:""`
69570	// ConnectVia - The integration runtime reference.
69571	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
69572	// Description - Linked service description.
69573	Description *string `json:"description,omitempty"`
69574	// Parameters - Parameters for linked service.
69575	Parameters map[string]*ParameterSpecification `json:"parameters"`
69576	// Annotations - List of tags that can be used for describing the Dataset.
69577	Annotations *[]interface{} `json:"annotations,omitempty"`
69578	// 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'
69579	Type TypeBasicLinkedService `json:"type,omitempty"`
69580}
69581
69582// MarshalJSON is the custom marshaler for PhoenixLinkedService.
69583func (pls PhoenixLinkedService) MarshalJSON() ([]byte, error) {
69584	pls.Type = TypePhoenix
69585	objectMap := make(map[string]interface{})
69586	if pls.PhoenixLinkedServiceTypeProperties != nil {
69587		objectMap["typeProperties"] = pls.PhoenixLinkedServiceTypeProperties
69588	}
69589	if pls.ConnectVia != nil {
69590		objectMap["connectVia"] = pls.ConnectVia
69591	}
69592	if pls.Description != nil {
69593		objectMap["description"] = pls.Description
69594	}
69595	if pls.Parameters != nil {
69596		objectMap["parameters"] = pls.Parameters
69597	}
69598	if pls.Annotations != nil {
69599		objectMap["annotations"] = pls.Annotations
69600	}
69601	if pls.Type != "" {
69602		objectMap["type"] = pls.Type
69603	}
69604	for k, v := range pls.AdditionalProperties {
69605		objectMap[k] = v
69606	}
69607	return json.Marshal(objectMap)
69608}
69609
69610// AsResponsysLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69611func (pls PhoenixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
69612	return nil, false
69613}
69614
69615// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69616func (pls PhoenixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
69617	return nil, false
69618}
69619
69620// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69621func (pls PhoenixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
69622	return nil, false
69623}
69624
69625// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69626func (pls PhoenixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
69627	return nil, false
69628}
69629
69630// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69631func (pls PhoenixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
69632	return nil, false
69633}
69634
69635// AsNetezzaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69636func (pls PhoenixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
69637	return nil, false
69638}
69639
69640// AsVerticaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69641func (pls PhoenixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
69642	return nil, false
69643}
69644
69645// AsZohoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69646func (pls PhoenixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
69647	return nil, false
69648}
69649
69650// AsXeroLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69651func (pls PhoenixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
69652	return nil, false
69653}
69654
69655// AsSquareLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69656func (pls PhoenixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
69657	return nil, false
69658}
69659
69660// AsSparkLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69661func (pls PhoenixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
69662	return nil, false
69663}
69664
69665// AsShopifyLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69666func (pls PhoenixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
69667	return nil, false
69668}
69669
69670// AsServiceNowLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69671func (pls PhoenixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
69672	return nil, false
69673}
69674
69675// AsQuickBooksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69676func (pls PhoenixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
69677	return nil, false
69678}
69679
69680// AsPrestoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69681func (pls PhoenixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
69682	return nil, false
69683}
69684
69685// AsPhoenixLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69686func (pls PhoenixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
69687	return &pls, true
69688}
69689
69690// AsPaypalLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69691func (pls PhoenixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
69692	return nil, false
69693}
69694
69695// AsMarketoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69696func (pls PhoenixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
69697	return nil, false
69698}
69699
69700// AsMariaDBLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69701func (pls PhoenixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
69702	return nil, false
69703}
69704
69705// AsMagentoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69706func (pls PhoenixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
69707	return nil, false
69708}
69709
69710// AsJiraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69711func (pls PhoenixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
69712	return nil, false
69713}
69714
69715// AsImpalaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69716func (pls PhoenixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
69717	return nil, false
69718}
69719
69720// AsHubspotLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69721func (pls PhoenixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
69722	return nil, false
69723}
69724
69725// AsHiveLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69726func (pls PhoenixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
69727	return nil, false
69728}
69729
69730// AsHBaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69731func (pls PhoenixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
69732	return nil, false
69733}
69734
69735// AsGreenplumLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69736func (pls PhoenixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
69737	return nil, false
69738}
69739
69740// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69741func (pls PhoenixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
69742	return nil, false
69743}
69744
69745// AsEloquaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69746func (pls PhoenixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
69747	return nil, false
69748}
69749
69750// AsDrillLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69751func (pls PhoenixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
69752	return nil, false
69753}
69754
69755// AsCouchbaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69756func (pls PhoenixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
69757	return nil, false
69758}
69759
69760// AsConcurLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69761func (pls PhoenixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
69762	return nil, false
69763}
69764
69765// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69766func (pls PhoenixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
69767	return nil, false
69768}
69769
69770// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69771func (pls PhoenixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
69772	return nil, false
69773}
69774
69775// AsSapHanaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69776func (pls PhoenixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
69777	return nil, false
69778}
69779
69780// AsSapBWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69781func (pls PhoenixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
69782	return nil, false
69783}
69784
69785// AsSftpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69786func (pls PhoenixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
69787	return nil, false
69788}
69789
69790// AsFtpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69791func (pls PhoenixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
69792	return nil, false
69793}
69794
69795// AsHTTPLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69796func (pls PhoenixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
69797	return nil, false
69798}
69799
69800// AsAzureSearchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69801func (pls PhoenixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
69802	return nil, false
69803}
69804
69805// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69806func (pls PhoenixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
69807	return nil, false
69808}
69809
69810// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69811func (pls PhoenixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
69812	return nil, false
69813}
69814
69815// AsAmazonS3LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69816func (pls PhoenixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
69817	return nil, false
69818}
69819
69820// AsSapEccLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69821func (pls PhoenixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
69822	return nil, false
69823}
69824
69825// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69826func (pls PhoenixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
69827	return nil, false
69828}
69829
69830// AsSalesforceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69831func (pls PhoenixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
69832	return nil, false
69833}
69834
69835// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69836func (pls PhoenixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
69837	return nil, false
69838}
69839
69840// AsMongoDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69841func (pls PhoenixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
69842	return nil, false
69843}
69844
69845// AsCassandraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69846func (pls PhoenixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
69847	return nil, false
69848}
69849
69850// AsWebLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69851func (pls PhoenixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
69852	return nil, false
69853}
69854
69855// AsODataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69856func (pls PhoenixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
69857	return nil, false
69858}
69859
69860// AsHdfsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69861func (pls PhoenixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
69862	return nil, false
69863}
69864
69865// AsOdbcLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69866func (pls PhoenixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
69867	return nil, false
69868}
69869
69870// AsAzureMLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69871func (pls PhoenixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
69872	return nil, false
69873}
69874
69875// AsTeradataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69876func (pls PhoenixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
69877	return nil, false
69878}
69879
69880// AsDb2LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69881func (pls PhoenixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
69882	return nil, false
69883}
69884
69885// AsSybaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69886func (pls PhoenixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
69887	return nil, false
69888}
69889
69890// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69891func (pls PhoenixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
69892	return nil, false
69893}
69894
69895// AsMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69896func (pls PhoenixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
69897	return nil, false
69898}
69899
69900// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69901func (pls PhoenixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
69902	return nil, false
69903}
69904
69905// AsOracleLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69906func (pls PhoenixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
69907	return nil, false
69908}
69909
69910// AsFileServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69911func (pls PhoenixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
69912	return nil, false
69913}
69914
69915// AsHDInsightLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69916func (pls PhoenixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
69917	return nil, false
69918}
69919
69920// AsDynamicsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69921func (pls PhoenixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
69922	return nil, false
69923}
69924
69925// AsCosmosDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69926func (pls PhoenixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
69927	return nil, false
69928}
69929
69930// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69931func (pls PhoenixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
69932	return nil, false
69933}
69934
69935// AsAzureBatchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69936func (pls PhoenixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
69937	return nil, false
69938}
69939
69940// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69941func (pls PhoenixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
69942	return nil, false
69943}
69944
69945// AsSQLServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69946func (pls PhoenixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
69947	return nil, false
69948}
69949
69950// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69951func (pls PhoenixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
69952	return nil, false
69953}
69954
69955// AsAzureStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69956func (pls PhoenixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
69957	return nil, false
69958}
69959
69960// AsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69961func (pls PhoenixLinkedService) AsLinkedService() (*LinkedService, bool) {
69962	return nil, false
69963}
69964
69965// AsBasicLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
69966func (pls PhoenixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
69967	return &pls, true
69968}
69969
69970// UnmarshalJSON is the custom unmarshaler for PhoenixLinkedService struct.
69971func (pls *PhoenixLinkedService) UnmarshalJSON(body []byte) error {
69972	var m map[string]*json.RawMessage
69973	err := json.Unmarshal(body, &m)
69974	if err != nil {
69975		return err
69976	}
69977	for k, v := range m {
69978		switch k {
69979		case "typeProperties":
69980			if v != nil {
69981				var phoenixLinkedServiceTypeProperties PhoenixLinkedServiceTypeProperties
69982				err = json.Unmarshal(*v, &phoenixLinkedServiceTypeProperties)
69983				if err != nil {
69984					return err
69985				}
69986				pls.PhoenixLinkedServiceTypeProperties = &phoenixLinkedServiceTypeProperties
69987			}
69988		default:
69989			if v != nil {
69990				var additionalProperties interface{}
69991				err = json.Unmarshal(*v, &additionalProperties)
69992				if err != nil {
69993					return err
69994				}
69995				if pls.AdditionalProperties == nil {
69996					pls.AdditionalProperties = make(map[string]interface{})
69997				}
69998				pls.AdditionalProperties[k] = additionalProperties
69999			}
70000		case "connectVia":
70001			if v != nil {
70002				var connectVia IntegrationRuntimeReference
70003				err = json.Unmarshal(*v, &connectVia)
70004				if err != nil {
70005					return err
70006				}
70007				pls.ConnectVia = &connectVia
70008			}
70009		case "description":
70010			if v != nil {
70011				var description string
70012				err = json.Unmarshal(*v, &description)
70013				if err != nil {
70014					return err
70015				}
70016				pls.Description = &description
70017			}
70018		case "parameters":
70019			if v != nil {
70020				var parameters map[string]*ParameterSpecification
70021				err = json.Unmarshal(*v, &parameters)
70022				if err != nil {
70023					return err
70024				}
70025				pls.Parameters = parameters
70026			}
70027		case "annotations":
70028			if v != nil {
70029				var annotations []interface{}
70030				err = json.Unmarshal(*v, &annotations)
70031				if err != nil {
70032					return err
70033				}
70034				pls.Annotations = &annotations
70035			}
70036		case "type":
70037			if v != nil {
70038				var typeVar TypeBasicLinkedService
70039				err = json.Unmarshal(*v, &typeVar)
70040				if err != nil {
70041					return err
70042				}
70043				pls.Type = typeVar
70044			}
70045		}
70046	}
70047
70048	return nil
70049}
70050
70051// PhoenixLinkedServiceTypeProperties phoenix server linked service properties.
70052type PhoenixLinkedServiceTypeProperties struct {
70053	// Host - The IP address or host name of the Phoenix server. (i.e. 192.168.222.160)
70054	Host interface{} `json:"host,omitempty"`
70055	// Port - The TCP port that the Phoenix server uses to listen for client connections. The default value is 8765.
70056	Port interface{} `json:"port,omitempty"`
70057	// HTTPPath - The partial URL corresponding to the Phoenix server. (i.e. /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using WindowsAzureHDInsightService.
70058	HTTPPath interface{} `json:"httpPath,omitempty"`
70059	// AuthenticationType - The authentication mechanism used to connect to the Phoenix server. Possible values include: 'PhoenixAuthenticationTypeAnonymous', 'PhoenixAuthenticationTypeUsernameAndPassword', 'PhoenixAuthenticationTypeWindowsAzureHDInsightService'
70060	AuthenticationType PhoenixAuthenticationType `json:"authenticationType,omitempty"`
70061	// Username - The user name used to connect to the Phoenix server.
70062	Username interface{} `json:"username,omitempty"`
70063	// Password - The password corresponding to the user name.
70064	Password BasicSecretBase `json:"password,omitempty"`
70065	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
70066	EnableSsl interface{} `json:"enableSsl,omitempty"`
70067	// 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.
70068	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
70069	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
70070	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
70071	// 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.
70072	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
70073	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
70074	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
70075	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
70076	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
70077}
70078
70079// UnmarshalJSON is the custom unmarshaler for PhoenixLinkedServiceTypeProperties struct.
70080func (plstp *PhoenixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
70081	var m map[string]*json.RawMessage
70082	err := json.Unmarshal(body, &m)
70083	if err != nil {
70084		return err
70085	}
70086	for k, v := range m {
70087		switch k {
70088		case "host":
70089			if v != nil {
70090				var host interface{}
70091				err = json.Unmarshal(*v, &host)
70092				if err != nil {
70093					return err
70094				}
70095				plstp.Host = host
70096			}
70097		case "port":
70098			if v != nil {
70099				var port interface{}
70100				err = json.Unmarshal(*v, &port)
70101				if err != nil {
70102					return err
70103				}
70104				plstp.Port = port
70105			}
70106		case "httpPath":
70107			if v != nil {
70108				var HTTPPath interface{}
70109				err = json.Unmarshal(*v, &HTTPPath)
70110				if err != nil {
70111					return err
70112				}
70113				plstp.HTTPPath = HTTPPath
70114			}
70115		case "authenticationType":
70116			if v != nil {
70117				var authenticationType PhoenixAuthenticationType
70118				err = json.Unmarshal(*v, &authenticationType)
70119				if err != nil {
70120					return err
70121				}
70122				plstp.AuthenticationType = authenticationType
70123			}
70124		case "username":
70125			if v != nil {
70126				var username interface{}
70127				err = json.Unmarshal(*v, &username)
70128				if err != nil {
70129					return err
70130				}
70131				plstp.Username = username
70132			}
70133		case "password":
70134			if v != nil {
70135				password, err := unmarshalBasicSecretBase(*v)
70136				if err != nil {
70137					return err
70138				}
70139				plstp.Password = password
70140			}
70141		case "enableSsl":
70142			if v != nil {
70143				var enableSsl interface{}
70144				err = json.Unmarshal(*v, &enableSsl)
70145				if err != nil {
70146					return err
70147				}
70148				plstp.EnableSsl = enableSsl
70149			}
70150		case "trustedCertPath":
70151			if v != nil {
70152				var trustedCertPath interface{}
70153				err = json.Unmarshal(*v, &trustedCertPath)
70154				if err != nil {
70155					return err
70156				}
70157				plstp.TrustedCertPath = trustedCertPath
70158			}
70159		case "useSystemTrustStore":
70160			if v != nil {
70161				var useSystemTrustStore interface{}
70162				err = json.Unmarshal(*v, &useSystemTrustStore)
70163				if err != nil {
70164					return err
70165				}
70166				plstp.UseSystemTrustStore = useSystemTrustStore
70167			}
70168		case "allowHostNameCNMismatch":
70169			if v != nil {
70170				var allowHostNameCNMismatch interface{}
70171				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
70172				if err != nil {
70173					return err
70174				}
70175				plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
70176			}
70177		case "allowSelfSignedServerCert":
70178			if v != nil {
70179				var allowSelfSignedServerCert interface{}
70180				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
70181				if err != nil {
70182					return err
70183				}
70184				plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
70185			}
70186		case "encryptedCredential":
70187			if v != nil {
70188				var encryptedCredential interface{}
70189				err = json.Unmarshal(*v, &encryptedCredential)
70190				if err != nil {
70191					return err
70192				}
70193				plstp.EncryptedCredential = encryptedCredential
70194			}
70195		}
70196	}
70197
70198	return nil
70199}
70200
70201// PhoenixObjectDataset phoenix server dataset.
70202type PhoenixObjectDataset struct {
70203	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
70204	AdditionalProperties map[string]interface{} `json:""`
70205	// Description - Dataset description.
70206	Description *string `json:"description,omitempty"`
70207	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
70208	Structure interface{} `json:"structure,omitempty"`
70209	// LinkedServiceName - Linked service reference.
70210	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
70211	// Parameters - Parameters for dataset.
70212	Parameters map[string]*ParameterSpecification `json:"parameters"`
70213	// Annotations - List of tags that can be used for describing the Dataset.
70214	Annotations *[]interface{} `json:"annotations,omitempty"`
70215	// 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'
70216	Type TypeBasicDataset `json:"type,omitempty"`
70217}
70218
70219// MarshalJSON is the custom marshaler for PhoenixObjectDataset.
70220func (pod PhoenixObjectDataset) MarshalJSON() ([]byte, error) {
70221	pod.Type = TypePhoenixObject
70222	objectMap := make(map[string]interface{})
70223	if pod.Description != nil {
70224		objectMap["description"] = pod.Description
70225	}
70226	if pod.Structure != nil {
70227		objectMap["structure"] = pod.Structure
70228	}
70229	if pod.LinkedServiceName != nil {
70230		objectMap["linkedServiceName"] = pod.LinkedServiceName
70231	}
70232	if pod.Parameters != nil {
70233		objectMap["parameters"] = pod.Parameters
70234	}
70235	if pod.Annotations != nil {
70236		objectMap["annotations"] = pod.Annotations
70237	}
70238	if pod.Type != "" {
70239		objectMap["type"] = pod.Type
70240	}
70241	for k, v := range pod.AdditionalProperties {
70242		objectMap[k] = v
70243	}
70244	return json.Marshal(objectMap)
70245}
70246
70247// AsResponsysObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70248func (pod PhoenixObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
70249	return nil, false
70250}
70251
70252// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70253func (pod PhoenixObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
70254	return nil, false
70255}
70256
70257// AsVerticaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70258func (pod PhoenixObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
70259	return nil, false
70260}
70261
70262// AsNetezzaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70263func (pod PhoenixObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
70264	return nil, false
70265}
70266
70267// AsZohoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70268func (pod PhoenixObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
70269	return nil, false
70270}
70271
70272// AsXeroObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70273func (pod PhoenixObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
70274	return nil, false
70275}
70276
70277// AsSquareObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70278func (pod PhoenixObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
70279	return nil, false
70280}
70281
70282// AsSparkObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70283func (pod PhoenixObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
70284	return nil, false
70285}
70286
70287// AsShopifyObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70288func (pod PhoenixObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
70289	return nil, false
70290}
70291
70292// AsServiceNowObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70293func (pod PhoenixObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
70294	return nil, false
70295}
70296
70297// AsQuickBooksObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70298func (pod PhoenixObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
70299	return nil, false
70300}
70301
70302// AsPrestoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70303func (pod PhoenixObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
70304	return nil, false
70305}
70306
70307// AsPhoenixObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70308func (pod PhoenixObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
70309	return &pod, true
70310}
70311
70312// AsPaypalObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70313func (pod PhoenixObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
70314	return nil, false
70315}
70316
70317// AsMarketoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70318func (pod PhoenixObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
70319	return nil, false
70320}
70321
70322// AsMariaDBTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70323func (pod PhoenixObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
70324	return nil, false
70325}
70326
70327// AsMagentoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70328func (pod PhoenixObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
70329	return nil, false
70330}
70331
70332// AsJiraObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70333func (pod PhoenixObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
70334	return nil, false
70335}
70336
70337// AsImpalaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70338func (pod PhoenixObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
70339	return nil, false
70340}
70341
70342// AsHubspotObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70343func (pod PhoenixObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
70344	return nil, false
70345}
70346
70347// AsHiveObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70348func (pod PhoenixObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
70349	return nil, false
70350}
70351
70352// AsHBaseObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70353func (pod PhoenixObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
70354	return nil, false
70355}
70356
70357// AsGreenplumTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70358func (pod PhoenixObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
70359	return nil, false
70360}
70361
70362// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70363func (pod PhoenixObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
70364	return nil, false
70365}
70366
70367// AsEloquaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70368func (pod PhoenixObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
70369	return nil, false
70370}
70371
70372// AsDrillTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70373func (pod PhoenixObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
70374	return nil, false
70375}
70376
70377// AsCouchbaseTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70378func (pod PhoenixObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
70379	return nil, false
70380}
70381
70382// AsConcurObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70383func (pod PhoenixObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
70384	return nil, false
70385}
70386
70387// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70388func (pod PhoenixObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
70389	return nil, false
70390}
70391
70392// AsAmazonMWSObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70393func (pod PhoenixObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
70394	return nil, false
70395}
70396
70397// AsHTTPDataset is the BasicDataset implementation for PhoenixObjectDataset.
70398func (pod PhoenixObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
70399	return nil, false
70400}
70401
70402// AsAzureSearchIndexDataset is the BasicDataset implementation for PhoenixObjectDataset.
70403func (pod PhoenixObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
70404	return nil, false
70405}
70406
70407// AsWebTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70408func (pod PhoenixObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
70409	return nil, false
70410}
70411
70412// AsSQLServerTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70413func (pod PhoenixObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
70414	return nil, false
70415}
70416
70417// AsSapEccResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
70418func (pod PhoenixObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
70419	return nil, false
70420}
70421
70422// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
70423func (pod PhoenixObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
70424	return nil, false
70425}
70426
70427// AsSalesforceObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
70428func (pod PhoenixObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
70429	return nil, false
70430}
70431
70432// AsRelationalTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70433func (pod PhoenixObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
70434	return nil, false
70435}
70436
70437// AsAzureMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70438func (pod PhoenixObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
70439	return nil, false
70440}
70441
70442// AsOracleTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70443func (pod PhoenixObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
70444	return nil, false
70445}
70446
70447// AsODataResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
70448func (pod PhoenixObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
70449	return nil, false
70450}
70451
70452// AsMongoDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
70453func (pod PhoenixObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
70454	return nil, false
70455}
70456
70457// AsFileShareDataset is the BasicDataset implementation for PhoenixObjectDataset.
70458func (pod PhoenixObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
70459	return nil, false
70460}
70461
70462// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PhoenixObjectDataset.
70463func (pod PhoenixObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
70464	return nil, false
70465}
70466
70467// AsDynamicsEntityDataset is the BasicDataset implementation for PhoenixObjectDataset.
70468func (pod PhoenixObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
70469	return nil, false
70470}
70471
70472// AsDocumentDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
70473func (pod PhoenixObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
70474	return nil, false
70475}
70476
70477// AsCustomDataset is the BasicDataset implementation for PhoenixObjectDataset.
70478func (pod PhoenixObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
70479	return nil, false
70480}
70481
70482// AsCassandraTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70483func (pod PhoenixObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
70484	return nil, false
70485}
70486
70487// AsAzureSQLDWTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70488func (pod PhoenixObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
70489	return nil, false
70490}
70491
70492// AsAzureSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70493func (pod PhoenixObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
70494	return nil, false
70495}
70496
70497// AsAzureTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
70498func (pod PhoenixObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
70499	return nil, false
70500}
70501
70502// AsAzureBlobDataset is the BasicDataset implementation for PhoenixObjectDataset.
70503func (pod PhoenixObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
70504	return nil, false
70505}
70506
70507// AsAmazonS3Dataset is the BasicDataset implementation for PhoenixObjectDataset.
70508func (pod PhoenixObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
70509	return nil, false
70510}
70511
70512// AsDataset is the BasicDataset implementation for PhoenixObjectDataset.
70513func (pod PhoenixObjectDataset) AsDataset() (*Dataset, bool) {
70514	return nil, false
70515}
70516
70517// AsBasicDataset is the BasicDataset implementation for PhoenixObjectDataset.
70518func (pod PhoenixObjectDataset) AsBasicDataset() (BasicDataset, bool) {
70519	return &pod, true
70520}
70521
70522// UnmarshalJSON is the custom unmarshaler for PhoenixObjectDataset struct.
70523func (pod *PhoenixObjectDataset) UnmarshalJSON(body []byte) error {
70524	var m map[string]*json.RawMessage
70525	err := json.Unmarshal(body, &m)
70526	if err != nil {
70527		return err
70528	}
70529	for k, v := range m {
70530		switch k {
70531		default:
70532			if v != nil {
70533				var additionalProperties interface{}
70534				err = json.Unmarshal(*v, &additionalProperties)
70535				if err != nil {
70536					return err
70537				}
70538				if pod.AdditionalProperties == nil {
70539					pod.AdditionalProperties = make(map[string]interface{})
70540				}
70541				pod.AdditionalProperties[k] = additionalProperties
70542			}
70543		case "description":
70544			if v != nil {
70545				var description string
70546				err = json.Unmarshal(*v, &description)
70547				if err != nil {
70548					return err
70549				}
70550				pod.Description = &description
70551			}
70552		case "structure":
70553			if v != nil {
70554				var structure interface{}
70555				err = json.Unmarshal(*v, &structure)
70556				if err != nil {
70557					return err
70558				}
70559				pod.Structure = structure
70560			}
70561		case "linkedServiceName":
70562			if v != nil {
70563				var linkedServiceName LinkedServiceReference
70564				err = json.Unmarshal(*v, &linkedServiceName)
70565				if err != nil {
70566					return err
70567				}
70568				pod.LinkedServiceName = &linkedServiceName
70569			}
70570		case "parameters":
70571			if v != nil {
70572				var parameters map[string]*ParameterSpecification
70573				err = json.Unmarshal(*v, &parameters)
70574				if err != nil {
70575					return err
70576				}
70577				pod.Parameters = parameters
70578			}
70579		case "annotations":
70580			if v != nil {
70581				var annotations []interface{}
70582				err = json.Unmarshal(*v, &annotations)
70583				if err != nil {
70584					return err
70585				}
70586				pod.Annotations = &annotations
70587			}
70588		case "type":
70589			if v != nil {
70590				var typeVar TypeBasicDataset
70591				err = json.Unmarshal(*v, &typeVar)
70592				if err != nil {
70593					return err
70594				}
70595				pod.Type = typeVar
70596			}
70597		}
70598	}
70599
70600	return nil
70601}
70602
70603// PhoenixSource a copy activity Phoenix server source.
70604type PhoenixSource struct {
70605	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
70606	Query interface{} `json:"query,omitempty"`
70607	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
70608	AdditionalProperties map[string]interface{} `json:""`
70609	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
70610	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
70611	// 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])).
70612	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
70613	// 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'
70614	Type TypeBasicCopySource `json:"type,omitempty"`
70615}
70616
70617// MarshalJSON is the custom marshaler for PhoenixSource.
70618func (ps PhoenixSource) MarshalJSON() ([]byte, error) {
70619	ps.Type = TypePhoenixSource
70620	objectMap := make(map[string]interface{})
70621	if ps.Query != nil {
70622		objectMap["query"] = ps.Query
70623	}
70624	if ps.SourceRetryCount != nil {
70625		objectMap["sourceRetryCount"] = ps.SourceRetryCount
70626	}
70627	if ps.SourceRetryWait != nil {
70628		objectMap["sourceRetryWait"] = ps.SourceRetryWait
70629	}
70630	if ps.Type != "" {
70631		objectMap["type"] = ps.Type
70632	}
70633	for k, v := range ps.AdditionalProperties {
70634		objectMap[k] = v
70635	}
70636	return json.Marshal(objectMap)
70637}
70638
70639// AsAmazonRedshiftSource is the BasicCopySource implementation for PhoenixSource.
70640func (ps PhoenixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
70641	return nil, false
70642}
70643
70644// AsResponsysSource is the BasicCopySource implementation for PhoenixSource.
70645func (ps PhoenixSource) AsResponsysSource() (*ResponsysSource, bool) {
70646	return nil, false
70647}
70648
70649// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PhoenixSource.
70650func (ps PhoenixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
70651	return nil, false
70652}
70653
70654// AsVerticaSource is the BasicCopySource implementation for PhoenixSource.
70655func (ps PhoenixSource) AsVerticaSource() (*VerticaSource, bool) {
70656	return nil, false
70657}
70658
70659// AsNetezzaSource is the BasicCopySource implementation for PhoenixSource.
70660func (ps PhoenixSource) AsNetezzaSource() (*NetezzaSource, bool) {
70661	return nil, false
70662}
70663
70664// AsZohoSource is the BasicCopySource implementation for PhoenixSource.
70665func (ps PhoenixSource) AsZohoSource() (*ZohoSource, bool) {
70666	return nil, false
70667}
70668
70669// AsXeroSource is the BasicCopySource implementation for PhoenixSource.
70670func (ps PhoenixSource) AsXeroSource() (*XeroSource, bool) {
70671	return nil, false
70672}
70673
70674// AsSquareSource is the BasicCopySource implementation for PhoenixSource.
70675func (ps PhoenixSource) AsSquareSource() (*SquareSource, bool) {
70676	return nil, false
70677}
70678
70679// AsSparkSource is the BasicCopySource implementation for PhoenixSource.
70680func (ps PhoenixSource) AsSparkSource() (*SparkSource, bool) {
70681	return nil, false
70682}
70683
70684// AsShopifySource is the BasicCopySource implementation for PhoenixSource.
70685func (ps PhoenixSource) AsShopifySource() (*ShopifySource, bool) {
70686	return nil, false
70687}
70688
70689// AsServiceNowSource is the BasicCopySource implementation for PhoenixSource.
70690func (ps PhoenixSource) AsServiceNowSource() (*ServiceNowSource, bool) {
70691	return nil, false
70692}
70693
70694// AsQuickBooksSource is the BasicCopySource implementation for PhoenixSource.
70695func (ps PhoenixSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
70696	return nil, false
70697}
70698
70699// AsPrestoSource is the BasicCopySource implementation for PhoenixSource.
70700func (ps PhoenixSource) AsPrestoSource() (*PrestoSource, bool) {
70701	return nil, false
70702}
70703
70704// AsPhoenixSource is the BasicCopySource implementation for PhoenixSource.
70705func (ps PhoenixSource) AsPhoenixSource() (*PhoenixSource, bool) {
70706	return &ps, true
70707}
70708
70709// AsPaypalSource is the BasicCopySource implementation for PhoenixSource.
70710func (ps PhoenixSource) AsPaypalSource() (*PaypalSource, bool) {
70711	return nil, false
70712}
70713
70714// AsMarketoSource is the BasicCopySource implementation for PhoenixSource.
70715func (ps PhoenixSource) AsMarketoSource() (*MarketoSource, bool) {
70716	return nil, false
70717}
70718
70719// AsMariaDBSource is the BasicCopySource implementation for PhoenixSource.
70720func (ps PhoenixSource) AsMariaDBSource() (*MariaDBSource, bool) {
70721	return nil, false
70722}
70723
70724// AsMagentoSource is the BasicCopySource implementation for PhoenixSource.
70725func (ps PhoenixSource) AsMagentoSource() (*MagentoSource, bool) {
70726	return nil, false
70727}
70728
70729// AsJiraSource is the BasicCopySource implementation for PhoenixSource.
70730func (ps PhoenixSource) AsJiraSource() (*JiraSource, bool) {
70731	return nil, false
70732}
70733
70734// AsImpalaSource is the BasicCopySource implementation for PhoenixSource.
70735func (ps PhoenixSource) AsImpalaSource() (*ImpalaSource, bool) {
70736	return nil, false
70737}
70738
70739// AsHubspotSource is the BasicCopySource implementation for PhoenixSource.
70740func (ps PhoenixSource) AsHubspotSource() (*HubspotSource, bool) {
70741	return nil, false
70742}
70743
70744// AsHiveSource is the BasicCopySource implementation for PhoenixSource.
70745func (ps PhoenixSource) AsHiveSource() (*HiveSource, bool) {
70746	return nil, false
70747}
70748
70749// AsHBaseSource is the BasicCopySource implementation for PhoenixSource.
70750func (ps PhoenixSource) AsHBaseSource() (*HBaseSource, bool) {
70751	return nil, false
70752}
70753
70754// AsGreenplumSource is the BasicCopySource implementation for PhoenixSource.
70755func (ps PhoenixSource) AsGreenplumSource() (*GreenplumSource, bool) {
70756	return nil, false
70757}
70758
70759// AsGoogleBigQuerySource is the BasicCopySource implementation for PhoenixSource.
70760func (ps PhoenixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
70761	return nil, false
70762}
70763
70764// AsEloquaSource is the BasicCopySource implementation for PhoenixSource.
70765func (ps PhoenixSource) AsEloquaSource() (*EloquaSource, bool) {
70766	return nil, false
70767}
70768
70769// AsDrillSource is the BasicCopySource implementation for PhoenixSource.
70770func (ps PhoenixSource) AsDrillSource() (*DrillSource, bool) {
70771	return nil, false
70772}
70773
70774// AsCouchbaseSource is the BasicCopySource implementation for PhoenixSource.
70775func (ps PhoenixSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
70776	return nil, false
70777}
70778
70779// AsConcurSource is the BasicCopySource implementation for PhoenixSource.
70780func (ps PhoenixSource) AsConcurSource() (*ConcurSource, bool) {
70781	return nil, false
70782}
70783
70784// AsAzurePostgreSQLSource is the BasicCopySource implementation for PhoenixSource.
70785func (ps PhoenixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
70786	return nil, false
70787}
70788
70789// AsAmazonMWSSource is the BasicCopySource implementation for PhoenixSource.
70790func (ps PhoenixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
70791	return nil, false
70792}
70793
70794// AsHTTPSource is the BasicCopySource implementation for PhoenixSource.
70795func (ps PhoenixSource) AsHTTPSource() (*HTTPSource, bool) {
70796	return nil, false
70797}
70798
70799// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PhoenixSource.
70800func (ps PhoenixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
70801	return nil, false
70802}
70803
70804// AsMongoDbSource is the BasicCopySource implementation for PhoenixSource.
70805func (ps PhoenixSource) AsMongoDbSource() (*MongoDbSource, bool) {
70806	return nil, false
70807}
70808
70809// AsCassandraSource is the BasicCopySource implementation for PhoenixSource.
70810func (ps PhoenixSource) AsCassandraSource() (*CassandraSource, bool) {
70811	return nil, false
70812}
70813
70814// AsWebSource is the BasicCopySource implementation for PhoenixSource.
70815func (ps PhoenixSource) AsWebSource() (*WebSource, bool) {
70816	return nil, false
70817}
70818
70819// AsOracleSource is the BasicCopySource implementation for PhoenixSource.
70820func (ps PhoenixSource) AsOracleSource() (*OracleSource, bool) {
70821	return nil, false
70822}
70823
70824// AsAzureMySQLSource is the BasicCopySource implementation for PhoenixSource.
70825func (ps PhoenixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
70826	return nil, false
70827}
70828
70829// AsHdfsSource is the BasicCopySource implementation for PhoenixSource.
70830func (ps PhoenixSource) AsHdfsSource() (*HdfsSource, bool) {
70831	return nil, false
70832}
70833
70834// AsFileSystemSource is the BasicCopySource implementation for PhoenixSource.
70835func (ps PhoenixSource) AsFileSystemSource() (*FileSystemSource, bool) {
70836	return nil, false
70837}
70838
70839// AsSQLDWSource is the BasicCopySource implementation for PhoenixSource.
70840func (ps PhoenixSource) AsSQLDWSource() (*SQLDWSource, bool) {
70841	return nil, false
70842}
70843
70844// AsSQLSource is the BasicCopySource implementation for PhoenixSource.
70845func (ps PhoenixSource) AsSQLSource() (*SQLSource, bool) {
70846	return nil, false
70847}
70848
70849// AsSapEccSource is the BasicCopySource implementation for PhoenixSource.
70850func (ps PhoenixSource) AsSapEccSource() (*SapEccSource, bool) {
70851	return nil, false
70852}
70853
70854// AsSapCloudForCustomerSource is the BasicCopySource implementation for PhoenixSource.
70855func (ps PhoenixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
70856	return nil, false
70857}
70858
70859// AsSalesforceSource is the BasicCopySource implementation for PhoenixSource.
70860func (ps PhoenixSource) AsSalesforceSource() (*SalesforceSource, bool) {
70861	return nil, false
70862}
70863
70864// AsRelationalSource is the BasicCopySource implementation for PhoenixSource.
70865func (ps PhoenixSource) AsRelationalSource() (*RelationalSource, bool) {
70866	return nil, false
70867}
70868
70869// AsDynamicsSource is the BasicCopySource implementation for PhoenixSource.
70870func (ps PhoenixSource) AsDynamicsSource() (*DynamicsSource, bool) {
70871	return nil, false
70872}
70873
70874// AsDocumentDbCollectionSource is the BasicCopySource implementation for PhoenixSource.
70875func (ps PhoenixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
70876	return nil, false
70877}
70878
70879// AsBlobSource is the BasicCopySource implementation for PhoenixSource.
70880func (ps PhoenixSource) AsBlobSource() (*BlobSource, bool) {
70881	return nil, false
70882}
70883
70884// AsAzureTableSource is the BasicCopySource implementation for PhoenixSource.
70885func (ps PhoenixSource) AsAzureTableSource() (*AzureTableSource, bool) {
70886	return nil, false
70887}
70888
70889// AsCopySource is the BasicCopySource implementation for PhoenixSource.
70890func (ps PhoenixSource) AsCopySource() (*CopySource, bool) {
70891	return nil, false
70892}
70893
70894// AsBasicCopySource is the BasicCopySource implementation for PhoenixSource.
70895func (ps PhoenixSource) AsBasicCopySource() (BasicCopySource, bool) {
70896	return &ps, true
70897}
70898
70899// UnmarshalJSON is the custom unmarshaler for PhoenixSource struct.
70900func (ps *PhoenixSource) UnmarshalJSON(body []byte) error {
70901	var m map[string]*json.RawMessage
70902	err := json.Unmarshal(body, &m)
70903	if err != nil {
70904		return err
70905	}
70906	for k, v := range m {
70907		switch k {
70908		case "query":
70909			if v != nil {
70910				var query interface{}
70911				err = json.Unmarshal(*v, &query)
70912				if err != nil {
70913					return err
70914				}
70915				ps.Query = query
70916			}
70917		default:
70918			if v != nil {
70919				var additionalProperties interface{}
70920				err = json.Unmarshal(*v, &additionalProperties)
70921				if err != nil {
70922					return err
70923				}
70924				if ps.AdditionalProperties == nil {
70925					ps.AdditionalProperties = make(map[string]interface{})
70926				}
70927				ps.AdditionalProperties[k] = additionalProperties
70928			}
70929		case "sourceRetryCount":
70930			if v != nil {
70931				var sourceRetryCount interface{}
70932				err = json.Unmarshal(*v, &sourceRetryCount)
70933				if err != nil {
70934					return err
70935				}
70936				ps.SourceRetryCount = sourceRetryCount
70937			}
70938		case "sourceRetryWait":
70939			if v != nil {
70940				var sourceRetryWait interface{}
70941				err = json.Unmarshal(*v, &sourceRetryWait)
70942				if err != nil {
70943					return err
70944				}
70945				ps.SourceRetryWait = sourceRetryWait
70946			}
70947		case "type":
70948			if v != nil {
70949				var typeVar TypeBasicCopySource
70950				err = json.Unmarshal(*v, &typeVar)
70951				if err != nil {
70952					return err
70953				}
70954				ps.Type = typeVar
70955			}
70956		}
70957	}
70958
70959	return nil
70960}
70961
70962// Pipeline a data factory pipeline.
70963type Pipeline struct {
70964	// Description - The description of the pipeline.
70965	Description *string `json:"description,omitempty"`
70966	// Activities - List of activities in pipeline.
70967	Activities *[]BasicActivity `json:"activities,omitempty"`
70968	// Parameters - List of parameters for pipeline.
70969	Parameters map[string]*ParameterSpecification `json:"parameters"`
70970	// Concurrency - The max number of concurrent runs for the pipeline.
70971	Concurrency *int32 `json:"concurrency,omitempty"`
70972	// Annotations - List of tags that can be used for describing the Pipeline.
70973	Annotations *[]interface{} `json:"annotations,omitempty"`
70974}
70975
70976// MarshalJSON is the custom marshaler for Pipeline.
70977func (p Pipeline) MarshalJSON() ([]byte, error) {
70978	objectMap := make(map[string]interface{})
70979	if p.Description != nil {
70980		objectMap["description"] = p.Description
70981	}
70982	if p.Activities != nil {
70983		objectMap["activities"] = p.Activities
70984	}
70985	if p.Parameters != nil {
70986		objectMap["parameters"] = p.Parameters
70987	}
70988	if p.Concurrency != nil {
70989		objectMap["concurrency"] = p.Concurrency
70990	}
70991	if p.Annotations != nil {
70992		objectMap["annotations"] = p.Annotations
70993	}
70994	return json.Marshal(objectMap)
70995}
70996
70997// UnmarshalJSON is the custom unmarshaler for Pipeline struct.
70998func (p *Pipeline) UnmarshalJSON(body []byte) error {
70999	var m map[string]*json.RawMessage
71000	err := json.Unmarshal(body, &m)
71001	if err != nil {
71002		return err
71003	}
71004	for k, v := range m {
71005		switch k {
71006		case "description":
71007			if v != nil {
71008				var description string
71009				err = json.Unmarshal(*v, &description)
71010				if err != nil {
71011					return err
71012				}
71013				p.Description = &description
71014			}
71015		case "activities":
71016			if v != nil {
71017				activities, err := unmarshalBasicActivityArray(*v)
71018				if err != nil {
71019					return err
71020				}
71021				p.Activities = &activities
71022			}
71023		case "parameters":
71024			if v != nil {
71025				var parameters map[string]*ParameterSpecification
71026				err = json.Unmarshal(*v, &parameters)
71027				if err != nil {
71028					return err
71029				}
71030				p.Parameters = parameters
71031			}
71032		case "concurrency":
71033			if v != nil {
71034				var concurrency int32
71035				err = json.Unmarshal(*v, &concurrency)
71036				if err != nil {
71037					return err
71038				}
71039				p.Concurrency = &concurrency
71040			}
71041		case "annotations":
71042			if v != nil {
71043				var annotations []interface{}
71044				err = json.Unmarshal(*v, &annotations)
71045				if err != nil {
71046					return err
71047				}
71048				p.Annotations = &annotations
71049			}
71050		}
71051	}
71052
71053	return nil
71054}
71055
71056// PipelineListResponse a list of pipeline resources.
71057type PipelineListResponse struct {
71058	autorest.Response `json:"-"`
71059	// Value - List of pipelines.
71060	Value *[]PipelineResource `json:"value,omitempty"`
71061	// NextLink - The link to the next page of results, if any remaining results exist.
71062	NextLink *string `json:"nextLink,omitempty"`
71063}
71064
71065// PipelineListResponseIterator provides access to a complete listing of PipelineResource values.
71066type PipelineListResponseIterator struct {
71067	i    int
71068	page PipelineListResponsePage
71069}
71070
71071// NextWithContext advances to the next value.  If there was an error making
71072// the request the iterator does not advance and the error is returned.
71073func (iter *PipelineListResponseIterator) NextWithContext(ctx context.Context) (err error) {
71074	if tracing.IsEnabled() {
71075		ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponseIterator.NextWithContext")
71076		defer func() {
71077			sc := -1
71078			if iter.Response().Response.Response != nil {
71079				sc = iter.Response().Response.Response.StatusCode
71080			}
71081			tracing.EndSpan(ctx, sc, err)
71082		}()
71083	}
71084	iter.i++
71085	if iter.i < len(iter.page.Values()) {
71086		return nil
71087	}
71088	err = iter.page.NextWithContext(ctx)
71089	if err != nil {
71090		iter.i--
71091		return err
71092	}
71093	iter.i = 0
71094	return nil
71095}
71096
71097// Next advances to the next value.  If there was an error making
71098// the request the iterator does not advance and the error is returned.
71099// Deprecated: Use NextWithContext() instead.
71100func (iter *PipelineListResponseIterator) Next() error {
71101	return iter.NextWithContext(context.Background())
71102}
71103
71104// NotDone returns true if the enumeration should be started or is not yet complete.
71105func (iter PipelineListResponseIterator) NotDone() bool {
71106	return iter.page.NotDone() && iter.i < len(iter.page.Values())
71107}
71108
71109// Response returns the raw server response from the last page request.
71110func (iter PipelineListResponseIterator) Response() PipelineListResponse {
71111	return iter.page.Response()
71112}
71113
71114// Value returns the current value or a zero-initialized value if the
71115// iterator has advanced beyond the end of the collection.
71116func (iter PipelineListResponseIterator) Value() PipelineResource {
71117	if !iter.page.NotDone() {
71118		return PipelineResource{}
71119	}
71120	return iter.page.Values()[iter.i]
71121}
71122
71123// Creates a new instance of the PipelineListResponseIterator type.
71124func NewPipelineListResponseIterator(page PipelineListResponsePage) PipelineListResponseIterator {
71125	return PipelineListResponseIterator{page: page}
71126}
71127
71128// IsEmpty returns true if the ListResult contains no values.
71129func (plr PipelineListResponse) IsEmpty() bool {
71130	return plr.Value == nil || len(*plr.Value) == 0
71131}
71132
71133// hasNextLink returns true if the NextLink is not empty.
71134func (plr PipelineListResponse) hasNextLink() bool {
71135	return plr.NextLink != nil && len(*plr.NextLink) != 0
71136}
71137
71138// pipelineListResponsePreparer prepares a request to retrieve the next set of results.
71139// It returns nil if no more results exist.
71140func (plr PipelineListResponse) pipelineListResponsePreparer(ctx context.Context) (*http.Request, error) {
71141	if !plr.hasNextLink() {
71142		return nil, nil
71143	}
71144	return autorest.Prepare((&http.Request{}).WithContext(ctx),
71145		autorest.AsJSON(),
71146		autorest.AsGet(),
71147		autorest.WithBaseURL(to.String(plr.NextLink)))
71148}
71149
71150// PipelineListResponsePage contains a page of PipelineResource values.
71151type PipelineListResponsePage struct {
71152	fn  func(context.Context, PipelineListResponse) (PipelineListResponse, error)
71153	plr PipelineListResponse
71154}
71155
71156// NextWithContext advances to the next page of values.  If there was an error making
71157// the request the page does not advance and the error is returned.
71158func (page *PipelineListResponsePage) NextWithContext(ctx context.Context) (err error) {
71159	if tracing.IsEnabled() {
71160		ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponsePage.NextWithContext")
71161		defer func() {
71162			sc := -1
71163			if page.Response().Response.Response != nil {
71164				sc = page.Response().Response.Response.StatusCode
71165			}
71166			tracing.EndSpan(ctx, sc, err)
71167		}()
71168	}
71169	for {
71170		next, err := page.fn(ctx, page.plr)
71171		if err != nil {
71172			return err
71173		}
71174		page.plr = next
71175		if !next.hasNextLink() || !next.IsEmpty() {
71176			break
71177		}
71178	}
71179	return nil
71180}
71181
71182// Next advances to the next page of values.  If there was an error making
71183// the request the page does not advance and the error is returned.
71184// Deprecated: Use NextWithContext() instead.
71185func (page *PipelineListResponsePage) Next() error {
71186	return page.NextWithContext(context.Background())
71187}
71188
71189// NotDone returns true if the page enumeration should be started or is not yet complete.
71190func (page PipelineListResponsePage) NotDone() bool {
71191	return !page.plr.IsEmpty()
71192}
71193
71194// Response returns the raw server response from the last page request.
71195func (page PipelineListResponsePage) Response() PipelineListResponse {
71196	return page.plr
71197}
71198
71199// Values returns the slice of values for the current page or nil if there are no values.
71200func (page PipelineListResponsePage) Values() []PipelineResource {
71201	if page.plr.IsEmpty() {
71202		return nil
71203	}
71204	return *page.plr.Value
71205}
71206
71207// Creates a new instance of the PipelineListResponsePage type.
71208func NewPipelineListResponsePage(cur PipelineListResponse, getNextPage func(context.Context, PipelineListResponse) (PipelineListResponse, error)) PipelineListResponsePage {
71209	return PipelineListResponsePage{
71210		fn:  getNextPage,
71211		plr: cur,
71212	}
71213}
71214
71215// PipelineReference pipeline reference type.
71216type PipelineReference struct {
71217	// Type - Pipeline reference type.
71218	Type *string `json:"type,omitempty"`
71219	// ReferenceName - Reference pipeline name.
71220	ReferenceName *string `json:"referenceName,omitempty"`
71221	// Name - Reference name.
71222	Name *string `json:"name,omitempty"`
71223}
71224
71225// PipelineResource pipeline resource type.
71226type PipelineResource struct {
71227	autorest.Response `json:"-"`
71228	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71229	AdditionalProperties map[string]interface{} `json:""`
71230	// Pipeline - Properties of the pipeline.
71231	*Pipeline `json:"properties,omitempty"`
71232	// ID - READ-ONLY; The resource identifier.
71233	ID *string `json:"id,omitempty"`
71234	// Name - READ-ONLY; The resource name.
71235	Name *string `json:"name,omitempty"`
71236	// Type - READ-ONLY; The resource type.
71237	Type *string `json:"type,omitempty"`
71238	// Etag - READ-ONLY; Etag identifies change in the resource.
71239	Etag *string `json:"etag,omitempty"`
71240}
71241
71242// MarshalJSON is the custom marshaler for PipelineResource.
71243func (pr PipelineResource) MarshalJSON() ([]byte, error) {
71244	objectMap := make(map[string]interface{})
71245	if pr.Pipeline != nil {
71246		objectMap["properties"] = pr.Pipeline
71247	}
71248	for k, v := range pr.AdditionalProperties {
71249		objectMap[k] = v
71250	}
71251	return json.Marshal(objectMap)
71252}
71253
71254// UnmarshalJSON is the custom unmarshaler for PipelineResource struct.
71255func (pr *PipelineResource) UnmarshalJSON(body []byte) error {
71256	var m map[string]*json.RawMessage
71257	err := json.Unmarshal(body, &m)
71258	if err != nil {
71259		return err
71260	}
71261	for k, v := range m {
71262		switch k {
71263		default:
71264			if v != nil {
71265				var additionalProperties interface{}
71266				err = json.Unmarshal(*v, &additionalProperties)
71267				if err != nil {
71268					return err
71269				}
71270				if pr.AdditionalProperties == nil {
71271					pr.AdditionalProperties = make(map[string]interface{})
71272				}
71273				pr.AdditionalProperties[k] = additionalProperties
71274			}
71275		case "properties":
71276			if v != nil {
71277				var pipeline Pipeline
71278				err = json.Unmarshal(*v, &pipeline)
71279				if err != nil {
71280					return err
71281				}
71282				pr.Pipeline = &pipeline
71283			}
71284		case "id":
71285			if v != nil {
71286				var ID string
71287				err = json.Unmarshal(*v, &ID)
71288				if err != nil {
71289					return err
71290				}
71291				pr.ID = &ID
71292			}
71293		case "name":
71294			if v != nil {
71295				var name string
71296				err = json.Unmarshal(*v, &name)
71297				if err != nil {
71298					return err
71299				}
71300				pr.Name = &name
71301			}
71302		case "type":
71303			if v != nil {
71304				var typeVar string
71305				err = json.Unmarshal(*v, &typeVar)
71306				if err != nil {
71307					return err
71308				}
71309				pr.Type = &typeVar
71310			}
71311		case "etag":
71312			if v != nil {
71313				var etag string
71314				err = json.Unmarshal(*v, &etag)
71315				if err != nil {
71316					return err
71317				}
71318				pr.Etag = &etag
71319			}
71320		}
71321	}
71322
71323	return nil
71324}
71325
71326// PipelineRun information about a pipeline run.
71327type PipelineRun struct {
71328	autorest.Response `json:"-"`
71329	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71330	AdditionalProperties map[string]interface{} `json:""`
71331	// RunID - READ-ONLY; Identifier of a run.
71332	RunID *string `json:"runId,omitempty"`
71333	// PipelineName - READ-ONLY; The pipeline name.
71334	PipelineName *string `json:"pipelineName,omitempty"`
71335	// Parameters - READ-ONLY; The full or partial list of parameter name, value pair used in the pipeline run.
71336	Parameters map[string]*string `json:"parameters"`
71337	// InvokedBy - READ-ONLY; Entity that started the pipeline run.
71338	InvokedBy *PipelineRunInvokedBy `json:"invokedBy,omitempty"`
71339	// LastUpdated - READ-ONLY; The last updated timestamp for the pipeline run event in ISO8601 format.
71340	LastUpdated *date.Time `json:"lastUpdated,omitempty"`
71341	// RunStart - READ-ONLY; The start time of a pipeline run in ISO8601 format.
71342	RunStart *date.Time `json:"runStart,omitempty"`
71343	// RunEnd - READ-ONLY; The end time of a pipeline run in ISO8601 format.
71344	RunEnd *date.Time `json:"runEnd,omitempty"`
71345	// DurationInMs - READ-ONLY; The duration of a pipeline run.
71346	DurationInMs *int32 `json:"durationInMs,omitempty"`
71347	// Status - READ-ONLY; The status of a pipeline run.
71348	Status *string `json:"status,omitempty"`
71349	// Message - READ-ONLY; The message from a pipeline run.
71350	Message *string `json:"message,omitempty"`
71351}
71352
71353// MarshalJSON is the custom marshaler for PipelineRun.
71354func (pr PipelineRun) MarshalJSON() ([]byte, error) {
71355	objectMap := make(map[string]interface{})
71356	for k, v := range pr.AdditionalProperties {
71357		objectMap[k] = v
71358	}
71359	return json.Marshal(objectMap)
71360}
71361
71362// UnmarshalJSON is the custom unmarshaler for PipelineRun struct.
71363func (pr *PipelineRun) UnmarshalJSON(body []byte) error {
71364	var m map[string]*json.RawMessage
71365	err := json.Unmarshal(body, &m)
71366	if err != nil {
71367		return err
71368	}
71369	for k, v := range m {
71370		switch k {
71371		default:
71372			if v != nil {
71373				var additionalProperties interface{}
71374				err = json.Unmarshal(*v, &additionalProperties)
71375				if err != nil {
71376					return err
71377				}
71378				if pr.AdditionalProperties == nil {
71379					pr.AdditionalProperties = make(map[string]interface{})
71380				}
71381				pr.AdditionalProperties[k] = additionalProperties
71382			}
71383		case "runId":
71384			if v != nil {
71385				var runID string
71386				err = json.Unmarshal(*v, &runID)
71387				if err != nil {
71388					return err
71389				}
71390				pr.RunID = &runID
71391			}
71392		case "pipelineName":
71393			if v != nil {
71394				var pipelineName string
71395				err = json.Unmarshal(*v, &pipelineName)
71396				if err != nil {
71397					return err
71398				}
71399				pr.PipelineName = &pipelineName
71400			}
71401		case "parameters":
71402			if v != nil {
71403				var parameters map[string]*string
71404				err = json.Unmarshal(*v, &parameters)
71405				if err != nil {
71406					return err
71407				}
71408				pr.Parameters = parameters
71409			}
71410		case "invokedBy":
71411			if v != nil {
71412				var invokedBy PipelineRunInvokedBy
71413				err = json.Unmarshal(*v, &invokedBy)
71414				if err != nil {
71415					return err
71416				}
71417				pr.InvokedBy = &invokedBy
71418			}
71419		case "lastUpdated":
71420			if v != nil {
71421				var lastUpdated date.Time
71422				err = json.Unmarshal(*v, &lastUpdated)
71423				if err != nil {
71424					return err
71425				}
71426				pr.LastUpdated = &lastUpdated
71427			}
71428		case "runStart":
71429			if v != nil {
71430				var runStart date.Time
71431				err = json.Unmarshal(*v, &runStart)
71432				if err != nil {
71433					return err
71434				}
71435				pr.RunStart = &runStart
71436			}
71437		case "runEnd":
71438			if v != nil {
71439				var runEnd date.Time
71440				err = json.Unmarshal(*v, &runEnd)
71441				if err != nil {
71442					return err
71443				}
71444				pr.RunEnd = &runEnd
71445			}
71446		case "durationInMs":
71447			if v != nil {
71448				var durationInMs int32
71449				err = json.Unmarshal(*v, &durationInMs)
71450				if err != nil {
71451					return err
71452				}
71453				pr.DurationInMs = &durationInMs
71454			}
71455		case "status":
71456			if v != nil {
71457				var status string
71458				err = json.Unmarshal(*v, &status)
71459				if err != nil {
71460					return err
71461				}
71462				pr.Status = &status
71463			}
71464		case "message":
71465			if v != nil {
71466				var message string
71467				err = json.Unmarshal(*v, &message)
71468				if err != nil {
71469					return err
71470				}
71471				pr.Message = &message
71472			}
71473		}
71474	}
71475
71476	return nil
71477}
71478
71479// PipelineRunFilterParameters query parameters for listing pipeline runs.
71480type PipelineRunFilterParameters struct {
71481	// ContinuationToken - The continuation token for getting the next page of results. Null for first page.
71482	ContinuationToken *string `json:"continuationToken,omitempty"`
71483	// LastUpdatedAfter - The time at or after which the pipeline run event was updated in 'ISO 8601' format.
71484	LastUpdatedAfter *date.Time `json:"lastUpdatedAfter,omitempty"`
71485	// LastUpdatedBefore - The time at or before which the pipeline run event was updated in 'ISO 8601' format.
71486	LastUpdatedBefore *date.Time `json:"lastUpdatedBefore,omitempty"`
71487	// Filters - List of filters.
71488	Filters *[]PipelineRunQueryFilter `json:"filters,omitempty"`
71489	// OrderBy - List of OrderBy option.
71490	OrderBy *[]PipelineRunQueryOrderBy `json:"orderBy,omitempty"`
71491}
71492
71493// PipelineRunInvokedBy provides entity name and id that started the pipeline run.
71494type PipelineRunInvokedBy struct {
71495	// Name - READ-ONLY; Name of the entity that started the pipeline run.
71496	Name *string `json:"name,omitempty"`
71497	// ID - READ-ONLY; The ID of the entity that started the run.
71498	ID *string `json:"id,omitempty"`
71499}
71500
71501// PipelineRunQueryFilter query filter option for listing pipeline runs.
71502type PipelineRunQueryFilter struct {
71503	// Operand - Parameter name to be used for filter. Possible values include: 'PipelineName', 'Status', 'RunStart', 'RunEnd'
71504	Operand PipelineRunQueryFilterOperand `json:"operand,omitempty"`
71505	// Operator - Operator to be used for filter. Possible values include: 'Equals', 'NotEquals', 'In', 'NotIn'
71506	Operator PipelineRunQueryFilterOperator `json:"operator,omitempty"`
71507	// Values - List of filter values.
71508	Values *[]string `json:"values,omitempty"`
71509}
71510
71511// PipelineRunQueryOrderBy an object to provide order by options for listing pipeline runs.
71512type PipelineRunQueryOrderBy struct {
71513	// OrderBy - Parameter name to be used for order by. Possible values include: 'PipelineRunQueryOrderByFieldRunStart', 'PipelineRunQueryOrderByFieldRunEnd'
71514	OrderBy PipelineRunQueryOrderByField `json:"orderBy,omitempty"`
71515	// Order - Sorting order of the parameter. Possible values include: 'ASC', 'DESC'
71516	Order PipelineRunQueryOrder `json:"order,omitempty"`
71517}
71518
71519// PipelineRunQueryResponse a list pipeline runs.
71520type PipelineRunQueryResponse struct {
71521	autorest.Response `json:"-"`
71522	// Value - List of pipeline runs.
71523	Value *[]PipelineRun `json:"value,omitempty"`
71524	// ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
71525	ContinuationToken *string `json:"continuationToken,omitempty"`
71526}
71527
71528// PolybaseSettings polyBase settings.
71529type PolybaseSettings struct {
71530	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71531	AdditionalProperties map[string]interface{} `json:""`
71532	// RejectType - Reject type.
71533	RejectType interface{} `json:"rejectType,omitempty"`
71534	// 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.
71535	RejectValue interface{} `json:"rejectValue,omitempty"`
71536	// 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.
71537	RejectSampleValue interface{} `json:"rejectSampleValue,omitempty"`
71538	// 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).
71539	UseTypeDefault interface{} `json:"useTypeDefault,omitempty"`
71540}
71541
71542// MarshalJSON is the custom marshaler for PolybaseSettings.
71543func (ps PolybaseSettings) MarshalJSON() ([]byte, error) {
71544	objectMap := make(map[string]interface{})
71545	if ps.RejectType != nil {
71546		objectMap["rejectType"] = ps.RejectType
71547	}
71548	if ps.RejectValue != nil {
71549		objectMap["rejectValue"] = ps.RejectValue
71550	}
71551	if ps.RejectSampleValue != nil {
71552		objectMap["rejectSampleValue"] = ps.RejectSampleValue
71553	}
71554	if ps.UseTypeDefault != nil {
71555		objectMap["useTypeDefault"] = ps.UseTypeDefault
71556	}
71557	for k, v := range ps.AdditionalProperties {
71558		objectMap[k] = v
71559	}
71560	return json.Marshal(objectMap)
71561}
71562
71563// UnmarshalJSON is the custom unmarshaler for PolybaseSettings struct.
71564func (ps *PolybaseSettings) UnmarshalJSON(body []byte) error {
71565	var m map[string]*json.RawMessage
71566	err := json.Unmarshal(body, &m)
71567	if err != nil {
71568		return err
71569	}
71570	for k, v := range m {
71571		switch k {
71572		default:
71573			if v != nil {
71574				var additionalProperties interface{}
71575				err = json.Unmarshal(*v, &additionalProperties)
71576				if err != nil {
71577					return err
71578				}
71579				if ps.AdditionalProperties == nil {
71580					ps.AdditionalProperties = make(map[string]interface{})
71581				}
71582				ps.AdditionalProperties[k] = additionalProperties
71583			}
71584		case "rejectType":
71585			if v != nil {
71586				var rejectType interface{}
71587				err = json.Unmarshal(*v, &rejectType)
71588				if err != nil {
71589					return err
71590				}
71591				ps.RejectType = rejectType
71592			}
71593		case "rejectValue":
71594			if v != nil {
71595				var rejectValue interface{}
71596				err = json.Unmarshal(*v, &rejectValue)
71597				if err != nil {
71598					return err
71599				}
71600				ps.RejectValue = rejectValue
71601			}
71602		case "rejectSampleValue":
71603			if v != nil {
71604				var rejectSampleValue interface{}
71605				err = json.Unmarshal(*v, &rejectSampleValue)
71606				if err != nil {
71607					return err
71608				}
71609				ps.RejectSampleValue = rejectSampleValue
71610			}
71611		case "useTypeDefault":
71612			if v != nil {
71613				var useTypeDefault interface{}
71614				err = json.Unmarshal(*v, &useTypeDefault)
71615				if err != nil {
71616					return err
71617				}
71618				ps.UseTypeDefault = useTypeDefault
71619			}
71620		}
71621	}
71622
71623	return nil
71624}
71625
71626// PostgreSQLLinkedService linked service for PostgreSQL data source.
71627type PostgreSQLLinkedService struct {
71628	// PostgreSQLLinkedServiceTypeProperties - PostgreSQL linked service properties.
71629	*PostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
71630	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71631	AdditionalProperties map[string]interface{} `json:""`
71632	// ConnectVia - The integration runtime reference.
71633	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
71634	// Description - Linked service description.
71635	Description *string `json:"description,omitempty"`
71636	// Parameters - Parameters for linked service.
71637	Parameters map[string]*ParameterSpecification `json:"parameters"`
71638	// Annotations - List of tags that can be used for describing the Dataset.
71639	Annotations *[]interface{} `json:"annotations,omitempty"`
71640	// 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'
71641	Type TypeBasicLinkedService `json:"type,omitempty"`
71642}
71643
71644// MarshalJSON is the custom marshaler for PostgreSQLLinkedService.
71645func (psls PostgreSQLLinkedService) MarshalJSON() ([]byte, error) {
71646	psls.Type = TypePostgreSQL
71647	objectMap := make(map[string]interface{})
71648	if psls.PostgreSQLLinkedServiceTypeProperties != nil {
71649		objectMap["typeProperties"] = psls.PostgreSQLLinkedServiceTypeProperties
71650	}
71651	if psls.ConnectVia != nil {
71652		objectMap["connectVia"] = psls.ConnectVia
71653	}
71654	if psls.Description != nil {
71655		objectMap["description"] = psls.Description
71656	}
71657	if psls.Parameters != nil {
71658		objectMap["parameters"] = psls.Parameters
71659	}
71660	if psls.Annotations != nil {
71661		objectMap["annotations"] = psls.Annotations
71662	}
71663	if psls.Type != "" {
71664		objectMap["type"] = psls.Type
71665	}
71666	for k, v := range psls.AdditionalProperties {
71667		objectMap[k] = v
71668	}
71669	return json.Marshal(objectMap)
71670}
71671
71672// AsResponsysLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71673func (psls PostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
71674	return nil, false
71675}
71676
71677// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71678func (psls PostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
71679	return nil, false
71680}
71681
71682// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71683func (psls PostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
71684	return nil, false
71685}
71686
71687// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71688func (psls PostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
71689	return nil, false
71690}
71691
71692// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71693func (psls PostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
71694	return nil, false
71695}
71696
71697// AsNetezzaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71698func (psls PostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
71699	return nil, false
71700}
71701
71702// AsVerticaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71703func (psls PostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
71704	return nil, false
71705}
71706
71707// AsZohoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71708func (psls PostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
71709	return nil, false
71710}
71711
71712// AsXeroLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71713func (psls PostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
71714	return nil, false
71715}
71716
71717// AsSquareLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71718func (psls PostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
71719	return nil, false
71720}
71721
71722// AsSparkLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71723func (psls PostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
71724	return nil, false
71725}
71726
71727// AsShopifyLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71728func (psls PostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
71729	return nil, false
71730}
71731
71732// AsServiceNowLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71733func (psls PostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
71734	return nil, false
71735}
71736
71737// AsQuickBooksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71738func (psls PostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
71739	return nil, false
71740}
71741
71742// AsPrestoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71743func (psls PostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
71744	return nil, false
71745}
71746
71747// AsPhoenixLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71748func (psls PostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
71749	return nil, false
71750}
71751
71752// AsPaypalLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71753func (psls PostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
71754	return nil, false
71755}
71756
71757// AsMarketoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71758func (psls PostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
71759	return nil, false
71760}
71761
71762// AsMariaDBLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71763func (psls PostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
71764	return nil, false
71765}
71766
71767// AsMagentoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71768func (psls PostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
71769	return nil, false
71770}
71771
71772// AsJiraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71773func (psls PostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
71774	return nil, false
71775}
71776
71777// AsImpalaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71778func (psls PostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
71779	return nil, false
71780}
71781
71782// AsHubspotLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71783func (psls PostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
71784	return nil, false
71785}
71786
71787// AsHiveLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71788func (psls PostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
71789	return nil, false
71790}
71791
71792// AsHBaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71793func (psls PostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
71794	return nil, false
71795}
71796
71797// AsGreenplumLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71798func (psls PostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
71799	return nil, false
71800}
71801
71802// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71803func (psls PostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
71804	return nil, false
71805}
71806
71807// AsEloquaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71808func (psls PostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
71809	return nil, false
71810}
71811
71812// AsDrillLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71813func (psls PostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
71814	return nil, false
71815}
71816
71817// AsCouchbaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71818func (psls PostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
71819	return nil, false
71820}
71821
71822// AsConcurLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71823func (psls PostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
71824	return nil, false
71825}
71826
71827// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71828func (psls PostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
71829	return nil, false
71830}
71831
71832// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71833func (psls PostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
71834	return nil, false
71835}
71836
71837// AsSapHanaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71838func (psls PostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
71839	return nil, false
71840}
71841
71842// AsSapBWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71843func (psls PostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
71844	return nil, false
71845}
71846
71847// AsSftpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71848func (psls PostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
71849	return nil, false
71850}
71851
71852// AsFtpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71853func (psls PostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
71854	return nil, false
71855}
71856
71857// AsHTTPLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71858func (psls PostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
71859	return nil, false
71860}
71861
71862// AsAzureSearchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71863func (psls PostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
71864	return nil, false
71865}
71866
71867// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71868func (psls PostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
71869	return nil, false
71870}
71871
71872// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71873func (psls PostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
71874	return nil, false
71875}
71876
71877// AsAmazonS3LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71878func (psls PostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
71879	return nil, false
71880}
71881
71882// AsSapEccLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71883func (psls PostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
71884	return nil, false
71885}
71886
71887// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71888func (psls PostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
71889	return nil, false
71890}
71891
71892// AsSalesforceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71893func (psls PostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
71894	return nil, false
71895}
71896
71897// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71898func (psls PostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
71899	return nil, false
71900}
71901
71902// AsMongoDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71903func (psls PostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
71904	return nil, false
71905}
71906
71907// AsCassandraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71908func (psls PostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
71909	return nil, false
71910}
71911
71912// AsWebLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71913func (psls PostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
71914	return nil, false
71915}
71916
71917// AsODataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71918func (psls PostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
71919	return nil, false
71920}
71921
71922// AsHdfsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71923func (psls PostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
71924	return nil, false
71925}
71926
71927// AsOdbcLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71928func (psls PostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
71929	return nil, false
71930}
71931
71932// AsAzureMLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71933func (psls PostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
71934	return nil, false
71935}
71936
71937// AsTeradataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71938func (psls PostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
71939	return nil, false
71940}
71941
71942// AsDb2LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71943func (psls PostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
71944	return nil, false
71945}
71946
71947// AsSybaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71948func (psls PostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
71949	return nil, false
71950}
71951
71952// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71953func (psls PostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
71954	return &psls, true
71955}
71956
71957// AsMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71958func (psls PostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
71959	return nil, false
71960}
71961
71962// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71963func (psls PostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
71964	return nil, false
71965}
71966
71967// AsOracleLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71968func (psls PostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
71969	return nil, false
71970}
71971
71972// AsFileServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71973func (psls PostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
71974	return nil, false
71975}
71976
71977// AsHDInsightLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71978func (psls PostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
71979	return nil, false
71980}
71981
71982// AsDynamicsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71983func (psls PostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
71984	return nil, false
71985}
71986
71987// AsCosmosDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71988func (psls PostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
71989	return nil, false
71990}
71991
71992// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71993func (psls PostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
71994	return nil, false
71995}
71996
71997// AsAzureBatchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
71998func (psls PostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
71999	return nil, false
72000}
72001
72002// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72003func (psls PostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
72004	return nil, false
72005}
72006
72007// AsSQLServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72008func (psls PostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
72009	return nil, false
72010}
72011
72012// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72013func (psls PostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
72014	return nil, false
72015}
72016
72017// AsAzureStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72018func (psls PostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
72019	return nil, false
72020}
72021
72022// AsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72023func (psls PostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) {
72024	return nil, false
72025}
72026
72027// AsBasicLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
72028func (psls PostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
72029	return &psls, true
72030}
72031
72032// UnmarshalJSON is the custom unmarshaler for PostgreSQLLinkedService struct.
72033func (psls *PostgreSQLLinkedService) UnmarshalJSON(body []byte) error {
72034	var m map[string]*json.RawMessage
72035	err := json.Unmarshal(body, &m)
72036	if err != nil {
72037		return err
72038	}
72039	for k, v := range m {
72040		switch k {
72041		case "typeProperties":
72042			if v != nil {
72043				var postgreSQLLinkedServiceTypeProperties PostgreSQLLinkedServiceTypeProperties
72044				err = json.Unmarshal(*v, &postgreSQLLinkedServiceTypeProperties)
72045				if err != nil {
72046					return err
72047				}
72048				psls.PostgreSQLLinkedServiceTypeProperties = &postgreSQLLinkedServiceTypeProperties
72049			}
72050		default:
72051			if v != nil {
72052				var additionalProperties interface{}
72053				err = json.Unmarshal(*v, &additionalProperties)
72054				if err != nil {
72055					return err
72056				}
72057				if psls.AdditionalProperties == nil {
72058					psls.AdditionalProperties = make(map[string]interface{})
72059				}
72060				psls.AdditionalProperties[k] = additionalProperties
72061			}
72062		case "connectVia":
72063			if v != nil {
72064				var connectVia IntegrationRuntimeReference
72065				err = json.Unmarshal(*v, &connectVia)
72066				if err != nil {
72067					return err
72068				}
72069				psls.ConnectVia = &connectVia
72070			}
72071		case "description":
72072			if v != nil {
72073				var description string
72074				err = json.Unmarshal(*v, &description)
72075				if err != nil {
72076					return err
72077				}
72078				psls.Description = &description
72079			}
72080		case "parameters":
72081			if v != nil {
72082				var parameters map[string]*ParameterSpecification
72083				err = json.Unmarshal(*v, &parameters)
72084				if err != nil {
72085					return err
72086				}
72087				psls.Parameters = parameters
72088			}
72089		case "annotations":
72090			if v != nil {
72091				var annotations []interface{}
72092				err = json.Unmarshal(*v, &annotations)
72093				if err != nil {
72094					return err
72095				}
72096				psls.Annotations = &annotations
72097			}
72098		case "type":
72099			if v != nil {
72100				var typeVar TypeBasicLinkedService
72101				err = json.Unmarshal(*v, &typeVar)
72102				if err != nil {
72103					return err
72104				}
72105				psls.Type = typeVar
72106			}
72107		}
72108	}
72109
72110	return nil
72111}
72112
72113// PostgreSQLLinkedServiceTypeProperties postgreSQL linked service properties.
72114type PostgreSQLLinkedServiceTypeProperties struct {
72115	// ConnectionString - The connection string.
72116	ConnectionString BasicSecretBase `json:"connectionString,omitempty"`
72117	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
72118	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
72119}
72120
72121// UnmarshalJSON is the custom unmarshaler for PostgreSQLLinkedServiceTypeProperties struct.
72122func (pslstp *PostgreSQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
72123	var m map[string]*json.RawMessage
72124	err := json.Unmarshal(body, &m)
72125	if err != nil {
72126		return err
72127	}
72128	for k, v := range m {
72129		switch k {
72130		case "connectionString":
72131			if v != nil {
72132				connectionString, err := unmarshalBasicSecretBase(*v)
72133				if err != nil {
72134					return err
72135				}
72136				pslstp.ConnectionString = connectionString
72137			}
72138		case "encryptedCredential":
72139			if v != nil {
72140				var encryptedCredential interface{}
72141				err = json.Unmarshal(*v, &encryptedCredential)
72142				if err != nil {
72143					return err
72144				}
72145				pslstp.EncryptedCredential = encryptedCredential
72146			}
72147		}
72148	}
72149
72150	return nil
72151}
72152
72153// PrestoLinkedService presto server linked service.
72154type PrestoLinkedService struct {
72155	// PrestoLinkedServiceTypeProperties - Presto server linked service properties.
72156	*PrestoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
72157	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
72158	AdditionalProperties map[string]interface{} `json:""`
72159	// ConnectVia - The integration runtime reference.
72160	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
72161	// Description - Linked service description.
72162	Description *string `json:"description,omitempty"`
72163	// Parameters - Parameters for linked service.
72164	Parameters map[string]*ParameterSpecification `json:"parameters"`
72165	// Annotations - List of tags that can be used for describing the Dataset.
72166	Annotations *[]interface{} `json:"annotations,omitempty"`
72167	// 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'
72168	Type TypeBasicLinkedService `json:"type,omitempty"`
72169}
72170
72171// MarshalJSON is the custom marshaler for PrestoLinkedService.
72172func (pls PrestoLinkedService) MarshalJSON() ([]byte, error) {
72173	pls.Type = TypePresto
72174	objectMap := make(map[string]interface{})
72175	if pls.PrestoLinkedServiceTypeProperties != nil {
72176		objectMap["typeProperties"] = pls.PrestoLinkedServiceTypeProperties
72177	}
72178	if pls.ConnectVia != nil {
72179		objectMap["connectVia"] = pls.ConnectVia
72180	}
72181	if pls.Description != nil {
72182		objectMap["description"] = pls.Description
72183	}
72184	if pls.Parameters != nil {
72185		objectMap["parameters"] = pls.Parameters
72186	}
72187	if pls.Annotations != nil {
72188		objectMap["annotations"] = pls.Annotations
72189	}
72190	if pls.Type != "" {
72191		objectMap["type"] = pls.Type
72192	}
72193	for k, v := range pls.AdditionalProperties {
72194		objectMap[k] = v
72195	}
72196	return json.Marshal(objectMap)
72197}
72198
72199// AsResponsysLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72200func (pls PrestoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
72201	return nil, false
72202}
72203
72204// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72205func (pls PrestoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
72206	return nil, false
72207}
72208
72209// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72210func (pls PrestoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
72211	return nil, false
72212}
72213
72214// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72215func (pls PrestoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
72216	return nil, false
72217}
72218
72219// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72220func (pls PrestoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
72221	return nil, false
72222}
72223
72224// AsNetezzaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72225func (pls PrestoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
72226	return nil, false
72227}
72228
72229// AsVerticaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72230func (pls PrestoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
72231	return nil, false
72232}
72233
72234// AsZohoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72235func (pls PrestoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
72236	return nil, false
72237}
72238
72239// AsXeroLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72240func (pls PrestoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
72241	return nil, false
72242}
72243
72244// AsSquareLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72245func (pls PrestoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
72246	return nil, false
72247}
72248
72249// AsSparkLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72250func (pls PrestoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
72251	return nil, false
72252}
72253
72254// AsShopifyLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72255func (pls PrestoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
72256	return nil, false
72257}
72258
72259// AsServiceNowLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72260func (pls PrestoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
72261	return nil, false
72262}
72263
72264// AsQuickBooksLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72265func (pls PrestoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
72266	return nil, false
72267}
72268
72269// AsPrestoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72270func (pls PrestoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
72271	return &pls, true
72272}
72273
72274// AsPhoenixLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72275func (pls PrestoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
72276	return nil, false
72277}
72278
72279// AsPaypalLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72280func (pls PrestoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
72281	return nil, false
72282}
72283
72284// AsMarketoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72285func (pls PrestoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
72286	return nil, false
72287}
72288
72289// AsMariaDBLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72290func (pls PrestoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
72291	return nil, false
72292}
72293
72294// AsMagentoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72295func (pls PrestoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
72296	return nil, false
72297}
72298
72299// AsJiraLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72300func (pls PrestoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
72301	return nil, false
72302}
72303
72304// AsImpalaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72305func (pls PrestoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
72306	return nil, false
72307}
72308
72309// AsHubspotLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72310func (pls PrestoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
72311	return nil, false
72312}
72313
72314// AsHiveLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72315func (pls PrestoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
72316	return nil, false
72317}
72318
72319// AsHBaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72320func (pls PrestoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
72321	return nil, false
72322}
72323
72324// AsGreenplumLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72325func (pls PrestoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
72326	return nil, false
72327}
72328
72329// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72330func (pls PrestoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
72331	return nil, false
72332}
72333
72334// AsEloquaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72335func (pls PrestoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
72336	return nil, false
72337}
72338
72339// AsDrillLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72340func (pls PrestoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
72341	return nil, false
72342}
72343
72344// AsCouchbaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72345func (pls PrestoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
72346	return nil, false
72347}
72348
72349// AsConcurLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72350func (pls PrestoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
72351	return nil, false
72352}
72353
72354// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72355func (pls PrestoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
72356	return nil, false
72357}
72358
72359// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72360func (pls PrestoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
72361	return nil, false
72362}
72363
72364// AsSapHanaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72365func (pls PrestoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
72366	return nil, false
72367}
72368
72369// AsSapBWLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72370func (pls PrestoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
72371	return nil, false
72372}
72373
72374// AsSftpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72375func (pls PrestoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
72376	return nil, false
72377}
72378
72379// AsFtpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72380func (pls PrestoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
72381	return nil, false
72382}
72383
72384// AsHTTPLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72385func (pls PrestoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
72386	return nil, false
72387}
72388
72389// AsAzureSearchLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72390func (pls PrestoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
72391	return nil, false
72392}
72393
72394// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72395func (pls PrestoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
72396	return nil, false
72397}
72398
72399// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72400func (pls PrestoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
72401	return nil, false
72402}
72403
72404// AsAmazonS3LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72405func (pls PrestoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
72406	return nil, false
72407}
72408
72409// AsSapEccLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72410func (pls PrestoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
72411	return nil, false
72412}
72413
72414// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72415func (pls PrestoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
72416	return nil, false
72417}
72418
72419// AsSalesforceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72420func (pls PrestoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
72421	return nil, false
72422}
72423
72424// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72425func (pls PrestoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
72426	return nil, false
72427}
72428
72429// AsMongoDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72430func (pls PrestoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
72431	return nil, false
72432}
72433
72434// AsCassandraLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72435func (pls PrestoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
72436	return nil, false
72437}
72438
72439// AsWebLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72440func (pls PrestoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
72441	return nil, false
72442}
72443
72444// AsODataLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72445func (pls PrestoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
72446	return nil, false
72447}
72448
72449// AsHdfsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72450func (pls PrestoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
72451	return nil, false
72452}
72453
72454// AsOdbcLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72455func (pls PrestoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
72456	return nil, false
72457}
72458
72459// AsAzureMLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72460func (pls PrestoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
72461	return nil, false
72462}
72463
72464// AsTeradataLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72465func (pls PrestoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
72466	return nil, false
72467}
72468
72469// AsDb2LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72470func (pls PrestoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
72471	return nil, false
72472}
72473
72474// AsSybaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72475func (pls PrestoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
72476	return nil, false
72477}
72478
72479// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72480func (pls PrestoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
72481	return nil, false
72482}
72483
72484// AsMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72485func (pls PrestoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
72486	return nil, false
72487}
72488
72489// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72490func (pls PrestoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
72491	return nil, false
72492}
72493
72494// AsOracleLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72495func (pls PrestoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
72496	return nil, false
72497}
72498
72499// AsFileServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72500func (pls PrestoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
72501	return nil, false
72502}
72503
72504// AsHDInsightLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72505func (pls PrestoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
72506	return nil, false
72507}
72508
72509// AsDynamicsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72510func (pls PrestoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
72511	return nil, false
72512}
72513
72514// AsCosmosDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72515func (pls PrestoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
72516	return nil, false
72517}
72518
72519// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72520func (pls PrestoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
72521	return nil, false
72522}
72523
72524// AsAzureBatchLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72525func (pls PrestoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
72526	return nil, false
72527}
72528
72529// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72530func (pls PrestoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
72531	return nil, false
72532}
72533
72534// AsSQLServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72535func (pls PrestoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
72536	return nil, false
72537}
72538
72539// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72540func (pls PrestoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
72541	return nil, false
72542}
72543
72544// AsAzureStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72545func (pls PrestoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
72546	return nil, false
72547}
72548
72549// AsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72550func (pls PrestoLinkedService) AsLinkedService() (*LinkedService, bool) {
72551	return nil, false
72552}
72553
72554// AsBasicLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
72555func (pls PrestoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
72556	return &pls, true
72557}
72558
72559// UnmarshalJSON is the custom unmarshaler for PrestoLinkedService struct.
72560func (pls *PrestoLinkedService) UnmarshalJSON(body []byte) error {
72561	var m map[string]*json.RawMessage
72562	err := json.Unmarshal(body, &m)
72563	if err != nil {
72564		return err
72565	}
72566	for k, v := range m {
72567		switch k {
72568		case "typeProperties":
72569			if v != nil {
72570				var prestoLinkedServiceTypeProperties PrestoLinkedServiceTypeProperties
72571				err = json.Unmarshal(*v, &prestoLinkedServiceTypeProperties)
72572				if err != nil {
72573					return err
72574				}
72575				pls.PrestoLinkedServiceTypeProperties = &prestoLinkedServiceTypeProperties
72576			}
72577		default:
72578			if v != nil {
72579				var additionalProperties interface{}
72580				err = json.Unmarshal(*v, &additionalProperties)
72581				if err != nil {
72582					return err
72583				}
72584				if pls.AdditionalProperties == nil {
72585					pls.AdditionalProperties = make(map[string]interface{})
72586				}
72587				pls.AdditionalProperties[k] = additionalProperties
72588			}
72589		case "connectVia":
72590			if v != nil {
72591				var connectVia IntegrationRuntimeReference
72592				err = json.Unmarshal(*v, &connectVia)
72593				if err != nil {
72594					return err
72595				}
72596				pls.ConnectVia = &connectVia
72597			}
72598		case "description":
72599			if v != nil {
72600				var description string
72601				err = json.Unmarshal(*v, &description)
72602				if err != nil {
72603					return err
72604				}
72605				pls.Description = &description
72606			}
72607		case "parameters":
72608			if v != nil {
72609				var parameters map[string]*ParameterSpecification
72610				err = json.Unmarshal(*v, &parameters)
72611				if err != nil {
72612					return err
72613				}
72614				pls.Parameters = parameters
72615			}
72616		case "annotations":
72617			if v != nil {
72618				var annotations []interface{}
72619				err = json.Unmarshal(*v, &annotations)
72620				if err != nil {
72621					return err
72622				}
72623				pls.Annotations = &annotations
72624			}
72625		case "type":
72626			if v != nil {
72627				var typeVar TypeBasicLinkedService
72628				err = json.Unmarshal(*v, &typeVar)
72629				if err != nil {
72630					return err
72631				}
72632				pls.Type = typeVar
72633			}
72634		}
72635	}
72636
72637	return nil
72638}
72639
72640// PrestoLinkedServiceTypeProperties presto server linked service properties.
72641type PrestoLinkedServiceTypeProperties struct {
72642	// Host - The IP address or host name of the Presto server. (i.e. 192.168.222.160)
72643	Host interface{} `json:"host,omitempty"`
72644	// ServerVersion - The version of the Presto server. (i.e. 0.148-t)
72645	ServerVersion interface{} `json:"serverVersion,omitempty"`
72646	// Catalog - The catalog context for all request against the server.
72647	Catalog interface{} `json:"catalog,omitempty"`
72648	// Port - The TCP port that the Presto server uses to listen for client connections. The default value is 8080.
72649	Port interface{} `json:"port,omitempty"`
72650	// AuthenticationType - The authentication mechanism used to connect to the Presto server. Possible values include: 'PrestoAuthenticationTypeAnonymous', 'PrestoAuthenticationTypeLDAP'
72651	AuthenticationType PrestoAuthenticationType `json:"authenticationType,omitempty"`
72652	// Username - The user name used to connect to the Presto server.
72653	Username interface{} `json:"username,omitempty"`
72654	// Password - The password corresponding to the user name.
72655	Password BasicSecretBase `json:"password,omitempty"`
72656	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
72657	EnableSsl interface{} `json:"enableSsl,omitempty"`
72658	// 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.
72659	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
72660	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
72661	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
72662	// 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.
72663	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
72664	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
72665	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
72666	// 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.
72667	TimeZoneID interface{} `json:"timeZoneID,omitempty"`
72668	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
72669	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
72670}
72671
72672// UnmarshalJSON is the custom unmarshaler for PrestoLinkedServiceTypeProperties struct.
72673func (plstp *PrestoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
72674	var m map[string]*json.RawMessage
72675	err := json.Unmarshal(body, &m)
72676	if err != nil {
72677		return err
72678	}
72679	for k, v := range m {
72680		switch k {
72681		case "host":
72682			if v != nil {
72683				var host interface{}
72684				err = json.Unmarshal(*v, &host)
72685				if err != nil {
72686					return err
72687				}
72688				plstp.Host = host
72689			}
72690		case "serverVersion":
72691			if v != nil {
72692				var serverVersion interface{}
72693				err = json.Unmarshal(*v, &serverVersion)
72694				if err != nil {
72695					return err
72696				}
72697				plstp.ServerVersion = serverVersion
72698			}
72699		case "catalog":
72700			if v != nil {
72701				var catalog interface{}
72702				err = json.Unmarshal(*v, &catalog)
72703				if err != nil {
72704					return err
72705				}
72706				plstp.Catalog = catalog
72707			}
72708		case "port":
72709			if v != nil {
72710				var port interface{}
72711				err = json.Unmarshal(*v, &port)
72712				if err != nil {
72713					return err
72714				}
72715				plstp.Port = port
72716			}
72717		case "authenticationType":
72718			if v != nil {
72719				var authenticationType PrestoAuthenticationType
72720				err = json.Unmarshal(*v, &authenticationType)
72721				if err != nil {
72722					return err
72723				}
72724				plstp.AuthenticationType = authenticationType
72725			}
72726		case "username":
72727			if v != nil {
72728				var username interface{}
72729				err = json.Unmarshal(*v, &username)
72730				if err != nil {
72731					return err
72732				}
72733				plstp.Username = username
72734			}
72735		case "password":
72736			if v != nil {
72737				password, err := unmarshalBasicSecretBase(*v)
72738				if err != nil {
72739					return err
72740				}
72741				plstp.Password = password
72742			}
72743		case "enableSsl":
72744			if v != nil {
72745				var enableSsl interface{}
72746				err = json.Unmarshal(*v, &enableSsl)
72747				if err != nil {
72748					return err
72749				}
72750				plstp.EnableSsl = enableSsl
72751			}
72752		case "trustedCertPath":
72753			if v != nil {
72754				var trustedCertPath interface{}
72755				err = json.Unmarshal(*v, &trustedCertPath)
72756				if err != nil {
72757					return err
72758				}
72759				plstp.TrustedCertPath = trustedCertPath
72760			}
72761		case "useSystemTrustStore":
72762			if v != nil {
72763				var useSystemTrustStore interface{}
72764				err = json.Unmarshal(*v, &useSystemTrustStore)
72765				if err != nil {
72766					return err
72767				}
72768				plstp.UseSystemTrustStore = useSystemTrustStore
72769			}
72770		case "allowHostNameCNMismatch":
72771			if v != nil {
72772				var allowHostNameCNMismatch interface{}
72773				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
72774				if err != nil {
72775					return err
72776				}
72777				plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
72778			}
72779		case "allowSelfSignedServerCert":
72780			if v != nil {
72781				var allowSelfSignedServerCert interface{}
72782				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
72783				if err != nil {
72784					return err
72785				}
72786				plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
72787			}
72788		case "timeZoneID":
72789			if v != nil {
72790				var timeZoneID interface{}
72791				err = json.Unmarshal(*v, &timeZoneID)
72792				if err != nil {
72793					return err
72794				}
72795				plstp.TimeZoneID = timeZoneID
72796			}
72797		case "encryptedCredential":
72798			if v != nil {
72799				var encryptedCredential interface{}
72800				err = json.Unmarshal(*v, &encryptedCredential)
72801				if err != nil {
72802					return err
72803				}
72804				plstp.EncryptedCredential = encryptedCredential
72805			}
72806		}
72807	}
72808
72809	return nil
72810}
72811
72812// PrestoObjectDataset presto server dataset.
72813type PrestoObjectDataset struct {
72814	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
72815	AdditionalProperties map[string]interface{} `json:""`
72816	// Description - Dataset description.
72817	Description *string `json:"description,omitempty"`
72818	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
72819	Structure interface{} `json:"structure,omitempty"`
72820	// LinkedServiceName - Linked service reference.
72821	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
72822	// Parameters - Parameters for dataset.
72823	Parameters map[string]*ParameterSpecification `json:"parameters"`
72824	// Annotations - List of tags that can be used for describing the Dataset.
72825	Annotations *[]interface{} `json:"annotations,omitempty"`
72826	// 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'
72827	Type TypeBasicDataset `json:"type,omitempty"`
72828}
72829
72830// MarshalJSON is the custom marshaler for PrestoObjectDataset.
72831func (pod PrestoObjectDataset) MarshalJSON() ([]byte, error) {
72832	pod.Type = TypePrestoObject
72833	objectMap := make(map[string]interface{})
72834	if pod.Description != nil {
72835		objectMap["description"] = pod.Description
72836	}
72837	if pod.Structure != nil {
72838		objectMap["structure"] = pod.Structure
72839	}
72840	if pod.LinkedServiceName != nil {
72841		objectMap["linkedServiceName"] = pod.LinkedServiceName
72842	}
72843	if pod.Parameters != nil {
72844		objectMap["parameters"] = pod.Parameters
72845	}
72846	if pod.Annotations != nil {
72847		objectMap["annotations"] = pod.Annotations
72848	}
72849	if pod.Type != "" {
72850		objectMap["type"] = pod.Type
72851	}
72852	for k, v := range pod.AdditionalProperties {
72853		objectMap[k] = v
72854	}
72855	return json.Marshal(objectMap)
72856}
72857
72858// AsResponsysObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72859func (pod PrestoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
72860	return nil, false
72861}
72862
72863// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72864func (pod PrestoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
72865	return nil, false
72866}
72867
72868// AsVerticaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72869func (pod PrestoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
72870	return nil, false
72871}
72872
72873// AsNetezzaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72874func (pod PrestoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
72875	return nil, false
72876}
72877
72878// AsZohoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72879func (pod PrestoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
72880	return nil, false
72881}
72882
72883// AsXeroObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72884func (pod PrestoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
72885	return nil, false
72886}
72887
72888// AsSquareObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72889func (pod PrestoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
72890	return nil, false
72891}
72892
72893// AsSparkObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72894func (pod PrestoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
72895	return nil, false
72896}
72897
72898// AsShopifyObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72899func (pod PrestoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
72900	return nil, false
72901}
72902
72903// AsServiceNowObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72904func (pod PrestoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
72905	return nil, false
72906}
72907
72908// AsQuickBooksObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72909func (pod PrestoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
72910	return nil, false
72911}
72912
72913// AsPrestoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72914func (pod PrestoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
72915	return &pod, true
72916}
72917
72918// AsPhoenixObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72919func (pod PrestoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
72920	return nil, false
72921}
72922
72923// AsPaypalObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72924func (pod PrestoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
72925	return nil, false
72926}
72927
72928// AsMarketoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72929func (pod PrestoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
72930	return nil, false
72931}
72932
72933// AsMariaDBTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72934func (pod PrestoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
72935	return nil, false
72936}
72937
72938// AsMagentoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72939func (pod PrestoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
72940	return nil, false
72941}
72942
72943// AsJiraObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72944func (pod PrestoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
72945	return nil, false
72946}
72947
72948// AsImpalaObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72949func (pod PrestoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
72950	return nil, false
72951}
72952
72953// AsHubspotObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72954func (pod PrestoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
72955	return nil, false
72956}
72957
72958// AsHiveObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72959func (pod PrestoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
72960	return nil, false
72961}
72962
72963// AsHBaseObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72964func (pod PrestoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
72965	return nil, false
72966}
72967
72968// AsGreenplumTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72969func (pod PrestoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
72970	return nil, false
72971}
72972
72973// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72974func (pod PrestoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
72975	return nil, false
72976}
72977
72978// AsEloquaObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72979func (pod PrestoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
72980	return nil, false
72981}
72982
72983// AsDrillTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72984func (pod PrestoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
72985	return nil, false
72986}
72987
72988// AsCouchbaseTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72989func (pod PrestoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
72990	return nil, false
72991}
72992
72993// AsConcurObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
72994func (pod PrestoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
72995	return nil, false
72996}
72997
72998// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
72999func (pod PrestoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
73000	return nil, false
73001}
73002
73003// AsAmazonMWSObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73004func (pod PrestoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
73005	return nil, false
73006}
73007
73008// AsHTTPDataset is the BasicDataset implementation for PrestoObjectDataset.
73009func (pod PrestoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
73010	return nil, false
73011}
73012
73013// AsAzureSearchIndexDataset is the BasicDataset implementation for PrestoObjectDataset.
73014func (pod PrestoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
73015	return nil, false
73016}
73017
73018// AsWebTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73019func (pod PrestoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
73020	return nil, false
73021}
73022
73023// AsSQLServerTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73024func (pod PrestoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
73025	return nil, false
73026}
73027
73028// AsSapEccResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
73029func (pod PrestoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
73030	return nil, false
73031}
73032
73033// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
73034func (pod PrestoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
73035	return nil, false
73036}
73037
73038// AsSalesforceObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
73039func (pod PrestoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
73040	return nil, false
73041}
73042
73043// AsRelationalTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73044func (pod PrestoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
73045	return nil, false
73046}
73047
73048// AsAzureMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73049func (pod PrestoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
73050	return nil, false
73051}
73052
73053// AsOracleTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73054func (pod PrestoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
73055	return nil, false
73056}
73057
73058// AsODataResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
73059func (pod PrestoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
73060	return nil, false
73061}
73062
73063// AsMongoDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
73064func (pod PrestoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
73065	return nil, false
73066}
73067
73068// AsFileShareDataset is the BasicDataset implementation for PrestoObjectDataset.
73069func (pod PrestoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
73070	return nil, false
73071}
73072
73073// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PrestoObjectDataset.
73074func (pod PrestoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
73075	return nil, false
73076}
73077
73078// AsDynamicsEntityDataset is the BasicDataset implementation for PrestoObjectDataset.
73079func (pod PrestoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
73080	return nil, false
73081}
73082
73083// AsDocumentDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
73084func (pod PrestoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
73085	return nil, false
73086}
73087
73088// AsCustomDataset is the BasicDataset implementation for PrestoObjectDataset.
73089func (pod PrestoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
73090	return nil, false
73091}
73092
73093// AsCassandraTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73094func (pod PrestoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
73095	return nil, false
73096}
73097
73098// AsAzureSQLDWTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73099func (pod PrestoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
73100	return nil, false
73101}
73102
73103// AsAzureSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73104func (pod PrestoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
73105	return nil, false
73106}
73107
73108// AsAzureTableDataset is the BasicDataset implementation for PrestoObjectDataset.
73109func (pod PrestoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
73110	return nil, false
73111}
73112
73113// AsAzureBlobDataset is the BasicDataset implementation for PrestoObjectDataset.
73114func (pod PrestoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
73115	return nil, false
73116}
73117
73118// AsAmazonS3Dataset is the BasicDataset implementation for PrestoObjectDataset.
73119func (pod PrestoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
73120	return nil, false
73121}
73122
73123// AsDataset is the BasicDataset implementation for PrestoObjectDataset.
73124func (pod PrestoObjectDataset) AsDataset() (*Dataset, bool) {
73125	return nil, false
73126}
73127
73128// AsBasicDataset is the BasicDataset implementation for PrestoObjectDataset.
73129func (pod PrestoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
73130	return &pod, true
73131}
73132
73133// UnmarshalJSON is the custom unmarshaler for PrestoObjectDataset struct.
73134func (pod *PrestoObjectDataset) UnmarshalJSON(body []byte) error {
73135	var m map[string]*json.RawMessage
73136	err := json.Unmarshal(body, &m)
73137	if err != nil {
73138		return err
73139	}
73140	for k, v := range m {
73141		switch k {
73142		default:
73143			if v != nil {
73144				var additionalProperties interface{}
73145				err = json.Unmarshal(*v, &additionalProperties)
73146				if err != nil {
73147					return err
73148				}
73149				if pod.AdditionalProperties == nil {
73150					pod.AdditionalProperties = make(map[string]interface{})
73151				}
73152				pod.AdditionalProperties[k] = additionalProperties
73153			}
73154		case "description":
73155			if v != nil {
73156				var description string
73157				err = json.Unmarshal(*v, &description)
73158				if err != nil {
73159					return err
73160				}
73161				pod.Description = &description
73162			}
73163		case "structure":
73164			if v != nil {
73165				var structure interface{}
73166				err = json.Unmarshal(*v, &structure)
73167				if err != nil {
73168					return err
73169				}
73170				pod.Structure = structure
73171			}
73172		case "linkedServiceName":
73173			if v != nil {
73174				var linkedServiceName LinkedServiceReference
73175				err = json.Unmarshal(*v, &linkedServiceName)
73176				if err != nil {
73177					return err
73178				}
73179				pod.LinkedServiceName = &linkedServiceName
73180			}
73181		case "parameters":
73182			if v != nil {
73183				var parameters map[string]*ParameterSpecification
73184				err = json.Unmarshal(*v, &parameters)
73185				if err != nil {
73186					return err
73187				}
73188				pod.Parameters = parameters
73189			}
73190		case "annotations":
73191			if v != nil {
73192				var annotations []interface{}
73193				err = json.Unmarshal(*v, &annotations)
73194				if err != nil {
73195					return err
73196				}
73197				pod.Annotations = &annotations
73198			}
73199		case "type":
73200			if v != nil {
73201				var typeVar TypeBasicDataset
73202				err = json.Unmarshal(*v, &typeVar)
73203				if err != nil {
73204					return err
73205				}
73206				pod.Type = typeVar
73207			}
73208		}
73209	}
73210
73211	return nil
73212}
73213
73214// PrestoSource a copy activity Presto server source.
73215type PrestoSource struct {
73216	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
73217	Query interface{} `json:"query,omitempty"`
73218	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
73219	AdditionalProperties map[string]interface{} `json:""`
73220	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
73221	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
73222	// 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])).
73223	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
73224	// 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'
73225	Type TypeBasicCopySource `json:"type,omitempty"`
73226}
73227
73228// MarshalJSON is the custom marshaler for PrestoSource.
73229func (ps PrestoSource) MarshalJSON() ([]byte, error) {
73230	ps.Type = TypePrestoSource
73231	objectMap := make(map[string]interface{})
73232	if ps.Query != nil {
73233		objectMap["query"] = ps.Query
73234	}
73235	if ps.SourceRetryCount != nil {
73236		objectMap["sourceRetryCount"] = ps.SourceRetryCount
73237	}
73238	if ps.SourceRetryWait != nil {
73239		objectMap["sourceRetryWait"] = ps.SourceRetryWait
73240	}
73241	if ps.Type != "" {
73242		objectMap["type"] = ps.Type
73243	}
73244	for k, v := range ps.AdditionalProperties {
73245		objectMap[k] = v
73246	}
73247	return json.Marshal(objectMap)
73248}
73249
73250// AsAmazonRedshiftSource is the BasicCopySource implementation for PrestoSource.
73251func (ps PrestoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
73252	return nil, false
73253}
73254
73255// AsResponsysSource is the BasicCopySource implementation for PrestoSource.
73256func (ps PrestoSource) AsResponsysSource() (*ResponsysSource, bool) {
73257	return nil, false
73258}
73259
73260// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PrestoSource.
73261func (ps PrestoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
73262	return nil, false
73263}
73264
73265// AsVerticaSource is the BasicCopySource implementation for PrestoSource.
73266func (ps PrestoSource) AsVerticaSource() (*VerticaSource, bool) {
73267	return nil, false
73268}
73269
73270// AsNetezzaSource is the BasicCopySource implementation for PrestoSource.
73271func (ps PrestoSource) AsNetezzaSource() (*NetezzaSource, bool) {
73272	return nil, false
73273}
73274
73275// AsZohoSource is the BasicCopySource implementation for PrestoSource.
73276func (ps PrestoSource) AsZohoSource() (*ZohoSource, bool) {
73277	return nil, false
73278}
73279
73280// AsXeroSource is the BasicCopySource implementation for PrestoSource.
73281func (ps PrestoSource) AsXeroSource() (*XeroSource, bool) {
73282	return nil, false
73283}
73284
73285// AsSquareSource is the BasicCopySource implementation for PrestoSource.
73286func (ps PrestoSource) AsSquareSource() (*SquareSource, bool) {
73287	return nil, false
73288}
73289
73290// AsSparkSource is the BasicCopySource implementation for PrestoSource.
73291func (ps PrestoSource) AsSparkSource() (*SparkSource, bool) {
73292	return nil, false
73293}
73294
73295// AsShopifySource is the BasicCopySource implementation for PrestoSource.
73296func (ps PrestoSource) AsShopifySource() (*ShopifySource, bool) {
73297	return nil, false
73298}
73299
73300// AsServiceNowSource is the BasicCopySource implementation for PrestoSource.
73301func (ps PrestoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
73302	return nil, false
73303}
73304
73305// AsQuickBooksSource is the BasicCopySource implementation for PrestoSource.
73306func (ps PrestoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
73307	return nil, false
73308}
73309
73310// AsPrestoSource is the BasicCopySource implementation for PrestoSource.
73311func (ps PrestoSource) AsPrestoSource() (*PrestoSource, bool) {
73312	return &ps, true
73313}
73314
73315// AsPhoenixSource is the BasicCopySource implementation for PrestoSource.
73316func (ps PrestoSource) AsPhoenixSource() (*PhoenixSource, bool) {
73317	return nil, false
73318}
73319
73320// AsPaypalSource is the BasicCopySource implementation for PrestoSource.
73321func (ps PrestoSource) AsPaypalSource() (*PaypalSource, bool) {
73322	return nil, false
73323}
73324
73325// AsMarketoSource is the BasicCopySource implementation for PrestoSource.
73326func (ps PrestoSource) AsMarketoSource() (*MarketoSource, bool) {
73327	return nil, false
73328}
73329
73330// AsMariaDBSource is the BasicCopySource implementation for PrestoSource.
73331func (ps PrestoSource) AsMariaDBSource() (*MariaDBSource, bool) {
73332	return nil, false
73333}
73334
73335// AsMagentoSource is the BasicCopySource implementation for PrestoSource.
73336func (ps PrestoSource) AsMagentoSource() (*MagentoSource, bool) {
73337	return nil, false
73338}
73339
73340// AsJiraSource is the BasicCopySource implementation for PrestoSource.
73341func (ps PrestoSource) AsJiraSource() (*JiraSource, bool) {
73342	return nil, false
73343}
73344
73345// AsImpalaSource is the BasicCopySource implementation for PrestoSource.
73346func (ps PrestoSource) AsImpalaSource() (*ImpalaSource, bool) {
73347	return nil, false
73348}
73349
73350// AsHubspotSource is the BasicCopySource implementation for PrestoSource.
73351func (ps PrestoSource) AsHubspotSource() (*HubspotSource, bool) {
73352	return nil, false
73353}
73354
73355// AsHiveSource is the BasicCopySource implementation for PrestoSource.
73356func (ps PrestoSource) AsHiveSource() (*HiveSource, bool) {
73357	return nil, false
73358}
73359
73360// AsHBaseSource is the BasicCopySource implementation for PrestoSource.
73361func (ps PrestoSource) AsHBaseSource() (*HBaseSource, bool) {
73362	return nil, false
73363}
73364
73365// AsGreenplumSource is the BasicCopySource implementation for PrestoSource.
73366func (ps PrestoSource) AsGreenplumSource() (*GreenplumSource, bool) {
73367	return nil, false
73368}
73369
73370// AsGoogleBigQuerySource is the BasicCopySource implementation for PrestoSource.
73371func (ps PrestoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
73372	return nil, false
73373}
73374
73375// AsEloquaSource is the BasicCopySource implementation for PrestoSource.
73376func (ps PrestoSource) AsEloquaSource() (*EloquaSource, bool) {
73377	return nil, false
73378}
73379
73380// AsDrillSource is the BasicCopySource implementation for PrestoSource.
73381func (ps PrestoSource) AsDrillSource() (*DrillSource, bool) {
73382	return nil, false
73383}
73384
73385// AsCouchbaseSource is the BasicCopySource implementation for PrestoSource.
73386func (ps PrestoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
73387	return nil, false
73388}
73389
73390// AsConcurSource is the BasicCopySource implementation for PrestoSource.
73391func (ps PrestoSource) AsConcurSource() (*ConcurSource, bool) {
73392	return nil, false
73393}
73394
73395// AsAzurePostgreSQLSource is the BasicCopySource implementation for PrestoSource.
73396func (ps PrestoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
73397	return nil, false
73398}
73399
73400// AsAmazonMWSSource is the BasicCopySource implementation for PrestoSource.
73401func (ps PrestoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
73402	return nil, false
73403}
73404
73405// AsHTTPSource is the BasicCopySource implementation for PrestoSource.
73406func (ps PrestoSource) AsHTTPSource() (*HTTPSource, bool) {
73407	return nil, false
73408}
73409
73410// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PrestoSource.
73411func (ps PrestoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
73412	return nil, false
73413}
73414
73415// AsMongoDbSource is the BasicCopySource implementation for PrestoSource.
73416func (ps PrestoSource) AsMongoDbSource() (*MongoDbSource, bool) {
73417	return nil, false
73418}
73419
73420// AsCassandraSource is the BasicCopySource implementation for PrestoSource.
73421func (ps PrestoSource) AsCassandraSource() (*CassandraSource, bool) {
73422	return nil, false
73423}
73424
73425// AsWebSource is the BasicCopySource implementation for PrestoSource.
73426func (ps PrestoSource) AsWebSource() (*WebSource, bool) {
73427	return nil, false
73428}
73429
73430// AsOracleSource is the BasicCopySource implementation for PrestoSource.
73431func (ps PrestoSource) AsOracleSource() (*OracleSource, bool) {
73432	return nil, false
73433}
73434
73435// AsAzureMySQLSource is the BasicCopySource implementation for PrestoSource.
73436func (ps PrestoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
73437	return nil, false
73438}
73439
73440// AsHdfsSource is the BasicCopySource implementation for PrestoSource.
73441func (ps PrestoSource) AsHdfsSource() (*HdfsSource, bool) {
73442	return nil, false
73443}
73444
73445// AsFileSystemSource is the BasicCopySource implementation for PrestoSource.
73446func (ps PrestoSource) AsFileSystemSource() (*FileSystemSource, bool) {
73447	return nil, false
73448}
73449
73450// AsSQLDWSource is the BasicCopySource implementation for PrestoSource.
73451func (ps PrestoSource) AsSQLDWSource() (*SQLDWSource, bool) {
73452	return nil, false
73453}
73454
73455// AsSQLSource is the BasicCopySource implementation for PrestoSource.
73456func (ps PrestoSource) AsSQLSource() (*SQLSource, bool) {
73457	return nil, false
73458}
73459
73460// AsSapEccSource is the BasicCopySource implementation for PrestoSource.
73461func (ps PrestoSource) AsSapEccSource() (*SapEccSource, bool) {
73462	return nil, false
73463}
73464
73465// AsSapCloudForCustomerSource is the BasicCopySource implementation for PrestoSource.
73466func (ps PrestoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
73467	return nil, false
73468}
73469
73470// AsSalesforceSource is the BasicCopySource implementation for PrestoSource.
73471func (ps PrestoSource) AsSalesforceSource() (*SalesforceSource, bool) {
73472	return nil, false
73473}
73474
73475// AsRelationalSource is the BasicCopySource implementation for PrestoSource.
73476func (ps PrestoSource) AsRelationalSource() (*RelationalSource, bool) {
73477	return nil, false
73478}
73479
73480// AsDynamicsSource is the BasicCopySource implementation for PrestoSource.
73481func (ps PrestoSource) AsDynamicsSource() (*DynamicsSource, bool) {
73482	return nil, false
73483}
73484
73485// AsDocumentDbCollectionSource is the BasicCopySource implementation for PrestoSource.
73486func (ps PrestoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
73487	return nil, false
73488}
73489
73490// AsBlobSource is the BasicCopySource implementation for PrestoSource.
73491func (ps PrestoSource) AsBlobSource() (*BlobSource, bool) {
73492	return nil, false
73493}
73494
73495// AsAzureTableSource is the BasicCopySource implementation for PrestoSource.
73496func (ps PrestoSource) AsAzureTableSource() (*AzureTableSource, bool) {
73497	return nil, false
73498}
73499
73500// AsCopySource is the BasicCopySource implementation for PrestoSource.
73501func (ps PrestoSource) AsCopySource() (*CopySource, bool) {
73502	return nil, false
73503}
73504
73505// AsBasicCopySource is the BasicCopySource implementation for PrestoSource.
73506func (ps PrestoSource) AsBasicCopySource() (BasicCopySource, bool) {
73507	return &ps, true
73508}
73509
73510// UnmarshalJSON is the custom unmarshaler for PrestoSource struct.
73511func (ps *PrestoSource) UnmarshalJSON(body []byte) error {
73512	var m map[string]*json.RawMessage
73513	err := json.Unmarshal(body, &m)
73514	if err != nil {
73515		return err
73516	}
73517	for k, v := range m {
73518		switch k {
73519		case "query":
73520			if v != nil {
73521				var query interface{}
73522				err = json.Unmarshal(*v, &query)
73523				if err != nil {
73524					return err
73525				}
73526				ps.Query = query
73527			}
73528		default:
73529			if v != nil {
73530				var additionalProperties interface{}
73531				err = json.Unmarshal(*v, &additionalProperties)
73532				if err != nil {
73533					return err
73534				}
73535				if ps.AdditionalProperties == nil {
73536					ps.AdditionalProperties = make(map[string]interface{})
73537				}
73538				ps.AdditionalProperties[k] = additionalProperties
73539			}
73540		case "sourceRetryCount":
73541			if v != nil {
73542				var sourceRetryCount interface{}
73543				err = json.Unmarshal(*v, &sourceRetryCount)
73544				if err != nil {
73545					return err
73546				}
73547				ps.SourceRetryCount = sourceRetryCount
73548			}
73549		case "sourceRetryWait":
73550			if v != nil {
73551				var sourceRetryWait interface{}
73552				err = json.Unmarshal(*v, &sourceRetryWait)
73553				if err != nil {
73554					return err
73555				}
73556				ps.SourceRetryWait = sourceRetryWait
73557			}
73558		case "type":
73559			if v != nil {
73560				var typeVar TypeBasicCopySource
73561				err = json.Unmarshal(*v, &typeVar)
73562				if err != nil {
73563					return err
73564				}
73565				ps.Type = typeVar
73566			}
73567		}
73568	}
73569
73570	return nil
73571}
73572
73573// QuickBooksLinkedService quickBooks server linked service.
73574type QuickBooksLinkedService struct {
73575	// QuickBooksLinkedServiceTypeProperties - QuickBooks server linked service properties.
73576	*QuickBooksLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
73577	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
73578	AdditionalProperties map[string]interface{} `json:""`
73579	// ConnectVia - The integration runtime reference.
73580	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
73581	// Description - Linked service description.
73582	Description *string `json:"description,omitempty"`
73583	// Parameters - Parameters for linked service.
73584	Parameters map[string]*ParameterSpecification `json:"parameters"`
73585	// Annotations - List of tags that can be used for describing the Dataset.
73586	Annotations *[]interface{} `json:"annotations,omitempty"`
73587	// 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'
73588	Type TypeBasicLinkedService `json:"type,omitempty"`
73589}
73590
73591// MarshalJSON is the custom marshaler for QuickBooksLinkedService.
73592func (qbls QuickBooksLinkedService) MarshalJSON() ([]byte, error) {
73593	qbls.Type = TypeQuickBooks
73594	objectMap := make(map[string]interface{})
73595	if qbls.QuickBooksLinkedServiceTypeProperties != nil {
73596		objectMap["typeProperties"] = qbls.QuickBooksLinkedServiceTypeProperties
73597	}
73598	if qbls.ConnectVia != nil {
73599		objectMap["connectVia"] = qbls.ConnectVia
73600	}
73601	if qbls.Description != nil {
73602		objectMap["description"] = qbls.Description
73603	}
73604	if qbls.Parameters != nil {
73605		objectMap["parameters"] = qbls.Parameters
73606	}
73607	if qbls.Annotations != nil {
73608		objectMap["annotations"] = qbls.Annotations
73609	}
73610	if qbls.Type != "" {
73611		objectMap["type"] = qbls.Type
73612	}
73613	for k, v := range qbls.AdditionalProperties {
73614		objectMap[k] = v
73615	}
73616	return json.Marshal(objectMap)
73617}
73618
73619// AsResponsysLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73620func (qbls QuickBooksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
73621	return nil, false
73622}
73623
73624// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73625func (qbls QuickBooksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
73626	return nil, false
73627}
73628
73629// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73630func (qbls QuickBooksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
73631	return nil, false
73632}
73633
73634// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73635func (qbls QuickBooksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
73636	return nil, false
73637}
73638
73639// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73640func (qbls QuickBooksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
73641	return nil, false
73642}
73643
73644// AsNetezzaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73645func (qbls QuickBooksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
73646	return nil, false
73647}
73648
73649// AsVerticaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73650func (qbls QuickBooksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
73651	return nil, false
73652}
73653
73654// AsZohoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73655func (qbls QuickBooksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
73656	return nil, false
73657}
73658
73659// AsXeroLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73660func (qbls QuickBooksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
73661	return nil, false
73662}
73663
73664// AsSquareLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73665func (qbls QuickBooksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
73666	return nil, false
73667}
73668
73669// AsSparkLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73670func (qbls QuickBooksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
73671	return nil, false
73672}
73673
73674// AsShopifyLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73675func (qbls QuickBooksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
73676	return nil, false
73677}
73678
73679// AsServiceNowLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73680func (qbls QuickBooksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
73681	return nil, false
73682}
73683
73684// AsQuickBooksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73685func (qbls QuickBooksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
73686	return &qbls, true
73687}
73688
73689// AsPrestoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73690func (qbls QuickBooksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
73691	return nil, false
73692}
73693
73694// AsPhoenixLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73695func (qbls QuickBooksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
73696	return nil, false
73697}
73698
73699// AsPaypalLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73700func (qbls QuickBooksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
73701	return nil, false
73702}
73703
73704// AsMarketoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73705func (qbls QuickBooksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
73706	return nil, false
73707}
73708
73709// AsMariaDBLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73710func (qbls QuickBooksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
73711	return nil, false
73712}
73713
73714// AsMagentoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73715func (qbls QuickBooksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
73716	return nil, false
73717}
73718
73719// AsJiraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73720func (qbls QuickBooksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
73721	return nil, false
73722}
73723
73724// AsImpalaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73725func (qbls QuickBooksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
73726	return nil, false
73727}
73728
73729// AsHubspotLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73730func (qbls QuickBooksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
73731	return nil, false
73732}
73733
73734// AsHiveLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73735func (qbls QuickBooksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
73736	return nil, false
73737}
73738
73739// AsHBaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73740func (qbls QuickBooksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
73741	return nil, false
73742}
73743
73744// AsGreenplumLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73745func (qbls QuickBooksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
73746	return nil, false
73747}
73748
73749// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73750func (qbls QuickBooksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
73751	return nil, false
73752}
73753
73754// AsEloquaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73755func (qbls QuickBooksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
73756	return nil, false
73757}
73758
73759// AsDrillLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73760func (qbls QuickBooksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
73761	return nil, false
73762}
73763
73764// AsCouchbaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73765func (qbls QuickBooksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
73766	return nil, false
73767}
73768
73769// AsConcurLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73770func (qbls QuickBooksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
73771	return nil, false
73772}
73773
73774// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73775func (qbls QuickBooksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
73776	return nil, false
73777}
73778
73779// AsAmazonMWSLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73780func (qbls QuickBooksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
73781	return nil, false
73782}
73783
73784// AsSapHanaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73785func (qbls QuickBooksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
73786	return nil, false
73787}
73788
73789// AsSapBWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73790func (qbls QuickBooksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
73791	return nil, false
73792}
73793
73794// AsSftpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73795func (qbls QuickBooksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
73796	return nil, false
73797}
73798
73799// AsFtpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73800func (qbls QuickBooksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
73801	return nil, false
73802}
73803
73804// AsHTTPLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73805func (qbls QuickBooksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
73806	return nil, false
73807}
73808
73809// AsAzureSearchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73810func (qbls QuickBooksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
73811	return nil, false
73812}
73813
73814// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73815func (qbls QuickBooksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
73816	return nil, false
73817}
73818
73819// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73820func (qbls QuickBooksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
73821	return nil, false
73822}
73823
73824// AsAmazonS3LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73825func (qbls QuickBooksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
73826	return nil, false
73827}
73828
73829// AsSapEccLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73830func (qbls QuickBooksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
73831	return nil, false
73832}
73833
73834// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73835func (qbls QuickBooksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
73836	return nil, false
73837}
73838
73839// AsSalesforceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73840func (qbls QuickBooksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
73841	return nil, false
73842}
73843
73844// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73845func (qbls QuickBooksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
73846	return nil, false
73847}
73848
73849// AsMongoDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73850func (qbls QuickBooksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
73851	return nil, false
73852}
73853
73854// AsCassandraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73855func (qbls QuickBooksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
73856	return nil, false
73857}
73858
73859// AsWebLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73860func (qbls QuickBooksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
73861	return nil, false
73862}
73863
73864// AsODataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73865func (qbls QuickBooksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
73866	return nil, false
73867}
73868
73869// AsHdfsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73870func (qbls QuickBooksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
73871	return nil, false
73872}
73873
73874// AsOdbcLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73875func (qbls QuickBooksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
73876	return nil, false
73877}
73878
73879// AsAzureMLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73880func (qbls QuickBooksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
73881	return nil, false
73882}
73883
73884// AsTeradataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73885func (qbls QuickBooksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
73886	return nil, false
73887}
73888
73889// AsDb2LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73890func (qbls QuickBooksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
73891	return nil, false
73892}
73893
73894// AsSybaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73895func (qbls QuickBooksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
73896	return nil, false
73897}
73898
73899// AsPostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73900func (qbls QuickBooksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
73901	return nil, false
73902}
73903
73904// AsMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73905func (qbls QuickBooksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
73906	return nil, false
73907}
73908
73909// AsAzureMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73910func (qbls QuickBooksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
73911	return nil, false
73912}
73913
73914// AsOracleLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73915func (qbls QuickBooksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
73916	return nil, false
73917}
73918
73919// AsFileServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73920func (qbls QuickBooksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
73921	return nil, false
73922}
73923
73924// AsHDInsightLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73925func (qbls QuickBooksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
73926	return nil, false
73927}
73928
73929// AsDynamicsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73930func (qbls QuickBooksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
73931	return nil, false
73932}
73933
73934// AsCosmosDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73935func (qbls QuickBooksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
73936	return nil, false
73937}
73938
73939// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73940func (qbls QuickBooksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
73941	return nil, false
73942}
73943
73944// AsAzureBatchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73945func (qbls QuickBooksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
73946	return nil, false
73947}
73948
73949// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73950func (qbls QuickBooksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
73951	return nil, false
73952}
73953
73954// AsSQLServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73955func (qbls QuickBooksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
73956	return nil, false
73957}
73958
73959// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73960func (qbls QuickBooksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
73961	return nil, false
73962}
73963
73964// AsAzureStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73965func (qbls QuickBooksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
73966	return nil, false
73967}
73968
73969// AsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73970func (qbls QuickBooksLinkedService) AsLinkedService() (*LinkedService, bool) {
73971	return nil, false
73972}
73973
73974// AsBasicLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
73975func (qbls QuickBooksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
73976	return &qbls, true
73977}
73978
73979// UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedService struct.
73980func (qbls *QuickBooksLinkedService) UnmarshalJSON(body []byte) error {
73981	var m map[string]*json.RawMessage
73982	err := json.Unmarshal(body, &m)
73983	if err != nil {
73984		return err
73985	}
73986	for k, v := range m {
73987		switch k {
73988		case "typeProperties":
73989			if v != nil {
73990				var quickBooksLinkedServiceTypeProperties QuickBooksLinkedServiceTypeProperties
73991				err = json.Unmarshal(*v, &quickBooksLinkedServiceTypeProperties)
73992				if err != nil {
73993					return err
73994				}
73995				qbls.QuickBooksLinkedServiceTypeProperties = &quickBooksLinkedServiceTypeProperties
73996			}
73997		default:
73998			if v != nil {
73999				var additionalProperties interface{}
74000				err = json.Unmarshal(*v, &additionalProperties)
74001				if err != nil {
74002					return err
74003				}
74004				if qbls.AdditionalProperties == nil {
74005					qbls.AdditionalProperties = make(map[string]interface{})
74006				}
74007				qbls.AdditionalProperties[k] = additionalProperties
74008			}
74009		case "connectVia":
74010			if v != nil {
74011				var connectVia IntegrationRuntimeReference
74012				err = json.Unmarshal(*v, &connectVia)
74013				if err != nil {
74014					return err
74015				}
74016				qbls.ConnectVia = &connectVia
74017			}
74018		case "description":
74019			if v != nil {
74020				var description string
74021				err = json.Unmarshal(*v, &description)
74022				if err != nil {
74023					return err
74024				}
74025				qbls.Description = &description
74026			}
74027		case "parameters":
74028			if v != nil {
74029				var parameters map[string]*ParameterSpecification
74030				err = json.Unmarshal(*v, &parameters)
74031				if err != nil {
74032					return err
74033				}
74034				qbls.Parameters = parameters
74035			}
74036		case "annotations":
74037			if v != nil {
74038				var annotations []interface{}
74039				err = json.Unmarshal(*v, &annotations)
74040				if err != nil {
74041					return err
74042				}
74043				qbls.Annotations = &annotations
74044			}
74045		case "type":
74046			if v != nil {
74047				var typeVar TypeBasicLinkedService
74048				err = json.Unmarshal(*v, &typeVar)
74049				if err != nil {
74050					return err
74051				}
74052				qbls.Type = typeVar
74053			}
74054		}
74055	}
74056
74057	return nil
74058}
74059
74060// QuickBooksLinkedServiceTypeProperties quickBooks server linked service properties.
74061type QuickBooksLinkedServiceTypeProperties struct {
74062	// Endpoint - The endpoint of the QuickBooks server. (i.e. quickbooks.api.intuit.com)
74063	Endpoint interface{} `json:"endpoint,omitempty"`
74064	// CompanyID - The company ID of the QuickBooks company to authorize.
74065	CompanyID interface{} `json:"companyId,omitempty"`
74066	// ConsumerKey - The consumer key for OAuth 1.0 authentication.
74067	ConsumerKey interface{} `json:"consumerKey,omitempty"`
74068	// ConsumerSecret - The consumer secret for OAuth 1.0 authentication.
74069	ConsumerSecret BasicSecretBase `json:"consumerSecret,omitempty"`
74070	// AccessToken - The access token for OAuth 1.0 authentication.
74071	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
74072	// AccessTokenSecret - The access token secret for OAuth 1.0 authentication.
74073	AccessTokenSecret BasicSecretBase `json:"accessTokenSecret,omitempty"`
74074	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
74075	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
74076	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
74077	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
74078}
74079
74080// UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedServiceTypeProperties struct.
74081func (qblstp *QuickBooksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
74082	var m map[string]*json.RawMessage
74083	err := json.Unmarshal(body, &m)
74084	if err != nil {
74085		return err
74086	}
74087	for k, v := range m {
74088		switch k {
74089		case "endpoint":
74090			if v != nil {
74091				var endpoint interface{}
74092				err = json.Unmarshal(*v, &endpoint)
74093				if err != nil {
74094					return err
74095				}
74096				qblstp.Endpoint = endpoint
74097			}
74098		case "companyId":
74099			if v != nil {
74100				var companyID interface{}
74101				err = json.Unmarshal(*v, &companyID)
74102				if err != nil {
74103					return err
74104				}
74105				qblstp.CompanyID = companyID
74106			}
74107		case "consumerKey":
74108			if v != nil {
74109				var consumerKey interface{}
74110				err = json.Unmarshal(*v, &consumerKey)
74111				if err != nil {
74112					return err
74113				}
74114				qblstp.ConsumerKey = consumerKey
74115			}
74116		case "consumerSecret":
74117			if v != nil {
74118				consumerSecret, err := unmarshalBasicSecretBase(*v)
74119				if err != nil {
74120					return err
74121				}
74122				qblstp.ConsumerSecret = consumerSecret
74123			}
74124		case "accessToken":
74125			if v != nil {
74126				accessToken, err := unmarshalBasicSecretBase(*v)
74127				if err != nil {
74128					return err
74129				}
74130				qblstp.AccessToken = accessToken
74131			}
74132		case "accessTokenSecret":
74133			if v != nil {
74134				accessTokenSecret, err := unmarshalBasicSecretBase(*v)
74135				if err != nil {
74136					return err
74137				}
74138				qblstp.AccessTokenSecret = accessTokenSecret
74139			}
74140		case "useEncryptedEndpoints":
74141			if v != nil {
74142				var useEncryptedEndpoints interface{}
74143				err = json.Unmarshal(*v, &useEncryptedEndpoints)
74144				if err != nil {
74145					return err
74146				}
74147				qblstp.UseEncryptedEndpoints = useEncryptedEndpoints
74148			}
74149		case "encryptedCredential":
74150			if v != nil {
74151				var encryptedCredential interface{}
74152				err = json.Unmarshal(*v, &encryptedCredential)
74153				if err != nil {
74154					return err
74155				}
74156				qblstp.EncryptedCredential = encryptedCredential
74157			}
74158		}
74159	}
74160
74161	return nil
74162}
74163
74164// QuickBooksObjectDataset quickBooks server dataset.
74165type QuickBooksObjectDataset struct {
74166	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74167	AdditionalProperties map[string]interface{} `json:""`
74168	// Description - Dataset description.
74169	Description *string `json:"description,omitempty"`
74170	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
74171	Structure interface{} `json:"structure,omitempty"`
74172	// LinkedServiceName - Linked service reference.
74173	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
74174	// Parameters - Parameters for dataset.
74175	Parameters map[string]*ParameterSpecification `json:"parameters"`
74176	// Annotations - List of tags that can be used for describing the Dataset.
74177	Annotations *[]interface{} `json:"annotations,omitempty"`
74178	// 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'
74179	Type TypeBasicDataset `json:"type,omitempty"`
74180}
74181
74182// MarshalJSON is the custom marshaler for QuickBooksObjectDataset.
74183func (qbod QuickBooksObjectDataset) MarshalJSON() ([]byte, error) {
74184	qbod.Type = TypeQuickBooksObject
74185	objectMap := make(map[string]interface{})
74186	if qbod.Description != nil {
74187		objectMap["description"] = qbod.Description
74188	}
74189	if qbod.Structure != nil {
74190		objectMap["structure"] = qbod.Structure
74191	}
74192	if qbod.LinkedServiceName != nil {
74193		objectMap["linkedServiceName"] = qbod.LinkedServiceName
74194	}
74195	if qbod.Parameters != nil {
74196		objectMap["parameters"] = qbod.Parameters
74197	}
74198	if qbod.Annotations != nil {
74199		objectMap["annotations"] = qbod.Annotations
74200	}
74201	if qbod.Type != "" {
74202		objectMap["type"] = qbod.Type
74203	}
74204	for k, v := range qbod.AdditionalProperties {
74205		objectMap[k] = v
74206	}
74207	return json.Marshal(objectMap)
74208}
74209
74210// AsResponsysObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74211func (qbod QuickBooksObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
74212	return nil, false
74213}
74214
74215// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74216func (qbod QuickBooksObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
74217	return nil, false
74218}
74219
74220// AsVerticaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74221func (qbod QuickBooksObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
74222	return nil, false
74223}
74224
74225// AsNetezzaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74226func (qbod QuickBooksObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
74227	return nil, false
74228}
74229
74230// AsZohoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74231func (qbod QuickBooksObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
74232	return nil, false
74233}
74234
74235// AsXeroObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74236func (qbod QuickBooksObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
74237	return nil, false
74238}
74239
74240// AsSquareObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74241func (qbod QuickBooksObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
74242	return nil, false
74243}
74244
74245// AsSparkObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74246func (qbod QuickBooksObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
74247	return nil, false
74248}
74249
74250// AsShopifyObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74251func (qbod QuickBooksObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
74252	return nil, false
74253}
74254
74255// AsServiceNowObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74256func (qbod QuickBooksObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
74257	return nil, false
74258}
74259
74260// AsQuickBooksObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74261func (qbod QuickBooksObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
74262	return &qbod, true
74263}
74264
74265// AsPrestoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74266func (qbod QuickBooksObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
74267	return nil, false
74268}
74269
74270// AsPhoenixObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74271func (qbod QuickBooksObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
74272	return nil, false
74273}
74274
74275// AsPaypalObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74276func (qbod QuickBooksObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
74277	return nil, false
74278}
74279
74280// AsMarketoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74281func (qbod QuickBooksObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
74282	return nil, false
74283}
74284
74285// AsMariaDBTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74286func (qbod QuickBooksObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
74287	return nil, false
74288}
74289
74290// AsMagentoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74291func (qbod QuickBooksObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
74292	return nil, false
74293}
74294
74295// AsJiraObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74296func (qbod QuickBooksObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
74297	return nil, false
74298}
74299
74300// AsImpalaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74301func (qbod QuickBooksObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
74302	return nil, false
74303}
74304
74305// AsHubspotObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74306func (qbod QuickBooksObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
74307	return nil, false
74308}
74309
74310// AsHiveObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74311func (qbod QuickBooksObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
74312	return nil, false
74313}
74314
74315// AsHBaseObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74316func (qbod QuickBooksObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
74317	return nil, false
74318}
74319
74320// AsGreenplumTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74321func (qbod QuickBooksObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
74322	return nil, false
74323}
74324
74325// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74326func (qbod QuickBooksObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
74327	return nil, false
74328}
74329
74330// AsEloquaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74331func (qbod QuickBooksObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
74332	return nil, false
74333}
74334
74335// AsDrillTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74336func (qbod QuickBooksObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
74337	return nil, false
74338}
74339
74340// AsCouchbaseTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74341func (qbod QuickBooksObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
74342	return nil, false
74343}
74344
74345// AsConcurObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74346func (qbod QuickBooksObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
74347	return nil, false
74348}
74349
74350// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74351func (qbod QuickBooksObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
74352	return nil, false
74353}
74354
74355// AsAmazonMWSObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74356func (qbod QuickBooksObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
74357	return nil, false
74358}
74359
74360// AsHTTPDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74361func (qbod QuickBooksObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
74362	return nil, false
74363}
74364
74365// AsAzureSearchIndexDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74366func (qbod QuickBooksObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
74367	return nil, false
74368}
74369
74370// AsWebTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74371func (qbod QuickBooksObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
74372	return nil, false
74373}
74374
74375// AsSQLServerTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74376func (qbod QuickBooksObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
74377	return nil, false
74378}
74379
74380// AsSapEccResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74381func (qbod QuickBooksObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
74382	return nil, false
74383}
74384
74385// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74386func (qbod QuickBooksObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
74387	return nil, false
74388}
74389
74390// AsSalesforceObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74391func (qbod QuickBooksObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
74392	return nil, false
74393}
74394
74395// AsRelationalTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74396func (qbod QuickBooksObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
74397	return nil, false
74398}
74399
74400// AsAzureMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74401func (qbod QuickBooksObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
74402	return nil, false
74403}
74404
74405// AsOracleTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74406func (qbod QuickBooksObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
74407	return nil, false
74408}
74409
74410// AsODataResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74411func (qbod QuickBooksObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
74412	return nil, false
74413}
74414
74415// AsMongoDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74416func (qbod QuickBooksObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
74417	return nil, false
74418}
74419
74420// AsFileShareDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74421func (qbod QuickBooksObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
74422	return nil, false
74423}
74424
74425// AsAzureDataLakeStoreDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74426func (qbod QuickBooksObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
74427	return nil, false
74428}
74429
74430// AsDynamicsEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74431func (qbod QuickBooksObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
74432	return nil, false
74433}
74434
74435// AsDocumentDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74436func (qbod QuickBooksObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
74437	return nil, false
74438}
74439
74440// AsCustomDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74441func (qbod QuickBooksObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
74442	return nil, false
74443}
74444
74445// AsCassandraTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74446func (qbod QuickBooksObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
74447	return nil, false
74448}
74449
74450// AsAzureSQLDWTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74451func (qbod QuickBooksObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
74452	return nil, false
74453}
74454
74455// AsAzureSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74456func (qbod QuickBooksObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
74457	return nil, false
74458}
74459
74460// AsAzureTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74461func (qbod QuickBooksObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
74462	return nil, false
74463}
74464
74465// AsAzureBlobDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74466func (qbod QuickBooksObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
74467	return nil, false
74468}
74469
74470// AsAmazonS3Dataset is the BasicDataset implementation for QuickBooksObjectDataset.
74471func (qbod QuickBooksObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
74472	return nil, false
74473}
74474
74475// AsDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74476func (qbod QuickBooksObjectDataset) AsDataset() (*Dataset, bool) {
74477	return nil, false
74478}
74479
74480// AsBasicDataset is the BasicDataset implementation for QuickBooksObjectDataset.
74481func (qbod QuickBooksObjectDataset) AsBasicDataset() (BasicDataset, bool) {
74482	return &qbod, true
74483}
74484
74485// UnmarshalJSON is the custom unmarshaler for QuickBooksObjectDataset struct.
74486func (qbod *QuickBooksObjectDataset) UnmarshalJSON(body []byte) error {
74487	var m map[string]*json.RawMessage
74488	err := json.Unmarshal(body, &m)
74489	if err != nil {
74490		return err
74491	}
74492	for k, v := range m {
74493		switch k {
74494		default:
74495			if v != nil {
74496				var additionalProperties interface{}
74497				err = json.Unmarshal(*v, &additionalProperties)
74498				if err != nil {
74499					return err
74500				}
74501				if qbod.AdditionalProperties == nil {
74502					qbod.AdditionalProperties = make(map[string]interface{})
74503				}
74504				qbod.AdditionalProperties[k] = additionalProperties
74505			}
74506		case "description":
74507			if v != nil {
74508				var description string
74509				err = json.Unmarshal(*v, &description)
74510				if err != nil {
74511					return err
74512				}
74513				qbod.Description = &description
74514			}
74515		case "structure":
74516			if v != nil {
74517				var structure interface{}
74518				err = json.Unmarshal(*v, &structure)
74519				if err != nil {
74520					return err
74521				}
74522				qbod.Structure = structure
74523			}
74524		case "linkedServiceName":
74525			if v != nil {
74526				var linkedServiceName LinkedServiceReference
74527				err = json.Unmarshal(*v, &linkedServiceName)
74528				if err != nil {
74529					return err
74530				}
74531				qbod.LinkedServiceName = &linkedServiceName
74532			}
74533		case "parameters":
74534			if v != nil {
74535				var parameters map[string]*ParameterSpecification
74536				err = json.Unmarshal(*v, &parameters)
74537				if err != nil {
74538					return err
74539				}
74540				qbod.Parameters = parameters
74541			}
74542		case "annotations":
74543			if v != nil {
74544				var annotations []interface{}
74545				err = json.Unmarshal(*v, &annotations)
74546				if err != nil {
74547					return err
74548				}
74549				qbod.Annotations = &annotations
74550			}
74551		case "type":
74552			if v != nil {
74553				var typeVar TypeBasicDataset
74554				err = json.Unmarshal(*v, &typeVar)
74555				if err != nil {
74556					return err
74557				}
74558				qbod.Type = typeVar
74559			}
74560		}
74561	}
74562
74563	return nil
74564}
74565
74566// QuickBooksSource a copy activity QuickBooks server source.
74567type QuickBooksSource struct {
74568	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
74569	Query interface{} `json:"query,omitempty"`
74570	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74571	AdditionalProperties map[string]interface{} `json:""`
74572	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
74573	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
74574	// 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])).
74575	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
74576	// 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'
74577	Type TypeBasicCopySource `json:"type,omitempty"`
74578}
74579
74580// MarshalJSON is the custom marshaler for QuickBooksSource.
74581func (qbs QuickBooksSource) MarshalJSON() ([]byte, error) {
74582	qbs.Type = TypeQuickBooksSource
74583	objectMap := make(map[string]interface{})
74584	if qbs.Query != nil {
74585		objectMap["query"] = qbs.Query
74586	}
74587	if qbs.SourceRetryCount != nil {
74588		objectMap["sourceRetryCount"] = qbs.SourceRetryCount
74589	}
74590	if qbs.SourceRetryWait != nil {
74591		objectMap["sourceRetryWait"] = qbs.SourceRetryWait
74592	}
74593	if qbs.Type != "" {
74594		objectMap["type"] = qbs.Type
74595	}
74596	for k, v := range qbs.AdditionalProperties {
74597		objectMap[k] = v
74598	}
74599	return json.Marshal(objectMap)
74600}
74601
74602// AsAmazonRedshiftSource is the BasicCopySource implementation for QuickBooksSource.
74603func (qbs QuickBooksSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
74604	return nil, false
74605}
74606
74607// AsResponsysSource is the BasicCopySource implementation for QuickBooksSource.
74608func (qbs QuickBooksSource) AsResponsysSource() (*ResponsysSource, bool) {
74609	return nil, false
74610}
74611
74612// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for QuickBooksSource.
74613func (qbs QuickBooksSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
74614	return nil, false
74615}
74616
74617// AsVerticaSource is the BasicCopySource implementation for QuickBooksSource.
74618func (qbs QuickBooksSource) AsVerticaSource() (*VerticaSource, bool) {
74619	return nil, false
74620}
74621
74622// AsNetezzaSource is the BasicCopySource implementation for QuickBooksSource.
74623func (qbs QuickBooksSource) AsNetezzaSource() (*NetezzaSource, bool) {
74624	return nil, false
74625}
74626
74627// AsZohoSource is the BasicCopySource implementation for QuickBooksSource.
74628func (qbs QuickBooksSource) AsZohoSource() (*ZohoSource, bool) {
74629	return nil, false
74630}
74631
74632// AsXeroSource is the BasicCopySource implementation for QuickBooksSource.
74633func (qbs QuickBooksSource) AsXeroSource() (*XeroSource, bool) {
74634	return nil, false
74635}
74636
74637// AsSquareSource is the BasicCopySource implementation for QuickBooksSource.
74638func (qbs QuickBooksSource) AsSquareSource() (*SquareSource, bool) {
74639	return nil, false
74640}
74641
74642// AsSparkSource is the BasicCopySource implementation for QuickBooksSource.
74643func (qbs QuickBooksSource) AsSparkSource() (*SparkSource, bool) {
74644	return nil, false
74645}
74646
74647// AsShopifySource is the BasicCopySource implementation for QuickBooksSource.
74648func (qbs QuickBooksSource) AsShopifySource() (*ShopifySource, bool) {
74649	return nil, false
74650}
74651
74652// AsServiceNowSource is the BasicCopySource implementation for QuickBooksSource.
74653func (qbs QuickBooksSource) AsServiceNowSource() (*ServiceNowSource, bool) {
74654	return nil, false
74655}
74656
74657// AsQuickBooksSource is the BasicCopySource implementation for QuickBooksSource.
74658func (qbs QuickBooksSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
74659	return &qbs, true
74660}
74661
74662// AsPrestoSource is the BasicCopySource implementation for QuickBooksSource.
74663func (qbs QuickBooksSource) AsPrestoSource() (*PrestoSource, bool) {
74664	return nil, false
74665}
74666
74667// AsPhoenixSource is the BasicCopySource implementation for QuickBooksSource.
74668func (qbs QuickBooksSource) AsPhoenixSource() (*PhoenixSource, bool) {
74669	return nil, false
74670}
74671
74672// AsPaypalSource is the BasicCopySource implementation for QuickBooksSource.
74673func (qbs QuickBooksSource) AsPaypalSource() (*PaypalSource, bool) {
74674	return nil, false
74675}
74676
74677// AsMarketoSource is the BasicCopySource implementation for QuickBooksSource.
74678func (qbs QuickBooksSource) AsMarketoSource() (*MarketoSource, bool) {
74679	return nil, false
74680}
74681
74682// AsMariaDBSource is the BasicCopySource implementation for QuickBooksSource.
74683func (qbs QuickBooksSource) AsMariaDBSource() (*MariaDBSource, bool) {
74684	return nil, false
74685}
74686
74687// AsMagentoSource is the BasicCopySource implementation for QuickBooksSource.
74688func (qbs QuickBooksSource) AsMagentoSource() (*MagentoSource, bool) {
74689	return nil, false
74690}
74691
74692// AsJiraSource is the BasicCopySource implementation for QuickBooksSource.
74693func (qbs QuickBooksSource) AsJiraSource() (*JiraSource, bool) {
74694	return nil, false
74695}
74696
74697// AsImpalaSource is the BasicCopySource implementation for QuickBooksSource.
74698func (qbs QuickBooksSource) AsImpalaSource() (*ImpalaSource, bool) {
74699	return nil, false
74700}
74701
74702// AsHubspotSource is the BasicCopySource implementation for QuickBooksSource.
74703func (qbs QuickBooksSource) AsHubspotSource() (*HubspotSource, bool) {
74704	return nil, false
74705}
74706
74707// AsHiveSource is the BasicCopySource implementation for QuickBooksSource.
74708func (qbs QuickBooksSource) AsHiveSource() (*HiveSource, bool) {
74709	return nil, false
74710}
74711
74712// AsHBaseSource is the BasicCopySource implementation for QuickBooksSource.
74713func (qbs QuickBooksSource) AsHBaseSource() (*HBaseSource, bool) {
74714	return nil, false
74715}
74716
74717// AsGreenplumSource is the BasicCopySource implementation for QuickBooksSource.
74718func (qbs QuickBooksSource) AsGreenplumSource() (*GreenplumSource, bool) {
74719	return nil, false
74720}
74721
74722// AsGoogleBigQuerySource is the BasicCopySource implementation for QuickBooksSource.
74723func (qbs QuickBooksSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
74724	return nil, false
74725}
74726
74727// AsEloquaSource is the BasicCopySource implementation for QuickBooksSource.
74728func (qbs QuickBooksSource) AsEloquaSource() (*EloquaSource, bool) {
74729	return nil, false
74730}
74731
74732// AsDrillSource is the BasicCopySource implementation for QuickBooksSource.
74733func (qbs QuickBooksSource) AsDrillSource() (*DrillSource, bool) {
74734	return nil, false
74735}
74736
74737// AsCouchbaseSource is the BasicCopySource implementation for QuickBooksSource.
74738func (qbs QuickBooksSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
74739	return nil, false
74740}
74741
74742// AsConcurSource is the BasicCopySource implementation for QuickBooksSource.
74743func (qbs QuickBooksSource) AsConcurSource() (*ConcurSource, bool) {
74744	return nil, false
74745}
74746
74747// AsAzurePostgreSQLSource is the BasicCopySource implementation for QuickBooksSource.
74748func (qbs QuickBooksSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
74749	return nil, false
74750}
74751
74752// AsAmazonMWSSource is the BasicCopySource implementation for QuickBooksSource.
74753func (qbs QuickBooksSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
74754	return nil, false
74755}
74756
74757// AsHTTPSource is the BasicCopySource implementation for QuickBooksSource.
74758func (qbs QuickBooksSource) AsHTTPSource() (*HTTPSource, bool) {
74759	return nil, false
74760}
74761
74762// AsAzureDataLakeStoreSource is the BasicCopySource implementation for QuickBooksSource.
74763func (qbs QuickBooksSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
74764	return nil, false
74765}
74766
74767// AsMongoDbSource is the BasicCopySource implementation for QuickBooksSource.
74768func (qbs QuickBooksSource) AsMongoDbSource() (*MongoDbSource, bool) {
74769	return nil, false
74770}
74771
74772// AsCassandraSource is the BasicCopySource implementation for QuickBooksSource.
74773func (qbs QuickBooksSource) AsCassandraSource() (*CassandraSource, bool) {
74774	return nil, false
74775}
74776
74777// AsWebSource is the BasicCopySource implementation for QuickBooksSource.
74778func (qbs QuickBooksSource) AsWebSource() (*WebSource, bool) {
74779	return nil, false
74780}
74781
74782// AsOracleSource is the BasicCopySource implementation for QuickBooksSource.
74783func (qbs QuickBooksSource) AsOracleSource() (*OracleSource, bool) {
74784	return nil, false
74785}
74786
74787// AsAzureMySQLSource is the BasicCopySource implementation for QuickBooksSource.
74788func (qbs QuickBooksSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
74789	return nil, false
74790}
74791
74792// AsHdfsSource is the BasicCopySource implementation for QuickBooksSource.
74793func (qbs QuickBooksSource) AsHdfsSource() (*HdfsSource, bool) {
74794	return nil, false
74795}
74796
74797// AsFileSystemSource is the BasicCopySource implementation for QuickBooksSource.
74798func (qbs QuickBooksSource) AsFileSystemSource() (*FileSystemSource, bool) {
74799	return nil, false
74800}
74801
74802// AsSQLDWSource is the BasicCopySource implementation for QuickBooksSource.
74803func (qbs QuickBooksSource) AsSQLDWSource() (*SQLDWSource, bool) {
74804	return nil, false
74805}
74806
74807// AsSQLSource is the BasicCopySource implementation for QuickBooksSource.
74808func (qbs QuickBooksSource) AsSQLSource() (*SQLSource, bool) {
74809	return nil, false
74810}
74811
74812// AsSapEccSource is the BasicCopySource implementation for QuickBooksSource.
74813func (qbs QuickBooksSource) AsSapEccSource() (*SapEccSource, bool) {
74814	return nil, false
74815}
74816
74817// AsSapCloudForCustomerSource is the BasicCopySource implementation for QuickBooksSource.
74818func (qbs QuickBooksSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
74819	return nil, false
74820}
74821
74822// AsSalesforceSource is the BasicCopySource implementation for QuickBooksSource.
74823func (qbs QuickBooksSource) AsSalesforceSource() (*SalesforceSource, bool) {
74824	return nil, false
74825}
74826
74827// AsRelationalSource is the BasicCopySource implementation for QuickBooksSource.
74828func (qbs QuickBooksSource) AsRelationalSource() (*RelationalSource, bool) {
74829	return nil, false
74830}
74831
74832// AsDynamicsSource is the BasicCopySource implementation for QuickBooksSource.
74833func (qbs QuickBooksSource) AsDynamicsSource() (*DynamicsSource, bool) {
74834	return nil, false
74835}
74836
74837// AsDocumentDbCollectionSource is the BasicCopySource implementation for QuickBooksSource.
74838func (qbs QuickBooksSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
74839	return nil, false
74840}
74841
74842// AsBlobSource is the BasicCopySource implementation for QuickBooksSource.
74843func (qbs QuickBooksSource) AsBlobSource() (*BlobSource, bool) {
74844	return nil, false
74845}
74846
74847// AsAzureTableSource is the BasicCopySource implementation for QuickBooksSource.
74848func (qbs QuickBooksSource) AsAzureTableSource() (*AzureTableSource, bool) {
74849	return nil, false
74850}
74851
74852// AsCopySource is the BasicCopySource implementation for QuickBooksSource.
74853func (qbs QuickBooksSource) AsCopySource() (*CopySource, bool) {
74854	return nil, false
74855}
74856
74857// AsBasicCopySource is the BasicCopySource implementation for QuickBooksSource.
74858func (qbs QuickBooksSource) AsBasicCopySource() (BasicCopySource, bool) {
74859	return &qbs, true
74860}
74861
74862// UnmarshalJSON is the custom unmarshaler for QuickBooksSource struct.
74863func (qbs *QuickBooksSource) UnmarshalJSON(body []byte) error {
74864	var m map[string]*json.RawMessage
74865	err := json.Unmarshal(body, &m)
74866	if err != nil {
74867		return err
74868	}
74869	for k, v := range m {
74870		switch k {
74871		case "query":
74872			if v != nil {
74873				var query interface{}
74874				err = json.Unmarshal(*v, &query)
74875				if err != nil {
74876					return err
74877				}
74878				qbs.Query = query
74879			}
74880		default:
74881			if v != nil {
74882				var additionalProperties interface{}
74883				err = json.Unmarshal(*v, &additionalProperties)
74884				if err != nil {
74885					return err
74886				}
74887				if qbs.AdditionalProperties == nil {
74888					qbs.AdditionalProperties = make(map[string]interface{})
74889				}
74890				qbs.AdditionalProperties[k] = additionalProperties
74891			}
74892		case "sourceRetryCount":
74893			if v != nil {
74894				var sourceRetryCount interface{}
74895				err = json.Unmarshal(*v, &sourceRetryCount)
74896				if err != nil {
74897					return err
74898				}
74899				qbs.SourceRetryCount = sourceRetryCount
74900			}
74901		case "sourceRetryWait":
74902			if v != nil {
74903				var sourceRetryWait interface{}
74904				err = json.Unmarshal(*v, &sourceRetryWait)
74905				if err != nil {
74906					return err
74907				}
74908				qbs.SourceRetryWait = sourceRetryWait
74909			}
74910		case "type":
74911			if v != nil {
74912				var typeVar TypeBasicCopySource
74913				err = json.Unmarshal(*v, &typeVar)
74914				if err != nil {
74915					return err
74916				}
74917				qbs.Type = typeVar
74918			}
74919		}
74920	}
74921
74922	return nil
74923}
74924
74925// RecurrenceSchedule the recurrence schedule.
74926type RecurrenceSchedule struct {
74927	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74928	AdditionalProperties map[string]interface{} `json:""`
74929	// Minutes - The minutes.
74930	Minutes *[]int32 `json:"minutes,omitempty"`
74931	// Hours - The hours.
74932	Hours *[]int32 `json:"hours,omitempty"`
74933	// WeekDays - The days of the week.
74934	WeekDays *[]DaysOfWeek `json:"weekDays,omitempty"`
74935	// MonthDays - The month days.
74936	MonthDays *[]int32 `json:"monthDays,omitempty"`
74937	// MonthlyOccurrences - The monthly occurrences.
74938	MonthlyOccurrences *[]RecurrenceScheduleOccurrence `json:"monthlyOccurrences,omitempty"`
74939}
74940
74941// MarshalJSON is the custom marshaler for RecurrenceSchedule.
74942func (rs RecurrenceSchedule) MarshalJSON() ([]byte, error) {
74943	objectMap := make(map[string]interface{})
74944	if rs.Minutes != nil {
74945		objectMap["minutes"] = rs.Minutes
74946	}
74947	if rs.Hours != nil {
74948		objectMap["hours"] = rs.Hours
74949	}
74950	if rs.WeekDays != nil {
74951		objectMap["weekDays"] = rs.WeekDays
74952	}
74953	if rs.MonthDays != nil {
74954		objectMap["monthDays"] = rs.MonthDays
74955	}
74956	if rs.MonthlyOccurrences != nil {
74957		objectMap["monthlyOccurrences"] = rs.MonthlyOccurrences
74958	}
74959	for k, v := range rs.AdditionalProperties {
74960		objectMap[k] = v
74961	}
74962	return json.Marshal(objectMap)
74963}
74964
74965// UnmarshalJSON is the custom unmarshaler for RecurrenceSchedule struct.
74966func (rs *RecurrenceSchedule) UnmarshalJSON(body []byte) error {
74967	var m map[string]*json.RawMessage
74968	err := json.Unmarshal(body, &m)
74969	if err != nil {
74970		return err
74971	}
74972	for k, v := range m {
74973		switch k {
74974		default:
74975			if v != nil {
74976				var additionalProperties interface{}
74977				err = json.Unmarshal(*v, &additionalProperties)
74978				if err != nil {
74979					return err
74980				}
74981				if rs.AdditionalProperties == nil {
74982					rs.AdditionalProperties = make(map[string]interface{})
74983				}
74984				rs.AdditionalProperties[k] = additionalProperties
74985			}
74986		case "minutes":
74987			if v != nil {
74988				var minutes []int32
74989				err = json.Unmarshal(*v, &minutes)
74990				if err != nil {
74991					return err
74992				}
74993				rs.Minutes = &minutes
74994			}
74995		case "hours":
74996			if v != nil {
74997				var hours []int32
74998				err = json.Unmarshal(*v, &hours)
74999				if err != nil {
75000					return err
75001				}
75002				rs.Hours = &hours
75003			}
75004		case "weekDays":
75005			if v != nil {
75006				var weekDays []DaysOfWeek
75007				err = json.Unmarshal(*v, &weekDays)
75008				if err != nil {
75009					return err
75010				}
75011				rs.WeekDays = &weekDays
75012			}
75013		case "monthDays":
75014			if v != nil {
75015				var monthDays []int32
75016				err = json.Unmarshal(*v, &monthDays)
75017				if err != nil {
75018					return err
75019				}
75020				rs.MonthDays = &monthDays
75021			}
75022		case "monthlyOccurrences":
75023			if v != nil {
75024				var monthlyOccurrences []RecurrenceScheduleOccurrence
75025				err = json.Unmarshal(*v, &monthlyOccurrences)
75026				if err != nil {
75027					return err
75028				}
75029				rs.MonthlyOccurrences = &monthlyOccurrences
75030			}
75031		}
75032	}
75033
75034	return nil
75035}
75036
75037// RecurrenceScheduleOccurrence the recurrence schedule occurrence.
75038type RecurrenceScheduleOccurrence struct {
75039	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75040	AdditionalProperties map[string]interface{} `json:""`
75041	// Day - The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
75042	Day DayOfWeek `json:"day,omitempty"`
75043	// Occurrence - The occurrence.
75044	Occurrence *int32 `json:"occurrence,omitempty"`
75045}
75046
75047// MarshalJSON is the custom marshaler for RecurrenceScheduleOccurrence.
75048func (rso RecurrenceScheduleOccurrence) MarshalJSON() ([]byte, error) {
75049	objectMap := make(map[string]interface{})
75050	if rso.Day != "" {
75051		objectMap["day"] = rso.Day
75052	}
75053	if rso.Occurrence != nil {
75054		objectMap["occurrence"] = rso.Occurrence
75055	}
75056	for k, v := range rso.AdditionalProperties {
75057		objectMap[k] = v
75058	}
75059	return json.Marshal(objectMap)
75060}
75061
75062// UnmarshalJSON is the custom unmarshaler for RecurrenceScheduleOccurrence struct.
75063func (rso *RecurrenceScheduleOccurrence) UnmarshalJSON(body []byte) error {
75064	var m map[string]*json.RawMessage
75065	err := json.Unmarshal(body, &m)
75066	if err != nil {
75067		return err
75068	}
75069	for k, v := range m {
75070		switch k {
75071		default:
75072			if v != nil {
75073				var additionalProperties interface{}
75074				err = json.Unmarshal(*v, &additionalProperties)
75075				if err != nil {
75076					return err
75077				}
75078				if rso.AdditionalProperties == nil {
75079					rso.AdditionalProperties = make(map[string]interface{})
75080				}
75081				rso.AdditionalProperties[k] = additionalProperties
75082			}
75083		case "day":
75084			if v != nil {
75085				var day DayOfWeek
75086				err = json.Unmarshal(*v, &day)
75087				if err != nil {
75088					return err
75089				}
75090				rso.Day = day
75091			}
75092		case "occurrence":
75093			if v != nil {
75094				var occurrence int32
75095				err = json.Unmarshal(*v, &occurrence)
75096				if err != nil {
75097					return err
75098				}
75099				rso.Occurrence = &occurrence
75100			}
75101		}
75102	}
75103
75104	return nil
75105}
75106
75107// RedirectIncompatibleRowSettings redirect incompatible row settings
75108type RedirectIncompatibleRowSettings struct {
75109	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75110	AdditionalProperties map[string]interface{} `json:""`
75111	// 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).
75112	LinkedServiceName interface{} `json:"linkedServiceName,omitempty"`
75113	// Path - The path for storing the redirect incompatible row data. Type: string (or Expression with resultType string).
75114	Path interface{} `json:"path,omitempty"`
75115}
75116
75117// MarshalJSON is the custom marshaler for RedirectIncompatibleRowSettings.
75118func (rirs RedirectIncompatibleRowSettings) MarshalJSON() ([]byte, error) {
75119	objectMap := make(map[string]interface{})
75120	if rirs.LinkedServiceName != nil {
75121		objectMap["linkedServiceName"] = rirs.LinkedServiceName
75122	}
75123	if rirs.Path != nil {
75124		objectMap["path"] = rirs.Path
75125	}
75126	for k, v := range rirs.AdditionalProperties {
75127		objectMap[k] = v
75128	}
75129	return json.Marshal(objectMap)
75130}
75131
75132// UnmarshalJSON is the custom unmarshaler for RedirectIncompatibleRowSettings struct.
75133func (rirs *RedirectIncompatibleRowSettings) UnmarshalJSON(body []byte) error {
75134	var m map[string]*json.RawMessage
75135	err := json.Unmarshal(body, &m)
75136	if err != nil {
75137		return err
75138	}
75139	for k, v := range m {
75140		switch k {
75141		default:
75142			if v != nil {
75143				var additionalProperties interface{}
75144				err = json.Unmarshal(*v, &additionalProperties)
75145				if err != nil {
75146					return err
75147				}
75148				if rirs.AdditionalProperties == nil {
75149					rirs.AdditionalProperties = make(map[string]interface{})
75150				}
75151				rirs.AdditionalProperties[k] = additionalProperties
75152			}
75153		case "linkedServiceName":
75154			if v != nil {
75155				var linkedServiceName interface{}
75156				err = json.Unmarshal(*v, &linkedServiceName)
75157				if err != nil {
75158					return err
75159				}
75160				rirs.LinkedServiceName = linkedServiceName
75161			}
75162		case "path":
75163			if v != nil {
75164				var pathVar interface{}
75165				err = json.Unmarshal(*v, &pathVar)
75166				if err != nil {
75167					return err
75168				}
75169				rirs.Path = pathVar
75170			}
75171		}
75172	}
75173
75174	return nil
75175}
75176
75177// RedshiftUnloadSettings the Amazon S3 settings needed for the interim Amazon S3 when copying from Amazon
75178// Redshift with unload. With this, data from Amazon Redshift source will be unloaded into S3 first and
75179// then copied into the targeted sink from the interim S3.
75180type RedshiftUnloadSettings struct {
75181	// S3LinkedServiceName - The name of the Amazon S3 linked service which will be used for the unload operation when copying from the Amazon Redshift source.
75182	S3LinkedServiceName *LinkedServiceReference `json:"s3LinkedServiceName,omitempty"`
75183	// 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).
75184	BucketName interface{} `json:"bucketName,omitempty"`
75185}
75186
75187// RelationalSource a copy activity source for various relational databases.
75188type RelationalSource struct {
75189	// Query - Database query. Type: string (or Expression with resultType string).
75190	Query interface{} `json:"query,omitempty"`
75191	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75192	AdditionalProperties map[string]interface{} `json:""`
75193	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
75194	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
75195	// 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])).
75196	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
75197	// 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'
75198	Type TypeBasicCopySource `json:"type,omitempty"`
75199}
75200
75201// MarshalJSON is the custom marshaler for RelationalSource.
75202func (rs RelationalSource) MarshalJSON() ([]byte, error) {
75203	rs.Type = TypeRelationalSource
75204	objectMap := make(map[string]interface{})
75205	if rs.Query != nil {
75206		objectMap["query"] = rs.Query
75207	}
75208	if rs.SourceRetryCount != nil {
75209		objectMap["sourceRetryCount"] = rs.SourceRetryCount
75210	}
75211	if rs.SourceRetryWait != nil {
75212		objectMap["sourceRetryWait"] = rs.SourceRetryWait
75213	}
75214	if rs.Type != "" {
75215		objectMap["type"] = rs.Type
75216	}
75217	for k, v := range rs.AdditionalProperties {
75218		objectMap[k] = v
75219	}
75220	return json.Marshal(objectMap)
75221}
75222
75223// AsAmazonRedshiftSource is the BasicCopySource implementation for RelationalSource.
75224func (rs RelationalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
75225	return nil, false
75226}
75227
75228// AsResponsysSource is the BasicCopySource implementation for RelationalSource.
75229func (rs RelationalSource) AsResponsysSource() (*ResponsysSource, bool) {
75230	return nil, false
75231}
75232
75233// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for RelationalSource.
75234func (rs RelationalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
75235	return nil, false
75236}
75237
75238// AsVerticaSource is the BasicCopySource implementation for RelationalSource.
75239func (rs RelationalSource) AsVerticaSource() (*VerticaSource, bool) {
75240	return nil, false
75241}
75242
75243// AsNetezzaSource is the BasicCopySource implementation for RelationalSource.
75244func (rs RelationalSource) AsNetezzaSource() (*NetezzaSource, bool) {
75245	return nil, false
75246}
75247
75248// AsZohoSource is the BasicCopySource implementation for RelationalSource.
75249func (rs RelationalSource) AsZohoSource() (*ZohoSource, bool) {
75250	return nil, false
75251}
75252
75253// AsXeroSource is the BasicCopySource implementation for RelationalSource.
75254func (rs RelationalSource) AsXeroSource() (*XeroSource, bool) {
75255	return nil, false
75256}
75257
75258// AsSquareSource is the BasicCopySource implementation for RelationalSource.
75259func (rs RelationalSource) AsSquareSource() (*SquareSource, bool) {
75260	return nil, false
75261}
75262
75263// AsSparkSource is the BasicCopySource implementation for RelationalSource.
75264func (rs RelationalSource) AsSparkSource() (*SparkSource, bool) {
75265	return nil, false
75266}
75267
75268// AsShopifySource is the BasicCopySource implementation for RelationalSource.
75269func (rs RelationalSource) AsShopifySource() (*ShopifySource, bool) {
75270	return nil, false
75271}
75272
75273// AsServiceNowSource is the BasicCopySource implementation for RelationalSource.
75274func (rs RelationalSource) AsServiceNowSource() (*ServiceNowSource, bool) {
75275	return nil, false
75276}
75277
75278// AsQuickBooksSource is the BasicCopySource implementation for RelationalSource.
75279func (rs RelationalSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
75280	return nil, false
75281}
75282
75283// AsPrestoSource is the BasicCopySource implementation for RelationalSource.
75284func (rs RelationalSource) AsPrestoSource() (*PrestoSource, bool) {
75285	return nil, false
75286}
75287
75288// AsPhoenixSource is the BasicCopySource implementation for RelationalSource.
75289func (rs RelationalSource) AsPhoenixSource() (*PhoenixSource, bool) {
75290	return nil, false
75291}
75292
75293// AsPaypalSource is the BasicCopySource implementation for RelationalSource.
75294func (rs RelationalSource) AsPaypalSource() (*PaypalSource, bool) {
75295	return nil, false
75296}
75297
75298// AsMarketoSource is the BasicCopySource implementation for RelationalSource.
75299func (rs RelationalSource) AsMarketoSource() (*MarketoSource, bool) {
75300	return nil, false
75301}
75302
75303// AsMariaDBSource is the BasicCopySource implementation for RelationalSource.
75304func (rs RelationalSource) AsMariaDBSource() (*MariaDBSource, bool) {
75305	return nil, false
75306}
75307
75308// AsMagentoSource is the BasicCopySource implementation for RelationalSource.
75309func (rs RelationalSource) AsMagentoSource() (*MagentoSource, bool) {
75310	return nil, false
75311}
75312
75313// AsJiraSource is the BasicCopySource implementation for RelationalSource.
75314func (rs RelationalSource) AsJiraSource() (*JiraSource, bool) {
75315	return nil, false
75316}
75317
75318// AsImpalaSource is the BasicCopySource implementation for RelationalSource.
75319func (rs RelationalSource) AsImpalaSource() (*ImpalaSource, bool) {
75320	return nil, false
75321}
75322
75323// AsHubspotSource is the BasicCopySource implementation for RelationalSource.
75324func (rs RelationalSource) AsHubspotSource() (*HubspotSource, bool) {
75325	return nil, false
75326}
75327
75328// AsHiveSource is the BasicCopySource implementation for RelationalSource.
75329func (rs RelationalSource) AsHiveSource() (*HiveSource, bool) {
75330	return nil, false
75331}
75332
75333// AsHBaseSource is the BasicCopySource implementation for RelationalSource.
75334func (rs RelationalSource) AsHBaseSource() (*HBaseSource, bool) {
75335	return nil, false
75336}
75337
75338// AsGreenplumSource is the BasicCopySource implementation for RelationalSource.
75339func (rs RelationalSource) AsGreenplumSource() (*GreenplumSource, bool) {
75340	return nil, false
75341}
75342
75343// AsGoogleBigQuerySource is the BasicCopySource implementation for RelationalSource.
75344func (rs RelationalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
75345	return nil, false
75346}
75347
75348// AsEloquaSource is the BasicCopySource implementation for RelationalSource.
75349func (rs RelationalSource) AsEloquaSource() (*EloquaSource, bool) {
75350	return nil, false
75351}
75352
75353// AsDrillSource is the BasicCopySource implementation for RelationalSource.
75354func (rs RelationalSource) AsDrillSource() (*DrillSource, bool) {
75355	return nil, false
75356}
75357
75358// AsCouchbaseSource is the BasicCopySource implementation for RelationalSource.
75359func (rs RelationalSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
75360	return nil, false
75361}
75362
75363// AsConcurSource is the BasicCopySource implementation for RelationalSource.
75364func (rs RelationalSource) AsConcurSource() (*ConcurSource, bool) {
75365	return nil, false
75366}
75367
75368// AsAzurePostgreSQLSource is the BasicCopySource implementation for RelationalSource.
75369func (rs RelationalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
75370	return nil, false
75371}
75372
75373// AsAmazonMWSSource is the BasicCopySource implementation for RelationalSource.
75374func (rs RelationalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
75375	return nil, false
75376}
75377
75378// AsHTTPSource is the BasicCopySource implementation for RelationalSource.
75379func (rs RelationalSource) AsHTTPSource() (*HTTPSource, bool) {
75380	return nil, false
75381}
75382
75383// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RelationalSource.
75384func (rs RelationalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
75385	return nil, false
75386}
75387
75388// AsMongoDbSource is the BasicCopySource implementation for RelationalSource.
75389func (rs RelationalSource) AsMongoDbSource() (*MongoDbSource, bool) {
75390	return nil, false
75391}
75392
75393// AsCassandraSource is the BasicCopySource implementation for RelationalSource.
75394func (rs RelationalSource) AsCassandraSource() (*CassandraSource, bool) {
75395	return nil, false
75396}
75397
75398// AsWebSource is the BasicCopySource implementation for RelationalSource.
75399func (rs RelationalSource) AsWebSource() (*WebSource, bool) {
75400	return nil, false
75401}
75402
75403// AsOracleSource is the BasicCopySource implementation for RelationalSource.
75404func (rs RelationalSource) AsOracleSource() (*OracleSource, bool) {
75405	return nil, false
75406}
75407
75408// AsAzureMySQLSource is the BasicCopySource implementation for RelationalSource.
75409func (rs RelationalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
75410	return nil, false
75411}
75412
75413// AsHdfsSource is the BasicCopySource implementation for RelationalSource.
75414func (rs RelationalSource) AsHdfsSource() (*HdfsSource, bool) {
75415	return nil, false
75416}
75417
75418// AsFileSystemSource is the BasicCopySource implementation for RelationalSource.
75419func (rs RelationalSource) AsFileSystemSource() (*FileSystemSource, bool) {
75420	return nil, false
75421}
75422
75423// AsSQLDWSource is the BasicCopySource implementation for RelationalSource.
75424func (rs RelationalSource) AsSQLDWSource() (*SQLDWSource, bool) {
75425	return nil, false
75426}
75427
75428// AsSQLSource is the BasicCopySource implementation for RelationalSource.
75429func (rs RelationalSource) AsSQLSource() (*SQLSource, bool) {
75430	return nil, false
75431}
75432
75433// AsSapEccSource is the BasicCopySource implementation for RelationalSource.
75434func (rs RelationalSource) AsSapEccSource() (*SapEccSource, bool) {
75435	return nil, false
75436}
75437
75438// AsSapCloudForCustomerSource is the BasicCopySource implementation for RelationalSource.
75439func (rs RelationalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
75440	return nil, false
75441}
75442
75443// AsSalesforceSource is the BasicCopySource implementation for RelationalSource.
75444func (rs RelationalSource) AsSalesforceSource() (*SalesforceSource, bool) {
75445	return nil, false
75446}
75447
75448// AsRelationalSource is the BasicCopySource implementation for RelationalSource.
75449func (rs RelationalSource) AsRelationalSource() (*RelationalSource, bool) {
75450	return &rs, true
75451}
75452
75453// AsDynamicsSource is the BasicCopySource implementation for RelationalSource.
75454func (rs RelationalSource) AsDynamicsSource() (*DynamicsSource, bool) {
75455	return nil, false
75456}
75457
75458// AsDocumentDbCollectionSource is the BasicCopySource implementation for RelationalSource.
75459func (rs RelationalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
75460	return nil, false
75461}
75462
75463// AsBlobSource is the BasicCopySource implementation for RelationalSource.
75464func (rs RelationalSource) AsBlobSource() (*BlobSource, bool) {
75465	return nil, false
75466}
75467
75468// AsAzureTableSource is the BasicCopySource implementation for RelationalSource.
75469func (rs RelationalSource) AsAzureTableSource() (*AzureTableSource, bool) {
75470	return nil, false
75471}
75472
75473// AsCopySource is the BasicCopySource implementation for RelationalSource.
75474func (rs RelationalSource) AsCopySource() (*CopySource, bool) {
75475	return nil, false
75476}
75477
75478// AsBasicCopySource is the BasicCopySource implementation for RelationalSource.
75479func (rs RelationalSource) AsBasicCopySource() (BasicCopySource, bool) {
75480	return &rs, true
75481}
75482
75483// UnmarshalJSON is the custom unmarshaler for RelationalSource struct.
75484func (rs *RelationalSource) UnmarshalJSON(body []byte) error {
75485	var m map[string]*json.RawMessage
75486	err := json.Unmarshal(body, &m)
75487	if err != nil {
75488		return err
75489	}
75490	for k, v := range m {
75491		switch k {
75492		case "query":
75493			if v != nil {
75494				var query interface{}
75495				err = json.Unmarshal(*v, &query)
75496				if err != nil {
75497					return err
75498				}
75499				rs.Query = query
75500			}
75501		default:
75502			if v != nil {
75503				var additionalProperties interface{}
75504				err = json.Unmarshal(*v, &additionalProperties)
75505				if err != nil {
75506					return err
75507				}
75508				if rs.AdditionalProperties == nil {
75509					rs.AdditionalProperties = make(map[string]interface{})
75510				}
75511				rs.AdditionalProperties[k] = additionalProperties
75512			}
75513		case "sourceRetryCount":
75514			if v != nil {
75515				var sourceRetryCount interface{}
75516				err = json.Unmarshal(*v, &sourceRetryCount)
75517				if err != nil {
75518					return err
75519				}
75520				rs.SourceRetryCount = sourceRetryCount
75521			}
75522		case "sourceRetryWait":
75523			if v != nil {
75524				var sourceRetryWait interface{}
75525				err = json.Unmarshal(*v, &sourceRetryWait)
75526				if err != nil {
75527					return err
75528				}
75529				rs.SourceRetryWait = sourceRetryWait
75530			}
75531		case "type":
75532			if v != nil {
75533				var typeVar TypeBasicCopySource
75534				err = json.Unmarshal(*v, &typeVar)
75535				if err != nil {
75536					return err
75537				}
75538				rs.Type = typeVar
75539			}
75540		}
75541	}
75542
75543	return nil
75544}
75545
75546// RelationalTableDataset the relational table dataset.
75547type RelationalTableDataset struct {
75548	// RelationalTableDatasetTypeProperties - Relational table dataset properties.
75549	*RelationalTableDatasetTypeProperties `json:"typeProperties,omitempty"`
75550	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75551	AdditionalProperties map[string]interface{} `json:""`
75552	// Description - Dataset description.
75553	Description *string `json:"description,omitempty"`
75554	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
75555	Structure interface{} `json:"structure,omitempty"`
75556	// LinkedServiceName - Linked service reference.
75557	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
75558	// Parameters - Parameters for dataset.
75559	Parameters map[string]*ParameterSpecification `json:"parameters"`
75560	// Annotations - List of tags that can be used for describing the Dataset.
75561	Annotations *[]interface{} `json:"annotations,omitempty"`
75562	// 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'
75563	Type TypeBasicDataset `json:"type,omitempty"`
75564}
75565
75566// MarshalJSON is the custom marshaler for RelationalTableDataset.
75567func (rtd RelationalTableDataset) MarshalJSON() ([]byte, error) {
75568	rtd.Type = TypeRelationalTable
75569	objectMap := make(map[string]interface{})
75570	if rtd.RelationalTableDatasetTypeProperties != nil {
75571		objectMap["typeProperties"] = rtd.RelationalTableDatasetTypeProperties
75572	}
75573	if rtd.Description != nil {
75574		objectMap["description"] = rtd.Description
75575	}
75576	if rtd.Structure != nil {
75577		objectMap["structure"] = rtd.Structure
75578	}
75579	if rtd.LinkedServiceName != nil {
75580		objectMap["linkedServiceName"] = rtd.LinkedServiceName
75581	}
75582	if rtd.Parameters != nil {
75583		objectMap["parameters"] = rtd.Parameters
75584	}
75585	if rtd.Annotations != nil {
75586		objectMap["annotations"] = rtd.Annotations
75587	}
75588	if rtd.Type != "" {
75589		objectMap["type"] = rtd.Type
75590	}
75591	for k, v := range rtd.AdditionalProperties {
75592		objectMap[k] = v
75593	}
75594	return json.Marshal(objectMap)
75595}
75596
75597// AsResponsysObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75598func (rtd RelationalTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
75599	return nil, false
75600}
75601
75602// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75603func (rtd RelationalTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
75604	return nil, false
75605}
75606
75607// AsVerticaTableDataset is the BasicDataset implementation for RelationalTableDataset.
75608func (rtd RelationalTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
75609	return nil, false
75610}
75611
75612// AsNetezzaTableDataset is the BasicDataset implementation for RelationalTableDataset.
75613func (rtd RelationalTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
75614	return nil, false
75615}
75616
75617// AsZohoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75618func (rtd RelationalTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
75619	return nil, false
75620}
75621
75622// AsXeroObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75623func (rtd RelationalTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
75624	return nil, false
75625}
75626
75627// AsSquareObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75628func (rtd RelationalTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
75629	return nil, false
75630}
75631
75632// AsSparkObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75633func (rtd RelationalTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
75634	return nil, false
75635}
75636
75637// AsShopifyObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75638func (rtd RelationalTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
75639	return nil, false
75640}
75641
75642// AsServiceNowObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75643func (rtd RelationalTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
75644	return nil, false
75645}
75646
75647// AsQuickBooksObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75648func (rtd RelationalTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
75649	return nil, false
75650}
75651
75652// AsPrestoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75653func (rtd RelationalTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
75654	return nil, false
75655}
75656
75657// AsPhoenixObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75658func (rtd RelationalTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
75659	return nil, false
75660}
75661
75662// AsPaypalObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75663func (rtd RelationalTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
75664	return nil, false
75665}
75666
75667// AsMarketoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75668func (rtd RelationalTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
75669	return nil, false
75670}
75671
75672// AsMariaDBTableDataset is the BasicDataset implementation for RelationalTableDataset.
75673func (rtd RelationalTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
75674	return nil, false
75675}
75676
75677// AsMagentoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75678func (rtd RelationalTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
75679	return nil, false
75680}
75681
75682// AsJiraObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75683func (rtd RelationalTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
75684	return nil, false
75685}
75686
75687// AsImpalaObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75688func (rtd RelationalTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
75689	return nil, false
75690}
75691
75692// AsHubspotObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75693func (rtd RelationalTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
75694	return nil, false
75695}
75696
75697// AsHiveObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75698func (rtd RelationalTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
75699	return nil, false
75700}
75701
75702// AsHBaseObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75703func (rtd RelationalTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
75704	return nil, false
75705}
75706
75707// AsGreenplumTableDataset is the BasicDataset implementation for RelationalTableDataset.
75708func (rtd RelationalTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
75709	return nil, false
75710}
75711
75712// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75713func (rtd RelationalTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
75714	return nil, false
75715}
75716
75717// AsEloquaObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75718func (rtd RelationalTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
75719	return nil, false
75720}
75721
75722// AsDrillTableDataset is the BasicDataset implementation for RelationalTableDataset.
75723func (rtd RelationalTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
75724	return nil, false
75725}
75726
75727// AsCouchbaseTableDataset is the BasicDataset implementation for RelationalTableDataset.
75728func (rtd RelationalTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
75729	return nil, false
75730}
75731
75732// AsConcurObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75733func (rtd RelationalTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
75734	return nil, false
75735}
75736
75737// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
75738func (rtd RelationalTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
75739	return nil, false
75740}
75741
75742// AsAmazonMWSObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75743func (rtd RelationalTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
75744	return nil, false
75745}
75746
75747// AsHTTPDataset is the BasicDataset implementation for RelationalTableDataset.
75748func (rtd RelationalTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
75749	return nil, false
75750}
75751
75752// AsAzureSearchIndexDataset is the BasicDataset implementation for RelationalTableDataset.
75753func (rtd RelationalTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
75754	return nil, false
75755}
75756
75757// AsWebTableDataset is the BasicDataset implementation for RelationalTableDataset.
75758func (rtd RelationalTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
75759	return nil, false
75760}
75761
75762// AsSQLServerTableDataset is the BasicDataset implementation for RelationalTableDataset.
75763func (rtd RelationalTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
75764	return nil, false
75765}
75766
75767// AsSapEccResourceDataset is the BasicDataset implementation for RelationalTableDataset.
75768func (rtd RelationalTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
75769	return nil, false
75770}
75771
75772// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for RelationalTableDataset.
75773func (rtd RelationalTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
75774	return nil, false
75775}
75776
75777// AsSalesforceObjectDataset is the BasicDataset implementation for RelationalTableDataset.
75778func (rtd RelationalTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
75779	return nil, false
75780}
75781
75782// AsRelationalTableDataset is the BasicDataset implementation for RelationalTableDataset.
75783func (rtd RelationalTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
75784	return &rtd, true
75785}
75786
75787// AsAzureMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
75788func (rtd RelationalTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
75789	return nil, false
75790}
75791
75792// AsOracleTableDataset is the BasicDataset implementation for RelationalTableDataset.
75793func (rtd RelationalTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
75794	return nil, false
75795}
75796
75797// AsODataResourceDataset is the BasicDataset implementation for RelationalTableDataset.
75798func (rtd RelationalTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
75799	return nil, false
75800}
75801
75802// AsMongoDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset.
75803func (rtd RelationalTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
75804	return nil, false
75805}
75806
75807// AsFileShareDataset is the BasicDataset implementation for RelationalTableDataset.
75808func (rtd RelationalTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
75809	return nil, false
75810}
75811
75812// AsAzureDataLakeStoreDataset is the BasicDataset implementation for RelationalTableDataset.
75813func (rtd RelationalTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
75814	return nil, false
75815}
75816
75817// AsDynamicsEntityDataset is the BasicDataset implementation for RelationalTableDataset.
75818func (rtd RelationalTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
75819	return nil, false
75820}
75821
75822// AsDocumentDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset.
75823func (rtd RelationalTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
75824	return nil, false
75825}
75826
75827// AsCustomDataset is the BasicDataset implementation for RelationalTableDataset.
75828func (rtd RelationalTableDataset) AsCustomDataset() (*CustomDataset, bool) {
75829	return nil, false
75830}
75831
75832// AsCassandraTableDataset is the BasicDataset implementation for RelationalTableDataset.
75833func (rtd RelationalTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
75834	return nil, false
75835}
75836
75837// AsAzureSQLDWTableDataset is the BasicDataset implementation for RelationalTableDataset.
75838func (rtd RelationalTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
75839	return nil, false
75840}
75841
75842// AsAzureSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
75843func (rtd RelationalTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
75844	return nil, false
75845}
75846
75847// AsAzureTableDataset is the BasicDataset implementation for RelationalTableDataset.
75848func (rtd RelationalTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
75849	return nil, false
75850}
75851
75852// AsAzureBlobDataset is the BasicDataset implementation for RelationalTableDataset.
75853func (rtd RelationalTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
75854	return nil, false
75855}
75856
75857// AsAmazonS3Dataset is the BasicDataset implementation for RelationalTableDataset.
75858func (rtd RelationalTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
75859	return nil, false
75860}
75861
75862// AsDataset is the BasicDataset implementation for RelationalTableDataset.
75863func (rtd RelationalTableDataset) AsDataset() (*Dataset, bool) {
75864	return nil, false
75865}
75866
75867// AsBasicDataset is the BasicDataset implementation for RelationalTableDataset.
75868func (rtd RelationalTableDataset) AsBasicDataset() (BasicDataset, bool) {
75869	return &rtd, true
75870}
75871
75872// UnmarshalJSON is the custom unmarshaler for RelationalTableDataset struct.
75873func (rtd *RelationalTableDataset) UnmarshalJSON(body []byte) error {
75874	var m map[string]*json.RawMessage
75875	err := json.Unmarshal(body, &m)
75876	if err != nil {
75877		return err
75878	}
75879	for k, v := range m {
75880		switch k {
75881		case "typeProperties":
75882			if v != nil {
75883				var relationalTableDatasetTypeProperties RelationalTableDatasetTypeProperties
75884				err = json.Unmarshal(*v, &relationalTableDatasetTypeProperties)
75885				if err != nil {
75886					return err
75887				}
75888				rtd.RelationalTableDatasetTypeProperties = &relationalTableDatasetTypeProperties
75889			}
75890		default:
75891			if v != nil {
75892				var additionalProperties interface{}
75893				err = json.Unmarshal(*v, &additionalProperties)
75894				if err != nil {
75895					return err
75896				}
75897				if rtd.AdditionalProperties == nil {
75898					rtd.AdditionalProperties = make(map[string]interface{})
75899				}
75900				rtd.AdditionalProperties[k] = additionalProperties
75901			}
75902		case "description":
75903			if v != nil {
75904				var description string
75905				err = json.Unmarshal(*v, &description)
75906				if err != nil {
75907					return err
75908				}
75909				rtd.Description = &description
75910			}
75911		case "structure":
75912			if v != nil {
75913				var structure interface{}
75914				err = json.Unmarshal(*v, &structure)
75915				if err != nil {
75916					return err
75917				}
75918				rtd.Structure = structure
75919			}
75920		case "linkedServiceName":
75921			if v != nil {
75922				var linkedServiceName LinkedServiceReference
75923				err = json.Unmarshal(*v, &linkedServiceName)
75924				if err != nil {
75925					return err
75926				}
75927				rtd.LinkedServiceName = &linkedServiceName
75928			}
75929		case "parameters":
75930			if v != nil {
75931				var parameters map[string]*ParameterSpecification
75932				err = json.Unmarshal(*v, &parameters)
75933				if err != nil {
75934					return err
75935				}
75936				rtd.Parameters = parameters
75937			}
75938		case "annotations":
75939			if v != nil {
75940				var annotations []interface{}
75941				err = json.Unmarshal(*v, &annotations)
75942				if err != nil {
75943					return err
75944				}
75945				rtd.Annotations = &annotations
75946			}
75947		case "type":
75948			if v != nil {
75949				var typeVar TypeBasicDataset
75950				err = json.Unmarshal(*v, &typeVar)
75951				if err != nil {
75952					return err
75953				}
75954				rtd.Type = typeVar
75955			}
75956		}
75957	}
75958
75959	return nil
75960}
75961
75962// RelationalTableDatasetTypeProperties relational table dataset properties.
75963type RelationalTableDatasetTypeProperties struct {
75964	// TableName - The relational table name. Type: string (or Expression with resultType string).
75965	TableName interface{} `json:"tableName,omitempty"`
75966}
75967
75968// Resource azure Data Factory top-level resource.
75969type Resource struct {
75970	// ID - READ-ONLY; The resource identifier.
75971	ID *string `json:"id,omitempty"`
75972	// Name - READ-ONLY; The resource name.
75973	Name *string `json:"name,omitempty"`
75974	// Type - READ-ONLY; The resource type.
75975	Type *string `json:"type,omitempty"`
75976	// Location - The resource location.
75977	Location *string `json:"location,omitempty"`
75978	// Tags - The resource tags.
75979	Tags map[string]*string `json:"tags"`
75980}
75981
75982// MarshalJSON is the custom marshaler for Resource.
75983func (r Resource) MarshalJSON() ([]byte, error) {
75984	objectMap := make(map[string]interface{})
75985	if r.Location != nil {
75986		objectMap["location"] = r.Location
75987	}
75988	if r.Tags != nil {
75989		objectMap["tags"] = r.Tags
75990	}
75991	return json.Marshal(objectMap)
75992}
75993
75994// ResponsysLinkedService responsys linked service.
75995type ResponsysLinkedService struct {
75996	// ResponsysLinkedServiceTypeProperties - Responsys linked service properties.
75997	*ResponsysLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
75998	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75999	AdditionalProperties map[string]interface{} `json:""`
76000	// ConnectVia - The integration runtime reference.
76001	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
76002	// Description - Linked service description.
76003	Description *string `json:"description,omitempty"`
76004	// Parameters - Parameters for linked service.
76005	Parameters map[string]*ParameterSpecification `json:"parameters"`
76006	// Annotations - List of tags that can be used for describing the Dataset.
76007	Annotations *[]interface{} `json:"annotations,omitempty"`
76008	// 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'
76009	Type TypeBasicLinkedService `json:"type,omitempty"`
76010}
76011
76012// MarshalJSON is the custom marshaler for ResponsysLinkedService.
76013func (rls ResponsysLinkedService) MarshalJSON() ([]byte, error) {
76014	rls.Type = TypeResponsys
76015	objectMap := make(map[string]interface{})
76016	if rls.ResponsysLinkedServiceTypeProperties != nil {
76017		objectMap["typeProperties"] = rls.ResponsysLinkedServiceTypeProperties
76018	}
76019	if rls.ConnectVia != nil {
76020		objectMap["connectVia"] = rls.ConnectVia
76021	}
76022	if rls.Description != nil {
76023		objectMap["description"] = rls.Description
76024	}
76025	if rls.Parameters != nil {
76026		objectMap["parameters"] = rls.Parameters
76027	}
76028	if rls.Annotations != nil {
76029		objectMap["annotations"] = rls.Annotations
76030	}
76031	if rls.Type != "" {
76032		objectMap["type"] = rls.Type
76033	}
76034	for k, v := range rls.AdditionalProperties {
76035		objectMap[k] = v
76036	}
76037	return json.Marshal(objectMap)
76038}
76039
76040// AsResponsysLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76041func (rls ResponsysLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
76042	return &rls, true
76043}
76044
76045// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76046func (rls ResponsysLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
76047	return nil, false
76048}
76049
76050// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76051func (rls ResponsysLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
76052	return nil, false
76053}
76054
76055// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76056func (rls ResponsysLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
76057	return nil, false
76058}
76059
76060// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76061func (rls ResponsysLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
76062	return nil, false
76063}
76064
76065// AsNetezzaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76066func (rls ResponsysLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
76067	return nil, false
76068}
76069
76070// AsVerticaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76071func (rls ResponsysLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
76072	return nil, false
76073}
76074
76075// AsZohoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76076func (rls ResponsysLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
76077	return nil, false
76078}
76079
76080// AsXeroLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76081func (rls ResponsysLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
76082	return nil, false
76083}
76084
76085// AsSquareLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76086func (rls ResponsysLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
76087	return nil, false
76088}
76089
76090// AsSparkLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76091func (rls ResponsysLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
76092	return nil, false
76093}
76094
76095// AsShopifyLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76096func (rls ResponsysLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
76097	return nil, false
76098}
76099
76100// AsServiceNowLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76101func (rls ResponsysLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
76102	return nil, false
76103}
76104
76105// AsQuickBooksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76106func (rls ResponsysLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
76107	return nil, false
76108}
76109
76110// AsPrestoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76111func (rls ResponsysLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
76112	return nil, false
76113}
76114
76115// AsPhoenixLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76116func (rls ResponsysLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
76117	return nil, false
76118}
76119
76120// AsPaypalLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76121func (rls ResponsysLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
76122	return nil, false
76123}
76124
76125// AsMarketoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76126func (rls ResponsysLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
76127	return nil, false
76128}
76129
76130// AsMariaDBLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76131func (rls ResponsysLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
76132	return nil, false
76133}
76134
76135// AsMagentoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76136func (rls ResponsysLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
76137	return nil, false
76138}
76139
76140// AsJiraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76141func (rls ResponsysLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
76142	return nil, false
76143}
76144
76145// AsImpalaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76146func (rls ResponsysLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
76147	return nil, false
76148}
76149
76150// AsHubspotLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76151func (rls ResponsysLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
76152	return nil, false
76153}
76154
76155// AsHiveLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76156func (rls ResponsysLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
76157	return nil, false
76158}
76159
76160// AsHBaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76161func (rls ResponsysLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
76162	return nil, false
76163}
76164
76165// AsGreenplumLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76166func (rls ResponsysLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
76167	return nil, false
76168}
76169
76170// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76171func (rls ResponsysLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
76172	return nil, false
76173}
76174
76175// AsEloquaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76176func (rls ResponsysLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
76177	return nil, false
76178}
76179
76180// AsDrillLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76181func (rls ResponsysLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
76182	return nil, false
76183}
76184
76185// AsCouchbaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76186func (rls ResponsysLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
76187	return nil, false
76188}
76189
76190// AsConcurLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76191func (rls ResponsysLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
76192	return nil, false
76193}
76194
76195// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76196func (rls ResponsysLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
76197	return nil, false
76198}
76199
76200// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76201func (rls ResponsysLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
76202	return nil, false
76203}
76204
76205// AsSapHanaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76206func (rls ResponsysLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
76207	return nil, false
76208}
76209
76210// AsSapBWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76211func (rls ResponsysLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
76212	return nil, false
76213}
76214
76215// AsSftpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76216func (rls ResponsysLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
76217	return nil, false
76218}
76219
76220// AsFtpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76221func (rls ResponsysLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
76222	return nil, false
76223}
76224
76225// AsHTTPLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76226func (rls ResponsysLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
76227	return nil, false
76228}
76229
76230// AsAzureSearchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76231func (rls ResponsysLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
76232	return nil, false
76233}
76234
76235// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76236func (rls ResponsysLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
76237	return nil, false
76238}
76239
76240// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76241func (rls ResponsysLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
76242	return nil, false
76243}
76244
76245// AsAmazonS3LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76246func (rls ResponsysLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
76247	return nil, false
76248}
76249
76250// AsSapEccLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76251func (rls ResponsysLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
76252	return nil, false
76253}
76254
76255// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76256func (rls ResponsysLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
76257	return nil, false
76258}
76259
76260// AsSalesforceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76261func (rls ResponsysLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
76262	return nil, false
76263}
76264
76265// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76266func (rls ResponsysLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
76267	return nil, false
76268}
76269
76270// AsMongoDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76271func (rls ResponsysLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
76272	return nil, false
76273}
76274
76275// AsCassandraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76276func (rls ResponsysLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
76277	return nil, false
76278}
76279
76280// AsWebLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76281func (rls ResponsysLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
76282	return nil, false
76283}
76284
76285// AsODataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76286func (rls ResponsysLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
76287	return nil, false
76288}
76289
76290// AsHdfsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76291func (rls ResponsysLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
76292	return nil, false
76293}
76294
76295// AsOdbcLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76296func (rls ResponsysLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
76297	return nil, false
76298}
76299
76300// AsAzureMLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76301func (rls ResponsysLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
76302	return nil, false
76303}
76304
76305// AsTeradataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76306func (rls ResponsysLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
76307	return nil, false
76308}
76309
76310// AsDb2LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76311func (rls ResponsysLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
76312	return nil, false
76313}
76314
76315// AsSybaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76316func (rls ResponsysLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
76317	return nil, false
76318}
76319
76320// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76321func (rls ResponsysLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
76322	return nil, false
76323}
76324
76325// AsMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76326func (rls ResponsysLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
76327	return nil, false
76328}
76329
76330// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76331func (rls ResponsysLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
76332	return nil, false
76333}
76334
76335// AsOracleLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76336func (rls ResponsysLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
76337	return nil, false
76338}
76339
76340// AsFileServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76341func (rls ResponsysLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
76342	return nil, false
76343}
76344
76345// AsHDInsightLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76346func (rls ResponsysLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
76347	return nil, false
76348}
76349
76350// AsDynamicsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76351func (rls ResponsysLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
76352	return nil, false
76353}
76354
76355// AsCosmosDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76356func (rls ResponsysLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
76357	return nil, false
76358}
76359
76360// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76361func (rls ResponsysLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
76362	return nil, false
76363}
76364
76365// AsAzureBatchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76366func (rls ResponsysLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
76367	return nil, false
76368}
76369
76370// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76371func (rls ResponsysLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
76372	return nil, false
76373}
76374
76375// AsSQLServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76376func (rls ResponsysLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
76377	return nil, false
76378}
76379
76380// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76381func (rls ResponsysLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
76382	return nil, false
76383}
76384
76385// AsAzureStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76386func (rls ResponsysLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
76387	return nil, false
76388}
76389
76390// AsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76391func (rls ResponsysLinkedService) AsLinkedService() (*LinkedService, bool) {
76392	return nil, false
76393}
76394
76395// AsBasicLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
76396func (rls ResponsysLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
76397	return &rls, true
76398}
76399
76400// UnmarshalJSON is the custom unmarshaler for ResponsysLinkedService struct.
76401func (rls *ResponsysLinkedService) UnmarshalJSON(body []byte) error {
76402	var m map[string]*json.RawMessage
76403	err := json.Unmarshal(body, &m)
76404	if err != nil {
76405		return err
76406	}
76407	for k, v := range m {
76408		switch k {
76409		case "typeProperties":
76410			if v != nil {
76411				var responsysLinkedServiceTypeProperties ResponsysLinkedServiceTypeProperties
76412				err = json.Unmarshal(*v, &responsysLinkedServiceTypeProperties)
76413				if err != nil {
76414					return err
76415				}
76416				rls.ResponsysLinkedServiceTypeProperties = &responsysLinkedServiceTypeProperties
76417			}
76418		default:
76419			if v != nil {
76420				var additionalProperties interface{}
76421				err = json.Unmarshal(*v, &additionalProperties)
76422				if err != nil {
76423					return err
76424				}
76425				if rls.AdditionalProperties == nil {
76426					rls.AdditionalProperties = make(map[string]interface{})
76427				}
76428				rls.AdditionalProperties[k] = additionalProperties
76429			}
76430		case "connectVia":
76431			if v != nil {
76432				var connectVia IntegrationRuntimeReference
76433				err = json.Unmarshal(*v, &connectVia)
76434				if err != nil {
76435					return err
76436				}
76437				rls.ConnectVia = &connectVia
76438			}
76439		case "description":
76440			if v != nil {
76441				var description string
76442				err = json.Unmarshal(*v, &description)
76443				if err != nil {
76444					return err
76445				}
76446				rls.Description = &description
76447			}
76448		case "parameters":
76449			if v != nil {
76450				var parameters map[string]*ParameterSpecification
76451				err = json.Unmarshal(*v, &parameters)
76452				if err != nil {
76453					return err
76454				}
76455				rls.Parameters = parameters
76456			}
76457		case "annotations":
76458			if v != nil {
76459				var annotations []interface{}
76460				err = json.Unmarshal(*v, &annotations)
76461				if err != nil {
76462					return err
76463				}
76464				rls.Annotations = &annotations
76465			}
76466		case "type":
76467			if v != nil {
76468				var typeVar TypeBasicLinkedService
76469				err = json.Unmarshal(*v, &typeVar)
76470				if err != nil {
76471					return err
76472				}
76473				rls.Type = typeVar
76474			}
76475		}
76476	}
76477
76478	return nil
76479}
76480
76481// ResponsysLinkedServiceTypeProperties responsys linked service properties.
76482type ResponsysLinkedServiceTypeProperties struct {
76483	// Endpoint - The endpoint of the Responsys server.
76484	Endpoint interface{} `json:"endpoint,omitempty"`
76485	// ClientID - The client ID associated with the Responsys application. Type: string (or Expression with resultType string).
76486	ClientID interface{} `json:"clientId,omitempty"`
76487	// ClientSecret - The client secret associated with the Responsys application. Type: string (or Expression with resultType string).
76488	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
76489	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
76490	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
76491	// 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).
76492	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
76493	// 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).
76494	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
76495	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
76496	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
76497}
76498
76499// UnmarshalJSON is the custom unmarshaler for ResponsysLinkedServiceTypeProperties struct.
76500func (rlstp *ResponsysLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
76501	var m map[string]*json.RawMessage
76502	err := json.Unmarshal(body, &m)
76503	if err != nil {
76504		return err
76505	}
76506	for k, v := range m {
76507		switch k {
76508		case "endpoint":
76509			if v != nil {
76510				var endpoint interface{}
76511				err = json.Unmarshal(*v, &endpoint)
76512				if err != nil {
76513					return err
76514				}
76515				rlstp.Endpoint = endpoint
76516			}
76517		case "clientId":
76518			if v != nil {
76519				var clientID interface{}
76520				err = json.Unmarshal(*v, &clientID)
76521				if err != nil {
76522					return err
76523				}
76524				rlstp.ClientID = clientID
76525			}
76526		case "clientSecret":
76527			if v != nil {
76528				clientSecret, err := unmarshalBasicSecretBase(*v)
76529				if err != nil {
76530					return err
76531				}
76532				rlstp.ClientSecret = clientSecret
76533			}
76534		case "useEncryptedEndpoints":
76535			if v != nil {
76536				var useEncryptedEndpoints interface{}
76537				err = json.Unmarshal(*v, &useEncryptedEndpoints)
76538				if err != nil {
76539					return err
76540				}
76541				rlstp.UseEncryptedEndpoints = useEncryptedEndpoints
76542			}
76543		case "useHostVerification":
76544			if v != nil {
76545				var useHostVerification interface{}
76546				err = json.Unmarshal(*v, &useHostVerification)
76547				if err != nil {
76548					return err
76549				}
76550				rlstp.UseHostVerification = useHostVerification
76551			}
76552		case "usePeerVerification":
76553			if v != nil {
76554				var usePeerVerification interface{}
76555				err = json.Unmarshal(*v, &usePeerVerification)
76556				if err != nil {
76557					return err
76558				}
76559				rlstp.UsePeerVerification = usePeerVerification
76560			}
76561		case "encryptedCredential":
76562			if v != nil {
76563				var encryptedCredential interface{}
76564				err = json.Unmarshal(*v, &encryptedCredential)
76565				if err != nil {
76566					return err
76567				}
76568				rlstp.EncryptedCredential = encryptedCredential
76569			}
76570		}
76571	}
76572
76573	return nil
76574}
76575
76576// ResponsysObjectDataset responsys dataset.
76577type ResponsysObjectDataset struct {
76578	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
76579	AdditionalProperties map[string]interface{} `json:""`
76580	// Description - Dataset description.
76581	Description *string `json:"description,omitempty"`
76582	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
76583	Structure interface{} `json:"structure,omitempty"`
76584	// LinkedServiceName - Linked service reference.
76585	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
76586	// Parameters - Parameters for dataset.
76587	Parameters map[string]*ParameterSpecification `json:"parameters"`
76588	// Annotations - List of tags that can be used for describing the Dataset.
76589	Annotations *[]interface{} `json:"annotations,omitempty"`
76590	// 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'
76591	Type TypeBasicDataset `json:"type,omitempty"`
76592}
76593
76594// MarshalJSON is the custom marshaler for ResponsysObjectDataset.
76595func (rod ResponsysObjectDataset) MarshalJSON() ([]byte, error) {
76596	rod.Type = TypeResponsysObject
76597	objectMap := make(map[string]interface{})
76598	if rod.Description != nil {
76599		objectMap["description"] = rod.Description
76600	}
76601	if rod.Structure != nil {
76602		objectMap["structure"] = rod.Structure
76603	}
76604	if rod.LinkedServiceName != nil {
76605		objectMap["linkedServiceName"] = rod.LinkedServiceName
76606	}
76607	if rod.Parameters != nil {
76608		objectMap["parameters"] = rod.Parameters
76609	}
76610	if rod.Annotations != nil {
76611		objectMap["annotations"] = rod.Annotations
76612	}
76613	if rod.Type != "" {
76614		objectMap["type"] = rod.Type
76615	}
76616	for k, v := range rod.AdditionalProperties {
76617		objectMap[k] = v
76618	}
76619	return json.Marshal(objectMap)
76620}
76621
76622// AsResponsysObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76623func (rod ResponsysObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
76624	return &rod, true
76625}
76626
76627// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76628func (rod ResponsysObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
76629	return nil, false
76630}
76631
76632// AsVerticaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76633func (rod ResponsysObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
76634	return nil, false
76635}
76636
76637// AsNetezzaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76638func (rod ResponsysObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
76639	return nil, false
76640}
76641
76642// AsZohoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76643func (rod ResponsysObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
76644	return nil, false
76645}
76646
76647// AsXeroObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76648func (rod ResponsysObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
76649	return nil, false
76650}
76651
76652// AsSquareObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76653func (rod ResponsysObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
76654	return nil, false
76655}
76656
76657// AsSparkObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76658func (rod ResponsysObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
76659	return nil, false
76660}
76661
76662// AsShopifyObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76663func (rod ResponsysObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
76664	return nil, false
76665}
76666
76667// AsServiceNowObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76668func (rod ResponsysObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
76669	return nil, false
76670}
76671
76672// AsQuickBooksObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76673func (rod ResponsysObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
76674	return nil, false
76675}
76676
76677// AsPrestoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76678func (rod ResponsysObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
76679	return nil, false
76680}
76681
76682// AsPhoenixObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76683func (rod ResponsysObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
76684	return nil, false
76685}
76686
76687// AsPaypalObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76688func (rod ResponsysObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
76689	return nil, false
76690}
76691
76692// AsMarketoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76693func (rod ResponsysObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
76694	return nil, false
76695}
76696
76697// AsMariaDBTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76698func (rod ResponsysObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
76699	return nil, false
76700}
76701
76702// AsMagentoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76703func (rod ResponsysObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
76704	return nil, false
76705}
76706
76707// AsJiraObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76708func (rod ResponsysObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
76709	return nil, false
76710}
76711
76712// AsImpalaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76713func (rod ResponsysObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
76714	return nil, false
76715}
76716
76717// AsHubspotObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76718func (rod ResponsysObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
76719	return nil, false
76720}
76721
76722// AsHiveObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76723func (rod ResponsysObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
76724	return nil, false
76725}
76726
76727// AsHBaseObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76728func (rod ResponsysObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
76729	return nil, false
76730}
76731
76732// AsGreenplumTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76733func (rod ResponsysObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
76734	return nil, false
76735}
76736
76737// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76738func (rod ResponsysObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
76739	return nil, false
76740}
76741
76742// AsEloquaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76743func (rod ResponsysObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
76744	return nil, false
76745}
76746
76747// AsDrillTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76748func (rod ResponsysObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
76749	return nil, false
76750}
76751
76752// AsCouchbaseTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76753func (rod ResponsysObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
76754	return nil, false
76755}
76756
76757// AsConcurObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76758func (rod ResponsysObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
76759	return nil, false
76760}
76761
76762// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76763func (rod ResponsysObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
76764	return nil, false
76765}
76766
76767// AsAmazonMWSObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76768func (rod ResponsysObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
76769	return nil, false
76770}
76771
76772// AsHTTPDataset is the BasicDataset implementation for ResponsysObjectDataset.
76773func (rod ResponsysObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
76774	return nil, false
76775}
76776
76777// AsAzureSearchIndexDataset is the BasicDataset implementation for ResponsysObjectDataset.
76778func (rod ResponsysObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
76779	return nil, false
76780}
76781
76782// AsWebTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76783func (rod ResponsysObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
76784	return nil, false
76785}
76786
76787// AsSQLServerTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76788func (rod ResponsysObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
76789	return nil, false
76790}
76791
76792// AsSapEccResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
76793func (rod ResponsysObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
76794	return nil, false
76795}
76796
76797// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
76798func (rod ResponsysObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
76799	return nil, false
76800}
76801
76802// AsSalesforceObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
76803func (rod ResponsysObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
76804	return nil, false
76805}
76806
76807// AsRelationalTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76808func (rod ResponsysObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
76809	return nil, false
76810}
76811
76812// AsAzureMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76813func (rod ResponsysObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
76814	return nil, false
76815}
76816
76817// AsOracleTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76818func (rod ResponsysObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
76819	return nil, false
76820}
76821
76822// AsODataResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
76823func (rod ResponsysObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
76824	return nil, false
76825}
76826
76827// AsMongoDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
76828func (rod ResponsysObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
76829	return nil, false
76830}
76831
76832// AsFileShareDataset is the BasicDataset implementation for ResponsysObjectDataset.
76833func (rod ResponsysObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
76834	return nil, false
76835}
76836
76837// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ResponsysObjectDataset.
76838func (rod ResponsysObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
76839	return nil, false
76840}
76841
76842// AsDynamicsEntityDataset is the BasicDataset implementation for ResponsysObjectDataset.
76843func (rod ResponsysObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
76844	return nil, false
76845}
76846
76847// AsDocumentDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
76848func (rod ResponsysObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
76849	return nil, false
76850}
76851
76852// AsCustomDataset is the BasicDataset implementation for ResponsysObjectDataset.
76853func (rod ResponsysObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
76854	return nil, false
76855}
76856
76857// AsCassandraTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76858func (rod ResponsysObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
76859	return nil, false
76860}
76861
76862// AsAzureSQLDWTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76863func (rod ResponsysObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
76864	return nil, false
76865}
76866
76867// AsAzureSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76868func (rod ResponsysObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
76869	return nil, false
76870}
76871
76872// AsAzureTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
76873func (rod ResponsysObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
76874	return nil, false
76875}
76876
76877// AsAzureBlobDataset is the BasicDataset implementation for ResponsysObjectDataset.
76878func (rod ResponsysObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
76879	return nil, false
76880}
76881
76882// AsAmazonS3Dataset is the BasicDataset implementation for ResponsysObjectDataset.
76883func (rod ResponsysObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
76884	return nil, false
76885}
76886
76887// AsDataset is the BasicDataset implementation for ResponsysObjectDataset.
76888func (rod ResponsysObjectDataset) AsDataset() (*Dataset, bool) {
76889	return nil, false
76890}
76891
76892// AsBasicDataset is the BasicDataset implementation for ResponsysObjectDataset.
76893func (rod ResponsysObjectDataset) AsBasicDataset() (BasicDataset, bool) {
76894	return &rod, true
76895}
76896
76897// UnmarshalJSON is the custom unmarshaler for ResponsysObjectDataset struct.
76898func (rod *ResponsysObjectDataset) UnmarshalJSON(body []byte) error {
76899	var m map[string]*json.RawMessage
76900	err := json.Unmarshal(body, &m)
76901	if err != nil {
76902		return err
76903	}
76904	for k, v := range m {
76905		switch k {
76906		default:
76907			if v != nil {
76908				var additionalProperties interface{}
76909				err = json.Unmarshal(*v, &additionalProperties)
76910				if err != nil {
76911					return err
76912				}
76913				if rod.AdditionalProperties == nil {
76914					rod.AdditionalProperties = make(map[string]interface{})
76915				}
76916				rod.AdditionalProperties[k] = additionalProperties
76917			}
76918		case "description":
76919			if v != nil {
76920				var description string
76921				err = json.Unmarshal(*v, &description)
76922				if err != nil {
76923					return err
76924				}
76925				rod.Description = &description
76926			}
76927		case "structure":
76928			if v != nil {
76929				var structure interface{}
76930				err = json.Unmarshal(*v, &structure)
76931				if err != nil {
76932					return err
76933				}
76934				rod.Structure = structure
76935			}
76936		case "linkedServiceName":
76937			if v != nil {
76938				var linkedServiceName LinkedServiceReference
76939				err = json.Unmarshal(*v, &linkedServiceName)
76940				if err != nil {
76941					return err
76942				}
76943				rod.LinkedServiceName = &linkedServiceName
76944			}
76945		case "parameters":
76946			if v != nil {
76947				var parameters map[string]*ParameterSpecification
76948				err = json.Unmarshal(*v, &parameters)
76949				if err != nil {
76950					return err
76951				}
76952				rod.Parameters = parameters
76953			}
76954		case "annotations":
76955			if v != nil {
76956				var annotations []interface{}
76957				err = json.Unmarshal(*v, &annotations)
76958				if err != nil {
76959					return err
76960				}
76961				rod.Annotations = &annotations
76962			}
76963		case "type":
76964			if v != nil {
76965				var typeVar TypeBasicDataset
76966				err = json.Unmarshal(*v, &typeVar)
76967				if err != nil {
76968					return err
76969				}
76970				rod.Type = typeVar
76971			}
76972		}
76973	}
76974
76975	return nil
76976}
76977
76978// ResponsysSource a copy activity Responsys source.
76979type ResponsysSource struct {
76980	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
76981	Query interface{} `json:"query,omitempty"`
76982	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
76983	AdditionalProperties map[string]interface{} `json:""`
76984	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
76985	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
76986	// 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])).
76987	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
76988	// 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'
76989	Type TypeBasicCopySource `json:"type,omitempty"`
76990}
76991
76992// MarshalJSON is the custom marshaler for ResponsysSource.
76993func (rs ResponsysSource) MarshalJSON() ([]byte, error) {
76994	rs.Type = TypeResponsysSource
76995	objectMap := make(map[string]interface{})
76996	if rs.Query != nil {
76997		objectMap["query"] = rs.Query
76998	}
76999	if rs.SourceRetryCount != nil {
77000		objectMap["sourceRetryCount"] = rs.SourceRetryCount
77001	}
77002	if rs.SourceRetryWait != nil {
77003		objectMap["sourceRetryWait"] = rs.SourceRetryWait
77004	}
77005	if rs.Type != "" {
77006		objectMap["type"] = rs.Type
77007	}
77008	for k, v := range rs.AdditionalProperties {
77009		objectMap[k] = v
77010	}
77011	return json.Marshal(objectMap)
77012}
77013
77014// AsAmazonRedshiftSource is the BasicCopySource implementation for ResponsysSource.
77015func (rs ResponsysSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
77016	return nil, false
77017}
77018
77019// AsResponsysSource is the BasicCopySource implementation for ResponsysSource.
77020func (rs ResponsysSource) AsResponsysSource() (*ResponsysSource, bool) {
77021	return &rs, true
77022}
77023
77024// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ResponsysSource.
77025func (rs ResponsysSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
77026	return nil, false
77027}
77028
77029// AsVerticaSource is the BasicCopySource implementation for ResponsysSource.
77030func (rs ResponsysSource) AsVerticaSource() (*VerticaSource, bool) {
77031	return nil, false
77032}
77033
77034// AsNetezzaSource is the BasicCopySource implementation for ResponsysSource.
77035func (rs ResponsysSource) AsNetezzaSource() (*NetezzaSource, bool) {
77036	return nil, false
77037}
77038
77039// AsZohoSource is the BasicCopySource implementation for ResponsysSource.
77040func (rs ResponsysSource) AsZohoSource() (*ZohoSource, bool) {
77041	return nil, false
77042}
77043
77044// AsXeroSource is the BasicCopySource implementation for ResponsysSource.
77045func (rs ResponsysSource) AsXeroSource() (*XeroSource, bool) {
77046	return nil, false
77047}
77048
77049// AsSquareSource is the BasicCopySource implementation for ResponsysSource.
77050func (rs ResponsysSource) AsSquareSource() (*SquareSource, bool) {
77051	return nil, false
77052}
77053
77054// AsSparkSource is the BasicCopySource implementation for ResponsysSource.
77055func (rs ResponsysSource) AsSparkSource() (*SparkSource, bool) {
77056	return nil, false
77057}
77058
77059// AsShopifySource is the BasicCopySource implementation for ResponsysSource.
77060func (rs ResponsysSource) AsShopifySource() (*ShopifySource, bool) {
77061	return nil, false
77062}
77063
77064// AsServiceNowSource is the BasicCopySource implementation for ResponsysSource.
77065func (rs ResponsysSource) AsServiceNowSource() (*ServiceNowSource, bool) {
77066	return nil, false
77067}
77068
77069// AsQuickBooksSource is the BasicCopySource implementation for ResponsysSource.
77070func (rs ResponsysSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
77071	return nil, false
77072}
77073
77074// AsPrestoSource is the BasicCopySource implementation for ResponsysSource.
77075func (rs ResponsysSource) AsPrestoSource() (*PrestoSource, bool) {
77076	return nil, false
77077}
77078
77079// AsPhoenixSource is the BasicCopySource implementation for ResponsysSource.
77080func (rs ResponsysSource) AsPhoenixSource() (*PhoenixSource, bool) {
77081	return nil, false
77082}
77083
77084// AsPaypalSource is the BasicCopySource implementation for ResponsysSource.
77085func (rs ResponsysSource) AsPaypalSource() (*PaypalSource, bool) {
77086	return nil, false
77087}
77088
77089// AsMarketoSource is the BasicCopySource implementation for ResponsysSource.
77090func (rs ResponsysSource) AsMarketoSource() (*MarketoSource, bool) {
77091	return nil, false
77092}
77093
77094// AsMariaDBSource is the BasicCopySource implementation for ResponsysSource.
77095func (rs ResponsysSource) AsMariaDBSource() (*MariaDBSource, bool) {
77096	return nil, false
77097}
77098
77099// AsMagentoSource is the BasicCopySource implementation for ResponsysSource.
77100func (rs ResponsysSource) AsMagentoSource() (*MagentoSource, bool) {
77101	return nil, false
77102}
77103
77104// AsJiraSource is the BasicCopySource implementation for ResponsysSource.
77105func (rs ResponsysSource) AsJiraSource() (*JiraSource, bool) {
77106	return nil, false
77107}
77108
77109// AsImpalaSource is the BasicCopySource implementation for ResponsysSource.
77110func (rs ResponsysSource) AsImpalaSource() (*ImpalaSource, bool) {
77111	return nil, false
77112}
77113
77114// AsHubspotSource is the BasicCopySource implementation for ResponsysSource.
77115func (rs ResponsysSource) AsHubspotSource() (*HubspotSource, bool) {
77116	return nil, false
77117}
77118
77119// AsHiveSource is the BasicCopySource implementation for ResponsysSource.
77120func (rs ResponsysSource) AsHiveSource() (*HiveSource, bool) {
77121	return nil, false
77122}
77123
77124// AsHBaseSource is the BasicCopySource implementation for ResponsysSource.
77125func (rs ResponsysSource) AsHBaseSource() (*HBaseSource, bool) {
77126	return nil, false
77127}
77128
77129// AsGreenplumSource is the BasicCopySource implementation for ResponsysSource.
77130func (rs ResponsysSource) AsGreenplumSource() (*GreenplumSource, bool) {
77131	return nil, false
77132}
77133
77134// AsGoogleBigQuerySource is the BasicCopySource implementation for ResponsysSource.
77135func (rs ResponsysSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
77136	return nil, false
77137}
77138
77139// AsEloquaSource is the BasicCopySource implementation for ResponsysSource.
77140func (rs ResponsysSource) AsEloquaSource() (*EloquaSource, bool) {
77141	return nil, false
77142}
77143
77144// AsDrillSource is the BasicCopySource implementation for ResponsysSource.
77145func (rs ResponsysSource) AsDrillSource() (*DrillSource, bool) {
77146	return nil, false
77147}
77148
77149// AsCouchbaseSource is the BasicCopySource implementation for ResponsysSource.
77150func (rs ResponsysSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
77151	return nil, false
77152}
77153
77154// AsConcurSource is the BasicCopySource implementation for ResponsysSource.
77155func (rs ResponsysSource) AsConcurSource() (*ConcurSource, bool) {
77156	return nil, false
77157}
77158
77159// AsAzurePostgreSQLSource is the BasicCopySource implementation for ResponsysSource.
77160func (rs ResponsysSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
77161	return nil, false
77162}
77163
77164// AsAmazonMWSSource is the BasicCopySource implementation for ResponsysSource.
77165func (rs ResponsysSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
77166	return nil, false
77167}
77168
77169// AsHTTPSource is the BasicCopySource implementation for ResponsysSource.
77170func (rs ResponsysSource) AsHTTPSource() (*HTTPSource, bool) {
77171	return nil, false
77172}
77173
77174// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ResponsysSource.
77175func (rs ResponsysSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
77176	return nil, false
77177}
77178
77179// AsMongoDbSource is the BasicCopySource implementation for ResponsysSource.
77180func (rs ResponsysSource) AsMongoDbSource() (*MongoDbSource, bool) {
77181	return nil, false
77182}
77183
77184// AsCassandraSource is the BasicCopySource implementation for ResponsysSource.
77185func (rs ResponsysSource) AsCassandraSource() (*CassandraSource, bool) {
77186	return nil, false
77187}
77188
77189// AsWebSource is the BasicCopySource implementation for ResponsysSource.
77190func (rs ResponsysSource) AsWebSource() (*WebSource, bool) {
77191	return nil, false
77192}
77193
77194// AsOracleSource is the BasicCopySource implementation for ResponsysSource.
77195func (rs ResponsysSource) AsOracleSource() (*OracleSource, bool) {
77196	return nil, false
77197}
77198
77199// AsAzureMySQLSource is the BasicCopySource implementation for ResponsysSource.
77200func (rs ResponsysSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
77201	return nil, false
77202}
77203
77204// AsHdfsSource is the BasicCopySource implementation for ResponsysSource.
77205func (rs ResponsysSource) AsHdfsSource() (*HdfsSource, bool) {
77206	return nil, false
77207}
77208
77209// AsFileSystemSource is the BasicCopySource implementation for ResponsysSource.
77210func (rs ResponsysSource) AsFileSystemSource() (*FileSystemSource, bool) {
77211	return nil, false
77212}
77213
77214// AsSQLDWSource is the BasicCopySource implementation for ResponsysSource.
77215func (rs ResponsysSource) AsSQLDWSource() (*SQLDWSource, bool) {
77216	return nil, false
77217}
77218
77219// AsSQLSource is the BasicCopySource implementation for ResponsysSource.
77220func (rs ResponsysSource) AsSQLSource() (*SQLSource, bool) {
77221	return nil, false
77222}
77223
77224// AsSapEccSource is the BasicCopySource implementation for ResponsysSource.
77225func (rs ResponsysSource) AsSapEccSource() (*SapEccSource, bool) {
77226	return nil, false
77227}
77228
77229// AsSapCloudForCustomerSource is the BasicCopySource implementation for ResponsysSource.
77230func (rs ResponsysSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
77231	return nil, false
77232}
77233
77234// AsSalesforceSource is the BasicCopySource implementation for ResponsysSource.
77235func (rs ResponsysSource) AsSalesforceSource() (*SalesforceSource, bool) {
77236	return nil, false
77237}
77238
77239// AsRelationalSource is the BasicCopySource implementation for ResponsysSource.
77240func (rs ResponsysSource) AsRelationalSource() (*RelationalSource, bool) {
77241	return nil, false
77242}
77243
77244// AsDynamicsSource is the BasicCopySource implementation for ResponsysSource.
77245func (rs ResponsysSource) AsDynamicsSource() (*DynamicsSource, bool) {
77246	return nil, false
77247}
77248
77249// AsDocumentDbCollectionSource is the BasicCopySource implementation for ResponsysSource.
77250func (rs ResponsysSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
77251	return nil, false
77252}
77253
77254// AsBlobSource is the BasicCopySource implementation for ResponsysSource.
77255func (rs ResponsysSource) AsBlobSource() (*BlobSource, bool) {
77256	return nil, false
77257}
77258
77259// AsAzureTableSource is the BasicCopySource implementation for ResponsysSource.
77260func (rs ResponsysSource) AsAzureTableSource() (*AzureTableSource, bool) {
77261	return nil, false
77262}
77263
77264// AsCopySource is the BasicCopySource implementation for ResponsysSource.
77265func (rs ResponsysSource) AsCopySource() (*CopySource, bool) {
77266	return nil, false
77267}
77268
77269// AsBasicCopySource is the BasicCopySource implementation for ResponsysSource.
77270func (rs ResponsysSource) AsBasicCopySource() (BasicCopySource, bool) {
77271	return &rs, true
77272}
77273
77274// UnmarshalJSON is the custom unmarshaler for ResponsysSource struct.
77275func (rs *ResponsysSource) UnmarshalJSON(body []byte) error {
77276	var m map[string]*json.RawMessage
77277	err := json.Unmarshal(body, &m)
77278	if err != nil {
77279		return err
77280	}
77281	for k, v := range m {
77282		switch k {
77283		case "query":
77284			if v != nil {
77285				var query interface{}
77286				err = json.Unmarshal(*v, &query)
77287				if err != nil {
77288					return err
77289				}
77290				rs.Query = query
77291			}
77292		default:
77293			if v != nil {
77294				var additionalProperties interface{}
77295				err = json.Unmarshal(*v, &additionalProperties)
77296				if err != nil {
77297					return err
77298				}
77299				if rs.AdditionalProperties == nil {
77300					rs.AdditionalProperties = make(map[string]interface{})
77301				}
77302				rs.AdditionalProperties[k] = additionalProperties
77303			}
77304		case "sourceRetryCount":
77305			if v != nil {
77306				var sourceRetryCount interface{}
77307				err = json.Unmarshal(*v, &sourceRetryCount)
77308				if err != nil {
77309					return err
77310				}
77311				rs.SourceRetryCount = sourceRetryCount
77312			}
77313		case "sourceRetryWait":
77314			if v != nil {
77315				var sourceRetryWait interface{}
77316				err = json.Unmarshal(*v, &sourceRetryWait)
77317				if err != nil {
77318					return err
77319				}
77320				rs.SourceRetryWait = sourceRetryWait
77321			}
77322		case "type":
77323			if v != nil {
77324				var typeVar TypeBasicCopySource
77325				err = json.Unmarshal(*v, &typeVar)
77326				if err != nil {
77327					return err
77328				}
77329				rs.Type = typeVar
77330			}
77331		}
77332	}
77333
77334	return nil
77335}
77336
77337// RetryPolicy execution policy for an activity.
77338type RetryPolicy struct {
77339	// Count - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
77340	Count interface{} `json:"count,omitempty"`
77341	// IntervalInSeconds - Interval between retries in seconds. Default is 30.
77342	IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"`
77343}
77344
77345// SalesforceLinkedService linked service for Salesforce.
77346type SalesforceLinkedService struct {
77347	// SalesforceLinkedServiceTypeProperties - Salesforce linked service properties.
77348	*SalesforceLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
77349	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
77350	AdditionalProperties map[string]interface{} `json:""`
77351	// ConnectVia - The integration runtime reference.
77352	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
77353	// Description - Linked service description.
77354	Description *string `json:"description,omitempty"`
77355	// Parameters - Parameters for linked service.
77356	Parameters map[string]*ParameterSpecification `json:"parameters"`
77357	// Annotations - List of tags that can be used for describing the Dataset.
77358	Annotations *[]interface{} `json:"annotations,omitempty"`
77359	// 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'
77360	Type TypeBasicLinkedService `json:"type,omitempty"`
77361}
77362
77363// MarshalJSON is the custom marshaler for SalesforceLinkedService.
77364func (sls SalesforceLinkedService) MarshalJSON() ([]byte, error) {
77365	sls.Type = TypeSalesforce
77366	objectMap := make(map[string]interface{})
77367	if sls.SalesforceLinkedServiceTypeProperties != nil {
77368		objectMap["typeProperties"] = sls.SalesforceLinkedServiceTypeProperties
77369	}
77370	if sls.ConnectVia != nil {
77371		objectMap["connectVia"] = sls.ConnectVia
77372	}
77373	if sls.Description != nil {
77374		objectMap["description"] = sls.Description
77375	}
77376	if sls.Parameters != nil {
77377		objectMap["parameters"] = sls.Parameters
77378	}
77379	if sls.Annotations != nil {
77380		objectMap["annotations"] = sls.Annotations
77381	}
77382	if sls.Type != "" {
77383		objectMap["type"] = sls.Type
77384	}
77385	for k, v := range sls.AdditionalProperties {
77386		objectMap[k] = v
77387	}
77388	return json.Marshal(objectMap)
77389}
77390
77391// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77392func (sls SalesforceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
77393	return nil, false
77394}
77395
77396// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77397func (sls SalesforceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
77398	return nil, false
77399}
77400
77401// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77402func (sls SalesforceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
77403	return nil, false
77404}
77405
77406// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77407func (sls SalesforceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
77408	return nil, false
77409}
77410
77411// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77412func (sls SalesforceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
77413	return nil, false
77414}
77415
77416// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77417func (sls SalesforceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
77418	return nil, false
77419}
77420
77421// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77422func (sls SalesforceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
77423	return nil, false
77424}
77425
77426// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77427func (sls SalesforceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
77428	return nil, false
77429}
77430
77431// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77432func (sls SalesforceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
77433	return nil, false
77434}
77435
77436// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77437func (sls SalesforceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
77438	return nil, false
77439}
77440
77441// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77442func (sls SalesforceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
77443	return nil, false
77444}
77445
77446// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77447func (sls SalesforceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
77448	return nil, false
77449}
77450
77451// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77452func (sls SalesforceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
77453	return nil, false
77454}
77455
77456// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77457func (sls SalesforceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
77458	return nil, false
77459}
77460
77461// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77462func (sls SalesforceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
77463	return nil, false
77464}
77465
77466// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77467func (sls SalesforceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
77468	return nil, false
77469}
77470
77471// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77472func (sls SalesforceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
77473	return nil, false
77474}
77475
77476// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77477func (sls SalesforceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
77478	return nil, false
77479}
77480
77481// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77482func (sls SalesforceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
77483	return nil, false
77484}
77485
77486// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77487func (sls SalesforceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
77488	return nil, false
77489}
77490
77491// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77492func (sls SalesforceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
77493	return nil, false
77494}
77495
77496// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77497func (sls SalesforceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
77498	return nil, false
77499}
77500
77501// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77502func (sls SalesforceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
77503	return nil, false
77504}
77505
77506// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77507func (sls SalesforceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
77508	return nil, false
77509}
77510
77511// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77512func (sls SalesforceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
77513	return nil, false
77514}
77515
77516// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77517func (sls SalesforceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
77518	return nil, false
77519}
77520
77521// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77522func (sls SalesforceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
77523	return nil, false
77524}
77525
77526// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77527func (sls SalesforceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
77528	return nil, false
77529}
77530
77531// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77532func (sls SalesforceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
77533	return nil, false
77534}
77535
77536// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77537func (sls SalesforceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
77538	return nil, false
77539}
77540
77541// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77542func (sls SalesforceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
77543	return nil, false
77544}
77545
77546// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77547func (sls SalesforceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
77548	return nil, false
77549}
77550
77551// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77552func (sls SalesforceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
77553	return nil, false
77554}
77555
77556// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77557func (sls SalesforceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
77558	return nil, false
77559}
77560
77561// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77562func (sls SalesforceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
77563	return nil, false
77564}
77565
77566// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77567func (sls SalesforceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
77568	return nil, false
77569}
77570
77571// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77572func (sls SalesforceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
77573	return nil, false
77574}
77575
77576// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77577func (sls SalesforceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
77578	return nil, false
77579}
77580
77581// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77582func (sls SalesforceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
77583	return nil, false
77584}
77585
77586// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77587func (sls SalesforceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
77588	return nil, false
77589}
77590
77591// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77592func (sls SalesforceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
77593	return nil, false
77594}
77595
77596// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77597func (sls SalesforceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
77598	return nil, false
77599}
77600
77601// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77602func (sls SalesforceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
77603	return nil, false
77604}
77605
77606// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77607func (sls SalesforceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
77608	return nil, false
77609}
77610
77611// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77612func (sls SalesforceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
77613	return &sls, true
77614}
77615
77616// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77617func (sls SalesforceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
77618	return nil, false
77619}
77620
77621// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77622func (sls SalesforceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
77623	return nil, false
77624}
77625
77626// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77627func (sls SalesforceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
77628	return nil, false
77629}
77630
77631// AsWebLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77632func (sls SalesforceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
77633	return nil, false
77634}
77635
77636// AsODataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77637func (sls SalesforceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
77638	return nil, false
77639}
77640
77641// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77642func (sls SalesforceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
77643	return nil, false
77644}
77645
77646// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77647func (sls SalesforceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
77648	return nil, false
77649}
77650
77651// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77652func (sls SalesforceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
77653	return nil, false
77654}
77655
77656// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77657func (sls SalesforceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
77658	return nil, false
77659}
77660
77661// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77662func (sls SalesforceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
77663	return nil, false
77664}
77665
77666// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77667func (sls SalesforceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
77668	return nil, false
77669}
77670
77671// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77672func (sls SalesforceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
77673	return nil, false
77674}
77675
77676// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77677func (sls SalesforceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
77678	return nil, false
77679}
77680
77681// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77682func (sls SalesforceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
77683	return nil, false
77684}
77685
77686// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77687func (sls SalesforceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
77688	return nil, false
77689}
77690
77691// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77692func (sls SalesforceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
77693	return nil, false
77694}
77695
77696// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77697func (sls SalesforceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
77698	return nil, false
77699}
77700
77701// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77702func (sls SalesforceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
77703	return nil, false
77704}
77705
77706// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77707func (sls SalesforceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
77708	return nil, false
77709}
77710
77711// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77712func (sls SalesforceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
77713	return nil, false
77714}
77715
77716// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77717func (sls SalesforceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
77718	return nil, false
77719}
77720
77721// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77722func (sls SalesforceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
77723	return nil, false
77724}
77725
77726// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77727func (sls SalesforceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
77728	return nil, false
77729}
77730
77731// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77732func (sls SalesforceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
77733	return nil, false
77734}
77735
77736// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77737func (sls SalesforceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
77738	return nil, false
77739}
77740
77741// AsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77742func (sls SalesforceLinkedService) AsLinkedService() (*LinkedService, bool) {
77743	return nil, false
77744}
77745
77746// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
77747func (sls SalesforceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
77748	return &sls, true
77749}
77750
77751// UnmarshalJSON is the custom unmarshaler for SalesforceLinkedService struct.
77752func (sls *SalesforceLinkedService) UnmarshalJSON(body []byte) error {
77753	var m map[string]*json.RawMessage
77754	err := json.Unmarshal(body, &m)
77755	if err != nil {
77756		return err
77757	}
77758	for k, v := range m {
77759		switch k {
77760		case "typeProperties":
77761			if v != nil {
77762				var salesforceLinkedServiceTypeProperties SalesforceLinkedServiceTypeProperties
77763				err = json.Unmarshal(*v, &salesforceLinkedServiceTypeProperties)
77764				if err != nil {
77765					return err
77766				}
77767				sls.SalesforceLinkedServiceTypeProperties = &salesforceLinkedServiceTypeProperties
77768			}
77769		default:
77770			if v != nil {
77771				var additionalProperties interface{}
77772				err = json.Unmarshal(*v, &additionalProperties)
77773				if err != nil {
77774					return err
77775				}
77776				if sls.AdditionalProperties == nil {
77777					sls.AdditionalProperties = make(map[string]interface{})
77778				}
77779				sls.AdditionalProperties[k] = additionalProperties
77780			}
77781		case "connectVia":
77782			if v != nil {
77783				var connectVia IntegrationRuntimeReference
77784				err = json.Unmarshal(*v, &connectVia)
77785				if err != nil {
77786					return err
77787				}
77788				sls.ConnectVia = &connectVia
77789			}
77790		case "description":
77791			if v != nil {
77792				var description string
77793				err = json.Unmarshal(*v, &description)
77794				if err != nil {
77795					return err
77796				}
77797				sls.Description = &description
77798			}
77799		case "parameters":
77800			if v != nil {
77801				var parameters map[string]*ParameterSpecification
77802				err = json.Unmarshal(*v, &parameters)
77803				if err != nil {
77804					return err
77805				}
77806				sls.Parameters = parameters
77807			}
77808		case "annotations":
77809			if v != nil {
77810				var annotations []interface{}
77811				err = json.Unmarshal(*v, &annotations)
77812				if err != nil {
77813					return err
77814				}
77815				sls.Annotations = &annotations
77816			}
77817		case "type":
77818			if v != nil {
77819				var typeVar TypeBasicLinkedService
77820				err = json.Unmarshal(*v, &typeVar)
77821				if err != nil {
77822					return err
77823				}
77824				sls.Type = typeVar
77825			}
77826		}
77827	}
77828
77829	return nil
77830}
77831
77832// SalesforceLinkedServiceTypeProperties salesforce linked service properties.
77833type SalesforceLinkedServiceTypeProperties struct {
77834	// 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).
77835	EnvironmentURL interface{} `json:"environmentUrl,omitempty"`
77836	// Username - The username for Basic authentication of the Salesforce instance. Type: string (or Expression with resultType string).
77837	Username interface{} `json:"username,omitempty"`
77838	// Password - The password for Basic authentication of the Salesforce instance.
77839	Password BasicSecretBase `json:"password,omitempty"`
77840	// SecurityToken - The security token is required to remotely access Salesforce instance.
77841	SecurityToken BasicSecretBase `json:"securityToken,omitempty"`
77842	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
77843	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
77844}
77845
77846// UnmarshalJSON is the custom unmarshaler for SalesforceLinkedServiceTypeProperties struct.
77847func (slstp *SalesforceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
77848	var m map[string]*json.RawMessage
77849	err := json.Unmarshal(body, &m)
77850	if err != nil {
77851		return err
77852	}
77853	for k, v := range m {
77854		switch k {
77855		case "environmentUrl":
77856			if v != nil {
77857				var environmentURL interface{}
77858				err = json.Unmarshal(*v, &environmentURL)
77859				if err != nil {
77860					return err
77861				}
77862				slstp.EnvironmentURL = environmentURL
77863			}
77864		case "username":
77865			if v != nil {
77866				var username interface{}
77867				err = json.Unmarshal(*v, &username)
77868				if err != nil {
77869					return err
77870				}
77871				slstp.Username = username
77872			}
77873		case "password":
77874			if v != nil {
77875				password, err := unmarshalBasicSecretBase(*v)
77876				if err != nil {
77877					return err
77878				}
77879				slstp.Password = password
77880			}
77881		case "securityToken":
77882			if v != nil {
77883				securityToken, err := unmarshalBasicSecretBase(*v)
77884				if err != nil {
77885					return err
77886				}
77887				slstp.SecurityToken = securityToken
77888			}
77889		case "encryptedCredential":
77890			if v != nil {
77891				var encryptedCredential interface{}
77892				err = json.Unmarshal(*v, &encryptedCredential)
77893				if err != nil {
77894					return err
77895				}
77896				slstp.EncryptedCredential = encryptedCredential
77897			}
77898		}
77899	}
77900
77901	return nil
77902}
77903
77904// SalesforceMarketingCloudLinkedService salesforce Marketing Cloud linked service.
77905type SalesforceMarketingCloudLinkedService struct {
77906	// SalesforceMarketingCloudLinkedServiceTypeProperties - Salesforce Marketing Cloud linked service properties.
77907	*SalesforceMarketingCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
77908	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
77909	AdditionalProperties map[string]interface{} `json:""`
77910	// ConnectVia - The integration runtime reference.
77911	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
77912	// Description - Linked service description.
77913	Description *string `json:"description,omitempty"`
77914	// Parameters - Parameters for linked service.
77915	Parameters map[string]*ParameterSpecification `json:"parameters"`
77916	// Annotations - List of tags that can be used for describing the Dataset.
77917	Annotations *[]interface{} `json:"annotations,omitempty"`
77918	// 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'
77919	Type TypeBasicLinkedService `json:"type,omitempty"`
77920}
77921
77922// MarshalJSON is the custom marshaler for SalesforceMarketingCloudLinkedService.
77923func (smcls SalesforceMarketingCloudLinkedService) MarshalJSON() ([]byte, error) {
77924	smcls.Type = TypeSalesforceMarketingCloud
77925	objectMap := make(map[string]interface{})
77926	if smcls.SalesforceMarketingCloudLinkedServiceTypeProperties != nil {
77927		objectMap["typeProperties"] = smcls.SalesforceMarketingCloudLinkedServiceTypeProperties
77928	}
77929	if smcls.ConnectVia != nil {
77930		objectMap["connectVia"] = smcls.ConnectVia
77931	}
77932	if smcls.Description != nil {
77933		objectMap["description"] = smcls.Description
77934	}
77935	if smcls.Parameters != nil {
77936		objectMap["parameters"] = smcls.Parameters
77937	}
77938	if smcls.Annotations != nil {
77939		objectMap["annotations"] = smcls.Annotations
77940	}
77941	if smcls.Type != "" {
77942		objectMap["type"] = smcls.Type
77943	}
77944	for k, v := range smcls.AdditionalProperties {
77945		objectMap[k] = v
77946	}
77947	return json.Marshal(objectMap)
77948}
77949
77950// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77951func (smcls SalesforceMarketingCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
77952	return nil, false
77953}
77954
77955// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77956func (smcls SalesforceMarketingCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
77957	return nil, false
77958}
77959
77960// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77961func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
77962	return nil, false
77963}
77964
77965// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77966func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
77967	return nil, false
77968}
77969
77970// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77971func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
77972	return &smcls, true
77973}
77974
77975// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77976func (smcls SalesforceMarketingCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
77977	return nil, false
77978}
77979
77980// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77981func (smcls SalesforceMarketingCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
77982	return nil, false
77983}
77984
77985// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77986func (smcls SalesforceMarketingCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
77987	return nil, false
77988}
77989
77990// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77991func (smcls SalesforceMarketingCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
77992	return nil, false
77993}
77994
77995// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
77996func (smcls SalesforceMarketingCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
77997	return nil, false
77998}
77999
78000// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78001func (smcls SalesforceMarketingCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
78002	return nil, false
78003}
78004
78005// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78006func (smcls SalesforceMarketingCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
78007	return nil, false
78008}
78009
78010// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78011func (smcls SalesforceMarketingCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
78012	return nil, false
78013}
78014
78015// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78016func (smcls SalesforceMarketingCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
78017	return nil, false
78018}
78019
78020// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78021func (smcls SalesforceMarketingCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
78022	return nil, false
78023}
78024
78025// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78026func (smcls SalesforceMarketingCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
78027	return nil, false
78028}
78029
78030// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78031func (smcls SalesforceMarketingCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
78032	return nil, false
78033}
78034
78035// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78036func (smcls SalesforceMarketingCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
78037	return nil, false
78038}
78039
78040// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78041func (smcls SalesforceMarketingCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
78042	return nil, false
78043}
78044
78045// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78046func (smcls SalesforceMarketingCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
78047	return nil, false
78048}
78049
78050// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78051func (smcls SalesforceMarketingCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
78052	return nil, false
78053}
78054
78055// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78056func (smcls SalesforceMarketingCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
78057	return nil, false
78058}
78059
78060// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78061func (smcls SalesforceMarketingCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
78062	return nil, false
78063}
78064
78065// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78066func (smcls SalesforceMarketingCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
78067	return nil, false
78068}
78069
78070// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78071func (smcls SalesforceMarketingCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
78072	return nil, false
78073}
78074
78075// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78076func (smcls SalesforceMarketingCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
78077	return nil, false
78078}
78079
78080// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78081func (smcls SalesforceMarketingCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
78082	return nil, false
78083}
78084
78085// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78086func (smcls SalesforceMarketingCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
78087	return nil, false
78088}
78089
78090// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78091func (smcls SalesforceMarketingCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
78092	return nil, false
78093}
78094
78095// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78096func (smcls SalesforceMarketingCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
78097	return nil, false
78098}
78099
78100// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78101func (smcls SalesforceMarketingCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
78102	return nil, false
78103}
78104
78105// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78106func (smcls SalesforceMarketingCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
78107	return nil, false
78108}
78109
78110// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78111func (smcls SalesforceMarketingCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
78112	return nil, false
78113}
78114
78115// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78116func (smcls SalesforceMarketingCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
78117	return nil, false
78118}
78119
78120// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78121func (smcls SalesforceMarketingCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
78122	return nil, false
78123}
78124
78125// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78126func (smcls SalesforceMarketingCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
78127	return nil, false
78128}
78129
78130// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78131func (smcls SalesforceMarketingCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
78132	return nil, false
78133}
78134
78135// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78136func (smcls SalesforceMarketingCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
78137	return nil, false
78138}
78139
78140// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78141func (smcls SalesforceMarketingCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
78142	return nil, false
78143}
78144
78145// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78146func (smcls SalesforceMarketingCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
78147	return nil, false
78148}
78149
78150// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78151func (smcls SalesforceMarketingCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
78152	return nil, false
78153}
78154
78155// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78156func (smcls SalesforceMarketingCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
78157	return nil, false
78158}
78159
78160// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78161func (smcls SalesforceMarketingCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
78162	return nil, false
78163}
78164
78165// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78166func (smcls SalesforceMarketingCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
78167	return nil, false
78168}
78169
78170// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78171func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
78172	return nil, false
78173}
78174
78175// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78176func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
78177	return nil, false
78178}
78179
78180// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78181func (smcls SalesforceMarketingCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
78182	return nil, false
78183}
78184
78185// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78186func (smcls SalesforceMarketingCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
78187	return nil, false
78188}
78189
78190// AsWebLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78191func (smcls SalesforceMarketingCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
78192	return nil, false
78193}
78194
78195// AsODataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78196func (smcls SalesforceMarketingCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
78197	return nil, false
78198}
78199
78200// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78201func (smcls SalesforceMarketingCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
78202	return nil, false
78203}
78204
78205// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78206func (smcls SalesforceMarketingCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
78207	return nil, false
78208}
78209
78210// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78211func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
78212	return nil, false
78213}
78214
78215// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78216func (smcls SalesforceMarketingCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
78217	return nil, false
78218}
78219
78220// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78221func (smcls SalesforceMarketingCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
78222	return nil, false
78223}
78224
78225// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78226func (smcls SalesforceMarketingCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
78227	return nil, false
78228}
78229
78230// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78231func (smcls SalesforceMarketingCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
78232	return nil, false
78233}
78234
78235// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78236func (smcls SalesforceMarketingCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
78237	return nil, false
78238}
78239
78240// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78241func (smcls SalesforceMarketingCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
78242	return nil, false
78243}
78244
78245// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78246func (smcls SalesforceMarketingCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
78247	return nil, false
78248}
78249
78250// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78251func (smcls SalesforceMarketingCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
78252	return nil, false
78253}
78254
78255// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78256func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
78257	return nil, false
78258}
78259
78260// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78261func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
78262	return nil, false
78263}
78264
78265// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78266func (smcls SalesforceMarketingCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
78267	return nil, false
78268}
78269
78270// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78271func (smcls SalesforceMarketingCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
78272	return nil, false
78273}
78274
78275// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78276func (smcls SalesforceMarketingCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
78277	return nil, false
78278}
78279
78280// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78281func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
78282	return nil, false
78283}
78284
78285// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78286func (smcls SalesforceMarketingCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
78287	return nil, false
78288}
78289
78290// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78291func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
78292	return nil, false
78293}
78294
78295// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78296func (smcls SalesforceMarketingCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
78297	return nil, false
78298}
78299
78300// AsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78301func (smcls SalesforceMarketingCloudLinkedService) AsLinkedService() (*LinkedService, bool) {
78302	return nil, false
78303}
78304
78305// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
78306func (smcls SalesforceMarketingCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
78307	return &smcls, true
78308}
78309
78310// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedService struct.
78311func (smcls *SalesforceMarketingCloudLinkedService) UnmarshalJSON(body []byte) error {
78312	var m map[string]*json.RawMessage
78313	err := json.Unmarshal(body, &m)
78314	if err != nil {
78315		return err
78316	}
78317	for k, v := range m {
78318		switch k {
78319		case "typeProperties":
78320			if v != nil {
78321				var salesforceMarketingCloudLinkedServiceTypeProperties SalesforceMarketingCloudLinkedServiceTypeProperties
78322				err = json.Unmarshal(*v, &salesforceMarketingCloudLinkedServiceTypeProperties)
78323				if err != nil {
78324					return err
78325				}
78326				smcls.SalesforceMarketingCloudLinkedServiceTypeProperties = &salesforceMarketingCloudLinkedServiceTypeProperties
78327			}
78328		default:
78329			if v != nil {
78330				var additionalProperties interface{}
78331				err = json.Unmarshal(*v, &additionalProperties)
78332				if err != nil {
78333					return err
78334				}
78335				if smcls.AdditionalProperties == nil {
78336					smcls.AdditionalProperties = make(map[string]interface{})
78337				}
78338				smcls.AdditionalProperties[k] = additionalProperties
78339			}
78340		case "connectVia":
78341			if v != nil {
78342				var connectVia IntegrationRuntimeReference
78343				err = json.Unmarshal(*v, &connectVia)
78344				if err != nil {
78345					return err
78346				}
78347				smcls.ConnectVia = &connectVia
78348			}
78349		case "description":
78350			if v != nil {
78351				var description string
78352				err = json.Unmarshal(*v, &description)
78353				if err != nil {
78354					return err
78355				}
78356				smcls.Description = &description
78357			}
78358		case "parameters":
78359			if v != nil {
78360				var parameters map[string]*ParameterSpecification
78361				err = json.Unmarshal(*v, &parameters)
78362				if err != nil {
78363					return err
78364				}
78365				smcls.Parameters = parameters
78366			}
78367		case "annotations":
78368			if v != nil {
78369				var annotations []interface{}
78370				err = json.Unmarshal(*v, &annotations)
78371				if err != nil {
78372					return err
78373				}
78374				smcls.Annotations = &annotations
78375			}
78376		case "type":
78377			if v != nil {
78378				var typeVar TypeBasicLinkedService
78379				err = json.Unmarshal(*v, &typeVar)
78380				if err != nil {
78381					return err
78382				}
78383				smcls.Type = typeVar
78384			}
78385		}
78386	}
78387
78388	return nil
78389}
78390
78391// SalesforceMarketingCloudLinkedServiceTypeProperties salesforce Marketing Cloud linked service
78392// properties.
78393type SalesforceMarketingCloudLinkedServiceTypeProperties struct {
78394	// ClientID - The client ID associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).
78395	ClientID interface{} `json:"clientId,omitempty"`
78396	// ClientSecret - The client secret associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).
78397	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
78398	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
78399	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
78400	// 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).
78401	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
78402	// 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).
78403	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
78404	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
78405	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
78406}
78407
78408// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedServiceTypeProperties struct.
78409func (smclstp *SalesforceMarketingCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
78410	var m map[string]*json.RawMessage
78411	err := json.Unmarshal(body, &m)
78412	if err != nil {
78413		return err
78414	}
78415	for k, v := range m {
78416		switch k {
78417		case "clientId":
78418			if v != nil {
78419				var clientID interface{}
78420				err = json.Unmarshal(*v, &clientID)
78421				if err != nil {
78422					return err
78423				}
78424				smclstp.ClientID = clientID
78425			}
78426		case "clientSecret":
78427			if v != nil {
78428				clientSecret, err := unmarshalBasicSecretBase(*v)
78429				if err != nil {
78430					return err
78431				}
78432				smclstp.ClientSecret = clientSecret
78433			}
78434		case "useEncryptedEndpoints":
78435			if v != nil {
78436				var useEncryptedEndpoints interface{}
78437				err = json.Unmarshal(*v, &useEncryptedEndpoints)
78438				if err != nil {
78439					return err
78440				}
78441				smclstp.UseEncryptedEndpoints = useEncryptedEndpoints
78442			}
78443		case "useHostVerification":
78444			if v != nil {
78445				var useHostVerification interface{}
78446				err = json.Unmarshal(*v, &useHostVerification)
78447				if err != nil {
78448					return err
78449				}
78450				smclstp.UseHostVerification = useHostVerification
78451			}
78452		case "usePeerVerification":
78453			if v != nil {
78454				var usePeerVerification interface{}
78455				err = json.Unmarshal(*v, &usePeerVerification)
78456				if err != nil {
78457					return err
78458				}
78459				smclstp.UsePeerVerification = usePeerVerification
78460			}
78461		case "encryptedCredential":
78462			if v != nil {
78463				var encryptedCredential interface{}
78464				err = json.Unmarshal(*v, &encryptedCredential)
78465				if err != nil {
78466					return err
78467				}
78468				smclstp.EncryptedCredential = encryptedCredential
78469			}
78470		}
78471	}
78472
78473	return nil
78474}
78475
78476// SalesforceMarketingCloudObjectDataset salesforce Marketing Cloud dataset.
78477type SalesforceMarketingCloudObjectDataset struct {
78478	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
78479	AdditionalProperties map[string]interface{} `json:""`
78480	// Description - Dataset description.
78481	Description *string `json:"description,omitempty"`
78482	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
78483	Structure interface{} `json:"structure,omitempty"`
78484	// LinkedServiceName - Linked service reference.
78485	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
78486	// Parameters - Parameters for dataset.
78487	Parameters map[string]*ParameterSpecification `json:"parameters"`
78488	// Annotations - List of tags that can be used for describing the Dataset.
78489	Annotations *[]interface{} `json:"annotations,omitempty"`
78490	// 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'
78491	Type TypeBasicDataset `json:"type,omitempty"`
78492}
78493
78494// MarshalJSON is the custom marshaler for SalesforceMarketingCloudObjectDataset.
78495func (smcod SalesforceMarketingCloudObjectDataset) MarshalJSON() ([]byte, error) {
78496	smcod.Type = TypeSalesforceMarketingCloudObject
78497	objectMap := make(map[string]interface{})
78498	if smcod.Description != nil {
78499		objectMap["description"] = smcod.Description
78500	}
78501	if smcod.Structure != nil {
78502		objectMap["structure"] = smcod.Structure
78503	}
78504	if smcod.LinkedServiceName != nil {
78505		objectMap["linkedServiceName"] = smcod.LinkedServiceName
78506	}
78507	if smcod.Parameters != nil {
78508		objectMap["parameters"] = smcod.Parameters
78509	}
78510	if smcod.Annotations != nil {
78511		objectMap["annotations"] = smcod.Annotations
78512	}
78513	if smcod.Type != "" {
78514		objectMap["type"] = smcod.Type
78515	}
78516	for k, v := range smcod.AdditionalProperties {
78517		objectMap[k] = v
78518	}
78519	return json.Marshal(objectMap)
78520}
78521
78522// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78523func (smcod SalesforceMarketingCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
78524	return nil, false
78525}
78526
78527// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78528func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
78529	return &smcod, true
78530}
78531
78532// AsVerticaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78533func (smcod SalesforceMarketingCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
78534	return nil, false
78535}
78536
78537// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78538func (smcod SalesforceMarketingCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
78539	return nil, false
78540}
78541
78542// AsZohoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78543func (smcod SalesforceMarketingCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
78544	return nil, false
78545}
78546
78547// AsXeroObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78548func (smcod SalesforceMarketingCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
78549	return nil, false
78550}
78551
78552// AsSquareObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78553func (smcod SalesforceMarketingCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
78554	return nil, false
78555}
78556
78557// AsSparkObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78558func (smcod SalesforceMarketingCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
78559	return nil, false
78560}
78561
78562// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78563func (smcod SalesforceMarketingCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
78564	return nil, false
78565}
78566
78567// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78568func (smcod SalesforceMarketingCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
78569	return nil, false
78570}
78571
78572// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78573func (smcod SalesforceMarketingCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
78574	return nil, false
78575}
78576
78577// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78578func (smcod SalesforceMarketingCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
78579	return nil, false
78580}
78581
78582// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78583func (smcod SalesforceMarketingCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
78584	return nil, false
78585}
78586
78587// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78588func (smcod SalesforceMarketingCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
78589	return nil, false
78590}
78591
78592// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78593func (smcod SalesforceMarketingCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
78594	return nil, false
78595}
78596
78597// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78598func (smcod SalesforceMarketingCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
78599	return nil, false
78600}
78601
78602// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78603func (smcod SalesforceMarketingCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
78604	return nil, false
78605}
78606
78607// AsJiraObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78608func (smcod SalesforceMarketingCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
78609	return nil, false
78610}
78611
78612// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78613func (smcod SalesforceMarketingCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
78614	return nil, false
78615}
78616
78617// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78618func (smcod SalesforceMarketingCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
78619	return nil, false
78620}
78621
78622// AsHiveObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78623func (smcod SalesforceMarketingCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
78624	return nil, false
78625}
78626
78627// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78628func (smcod SalesforceMarketingCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
78629	return nil, false
78630}
78631
78632// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78633func (smcod SalesforceMarketingCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
78634	return nil, false
78635}
78636
78637// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78638func (smcod SalesforceMarketingCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
78639	return nil, false
78640}
78641
78642// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78643func (smcod SalesforceMarketingCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
78644	return nil, false
78645}
78646
78647// AsDrillTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78648func (smcod SalesforceMarketingCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
78649	return nil, false
78650}
78651
78652// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78653func (smcod SalesforceMarketingCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
78654	return nil, false
78655}
78656
78657// AsConcurObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78658func (smcod SalesforceMarketingCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
78659	return nil, false
78660}
78661
78662// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78663func (smcod SalesforceMarketingCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
78664	return nil, false
78665}
78666
78667// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78668func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
78669	return nil, false
78670}
78671
78672// AsHTTPDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78673func (smcod SalesforceMarketingCloudObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
78674	return nil, false
78675}
78676
78677// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78678func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
78679	return nil, false
78680}
78681
78682// AsWebTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78683func (smcod SalesforceMarketingCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
78684	return nil, false
78685}
78686
78687// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78688func (smcod SalesforceMarketingCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
78689	return nil, false
78690}
78691
78692// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78693func (smcod SalesforceMarketingCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
78694	return nil, false
78695}
78696
78697// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78698func (smcod SalesforceMarketingCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
78699	return nil, false
78700}
78701
78702// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78703func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
78704	return nil, false
78705}
78706
78707// AsRelationalTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78708func (smcod SalesforceMarketingCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
78709	return nil, false
78710}
78711
78712// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78713func (smcod SalesforceMarketingCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
78714	return nil, false
78715}
78716
78717// AsOracleTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78718func (smcod SalesforceMarketingCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
78719	return nil, false
78720}
78721
78722// AsODataResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78723func (smcod SalesforceMarketingCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
78724	return nil, false
78725}
78726
78727// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78728func (smcod SalesforceMarketingCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
78729	return nil, false
78730}
78731
78732// AsFileShareDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78733func (smcod SalesforceMarketingCloudObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
78734	return nil, false
78735}
78736
78737// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78738func (smcod SalesforceMarketingCloudObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
78739	return nil, false
78740}
78741
78742// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78743func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
78744	return nil, false
78745}
78746
78747// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78748func (smcod SalesforceMarketingCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
78749	return nil, false
78750}
78751
78752// AsCustomDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78753func (smcod SalesforceMarketingCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
78754	return nil, false
78755}
78756
78757// AsCassandraTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78758func (smcod SalesforceMarketingCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
78759	return nil, false
78760}
78761
78762// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78763func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
78764	return nil, false
78765}
78766
78767// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78768func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
78769	return nil, false
78770}
78771
78772// AsAzureTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78773func (smcod SalesforceMarketingCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
78774	return nil, false
78775}
78776
78777// AsAzureBlobDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78778func (smcod SalesforceMarketingCloudObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
78779	return nil, false
78780}
78781
78782// AsAmazonS3Dataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78783func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
78784	return nil, false
78785}
78786
78787// AsDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78788func (smcod SalesforceMarketingCloudObjectDataset) AsDataset() (*Dataset, bool) {
78789	return nil, false
78790}
78791
78792// AsBasicDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
78793func (smcod SalesforceMarketingCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) {
78794	return &smcod, true
78795}
78796
78797// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudObjectDataset struct.
78798func (smcod *SalesforceMarketingCloudObjectDataset) UnmarshalJSON(body []byte) error {
78799	var m map[string]*json.RawMessage
78800	err := json.Unmarshal(body, &m)
78801	if err != nil {
78802		return err
78803	}
78804	for k, v := range m {
78805		switch k {
78806		default:
78807			if v != nil {
78808				var additionalProperties interface{}
78809				err = json.Unmarshal(*v, &additionalProperties)
78810				if err != nil {
78811					return err
78812				}
78813				if smcod.AdditionalProperties == nil {
78814					smcod.AdditionalProperties = make(map[string]interface{})
78815				}
78816				smcod.AdditionalProperties[k] = additionalProperties
78817			}
78818		case "description":
78819			if v != nil {
78820				var description string
78821				err = json.Unmarshal(*v, &description)
78822				if err != nil {
78823					return err
78824				}
78825				smcod.Description = &description
78826			}
78827		case "structure":
78828			if v != nil {
78829				var structure interface{}
78830				err = json.Unmarshal(*v, &structure)
78831				if err != nil {
78832					return err
78833				}
78834				smcod.Structure = structure
78835			}
78836		case "linkedServiceName":
78837			if v != nil {
78838				var linkedServiceName LinkedServiceReference
78839				err = json.Unmarshal(*v, &linkedServiceName)
78840				if err != nil {
78841					return err
78842				}
78843				smcod.LinkedServiceName = &linkedServiceName
78844			}
78845		case "parameters":
78846			if v != nil {
78847				var parameters map[string]*ParameterSpecification
78848				err = json.Unmarshal(*v, &parameters)
78849				if err != nil {
78850					return err
78851				}
78852				smcod.Parameters = parameters
78853			}
78854		case "annotations":
78855			if v != nil {
78856				var annotations []interface{}
78857				err = json.Unmarshal(*v, &annotations)
78858				if err != nil {
78859					return err
78860				}
78861				smcod.Annotations = &annotations
78862			}
78863		case "type":
78864			if v != nil {
78865				var typeVar TypeBasicDataset
78866				err = json.Unmarshal(*v, &typeVar)
78867				if err != nil {
78868					return err
78869				}
78870				smcod.Type = typeVar
78871			}
78872		}
78873	}
78874
78875	return nil
78876}
78877
78878// SalesforceMarketingCloudSource a copy activity Salesforce Marketing Cloud source.
78879type SalesforceMarketingCloudSource struct {
78880	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
78881	Query interface{} `json:"query,omitempty"`
78882	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
78883	AdditionalProperties map[string]interface{} `json:""`
78884	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
78885	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
78886	// 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])).
78887	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
78888	// 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'
78889	Type TypeBasicCopySource `json:"type,omitempty"`
78890}
78891
78892// MarshalJSON is the custom marshaler for SalesforceMarketingCloudSource.
78893func (smcs SalesforceMarketingCloudSource) MarshalJSON() ([]byte, error) {
78894	smcs.Type = TypeSalesforceMarketingCloudSource
78895	objectMap := make(map[string]interface{})
78896	if smcs.Query != nil {
78897		objectMap["query"] = smcs.Query
78898	}
78899	if smcs.SourceRetryCount != nil {
78900		objectMap["sourceRetryCount"] = smcs.SourceRetryCount
78901	}
78902	if smcs.SourceRetryWait != nil {
78903		objectMap["sourceRetryWait"] = smcs.SourceRetryWait
78904	}
78905	if smcs.Type != "" {
78906		objectMap["type"] = smcs.Type
78907	}
78908	for k, v := range smcs.AdditionalProperties {
78909		objectMap[k] = v
78910	}
78911	return json.Marshal(objectMap)
78912}
78913
78914// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78915func (smcs SalesforceMarketingCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
78916	return nil, false
78917}
78918
78919// AsResponsysSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78920func (smcs SalesforceMarketingCloudSource) AsResponsysSource() (*ResponsysSource, bool) {
78921	return nil, false
78922}
78923
78924// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78925func (smcs SalesforceMarketingCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
78926	return &smcs, true
78927}
78928
78929// AsVerticaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78930func (smcs SalesforceMarketingCloudSource) AsVerticaSource() (*VerticaSource, bool) {
78931	return nil, false
78932}
78933
78934// AsNetezzaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78935func (smcs SalesforceMarketingCloudSource) AsNetezzaSource() (*NetezzaSource, bool) {
78936	return nil, false
78937}
78938
78939// AsZohoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78940func (smcs SalesforceMarketingCloudSource) AsZohoSource() (*ZohoSource, bool) {
78941	return nil, false
78942}
78943
78944// AsXeroSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78945func (smcs SalesforceMarketingCloudSource) AsXeroSource() (*XeroSource, bool) {
78946	return nil, false
78947}
78948
78949// AsSquareSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78950func (smcs SalesforceMarketingCloudSource) AsSquareSource() (*SquareSource, bool) {
78951	return nil, false
78952}
78953
78954// AsSparkSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78955func (smcs SalesforceMarketingCloudSource) AsSparkSource() (*SparkSource, bool) {
78956	return nil, false
78957}
78958
78959// AsShopifySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78960func (smcs SalesforceMarketingCloudSource) AsShopifySource() (*ShopifySource, bool) {
78961	return nil, false
78962}
78963
78964// AsServiceNowSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78965func (smcs SalesforceMarketingCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) {
78966	return nil, false
78967}
78968
78969// AsQuickBooksSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78970func (smcs SalesforceMarketingCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
78971	return nil, false
78972}
78973
78974// AsPrestoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78975func (smcs SalesforceMarketingCloudSource) AsPrestoSource() (*PrestoSource, bool) {
78976	return nil, false
78977}
78978
78979// AsPhoenixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78980func (smcs SalesforceMarketingCloudSource) AsPhoenixSource() (*PhoenixSource, bool) {
78981	return nil, false
78982}
78983
78984// AsPaypalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78985func (smcs SalesforceMarketingCloudSource) AsPaypalSource() (*PaypalSource, bool) {
78986	return nil, false
78987}
78988
78989// AsMarketoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78990func (smcs SalesforceMarketingCloudSource) AsMarketoSource() (*MarketoSource, bool) {
78991	return nil, false
78992}
78993
78994// AsMariaDBSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
78995func (smcs SalesforceMarketingCloudSource) AsMariaDBSource() (*MariaDBSource, bool) {
78996	return nil, false
78997}
78998
78999// AsMagentoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79000func (smcs SalesforceMarketingCloudSource) AsMagentoSource() (*MagentoSource, bool) {
79001	return nil, false
79002}
79003
79004// AsJiraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79005func (smcs SalesforceMarketingCloudSource) AsJiraSource() (*JiraSource, bool) {
79006	return nil, false
79007}
79008
79009// AsImpalaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79010func (smcs SalesforceMarketingCloudSource) AsImpalaSource() (*ImpalaSource, bool) {
79011	return nil, false
79012}
79013
79014// AsHubspotSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79015func (smcs SalesforceMarketingCloudSource) AsHubspotSource() (*HubspotSource, bool) {
79016	return nil, false
79017}
79018
79019// AsHiveSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79020func (smcs SalesforceMarketingCloudSource) AsHiveSource() (*HiveSource, bool) {
79021	return nil, false
79022}
79023
79024// AsHBaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79025func (smcs SalesforceMarketingCloudSource) AsHBaseSource() (*HBaseSource, bool) {
79026	return nil, false
79027}
79028
79029// AsGreenplumSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79030func (smcs SalesforceMarketingCloudSource) AsGreenplumSource() (*GreenplumSource, bool) {
79031	return nil, false
79032}
79033
79034// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79035func (smcs SalesforceMarketingCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
79036	return nil, false
79037}
79038
79039// AsEloquaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79040func (smcs SalesforceMarketingCloudSource) AsEloquaSource() (*EloquaSource, bool) {
79041	return nil, false
79042}
79043
79044// AsDrillSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79045func (smcs SalesforceMarketingCloudSource) AsDrillSource() (*DrillSource, bool) {
79046	return nil, false
79047}
79048
79049// AsCouchbaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79050func (smcs SalesforceMarketingCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
79051	return nil, false
79052}
79053
79054// AsConcurSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79055func (smcs SalesforceMarketingCloudSource) AsConcurSource() (*ConcurSource, bool) {
79056	return nil, false
79057}
79058
79059// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79060func (smcs SalesforceMarketingCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
79061	return nil, false
79062}
79063
79064// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79065func (smcs SalesforceMarketingCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
79066	return nil, false
79067}
79068
79069// AsHTTPSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79070func (smcs SalesforceMarketingCloudSource) AsHTTPSource() (*HTTPSource, bool) {
79071	return nil, false
79072}
79073
79074// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79075func (smcs SalesforceMarketingCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
79076	return nil, false
79077}
79078
79079// AsMongoDbSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79080func (smcs SalesforceMarketingCloudSource) AsMongoDbSource() (*MongoDbSource, bool) {
79081	return nil, false
79082}
79083
79084// AsCassandraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79085func (smcs SalesforceMarketingCloudSource) AsCassandraSource() (*CassandraSource, bool) {
79086	return nil, false
79087}
79088
79089// AsWebSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79090func (smcs SalesforceMarketingCloudSource) AsWebSource() (*WebSource, bool) {
79091	return nil, false
79092}
79093
79094// AsOracleSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79095func (smcs SalesforceMarketingCloudSource) AsOracleSource() (*OracleSource, bool) {
79096	return nil, false
79097}
79098
79099// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79100func (smcs SalesforceMarketingCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
79101	return nil, false
79102}
79103
79104// AsHdfsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79105func (smcs SalesforceMarketingCloudSource) AsHdfsSource() (*HdfsSource, bool) {
79106	return nil, false
79107}
79108
79109// AsFileSystemSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79110func (smcs SalesforceMarketingCloudSource) AsFileSystemSource() (*FileSystemSource, bool) {
79111	return nil, false
79112}
79113
79114// AsSQLDWSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79115func (smcs SalesforceMarketingCloudSource) AsSQLDWSource() (*SQLDWSource, bool) {
79116	return nil, false
79117}
79118
79119// AsSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79120func (smcs SalesforceMarketingCloudSource) AsSQLSource() (*SQLSource, bool) {
79121	return nil, false
79122}
79123
79124// AsSapEccSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79125func (smcs SalesforceMarketingCloudSource) AsSapEccSource() (*SapEccSource, bool) {
79126	return nil, false
79127}
79128
79129// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79130func (smcs SalesforceMarketingCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
79131	return nil, false
79132}
79133
79134// AsSalesforceSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79135func (smcs SalesforceMarketingCloudSource) AsSalesforceSource() (*SalesforceSource, bool) {
79136	return nil, false
79137}
79138
79139// AsRelationalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79140func (smcs SalesforceMarketingCloudSource) AsRelationalSource() (*RelationalSource, bool) {
79141	return nil, false
79142}
79143
79144// AsDynamicsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79145func (smcs SalesforceMarketingCloudSource) AsDynamicsSource() (*DynamicsSource, bool) {
79146	return nil, false
79147}
79148
79149// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79150func (smcs SalesforceMarketingCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
79151	return nil, false
79152}
79153
79154// AsBlobSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79155func (smcs SalesforceMarketingCloudSource) AsBlobSource() (*BlobSource, bool) {
79156	return nil, false
79157}
79158
79159// AsAzureTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79160func (smcs SalesforceMarketingCloudSource) AsAzureTableSource() (*AzureTableSource, bool) {
79161	return nil, false
79162}
79163
79164// AsCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79165func (smcs SalesforceMarketingCloudSource) AsCopySource() (*CopySource, bool) {
79166	return nil, false
79167}
79168
79169// AsBasicCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
79170func (smcs SalesforceMarketingCloudSource) AsBasicCopySource() (BasicCopySource, bool) {
79171	return &smcs, true
79172}
79173
79174// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudSource struct.
79175func (smcs *SalesforceMarketingCloudSource) UnmarshalJSON(body []byte) error {
79176	var m map[string]*json.RawMessage
79177	err := json.Unmarshal(body, &m)
79178	if err != nil {
79179		return err
79180	}
79181	for k, v := range m {
79182		switch k {
79183		case "query":
79184			if v != nil {
79185				var query interface{}
79186				err = json.Unmarshal(*v, &query)
79187				if err != nil {
79188					return err
79189				}
79190				smcs.Query = query
79191			}
79192		default:
79193			if v != nil {
79194				var additionalProperties interface{}
79195				err = json.Unmarshal(*v, &additionalProperties)
79196				if err != nil {
79197					return err
79198				}
79199				if smcs.AdditionalProperties == nil {
79200					smcs.AdditionalProperties = make(map[string]interface{})
79201				}
79202				smcs.AdditionalProperties[k] = additionalProperties
79203			}
79204		case "sourceRetryCount":
79205			if v != nil {
79206				var sourceRetryCount interface{}
79207				err = json.Unmarshal(*v, &sourceRetryCount)
79208				if err != nil {
79209					return err
79210				}
79211				smcs.SourceRetryCount = sourceRetryCount
79212			}
79213		case "sourceRetryWait":
79214			if v != nil {
79215				var sourceRetryWait interface{}
79216				err = json.Unmarshal(*v, &sourceRetryWait)
79217				if err != nil {
79218					return err
79219				}
79220				smcs.SourceRetryWait = sourceRetryWait
79221			}
79222		case "type":
79223			if v != nil {
79224				var typeVar TypeBasicCopySource
79225				err = json.Unmarshal(*v, &typeVar)
79226				if err != nil {
79227					return err
79228				}
79229				smcs.Type = typeVar
79230			}
79231		}
79232	}
79233
79234	return nil
79235}
79236
79237// SalesforceObjectDataset the Salesforce object dataset.
79238type SalesforceObjectDataset struct {
79239	// SalesforceObjectDatasetTypeProperties - Salesforce object dataset properties.
79240	*SalesforceObjectDatasetTypeProperties `json:"typeProperties,omitempty"`
79241	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
79242	AdditionalProperties map[string]interface{} `json:""`
79243	// Description - Dataset description.
79244	Description *string `json:"description,omitempty"`
79245	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
79246	Structure interface{} `json:"structure,omitempty"`
79247	// LinkedServiceName - Linked service reference.
79248	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
79249	// Parameters - Parameters for dataset.
79250	Parameters map[string]*ParameterSpecification `json:"parameters"`
79251	// Annotations - List of tags that can be used for describing the Dataset.
79252	Annotations *[]interface{} `json:"annotations,omitempty"`
79253	// 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'
79254	Type TypeBasicDataset `json:"type,omitempty"`
79255}
79256
79257// MarshalJSON is the custom marshaler for SalesforceObjectDataset.
79258func (sod SalesforceObjectDataset) MarshalJSON() ([]byte, error) {
79259	sod.Type = TypeSalesforceObject
79260	objectMap := make(map[string]interface{})
79261	if sod.SalesforceObjectDatasetTypeProperties != nil {
79262		objectMap["typeProperties"] = sod.SalesforceObjectDatasetTypeProperties
79263	}
79264	if sod.Description != nil {
79265		objectMap["description"] = sod.Description
79266	}
79267	if sod.Structure != nil {
79268		objectMap["structure"] = sod.Structure
79269	}
79270	if sod.LinkedServiceName != nil {
79271		objectMap["linkedServiceName"] = sod.LinkedServiceName
79272	}
79273	if sod.Parameters != nil {
79274		objectMap["parameters"] = sod.Parameters
79275	}
79276	if sod.Annotations != nil {
79277		objectMap["annotations"] = sod.Annotations
79278	}
79279	if sod.Type != "" {
79280		objectMap["type"] = sod.Type
79281	}
79282	for k, v := range sod.AdditionalProperties {
79283		objectMap[k] = v
79284	}
79285	return json.Marshal(objectMap)
79286}
79287
79288// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79289func (sod SalesforceObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
79290	return nil, false
79291}
79292
79293// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79294func (sod SalesforceObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
79295	return nil, false
79296}
79297
79298// AsVerticaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79299func (sod SalesforceObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
79300	return nil, false
79301}
79302
79303// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79304func (sod SalesforceObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
79305	return nil, false
79306}
79307
79308// AsZohoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79309func (sod SalesforceObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
79310	return nil, false
79311}
79312
79313// AsXeroObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79314func (sod SalesforceObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
79315	return nil, false
79316}
79317
79318// AsSquareObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79319func (sod SalesforceObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
79320	return nil, false
79321}
79322
79323// AsSparkObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79324func (sod SalesforceObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
79325	return nil, false
79326}
79327
79328// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79329func (sod SalesforceObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
79330	return nil, false
79331}
79332
79333// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79334func (sod SalesforceObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
79335	return nil, false
79336}
79337
79338// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79339func (sod SalesforceObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
79340	return nil, false
79341}
79342
79343// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79344func (sod SalesforceObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
79345	return nil, false
79346}
79347
79348// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79349func (sod SalesforceObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
79350	return nil, false
79351}
79352
79353// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79354func (sod SalesforceObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
79355	return nil, false
79356}
79357
79358// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79359func (sod SalesforceObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
79360	return nil, false
79361}
79362
79363// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79364func (sod SalesforceObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
79365	return nil, false
79366}
79367
79368// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79369func (sod SalesforceObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
79370	return nil, false
79371}
79372
79373// AsJiraObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79374func (sod SalesforceObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
79375	return nil, false
79376}
79377
79378// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79379func (sod SalesforceObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
79380	return nil, false
79381}
79382
79383// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79384func (sod SalesforceObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
79385	return nil, false
79386}
79387
79388// AsHiveObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79389func (sod SalesforceObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
79390	return nil, false
79391}
79392
79393// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79394func (sod SalesforceObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
79395	return nil, false
79396}
79397
79398// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79399func (sod SalesforceObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
79400	return nil, false
79401}
79402
79403// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79404func (sod SalesforceObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
79405	return nil, false
79406}
79407
79408// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79409func (sod SalesforceObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
79410	return nil, false
79411}
79412
79413// AsDrillTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79414func (sod SalesforceObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
79415	return nil, false
79416}
79417
79418// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79419func (sod SalesforceObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
79420	return nil, false
79421}
79422
79423// AsConcurObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79424func (sod SalesforceObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
79425	return nil, false
79426}
79427
79428// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79429func (sod SalesforceObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
79430	return nil, false
79431}
79432
79433// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79434func (sod SalesforceObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
79435	return nil, false
79436}
79437
79438// AsHTTPDataset is the BasicDataset implementation for SalesforceObjectDataset.
79439func (sod SalesforceObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
79440	return nil, false
79441}
79442
79443// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceObjectDataset.
79444func (sod SalesforceObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
79445	return nil, false
79446}
79447
79448// AsWebTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79449func (sod SalesforceObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
79450	return nil, false
79451}
79452
79453// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79454func (sod SalesforceObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
79455	return nil, false
79456}
79457
79458// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
79459func (sod SalesforceObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
79460	return nil, false
79461}
79462
79463// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
79464func (sod SalesforceObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
79465	return nil, false
79466}
79467
79468// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
79469func (sod SalesforceObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
79470	return &sod, true
79471}
79472
79473// AsRelationalTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79474func (sod SalesforceObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
79475	return nil, false
79476}
79477
79478// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79479func (sod SalesforceObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
79480	return nil, false
79481}
79482
79483// AsOracleTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79484func (sod SalesforceObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
79485	return nil, false
79486}
79487
79488// AsODataResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
79489func (sod SalesforceObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
79490	return nil, false
79491}
79492
79493// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
79494func (sod SalesforceObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
79495	return nil, false
79496}
79497
79498// AsFileShareDataset is the BasicDataset implementation for SalesforceObjectDataset.
79499func (sod SalesforceObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
79500	return nil, false
79501}
79502
79503// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SalesforceObjectDataset.
79504func (sod SalesforceObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
79505	return nil, false
79506}
79507
79508// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceObjectDataset.
79509func (sod SalesforceObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
79510	return nil, false
79511}
79512
79513// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
79514func (sod SalesforceObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
79515	return nil, false
79516}
79517
79518// AsCustomDataset is the BasicDataset implementation for SalesforceObjectDataset.
79519func (sod SalesforceObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
79520	return nil, false
79521}
79522
79523// AsCassandraTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79524func (sod SalesforceObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
79525	return nil, false
79526}
79527
79528// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79529func (sod SalesforceObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
79530	return nil, false
79531}
79532
79533// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79534func (sod SalesforceObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
79535	return nil, false
79536}
79537
79538// AsAzureTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
79539func (sod SalesforceObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
79540	return nil, false
79541}
79542
79543// AsAzureBlobDataset is the BasicDataset implementation for SalesforceObjectDataset.
79544func (sod SalesforceObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
79545	return nil, false
79546}
79547
79548// AsAmazonS3Dataset is the BasicDataset implementation for SalesforceObjectDataset.
79549func (sod SalesforceObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
79550	return nil, false
79551}
79552
79553// AsDataset is the BasicDataset implementation for SalesforceObjectDataset.
79554func (sod SalesforceObjectDataset) AsDataset() (*Dataset, bool) {
79555	return nil, false
79556}
79557
79558// AsBasicDataset is the BasicDataset implementation for SalesforceObjectDataset.
79559func (sod SalesforceObjectDataset) AsBasicDataset() (BasicDataset, bool) {
79560	return &sod, true
79561}
79562
79563// UnmarshalJSON is the custom unmarshaler for SalesforceObjectDataset struct.
79564func (sod *SalesforceObjectDataset) UnmarshalJSON(body []byte) error {
79565	var m map[string]*json.RawMessage
79566	err := json.Unmarshal(body, &m)
79567	if err != nil {
79568		return err
79569	}
79570	for k, v := range m {
79571		switch k {
79572		case "typeProperties":
79573			if v != nil {
79574				var salesforceObjectDatasetTypeProperties SalesforceObjectDatasetTypeProperties
79575				err = json.Unmarshal(*v, &salesforceObjectDatasetTypeProperties)
79576				if err != nil {
79577					return err
79578				}
79579				sod.SalesforceObjectDatasetTypeProperties = &salesforceObjectDatasetTypeProperties
79580			}
79581		default:
79582			if v != nil {
79583				var additionalProperties interface{}
79584				err = json.Unmarshal(*v, &additionalProperties)
79585				if err != nil {
79586					return err
79587				}
79588				if sod.AdditionalProperties == nil {
79589					sod.AdditionalProperties = make(map[string]interface{})
79590				}
79591				sod.AdditionalProperties[k] = additionalProperties
79592			}
79593		case "description":
79594			if v != nil {
79595				var description string
79596				err = json.Unmarshal(*v, &description)
79597				if err != nil {
79598					return err
79599				}
79600				sod.Description = &description
79601			}
79602		case "structure":
79603			if v != nil {
79604				var structure interface{}
79605				err = json.Unmarshal(*v, &structure)
79606				if err != nil {
79607					return err
79608				}
79609				sod.Structure = structure
79610			}
79611		case "linkedServiceName":
79612			if v != nil {
79613				var linkedServiceName LinkedServiceReference
79614				err = json.Unmarshal(*v, &linkedServiceName)
79615				if err != nil {
79616					return err
79617				}
79618				sod.LinkedServiceName = &linkedServiceName
79619			}
79620		case "parameters":
79621			if v != nil {
79622				var parameters map[string]*ParameterSpecification
79623				err = json.Unmarshal(*v, &parameters)
79624				if err != nil {
79625					return err
79626				}
79627				sod.Parameters = parameters
79628			}
79629		case "annotations":
79630			if v != nil {
79631				var annotations []interface{}
79632				err = json.Unmarshal(*v, &annotations)
79633				if err != nil {
79634					return err
79635				}
79636				sod.Annotations = &annotations
79637			}
79638		case "type":
79639			if v != nil {
79640				var typeVar TypeBasicDataset
79641				err = json.Unmarshal(*v, &typeVar)
79642				if err != nil {
79643					return err
79644				}
79645				sod.Type = typeVar
79646			}
79647		}
79648	}
79649
79650	return nil
79651}
79652
79653// SalesforceObjectDatasetTypeProperties salesforce object dataset properties.
79654type SalesforceObjectDatasetTypeProperties struct {
79655	// ObjectAPIName - The Salesforce object API name. Type: string (or Expression with resultType string).
79656	ObjectAPIName interface{} `json:"objectApiName,omitempty"`
79657}
79658
79659// SalesforceSink a copy activity Salesforce sink.
79660type SalesforceSink struct {
79661	// WriteBehavior - The write behavior for the operation. Default is Insert.
79662	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
79663	// ExternalIDFieldName - The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string).
79664	ExternalIDFieldName interface{} `json:"externalIdFieldName,omitempty"`
79665	// 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).
79666	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
79667	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
79668	AdditionalProperties map[string]interface{} `json:""`
79669	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
79670	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
79671	// 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])).
79672	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
79673	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
79674	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
79675	// 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])).
79676	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
79677	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
79678	Type TypeBasicCopySink `json:"type,omitempty"`
79679}
79680
79681// MarshalJSON is the custom marshaler for SalesforceSink.
79682func (ss SalesforceSink) MarshalJSON() ([]byte, error) {
79683	ss.Type = TypeSalesforceSink
79684	objectMap := make(map[string]interface{})
79685	if ss.WriteBehavior != nil {
79686		objectMap["writeBehavior"] = ss.WriteBehavior
79687	}
79688	if ss.ExternalIDFieldName != nil {
79689		objectMap["externalIdFieldName"] = ss.ExternalIDFieldName
79690	}
79691	if ss.IgnoreNullValues != nil {
79692		objectMap["ignoreNullValues"] = ss.IgnoreNullValues
79693	}
79694	if ss.WriteBatchSize != nil {
79695		objectMap["writeBatchSize"] = ss.WriteBatchSize
79696	}
79697	if ss.WriteBatchTimeout != nil {
79698		objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout
79699	}
79700	if ss.SinkRetryCount != nil {
79701		objectMap["sinkRetryCount"] = ss.SinkRetryCount
79702	}
79703	if ss.SinkRetryWait != nil {
79704		objectMap["sinkRetryWait"] = ss.SinkRetryWait
79705	}
79706	if ss.Type != "" {
79707		objectMap["type"] = ss.Type
79708	}
79709	for k, v := range ss.AdditionalProperties {
79710		objectMap[k] = v
79711	}
79712	return json.Marshal(objectMap)
79713}
79714
79715// AsSalesforceSink is the BasicCopySink implementation for SalesforceSink.
79716func (ss SalesforceSink) AsSalesforceSink() (*SalesforceSink, bool) {
79717	return &ss, true
79718}
79719
79720// AsDynamicsSink is the BasicCopySink implementation for SalesforceSink.
79721func (ss SalesforceSink) AsDynamicsSink() (*DynamicsSink, bool) {
79722	return nil, false
79723}
79724
79725// AsOdbcSink is the BasicCopySink implementation for SalesforceSink.
79726func (ss SalesforceSink) AsOdbcSink() (*OdbcSink, bool) {
79727	return nil, false
79728}
79729
79730// AsAzureSearchIndexSink is the BasicCopySink implementation for SalesforceSink.
79731func (ss SalesforceSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
79732	return nil, false
79733}
79734
79735// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SalesforceSink.
79736func (ss SalesforceSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
79737	return nil, false
79738}
79739
79740// AsOracleSink is the BasicCopySink implementation for SalesforceSink.
79741func (ss SalesforceSink) AsOracleSink() (*OracleSink, bool) {
79742	return nil, false
79743}
79744
79745// AsSQLDWSink is the BasicCopySink implementation for SalesforceSink.
79746func (ss SalesforceSink) AsSQLDWSink() (*SQLDWSink, bool) {
79747	return nil, false
79748}
79749
79750// AsSQLSink is the BasicCopySink implementation for SalesforceSink.
79751func (ss SalesforceSink) AsSQLSink() (*SQLSink, bool) {
79752	return nil, false
79753}
79754
79755// AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceSink.
79756func (ss SalesforceSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
79757	return nil, false
79758}
79759
79760// AsFileSystemSink is the BasicCopySink implementation for SalesforceSink.
79761func (ss SalesforceSink) AsFileSystemSink() (*FileSystemSink, bool) {
79762	return nil, false
79763}
79764
79765// AsBlobSink is the BasicCopySink implementation for SalesforceSink.
79766func (ss SalesforceSink) AsBlobSink() (*BlobSink, bool) {
79767	return nil, false
79768}
79769
79770// AsAzureTableSink is the BasicCopySink implementation for SalesforceSink.
79771func (ss SalesforceSink) AsAzureTableSink() (*AzureTableSink, bool) {
79772	return nil, false
79773}
79774
79775// AsAzureQueueSink is the BasicCopySink implementation for SalesforceSink.
79776func (ss SalesforceSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
79777	return nil, false
79778}
79779
79780// AsSapCloudForCustomerSink is the BasicCopySink implementation for SalesforceSink.
79781func (ss SalesforceSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
79782	return nil, false
79783}
79784
79785// AsCopySink is the BasicCopySink implementation for SalesforceSink.
79786func (ss SalesforceSink) AsCopySink() (*CopySink, bool) {
79787	return nil, false
79788}
79789
79790// AsBasicCopySink is the BasicCopySink implementation for SalesforceSink.
79791func (ss SalesforceSink) AsBasicCopySink() (BasicCopySink, bool) {
79792	return &ss, true
79793}
79794
79795// UnmarshalJSON is the custom unmarshaler for SalesforceSink struct.
79796func (ss *SalesforceSink) UnmarshalJSON(body []byte) error {
79797	var m map[string]*json.RawMessage
79798	err := json.Unmarshal(body, &m)
79799	if err != nil {
79800		return err
79801	}
79802	for k, v := range m {
79803		switch k {
79804		case "writeBehavior":
79805			if v != nil {
79806				var writeBehavior interface{}
79807				err = json.Unmarshal(*v, &writeBehavior)
79808				if err != nil {
79809					return err
79810				}
79811				ss.WriteBehavior = writeBehavior
79812			}
79813		case "externalIdFieldName":
79814			if v != nil {
79815				var externalIDFieldName interface{}
79816				err = json.Unmarshal(*v, &externalIDFieldName)
79817				if err != nil {
79818					return err
79819				}
79820				ss.ExternalIDFieldName = externalIDFieldName
79821			}
79822		case "ignoreNullValues":
79823			if v != nil {
79824				var ignoreNullValues interface{}
79825				err = json.Unmarshal(*v, &ignoreNullValues)
79826				if err != nil {
79827					return err
79828				}
79829				ss.IgnoreNullValues = ignoreNullValues
79830			}
79831		default:
79832			if v != nil {
79833				var additionalProperties interface{}
79834				err = json.Unmarshal(*v, &additionalProperties)
79835				if err != nil {
79836					return err
79837				}
79838				if ss.AdditionalProperties == nil {
79839					ss.AdditionalProperties = make(map[string]interface{})
79840				}
79841				ss.AdditionalProperties[k] = additionalProperties
79842			}
79843		case "writeBatchSize":
79844			if v != nil {
79845				var writeBatchSize interface{}
79846				err = json.Unmarshal(*v, &writeBatchSize)
79847				if err != nil {
79848					return err
79849				}
79850				ss.WriteBatchSize = writeBatchSize
79851			}
79852		case "writeBatchTimeout":
79853			if v != nil {
79854				var writeBatchTimeout interface{}
79855				err = json.Unmarshal(*v, &writeBatchTimeout)
79856				if err != nil {
79857					return err
79858				}
79859				ss.WriteBatchTimeout = writeBatchTimeout
79860			}
79861		case "sinkRetryCount":
79862			if v != nil {
79863				var sinkRetryCount interface{}
79864				err = json.Unmarshal(*v, &sinkRetryCount)
79865				if err != nil {
79866					return err
79867				}
79868				ss.SinkRetryCount = sinkRetryCount
79869			}
79870		case "sinkRetryWait":
79871			if v != nil {
79872				var sinkRetryWait interface{}
79873				err = json.Unmarshal(*v, &sinkRetryWait)
79874				if err != nil {
79875					return err
79876				}
79877				ss.SinkRetryWait = sinkRetryWait
79878			}
79879		case "type":
79880			if v != nil {
79881				var typeVar TypeBasicCopySink
79882				err = json.Unmarshal(*v, &typeVar)
79883				if err != nil {
79884					return err
79885				}
79886				ss.Type = typeVar
79887			}
79888		}
79889	}
79890
79891	return nil
79892}
79893
79894// SalesforceSource a copy activity Salesforce source.
79895type SalesforceSource struct {
79896	// Query - Database query. Type: string (or Expression with resultType string).
79897	Query interface{} `json:"query,omitempty"`
79898	// ReadBehavior - The read behavior for the operation. Default is Query.
79899	ReadBehavior interface{} `json:"readBehavior,omitempty"`
79900	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
79901	AdditionalProperties map[string]interface{} `json:""`
79902	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
79903	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
79904	// 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])).
79905	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
79906	// 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'
79907	Type TypeBasicCopySource `json:"type,omitempty"`
79908}
79909
79910// MarshalJSON is the custom marshaler for SalesforceSource.
79911func (ss SalesforceSource) MarshalJSON() ([]byte, error) {
79912	ss.Type = TypeSalesforceSource
79913	objectMap := make(map[string]interface{})
79914	if ss.Query != nil {
79915		objectMap["query"] = ss.Query
79916	}
79917	if ss.ReadBehavior != nil {
79918		objectMap["readBehavior"] = ss.ReadBehavior
79919	}
79920	if ss.SourceRetryCount != nil {
79921		objectMap["sourceRetryCount"] = ss.SourceRetryCount
79922	}
79923	if ss.SourceRetryWait != nil {
79924		objectMap["sourceRetryWait"] = ss.SourceRetryWait
79925	}
79926	if ss.Type != "" {
79927		objectMap["type"] = ss.Type
79928	}
79929	for k, v := range ss.AdditionalProperties {
79930		objectMap[k] = v
79931	}
79932	return json.Marshal(objectMap)
79933}
79934
79935// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceSource.
79936func (ss SalesforceSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
79937	return nil, false
79938}
79939
79940// AsResponsysSource is the BasicCopySource implementation for SalesforceSource.
79941func (ss SalesforceSource) AsResponsysSource() (*ResponsysSource, bool) {
79942	return nil, false
79943}
79944
79945// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceSource.
79946func (ss SalesforceSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
79947	return nil, false
79948}
79949
79950// AsVerticaSource is the BasicCopySource implementation for SalesforceSource.
79951func (ss SalesforceSource) AsVerticaSource() (*VerticaSource, bool) {
79952	return nil, false
79953}
79954
79955// AsNetezzaSource is the BasicCopySource implementation for SalesforceSource.
79956func (ss SalesforceSource) AsNetezzaSource() (*NetezzaSource, bool) {
79957	return nil, false
79958}
79959
79960// AsZohoSource is the BasicCopySource implementation for SalesforceSource.
79961func (ss SalesforceSource) AsZohoSource() (*ZohoSource, bool) {
79962	return nil, false
79963}
79964
79965// AsXeroSource is the BasicCopySource implementation for SalesforceSource.
79966func (ss SalesforceSource) AsXeroSource() (*XeroSource, bool) {
79967	return nil, false
79968}
79969
79970// AsSquareSource is the BasicCopySource implementation for SalesforceSource.
79971func (ss SalesforceSource) AsSquareSource() (*SquareSource, bool) {
79972	return nil, false
79973}
79974
79975// AsSparkSource is the BasicCopySource implementation for SalesforceSource.
79976func (ss SalesforceSource) AsSparkSource() (*SparkSource, bool) {
79977	return nil, false
79978}
79979
79980// AsShopifySource is the BasicCopySource implementation for SalesforceSource.
79981func (ss SalesforceSource) AsShopifySource() (*ShopifySource, bool) {
79982	return nil, false
79983}
79984
79985// AsServiceNowSource is the BasicCopySource implementation for SalesforceSource.
79986func (ss SalesforceSource) AsServiceNowSource() (*ServiceNowSource, bool) {
79987	return nil, false
79988}
79989
79990// AsQuickBooksSource is the BasicCopySource implementation for SalesforceSource.
79991func (ss SalesforceSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
79992	return nil, false
79993}
79994
79995// AsPrestoSource is the BasicCopySource implementation for SalesforceSource.
79996func (ss SalesforceSource) AsPrestoSource() (*PrestoSource, bool) {
79997	return nil, false
79998}
79999
80000// AsPhoenixSource is the BasicCopySource implementation for SalesforceSource.
80001func (ss SalesforceSource) AsPhoenixSource() (*PhoenixSource, bool) {
80002	return nil, false
80003}
80004
80005// AsPaypalSource is the BasicCopySource implementation for SalesforceSource.
80006func (ss SalesforceSource) AsPaypalSource() (*PaypalSource, bool) {
80007	return nil, false
80008}
80009
80010// AsMarketoSource is the BasicCopySource implementation for SalesforceSource.
80011func (ss SalesforceSource) AsMarketoSource() (*MarketoSource, bool) {
80012	return nil, false
80013}
80014
80015// AsMariaDBSource is the BasicCopySource implementation for SalesforceSource.
80016func (ss SalesforceSource) AsMariaDBSource() (*MariaDBSource, bool) {
80017	return nil, false
80018}
80019
80020// AsMagentoSource is the BasicCopySource implementation for SalesforceSource.
80021func (ss SalesforceSource) AsMagentoSource() (*MagentoSource, bool) {
80022	return nil, false
80023}
80024
80025// AsJiraSource is the BasicCopySource implementation for SalesforceSource.
80026func (ss SalesforceSource) AsJiraSource() (*JiraSource, bool) {
80027	return nil, false
80028}
80029
80030// AsImpalaSource is the BasicCopySource implementation for SalesforceSource.
80031func (ss SalesforceSource) AsImpalaSource() (*ImpalaSource, bool) {
80032	return nil, false
80033}
80034
80035// AsHubspotSource is the BasicCopySource implementation for SalesforceSource.
80036func (ss SalesforceSource) AsHubspotSource() (*HubspotSource, bool) {
80037	return nil, false
80038}
80039
80040// AsHiveSource is the BasicCopySource implementation for SalesforceSource.
80041func (ss SalesforceSource) AsHiveSource() (*HiveSource, bool) {
80042	return nil, false
80043}
80044
80045// AsHBaseSource is the BasicCopySource implementation for SalesforceSource.
80046func (ss SalesforceSource) AsHBaseSource() (*HBaseSource, bool) {
80047	return nil, false
80048}
80049
80050// AsGreenplumSource is the BasicCopySource implementation for SalesforceSource.
80051func (ss SalesforceSource) AsGreenplumSource() (*GreenplumSource, bool) {
80052	return nil, false
80053}
80054
80055// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceSource.
80056func (ss SalesforceSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
80057	return nil, false
80058}
80059
80060// AsEloquaSource is the BasicCopySource implementation for SalesforceSource.
80061func (ss SalesforceSource) AsEloquaSource() (*EloquaSource, bool) {
80062	return nil, false
80063}
80064
80065// AsDrillSource is the BasicCopySource implementation for SalesforceSource.
80066func (ss SalesforceSource) AsDrillSource() (*DrillSource, bool) {
80067	return nil, false
80068}
80069
80070// AsCouchbaseSource is the BasicCopySource implementation for SalesforceSource.
80071func (ss SalesforceSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
80072	return nil, false
80073}
80074
80075// AsConcurSource is the BasicCopySource implementation for SalesforceSource.
80076func (ss SalesforceSource) AsConcurSource() (*ConcurSource, bool) {
80077	return nil, false
80078}
80079
80080// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceSource.
80081func (ss SalesforceSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
80082	return nil, false
80083}
80084
80085// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceSource.
80086func (ss SalesforceSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
80087	return nil, false
80088}
80089
80090// AsHTTPSource is the BasicCopySource implementation for SalesforceSource.
80091func (ss SalesforceSource) AsHTTPSource() (*HTTPSource, bool) {
80092	return nil, false
80093}
80094
80095// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceSource.
80096func (ss SalesforceSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
80097	return nil, false
80098}
80099
80100// AsMongoDbSource is the BasicCopySource implementation for SalesforceSource.
80101func (ss SalesforceSource) AsMongoDbSource() (*MongoDbSource, bool) {
80102	return nil, false
80103}
80104
80105// AsCassandraSource is the BasicCopySource implementation for SalesforceSource.
80106func (ss SalesforceSource) AsCassandraSource() (*CassandraSource, bool) {
80107	return nil, false
80108}
80109
80110// AsWebSource is the BasicCopySource implementation for SalesforceSource.
80111func (ss SalesforceSource) AsWebSource() (*WebSource, bool) {
80112	return nil, false
80113}
80114
80115// AsOracleSource is the BasicCopySource implementation for SalesforceSource.
80116func (ss SalesforceSource) AsOracleSource() (*OracleSource, bool) {
80117	return nil, false
80118}
80119
80120// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceSource.
80121func (ss SalesforceSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
80122	return nil, false
80123}
80124
80125// AsHdfsSource is the BasicCopySource implementation for SalesforceSource.
80126func (ss SalesforceSource) AsHdfsSource() (*HdfsSource, bool) {
80127	return nil, false
80128}
80129
80130// AsFileSystemSource is the BasicCopySource implementation for SalesforceSource.
80131func (ss SalesforceSource) AsFileSystemSource() (*FileSystemSource, bool) {
80132	return nil, false
80133}
80134
80135// AsSQLDWSource is the BasicCopySource implementation for SalesforceSource.
80136func (ss SalesforceSource) AsSQLDWSource() (*SQLDWSource, bool) {
80137	return nil, false
80138}
80139
80140// AsSQLSource is the BasicCopySource implementation for SalesforceSource.
80141func (ss SalesforceSource) AsSQLSource() (*SQLSource, bool) {
80142	return nil, false
80143}
80144
80145// AsSapEccSource is the BasicCopySource implementation for SalesforceSource.
80146func (ss SalesforceSource) AsSapEccSource() (*SapEccSource, bool) {
80147	return nil, false
80148}
80149
80150// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceSource.
80151func (ss SalesforceSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
80152	return nil, false
80153}
80154
80155// AsSalesforceSource is the BasicCopySource implementation for SalesforceSource.
80156func (ss SalesforceSource) AsSalesforceSource() (*SalesforceSource, bool) {
80157	return &ss, true
80158}
80159
80160// AsRelationalSource is the BasicCopySource implementation for SalesforceSource.
80161func (ss SalesforceSource) AsRelationalSource() (*RelationalSource, bool) {
80162	return nil, false
80163}
80164
80165// AsDynamicsSource is the BasicCopySource implementation for SalesforceSource.
80166func (ss SalesforceSource) AsDynamicsSource() (*DynamicsSource, bool) {
80167	return nil, false
80168}
80169
80170// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceSource.
80171func (ss SalesforceSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
80172	return nil, false
80173}
80174
80175// AsBlobSource is the BasicCopySource implementation for SalesforceSource.
80176func (ss SalesforceSource) AsBlobSource() (*BlobSource, bool) {
80177	return nil, false
80178}
80179
80180// AsAzureTableSource is the BasicCopySource implementation for SalesforceSource.
80181func (ss SalesforceSource) AsAzureTableSource() (*AzureTableSource, bool) {
80182	return nil, false
80183}
80184
80185// AsCopySource is the BasicCopySource implementation for SalesforceSource.
80186func (ss SalesforceSource) AsCopySource() (*CopySource, bool) {
80187	return nil, false
80188}
80189
80190// AsBasicCopySource is the BasicCopySource implementation for SalesforceSource.
80191func (ss SalesforceSource) AsBasicCopySource() (BasicCopySource, bool) {
80192	return &ss, true
80193}
80194
80195// UnmarshalJSON is the custom unmarshaler for SalesforceSource struct.
80196func (ss *SalesforceSource) UnmarshalJSON(body []byte) error {
80197	var m map[string]*json.RawMessage
80198	err := json.Unmarshal(body, &m)
80199	if err != nil {
80200		return err
80201	}
80202	for k, v := range m {
80203		switch k {
80204		case "query":
80205			if v != nil {
80206				var query interface{}
80207				err = json.Unmarshal(*v, &query)
80208				if err != nil {
80209					return err
80210				}
80211				ss.Query = query
80212			}
80213		case "readBehavior":
80214			if v != nil {
80215				var readBehavior interface{}
80216				err = json.Unmarshal(*v, &readBehavior)
80217				if err != nil {
80218					return err
80219				}
80220				ss.ReadBehavior = readBehavior
80221			}
80222		default:
80223			if v != nil {
80224				var additionalProperties interface{}
80225				err = json.Unmarshal(*v, &additionalProperties)
80226				if err != nil {
80227					return err
80228				}
80229				if ss.AdditionalProperties == nil {
80230					ss.AdditionalProperties = make(map[string]interface{})
80231				}
80232				ss.AdditionalProperties[k] = additionalProperties
80233			}
80234		case "sourceRetryCount":
80235			if v != nil {
80236				var sourceRetryCount interface{}
80237				err = json.Unmarshal(*v, &sourceRetryCount)
80238				if err != nil {
80239					return err
80240				}
80241				ss.SourceRetryCount = sourceRetryCount
80242			}
80243		case "sourceRetryWait":
80244			if v != nil {
80245				var sourceRetryWait interface{}
80246				err = json.Unmarshal(*v, &sourceRetryWait)
80247				if err != nil {
80248					return err
80249				}
80250				ss.SourceRetryWait = sourceRetryWait
80251			}
80252		case "type":
80253			if v != nil {
80254				var typeVar TypeBasicCopySource
80255				err = json.Unmarshal(*v, &typeVar)
80256				if err != nil {
80257					return err
80258				}
80259				ss.Type = typeVar
80260			}
80261		}
80262	}
80263
80264	return nil
80265}
80266
80267// SapBWLinkedService SAP Business Warehouse Linked Service.
80268type SapBWLinkedService struct {
80269	// SapBWLinkedServiceTypeProperties - Properties specific to this linked service type.
80270	*SapBWLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
80271	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
80272	AdditionalProperties map[string]interface{} `json:""`
80273	// ConnectVia - The integration runtime reference.
80274	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
80275	// Description - Linked service description.
80276	Description *string `json:"description,omitempty"`
80277	// Parameters - Parameters for linked service.
80278	Parameters map[string]*ParameterSpecification `json:"parameters"`
80279	// Annotations - List of tags that can be used for describing the Dataset.
80280	Annotations *[]interface{} `json:"annotations,omitempty"`
80281	// 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'
80282	Type TypeBasicLinkedService `json:"type,omitempty"`
80283}
80284
80285// MarshalJSON is the custom marshaler for SapBWLinkedService.
80286func (sbls SapBWLinkedService) MarshalJSON() ([]byte, error) {
80287	sbls.Type = TypeSapBW
80288	objectMap := make(map[string]interface{})
80289	if sbls.SapBWLinkedServiceTypeProperties != nil {
80290		objectMap["typeProperties"] = sbls.SapBWLinkedServiceTypeProperties
80291	}
80292	if sbls.ConnectVia != nil {
80293		objectMap["connectVia"] = sbls.ConnectVia
80294	}
80295	if sbls.Description != nil {
80296		objectMap["description"] = sbls.Description
80297	}
80298	if sbls.Parameters != nil {
80299		objectMap["parameters"] = sbls.Parameters
80300	}
80301	if sbls.Annotations != nil {
80302		objectMap["annotations"] = sbls.Annotations
80303	}
80304	if sbls.Type != "" {
80305		objectMap["type"] = sbls.Type
80306	}
80307	for k, v := range sbls.AdditionalProperties {
80308		objectMap[k] = v
80309	}
80310	return json.Marshal(objectMap)
80311}
80312
80313// AsResponsysLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80314func (sbls SapBWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
80315	return nil, false
80316}
80317
80318// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80319func (sbls SapBWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
80320	return nil, false
80321}
80322
80323// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80324func (sbls SapBWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
80325	return nil, false
80326}
80327
80328// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80329func (sbls SapBWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
80330	return nil, false
80331}
80332
80333// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80334func (sbls SapBWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
80335	return nil, false
80336}
80337
80338// AsNetezzaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80339func (sbls SapBWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
80340	return nil, false
80341}
80342
80343// AsVerticaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80344func (sbls SapBWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
80345	return nil, false
80346}
80347
80348// AsZohoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80349func (sbls SapBWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
80350	return nil, false
80351}
80352
80353// AsXeroLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80354func (sbls SapBWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
80355	return nil, false
80356}
80357
80358// AsSquareLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80359func (sbls SapBWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
80360	return nil, false
80361}
80362
80363// AsSparkLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80364func (sbls SapBWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
80365	return nil, false
80366}
80367
80368// AsShopifyLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80369func (sbls SapBWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
80370	return nil, false
80371}
80372
80373// AsServiceNowLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80374func (sbls SapBWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
80375	return nil, false
80376}
80377
80378// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80379func (sbls SapBWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
80380	return nil, false
80381}
80382
80383// AsPrestoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80384func (sbls SapBWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
80385	return nil, false
80386}
80387
80388// AsPhoenixLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80389func (sbls SapBWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
80390	return nil, false
80391}
80392
80393// AsPaypalLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80394func (sbls SapBWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
80395	return nil, false
80396}
80397
80398// AsMarketoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80399func (sbls SapBWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
80400	return nil, false
80401}
80402
80403// AsMariaDBLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80404func (sbls SapBWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
80405	return nil, false
80406}
80407
80408// AsMagentoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80409func (sbls SapBWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
80410	return nil, false
80411}
80412
80413// AsJiraLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80414func (sbls SapBWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
80415	return nil, false
80416}
80417
80418// AsImpalaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80419func (sbls SapBWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
80420	return nil, false
80421}
80422
80423// AsHubspotLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80424func (sbls SapBWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
80425	return nil, false
80426}
80427
80428// AsHiveLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80429func (sbls SapBWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
80430	return nil, false
80431}
80432
80433// AsHBaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80434func (sbls SapBWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
80435	return nil, false
80436}
80437
80438// AsGreenplumLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80439func (sbls SapBWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
80440	return nil, false
80441}
80442
80443// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80444func (sbls SapBWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
80445	return nil, false
80446}
80447
80448// AsEloquaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80449func (sbls SapBWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
80450	return nil, false
80451}
80452
80453// AsDrillLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80454func (sbls SapBWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
80455	return nil, false
80456}
80457
80458// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80459func (sbls SapBWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
80460	return nil, false
80461}
80462
80463// AsConcurLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80464func (sbls SapBWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
80465	return nil, false
80466}
80467
80468// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80469func (sbls SapBWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
80470	return nil, false
80471}
80472
80473// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80474func (sbls SapBWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
80475	return nil, false
80476}
80477
80478// AsSapHanaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80479func (sbls SapBWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
80480	return nil, false
80481}
80482
80483// AsSapBWLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80484func (sbls SapBWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
80485	return &sbls, true
80486}
80487
80488// AsSftpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80489func (sbls SapBWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
80490	return nil, false
80491}
80492
80493// AsFtpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80494func (sbls SapBWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
80495	return nil, false
80496}
80497
80498// AsHTTPLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80499func (sbls SapBWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
80500	return nil, false
80501}
80502
80503// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80504func (sbls SapBWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
80505	return nil, false
80506}
80507
80508// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80509func (sbls SapBWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
80510	return nil, false
80511}
80512
80513// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80514func (sbls SapBWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
80515	return nil, false
80516}
80517
80518// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80519func (sbls SapBWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
80520	return nil, false
80521}
80522
80523// AsSapEccLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80524func (sbls SapBWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
80525	return nil, false
80526}
80527
80528// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80529func (sbls SapBWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
80530	return nil, false
80531}
80532
80533// AsSalesforceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80534func (sbls SapBWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
80535	return nil, false
80536}
80537
80538// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80539func (sbls SapBWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
80540	return nil, false
80541}
80542
80543// AsMongoDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80544func (sbls SapBWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
80545	return nil, false
80546}
80547
80548// AsCassandraLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80549func (sbls SapBWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
80550	return nil, false
80551}
80552
80553// AsWebLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80554func (sbls SapBWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
80555	return nil, false
80556}
80557
80558// AsODataLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80559func (sbls SapBWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
80560	return nil, false
80561}
80562
80563// AsHdfsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80564func (sbls SapBWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
80565	return nil, false
80566}
80567
80568// AsOdbcLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80569func (sbls SapBWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
80570	return nil, false
80571}
80572
80573// AsAzureMLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80574func (sbls SapBWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
80575	return nil, false
80576}
80577
80578// AsTeradataLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80579func (sbls SapBWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
80580	return nil, false
80581}
80582
80583// AsDb2LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80584func (sbls SapBWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
80585	return nil, false
80586}
80587
80588// AsSybaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80589func (sbls SapBWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
80590	return nil, false
80591}
80592
80593// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80594func (sbls SapBWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
80595	return nil, false
80596}
80597
80598// AsMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80599func (sbls SapBWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
80600	return nil, false
80601}
80602
80603// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80604func (sbls SapBWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
80605	return nil, false
80606}
80607
80608// AsOracleLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80609func (sbls SapBWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
80610	return nil, false
80611}
80612
80613// AsFileServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80614func (sbls SapBWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
80615	return nil, false
80616}
80617
80618// AsHDInsightLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80619func (sbls SapBWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
80620	return nil, false
80621}
80622
80623// AsDynamicsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80624func (sbls SapBWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
80625	return nil, false
80626}
80627
80628// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80629func (sbls SapBWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
80630	return nil, false
80631}
80632
80633// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80634func (sbls SapBWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
80635	return nil, false
80636}
80637
80638// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80639func (sbls SapBWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
80640	return nil, false
80641}
80642
80643// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80644func (sbls SapBWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
80645	return nil, false
80646}
80647
80648// AsSQLServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80649func (sbls SapBWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
80650	return nil, false
80651}
80652
80653// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80654func (sbls SapBWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
80655	return nil, false
80656}
80657
80658// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80659func (sbls SapBWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
80660	return nil, false
80661}
80662
80663// AsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80664func (sbls SapBWLinkedService) AsLinkedService() (*LinkedService, bool) {
80665	return nil, false
80666}
80667
80668// AsBasicLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
80669func (sbls SapBWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
80670	return &sbls, true
80671}
80672
80673// UnmarshalJSON is the custom unmarshaler for SapBWLinkedService struct.
80674func (sbls *SapBWLinkedService) UnmarshalJSON(body []byte) error {
80675	var m map[string]*json.RawMessage
80676	err := json.Unmarshal(body, &m)
80677	if err != nil {
80678		return err
80679	}
80680	for k, v := range m {
80681		switch k {
80682		case "typeProperties":
80683			if v != nil {
80684				var sapBWLinkedServiceTypeProperties SapBWLinkedServiceTypeProperties
80685				err = json.Unmarshal(*v, &sapBWLinkedServiceTypeProperties)
80686				if err != nil {
80687					return err
80688				}
80689				sbls.SapBWLinkedServiceTypeProperties = &sapBWLinkedServiceTypeProperties
80690			}
80691		default:
80692			if v != nil {
80693				var additionalProperties interface{}
80694				err = json.Unmarshal(*v, &additionalProperties)
80695				if err != nil {
80696					return err
80697				}
80698				if sbls.AdditionalProperties == nil {
80699					sbls.AdditionalProperties = make(map[string]interface{})
80700				}
80701				sbls.AdditionalProperties[k] = additionalProperties
80702			}
80703		case "connectVia":
80704			if v != nil {
80705				var connectVia IntegrationRuntimeReference
80706				err = json.Unmarshal(*v, &connectVia)
80707				if err != nil {
80708					return err
80709				}
80710				sbls.ConnectVia = &connectVia
80711			}
80712		case "description":
80713			if v != nil {
80714				var description string
80715				err = json.Unmarshal(*v, &description)
80716				if err != nil {
80717					return err
80718				}
80719				sbls.Description = &description
80720			}
80721		case "parameters":
80722			if v != nil {
80723				var parameters map[string]*ParameterSpecification
80724				err = json.Unmarshal(*v, &parameters)
80725				if err != nil {
80726					return err
80727				}
80728				sbls.Parameters = parameters
80729			}
80730		case "annotations":
80731			if v != nil {
80732				var annotations []interface{}
80733				err = json.Unmarshal(*v, &annotations)
80734				if err != nil {
80735					return err
80736				}
80737				sbls.Annotations = &annotations
80738			}
80739		case "type":
80740			if v != nil {
80741				var typeVar TypeBasicLinkedService
80742				err = json.Unmarshal(*v, &typeVar)
80743				if err != nil {
80744					return err
80745				}
80746				sbls.Type = typeVar
80747			}
80748		}
80749	}
80750
80751	return nil
80752}
80753
80754// SapBWLinkedServiceTypeProperties properties specific to this linked service type.
80755type SapBWLinkedServiceTypeProperties struct {
80756	// Server - Host name of the SAP BW instance. Type: string (or Expression with resultType string).
80757	Server interface{} `json:"server,omitempty"`
80758	// SystemNumber - System number of the BW system. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
80759	SystemNumber interface{} `json:"systemNumber,omitempty"`
80760	// 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).
80761	ClientID interface{} `json:"clientId,omitempty"`
80762	// UserName - Username to access the SAP BW server. Type: string (or Expression with resultType string).
80763	UserName interface{} `json:"userName,omitempty"`
80764	// Password - Password to access the SAP BW server.
80765	Password BasicSecretBase `json:"password,omitempty"`
80766	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
80767	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
80768}
80769
80770// UnmarshalJSON is the custom unmarshaler for SapBWLinkedServiceTypeProperties struct.
80771func (sblstp *SapBWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
80772	var m map[string]*json.RawMessage
80773	err := json.Unmarshal(body, &m)
80774	if err != nil {
80775		return err
80776	}
80777	for k, v := range m {
80778		switch k {
80779		case "server":
80780			if v != nil {
80781				var server interface{}
80782				err = json.Unmarshal(*v, &server)
80783				if err != nil {
80784					return err
80785				}
80786				sblstp.Server = server
80787			}
80788		case "systemNumber":
80789			if v != nil {
80790				var systemNumber interface{}
80791				err = json.Unmarshal(*v, &systemNumber)
80792				if err != nil {
80793					return err
80794				}
80795				sblstp.SystemNumber = systemNumber
80796			}
80797		case "clientId":
80798			if v != nil {
80799				var clientID interface{}
80800				err = json.Unmarshal(*v, &clientID)
80801				if err != nil {
80802					return err
80803				}
80804				sblstp.ClientID = clientID
80805			}
80806		case "userName":
80807			if v != nil {
80808				var userName interface{}
80809				err = json.Unmarshal(*v, &userName)
80810				if err != nil {
80811					return err
80812				}
80813				sblstp.UserName = userName
80814			}
80815		case "password":
80816			if v != nil {
80817				password, err := unmarshalBasicSecretBase(*v)
80818				if err != nil {
80819					return err
80820				}
80821				sblstp.Password = password
80822			}
80823		case "encryptedCredential":
80824			if v != nil {
80825				var encryptedCredential interface{}
80826				err = json.Unmarshal(*v, &encryptedCredential)
80827				if err != nil {
80828					return err
80829				}
80830				sblstp.EncryptedCredential = encryptedCredential
80831			}
80832		}
80833	}
80834
80835	return nil
80836}
80837
80838// SapCloudForCustomerLinkedService linked service for SAP Cloud for Customer.
80839type SapCloudForCustomerLinkedService struct {
80840	// SapCloudForCustomerLinkedServiceTypeProperties - SAP Cloud for Customer linked service properties.
80841	*SapCloudForCustomerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
80842	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
80843	AdditionalProperties map[string]interface{} `json:""`
80844	// ConnectVia - The integration runtime reference.
80845	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
80846	// Description - Linked service description.
80847	Description *string `json:"description,omitempty"`
80848	// Parameters - Parameters for linked service.
80849	Parameters map[string]*ParameterSpecification `json:"parameters"`
80850	// Annotations - List of tags that can be used for describing the Dataset.
80851	Annotations *[]interface{} `json:"annotations,omitempty"`
80852	// 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'
80853	Type TypeBasicLinkedService `json:"type,omitempty"`
80854}
80855
80856// MarshalJSON is the custom marshaler for SapCloudForCustomerLinkedService.
80857func (scfcls SapCloudForCustomerLinkedService) MarshalJSON() ([]byte, error) {
80858	scfcls.Type = TypeSapCloudForCustomer
80859	objectMap := make(map[string]interface{})
80860	if scfcls.SapCloudForCustomerLinkedServiceTypeProperties != nil {
80861		objectMap["typeProperties"] = scfcls.SapCloudForCustomerLinkedServiceTypeProperties
80862	}
80863	if scfcls.ConnectVia != nil {
80864		objectMap["connectVia"] = scfcls.ConnectVia
80865	}
80866	if scfcls.Description != nil {
80867		objectMap["description"] = scfcls.Description
80868	}
80869	if scfcls.Parameters != nil {
80870		objectMap["parameters"] = scfcls.Parameters
80871	}
80872	if scfcls.Annotations != nil {
80873		objectMap["annotations"] = scfcls.Annotations
80874	}
80875	if scfcls.Type != "" {
80876		objectMap["type"] = scfcls.Type
80877	}
80878	for k, v := range scfcls.AdditionalProperties {
80879		objectMap[k] = v
80880	}
80881	return json.Marshal(objectMap)
80882}
80883
80884// AsResponsysLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80885func (scfcls SapCloudForCustomerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
80886	return nil, false
80887}
80888
80889// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80890func (scfcls SapCloudForCustomerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
80891	return nil, false
80892}
80893
80894// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80895func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
80896	return nil, false
80897}
80898
80899// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80900func (scfcls SapCloudForCustomerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
80901	return nil, false
80902}
80903
80904// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80905func (scfcls SapCloudForCustomerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
80906	return nil, false
80907}
80908
80909// AsNetezzaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80910func (scfcls SapCloudForCustomerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
80911	return nil, false
80912}
80913
80914// AsVerticaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80915func (scfcls SapCloudForCustomerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
80916	return nil, false
80917}
80918
80919// AsZohoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80920func (scfcls SapCloudForCustomerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
80921	return nil, false
80922}
80923
80924// AsXeroLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80925func (scfcls SapCloudForCustomerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
80926	return nil, false
80927}
80928
80929// AsSquareLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80930func (scfcls SapCloudForCustomerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
80931	return nil, false
80932}
80933
80934// AsSparkLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80935func (scfcls SapCloudForCustomerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
80936	return nil, false
80937}
80938
80939// AsShopifyLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80940func (scfcls SapCloudForCustomerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
80941	return nil, false
80942}
80943
80944// AsServiceNowLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80945func (scfcls SapCloudForCustomerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
80946	return nil, false
80947}
80948
80949// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80950func (scfcls SapCloudForCustomerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
80951	return nil, false
80952}
80953
80954// AsPrestoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80955func (scfcls SapCloudForCustomerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
80956	return nil, false
80957}
80958
80959// AsPhoenixLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80960func (scfcls SapCloudForCustomerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
80961	return nil, false
80962}
80963
80964// AsPaypalLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80965func (scfcls SapCloudForCustomerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
80966	return nil, false
80967}
80968
80969// AsMarketoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80970func (scfcls SapCloudForCustomerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
80971	return nil, false
80972}
80973
80974// AsMariaDBLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80975func (scfcls SapCloudForCustomerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
80976	return nil, false
80977}
80978
80979// AsMagentoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80980func (scfcls SapCloudForCustomerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
80981	return nil, false
80982}
80983
80984// AsJiraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80985func (scfcls SapCloudForCustomerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
80986	return nil, false
80987}
80988
80989// AsImpalaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80990func (scfcls SapCloudForCustomerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
80991	return nil, false
80992}
80993
80994// AsHubspotLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
80995func (scfcls SapCloudForCustomerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
80996	return nil, false
80997}
80998
80999// AsHiveLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81000func (scfcls SapCloudForCustomerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
81001	return nil, false
81002}
81003
81004// AsHBaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81005func (scfcls SapCloudForCustomerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
81006	return nil, false
81007}
81008
81009// AsGreenplumLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81010func (scfcls SapCloudForCustomerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
81011	return nil, false
81012}
81013
81014// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81015func (scfcls SapCloudForCustomerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
81016	return nil, false
81017}
81018
81019// AsEloquaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81020func (scfcls SapCloudForCustomerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
81021	return nil, false
81022}
81023
81024// AsDrillLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81025func (scfcls SapCloudForCustomerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
81026	return nil, false
81027}
81028
81029// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81030func (scfcls SapCloudForCustomerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
81031	return nil, false
81032}
81033
81034// AsConcurLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81035func (scfcls SapCloudForCustomerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
81036	return nil, false
81037}
81038
81039// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81040func (scfcls SapCloudForCustomerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
81041	return nil, false
81042}
81043
81044// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81045func (scfcls SapCloudForCustomerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
81046	return nil, false
81047}
81048
81049// AsSapHanaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81050func (scfcls SapCloudForCustomerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
81051	return nil, false
81052}
81053
81054// AsSapBWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81055func (scfcls SapCloudForCustomerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
81056	return nil, false
81057}
81058
81059// AsSftpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81060func (scfcls SapCloudForCustomerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
81061	return nil, false
81062}
81063
81064// AsFtpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81065func (scfcls SapCloudForCustomerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
81066	return nil, false
81067}
81068
81069// AsHTTPLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81070func (scfcls SapCloudForCustomerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
81071	return nil, false
81072}
81073
81074// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81075func (scfcls SapCloudForCustomerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
81076	return nil, false
81077}
81078
81079// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81080func (scfcls SapCloudForCustomerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
81081	return nil, false
81082}
81083
81084// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81085func (scfcls SapCloudForCustomerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
81086	return nil, false
81087}
81088
81089// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81090func (scfcls SapCloudForCustomerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
81091	return nil, false
81092}
81093
81094// AsSapEccLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81095func (scfcls SapCloudForCustomerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
81096	return nil, false
81097}
81098
81099// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81100func (scfcls SapCloudForCustomerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
81101	return &scfcls, true
81102}
81103
81104// AsSalesforceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81105func (scfcls SapCloudForCustomerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
81106	return nil, false
81107}
81108
81109// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81110func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
81111	return nil, false
81112}
81113
81114// AsMongoDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81115func (scfcls SapCloudForCustomerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
81116	return nil, false
81117}
81118
81119// AsCassandraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81120func (scfcls SapCloudForCustomerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
81121	return nil, false
81122}
81123
81124// AsWebLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81125func (scfcls SapCloudForCustomerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
81126	return nil, false
81127}
81128
81129// AsODataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81130func (scfcls SapCloudForCustomerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
81131	return nil, false
81132}
81133
81134// AsHdfsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81135func (scfcls SapCloudForCustomerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
81136	return nil, false
81137}
81138
81139// AsOdbcLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81140func (scfcls SapCloudForCustomerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
81141	return nil, false
81142}
81143
81144// AsAzureMLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81145func (scfcls SapCloudForCustomerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
81146	return nil, false
81147}
81148
81149// AsTeradataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81150func (scfcls SapCloudForCustomerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
81151	return nil, false
81152}
81153
81154// AsDb2LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81155func (scfcls SapCloudForCustomerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
81156	return nil, false
81157}
81158
81159// AsSybaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81160func (scfcls SapCloudForCustomerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
81161	return nil, false
81162}
81163
81164// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81165func (scfcls SapCloudForCustomerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
81166	return nil, false
81167}
81168
81169// AsMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81170func (scfcls SapCloudForCustomerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
81171	return nil, false
81172}
81173
81174// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81175func (scfcls SapCloudForCustomerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
81176	return nil, false
81177}
81178
81179// AsOracleLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81180func (scfcls SapCloudForCustomerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
81181	return nil, false
81182}
81183
81184// AsFileServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81185func (scfcls SapCloudForCustomerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
81186	return nil, false
81187}
81188
81189// AsHDInsightLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81190func (scfcls SapCloudForCustomerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
81191	return nil, false
81192}
81193
81194// AsDynamicsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81195func (scfcls SapCloudForCustomerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
81196	return nil, false
81197}
81198
81199// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81200func (scfcls SapCloudForCustomerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
81201	return nil, false
81202}
81203
81204// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81205func (scfcls SapCloudForCustomerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
81206	return nil, false
81207}
81208
81209// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81210func (scfcls SapCloudForCustomerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
81211	return nil, false
81212}
81213
81214// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81215func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
81216	return nil, false
81217}
81218
81219// AsSQLServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81220func (scfcls SapCloudForCustomerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
81221	return nil, false
81222}
81223
81224// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81225func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
81226	return nil, false
81227}
81228
81229// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81230func (scfcls SapCloudForCustomerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
81231	return nil, false
81232}
81233
81234// AsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81235func (scfcls SapCloudForCustomerLinkedService) AsLinkedService() (*LinkedService, bool) {
81236	return nil, false
81237}
81238
81239// AsBasicLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
81240func (scfcls SapCloudForCustomerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
81241	return &scfcls, true
81242}
81243
81244// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedService struct.
81245func (scfcls *SapCloudForCustomerLinkedService) UnmarshalJSON(body []byte) error {
81246	var m map[string]*json.RawMessage
81247	err := json.Unmarshal(body, &m)
81248	if err != nil {
81249		return err
81250	}
81251	for k, v := range m {
81252		switch k {
81253		case "typeProperties":
81254			if v != nil {
81255				var sapCloudForCustomerLinkedServiceTypeProperties SapCloudForCustomerLinkedServiceTypeProperties
81256				err = json.Unmarshal(*v, &sapCloudForCustomerLinkedServiceTypeProperties)
81257				if err != nil {
81258					return err
81259				}
81260				scfcls.SapCloudForCustomerLinkedServiceTypeProperties = &sapCloudForCustomerLinkedServiceTypeProperties
81261			}
81262		default:
81263			if v != nil {
81264				var additionalProperties interface{}
81265				err = json.Unmarshal(*v, &additionalProperties)
81266				if err != nil {
81267					return err
81268				}
81269				if scfcls.AdditionalProperties == nil {
81270					scfcls.AdditionalProperties = make(map[string]interface{})
81271				}
81272				scfcls.AdditionalProperties[k] = additionalProperties
81273			}
81274		case "connectVia":
81275			if v != nil {
81276				var connectVia IntegrationRuntimeReference
81277				err = json.Unmarshal(*v, &connectVia)
81278				if err != nil {
81279					return err
81280				}
81281				scfcls.ConnectVia = &connectVia
81282			}
81283		case "description":
81284			if v != nil {
81285				var description string
81286				err = json.Unmarshal(*v, &description)
81287				if err != nil {
81288					return err
81289				}
81290				scfcls.Description = &description
81291			}
81292		case "parameters":
81293			if v != nil {
81294				var parameters map[string]*ParameterSpecification
81295				err = json.Unmarshal(*v, &parameters)
81296				if err != nil {
81297					return err
81298				}
81299				scfcls.Parameters = parameters
81300			}
81301		case "annotations":
81302			if v != nil {
81303				var annotations []interface{}
81304				err = json.Unmarshal(*v, &annotations)
81305				if err != nil {
81306					return err
81307				}
81308				scfcls.Annotations = &annotations
81309			}
81310		case "type":
81311			if v != nil {
81312				var typeVar TypeBasicLinkedService
81313				err = json.Unmarshal(*v, &typeVar)
81314				if err != nil {
81315					return err
81316				}
81317				scfcls.Type = typeVar
81318			}
81319		}
81320	}
81321
81322	return nil
81323}
81324
81325// SapCloudForCustomerLinkedServiceTypeProperties SAP Cloud for Customer linked service properties.
81326type SapCloudForCustomerLinkedServiceTypeProperties struct {
81327	// 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).
81328	URL interface{} `json:"url,omitempty"`
81329	// Username - The username for Basic authentication. Type: string (or Expression with resultType string).
81330	Username interface{} `json:"username,omitempty"`
81331	// Password - The password for Basic authentication.
81332	Password BasicSecretBase `json:"password,omitempty"`
81333	// 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).
81334	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
81335}
81336
81337// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedServiceTypeProperties struct.
81338func (scfclstp *SapCloudForCustomerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
81339	var m map[string]*json.RawMessage
81340	err := json.Unmarshal(body, &m)
81341	if err != nil {
81342		return err
81343	}
81344	for k, v := range m {
81345		switch k {
81346		case "url":
81347			if v != nil {
81348				var URL interface{}
81349				err = json.Unmarshal(*v, &URL)
81350				if err != nil {
81351					return err
81352				}
81353				scfclstp.URL = URL
81354			}
81355		case "username":
81356			if v != nil {
81357				var username interface{}
81358				err = json.Unmarshal(*v, &username)
81359				if err != nil {
81360					return err
81361				}
81362				scfclstp.Username = username
81363			}
81364		case "password":
81365			if v != nil {
81366				password, err := unmarshalBasicSecretBase(*v)
81367				if err != nil {
81368					return err
81369				}
81370				scfclstp.Password = password
81371			}
81372		case "encryptedCredential":
81373			if v != nil {
81374				var encryptedCredential interface{}
81375				err = json.Unmarshal(*v, &encryptedCredential)
81376				if err != nil {
81377					return err
81378				}
81379				scfclstp.EncryptedCredential = encryptedCredential
81380			}
81381		}
81382	}
81383
81384	return nil
81385}
81386
81387// SapCloudForCustomerResourceDataset the path of the SAP Cloud for Customer OData entity.
81388type SapCloudForCustomerResourceDataset struct {
81389	// SapCloudForCustomerResourceDatasetTypeProperties - SAP Cloud For Customer OData resource dataset properties.
81390	*SapCloudForCustomerResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
81391	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
81392	AdditionalProperties map[string]interface{} `json:""`
81393	// Description - Dataset description.
81394	Description *string `json:"description,omitempty"`
81395	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
81396	Structure interface{} `json:"structure,omitempty"`
81397	// LinkedServiceName - Linked service reference.
81398	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
81399	// Parameters - Parameters for dataset.
81400	Parameters map[string]*ParameterSpecification `json:"parameters"`
81401	// Annotations - List of tags that can be used for describing the Dataset.
81402	Annotations *[]interface{} `json:"annotations,omitempty"`
81403	// 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'
81404	Type TypeBasicDataset `json:"type,omitempty"`
81405}
81406
81407// MarshalJSON is the custom marshaler for SapCloudForCustomerResourceDataset.
81408func (scfcrd SapCloudForCustomerResourceDataset) MarshalJSON() ([]byte, error) {
81409	scfcrd.Type = TypeSapCloudForCustomerResource
81410	objectMap := make(map[string]interface{})
81411	if scfcrd.SapCloudForCustomerResourceDatasetTypeProperties != nil {
81412		objectMap["typeProperties"] = scfcrd.SapCloudForCustomerResourceDatasetTypeProperties
81413	}
81414	if scfcrd.Description != nil {
81415		objectMap["description"] = scfcrd.Description
81416	}
81417	if scfcrd.Structure != nil {
81418		objectMap["structure"] = scfcrd.Structure
81419	}
81420	if scfcrd.LinkedServiceName != nil {
81421		objectMap["linkedServiceName"] = scfcrd.LinkedServiceName
81422	}
81423	if scfcrd.Parameters != nil {
81424		objectMap["parameters"] = scfcrd.Parameters
81425	}
81426	if scfcrd.Annotations != nil {
81427		objectMap["annotations"] = scfcrd.Annotations
81428	}
81429	if scfcrd.Type != "" {
81430		objectMap["type"] = scfcrd.Type
81431	}
81432	for k, v := range scfcrd.AdditionalProperties {
81433		objectMap[k] = v
81434	}
81435	return json.Marshal(objectMap)
81436}
81437
81438// AsResponsysObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81439func (scfcrd SapCloudForCustomerResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
81440	return nil, false
81441}
81442
81443// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81444func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
81445	return nil, false
81446}
81447
81448// AsVerticaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81449func (scfcrd SapCloudForCustomerResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
81450	return nil, false
81451}
81452
81453// AsNetezzaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81454func (scfcrd SapCloudForCustomerResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
81455	return nil, false
81456}
81457
81458// AsZohoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81459func (scfcrd SapCloudForCustomerResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
81460	return nil, false
81461}
81462
81463// AsXeroObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81464func (scfcrd SapCloudForCustomerResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
81465	return nil, false
81466}
81467
81468// AsSquareObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81469func (scfcrd SapCloudForCustomerResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
81470	return nil, false
81471}
81472
81473// AsSparkObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81474func (scfcrd SapCloudForCustomerResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
81475	return nil, false
81476}
81477
81478// AsShopifyObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81479func (scfcrd SapCloudForCustomerResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
81480	return nil, false
81481}
81482
81483// AsServiceNowObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81484func (scfcrd SapCloudForCustomerResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
81485	return nil, false
81486}
81487
81488// AsQuickBooksObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81489func (scfcrd SapCloudForCustomerResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
81490	return nil, false
81491}
81492
81493// AsPrestoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81494func (scfcrd SapCloudForCustomerResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
81495	return nil, false
81496}
81497
81498// AsPhoenixObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81499func (scfcrd SapCloudForCustomerResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
81500	return nil, false
81501}
81502
81503// AsPaypalObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81504func (scfcrd SapCloudForCustomerResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
81505	return nil, false
81506}
81507
81508// AsMarketoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81509func (scfcrd SapCloudForCustomerResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
81510	return nil, false
81511}
81512
81513// AsMariaDBTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81514func (scfcrd SapCloudForCustomerResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
81515	return nil, false
81516}
81517
81518// AsMagentoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81519func (scfcrd SapCloudForCustomerResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
81520	return nil, false
81521}
81522
81523// AsJiraObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81524func (scfcrd SapCloudForCustomerResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
81525	return nil, false
81526}
81527
81528// AsImpalaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81529func (scfcrd SapCloudForCustomerResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
81530	return nil, false
81531}
81532
81533// AsHubspotObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81534func (scfcrd SapCloudForCustomerResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
81535	return nil, false
81536}
81537
81538// AsHiveObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81539func (scfcrd SapCloudForCustomerResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
81540	return nil, false
81541}
81542
81543// AsHBaseObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81544func (scfcrd SapCloudForCustomerResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
81545	return nil, false
81546}
81547
81548// AsGreenplumTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81549func (scfcrd SapCloudForCustomerResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
81550	return nil, false
81551}
81552
81553// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81554func (scfcrd SapCloudForCustomerResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
81555	return nil, false
81556}
81557
81558// AsEloquaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81559func (scfcrd SapCloudForCustomerResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
81560	return nil, false
81561}
81562
81563// AsDrillTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81564func (scfcrd SapCloudForCustomerResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
81565	return nil, false
81566}
81567
81568// AsCouchbaseTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81569func (scfcrd SapCloudForCustomerResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
81570	return nil, false
81571}
81572
81573// AsConcurObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81574func (scfcrd SapCloudForCustomerResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
81575	return nil, false
81576}
81577
81578// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81579func (scfcrd SapCloudForCustomerResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
81580	return nil, false
81581}
81582
81583// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81584func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
81585	return nil, false
81586}
81587
81588// AsHTTPDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81589func (scfcrd SapCloudForCustomerResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
81590	return nil, false
81591}
81592
81593// AsAzureSearchIndexDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81594func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
81595	return nil, false
81596}
81597
81598// AsWebTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81599func (scfcrd SapCloudForCustomerResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
81600	return nil, false
81601}
81602
81603// AsSQLServerTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81604func (scfcrd SapCloudForCustomerResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
81605	return nil, false
81606}
81607
81608// AsSapEccResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81609func (scfcrd SapCloudForCustomerResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
81610	return nil, false
81611}
81612
81613// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81614func (scfcrd SapCloudForCustomerResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
81615	return &scfcrd, true
81616}
81617
81618// AsSalesforceObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81619func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
81620	return nil, false
81621}
81622
81623// AsRelationalTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81624func (scfcrd SapCloudForCustomerResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
81625	return nil, false
81626}
81627
81628// AsAzureMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81629func (scfcrd SapCloudForCustomerResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
81630	return nil, false
81631}
81632
81633// AsOracleTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81634func (scfcrd SapCloudForCustomerResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
81635	return nil, false
81636}
81637
81638// AsODataResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81639func (scfcrd SapCloudForCustomerResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
81640	return nil, false
81641}
81642
81643// AsMongoDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81644func (scfcrd SapCloudForCustomerResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
81645	return nil, false
81646}
81647
81648// AsFileShareDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81649func (scfcrd SapCloudForCustomerResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
81650	return nil, false
81651}
81652
81653// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81654func (scfcrd SapCloudForCustomerResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
81655	return nil, false
81656}
81657
81658// AsDynamicsEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81659func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
81660	return nil, false
81661}
81662
81663// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81664func (scfcrd SapCloudForCustomerResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
81665	return nil, false
81666}
81667
81668// AsCustomDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81669func (scfcrd SapCloudForCustomerResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
81670	return nil, false
81671}
81672
81673// AsCassandraTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81674func (scfcrd SapCloudForCustomerResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
81675	return nil, false
81676}
81677
81678// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81679func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
81680	return nil, false
81681}
81682
81683// AsAzureSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81684func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
81685	return nil, false
81686}
81687
81688// AsAzureTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81689func (scfcrd SapCloudForCustomerResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
81690	return nil, false
81691}
81692
81693// AsAzureBlobDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81694func (scfcrd SapCloudForCustomerResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
81695	return nil, false
81696}
81697
81698// AsAmazonS3Dataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81699func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
81700	return nil, false
81701}
81702
81703// AsDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81704func (scfcrd SapCloudForCustomerResourceDataset) AsDataset() (*Dataset, bool) {
81705	return nil, false
81706}
81707
81708// AsBasicDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
81709func (scfcrd SapCloudForCustomerResourceDataset) AsBasicDataset() (BasicDataset, bool) {
81710	return &scfcrd, true
81711}
81712
81713// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerResourceDataset struct.
81714func (scfcrd *SapCloudForCustomerResourceDataset) UnmarshalJSON(body []byte) error {
81715	var m map[string]*json.RawMessage
81716	err := json.Unmarshal(body, &m)
81717	if err != nil {
81718		return err
81719	}
81720	for k, v := range m {
81721		switch k {
81722		case "typeProperties":
81723			if v != nil {
81724				var sapCloudForCustomerResourceDatasetTypeProperties SapCloudForCustomerResourceDatasetTypeProperties
81725				err = json.Unmarshal(*v, &sapCloudForCustomerResourceDatasetTypeProperties)
81726				if err != nil {
81727					return err
81728				}
81729				scfcrd.SapCloudForCustomerResourceDatasetTypeProperties = &sapCloudForCustomerResourceDatasetTypeProperties
81730			}
81731		default:
81732			if v != nil {
81733				var additionalProperties interface{}
81734				err = json.Unmarshal(*v, &additionalProperties)
81735				if err != nil {
81736					return err
81737				}
81738				if scfcrd.AdditionalProperties == nil {
81739					scfcrd.AdditionalProperties = make(map[string]interface{})
81740				}
81741				scfcrd.AdditionalProperties[k] = additionalProperties
81742			}
81743		case "description":
81744			if v != nil {
81745				var description string
81746				err = json.Unmarshal(*v, &description)
81747				if err != nil {
81748					return err
81749				}
81750				scfcrd.Description = &description
81751			}
81752		case "structure":
81753			if v != nil {
81754				var structure interface{}
81755				err = json.Unmarshal(*v, &structure)
81756				if err != nil {
81757					return err
81758				}
81759				scfcrd.Structure = structure
81760			}
81761		case "linkedServiceName":
81762			if v != nil {
81763				var linkedServiceName LinkedServiceReference
81764				err = json.Unmarshal(*v, &linkedServiceName)
81765				if err != nil {
81766					return err
81767				}
81768				scfcrd.LinkedServiceName = &linkedServiceName
81769			}
81770		case "parameters":
81771			if v != nil {
81772				var parameters map[string]*ParameterSpecification
81773				err = json.Unmarshal(*v, &parameters)
81774				if err != nil {
81775					return err
81776				}
81777				scfcrd.Parameters = parameters
81778			}
81779		case "annotations":
81780			if v != nil {
81781				var annotations []interface{}
81782				err = json.Unmarshal(*v, &annotations)
81783				if err != nil {
81784					return err
81785				}
81786				scfcrd.Annotations = &annotations
81787			}
81788		case "type":
81789			if v != nil {
81790				var typeVar TypeBasicDataset
81791				err = json.Unmarshal(*v, &typeVar)
81792				if err != nil {
81793					return err
81794				}
81795				scfcrd.Type = typeVar
81796			}
81797		}
81798	}
81799
81800	return nil
81801}
81802
81803// SapCloudForCustomerResourceDatasetTypeProperties sap Cloud For Customer OData resource dataset
81804// properties.
81805type SapCloudForCustomerResourceDatasetTypeProperties struct {
81806	// Path - The path of the SAP Cloud for Customer OData entity. Type: string (or Expression with resultType string).
81807	Path interface{} `json:"path,omitempty"`
81808}
81809
81810// SapCloudForCustomerSink a copy activity SAP Cloud for Customer sink.
81811type SapCloudForCustomerSink struct {
81812	// WriteBehavior - The write behavior for the operation. Default is 'Insert'.
81813	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
81814	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
81815	AdditionalProperties map[string]interface{} `json:""`
81816	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
81817	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
81818	// 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])).
81819	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
81820	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
81821	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
81822	// 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])).
81823	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
81824	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
81825	Type TypeBasicCopySink `json:"type,omitempty"`
81826}
81827
81828// MarshalJSON is the custom marshaler for SapCloudForCustomerSink.
81829func (scfcs SapCloudForCustomerSink) MarshalJSON() ([]byte, error) {
81830	scfcs.Type = TypeSapCloudForCustomerSink
81831	objectMap := make(map[string]interface{})
81832	if scfcs.WriteBehavior != nil {
81833		objectMap["writeBehavior"] = scfcs.WriteBehavior
81834	}
81835	if scfcs.WriteBatchSize != nil {
81836		objectMap["writeBatchSize"] = scfcs.WriteBatchSize
81837	}
81838	if scfcs.WriteBatchTimeout != nil {
81839		objectMap["writeBatchTimeout"] = scfcs.WriteBatchTimeout
81840	}
81841	if scfcs.SinkRetryCount != nil {
81842		objectMap["sinkRetryCount"] = scfcs.SinkRetryCount
81843	}
81844	if scfcs.SinkRetryWait != nil {
81845		objectMap["sinkRetryWait"] = scfcs.SinkRetryWait
81846	}
81847	if scfcs.Type != "" {
81848		objectMap["type"] = scfcs.Type
81849	}
81850	for k, v := range scfcs.AdditionalProperties {
81851		objectMap[k] = v
81852	}
81853	return json.Marshal(objectMap)
81854}
81855
81856// AsSalesforceSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81857func (scfcs SapCloudForCustomerSink) AsSalesforceSink() (*SalesforceSink, bool) {
81858	return nil, false
81859}
81860
81861// AsDynamicsSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81862func (scfcs SapCloudForCustomerSink) AsDynamicsSink() (*DynamicsSink, bool) {
81863	return nil, false
81864}
81865
81866// AsOdbcSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81867func (scfcs SapCloudForCustomerSink) AsOdbcSink() (*OdbcSink, bool) {
81868	return nil, false
81869}
81870
81871// AsAzureSearchIndexSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81872func (scfcs SapCloudForCustomerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
81873	return nil, false
81874}
81875
81876// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81877func (scfcs SapCloudForCustomerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
81878	return nil, false
81879}
81880
81881// AsOracleSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81882func (scfcs SapCloudForCustomerSink) AsOracleSink() (*OracleSink, bool) {
81883	return nil, false
81884}
81885
81886// AsSQLDWSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81887func (scfcs SapCloudForCustomerSink) AsSQLDWSink() (*SQLDWSink, bool) {
81888	return nil, false
81889}
81890
81891// AsSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81892func (scfcs SapCloudForCustomerSink) AsSQLSink() (*SQLSink, bool) {
81893	return nil, false
81894}
81895
81896// AsDocumentDbCollectionSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81897func (scfcs SapCloudForCustomerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
81898	return nil, false
81899}
81900
81901// AsFileSystemSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81902func (scfcs SapCloudForCustomerSink) AsFileSystemSink() (*FileSystemSink, bool) {
81903	return nil, false
81904}
81905
81906// AsBlobSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81907func (scfcs SapCloudForCustomerSink) AsBlobSink() (*BlobSink, bool) {
81908	return nil, false
81909}
81910
81911// AsAzureTableSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81912func (scfcs SapCloudForCustomerSink) AsAzureTableSink() (*AzureTableSink, bool) {
81913	return nil, false
81914}
81915
81916// AsAzureQueueSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81917func (scfcs SapCloudForCustomerSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
81918	return nil, false
81919}
81920
81921// AsSapCloudForCustomerSink is the BasicCopySink implementation for SapCloudForCustomerSink.
81922func (scfcs SapCloudForCustomerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
81923	return &scfcs, true
81924}
81925
81926// AsCopySink is the BasicCopySink implementation for SapCloudForCustomerSink.
81927func (scfcs SapCloudForCustomerSink) AsCopySink() (*CopySink, bool) {
81928	return nil, false
81929}
81930
81931// AsBasicCopySink is the BasicCopySink implementation for SapCloudForCustomerSink.
81932func (scfcs SapCloudForCustomerSink) AsBasicCopySink() (BasicCopySink, bool) {
81933	return &scfcs, true
81934}
81935
81936// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSink struct.
81937func (scfcs *SapCloudForCustomerSink) UnmarshalJSON(body []byte) error {
81938	var m map[string]*json.RawMessage
81939	err := json.Unmarshal(body, &m)
81940	if err != nil {
81941		return err
81942	}
81943	for k, v := range m {
81944		switch k {
81945		case "writeBehavior":
81946			if v != nil {
81947				var writeBehavior interface{}
81948				err = json.Unmarshal(*v, &writeBehavior)
81949				if err != nil {
81950					return err
81951				}
81952				scfcs.WriteBehavior = writeBehavior
81953			}
81954		default:
81955			if v != nil {
81956				var additionalProperties interface{}
81957				err = json.Unmarshal(*v, &additionalProperties)
81958				if err != nil {
81959					return err
81960				}
81961				if scfcs.AdditionalProperties == nil {
81962					scfcs.AdditionalProperties = make(map[string]interface{})
81963				}
81964				scfcs.AdditionalProperties[k] = additionalProperties
81965			}
81966		case "writeBatchSize":
81967			if v != nil {
81968				var writeBatchSize interface{}
81969				err = json.Unmarshal(*v, &writeBatchSize)
81970				if err != nil {
81971					return err
81972				}
81973				scfcs.WriteBatchSize = writeBatchSize
81974			}
81975		case "writeBatchTimeout":
81976			if v != nil {
81977				var writeBatchTimeout interface{}
81978				err = json.Unmarshal(*v, &writeBatchTimeout)
81979				if err != nil {
81980					return err
81981				}
81982				scfcs.WriteBatchTimeout = writeBatchTimeout
81983			}
81984		case "sinkRetryCount":
81985			if v != nil {
81986				var sinkRetryCount interface{}
81987				err = json.Unmarshal(*v, &sinkRetryCount)
81988				if err != nil {
81989					return err
81990				}
81991				scfcs.SinkRetryCount = sinkRetryCount
81992			}
81993		case "sinkRetryWait":
81994			if v != nil {
81995				var sinkRetryWait interface{}
81996				err = json.Unmarshal(*v, &sinkRetryWait)
81997				if err != nil {
81998					return err
81999				}
82000				scfcs.SinkRetryWait = sinkRetryWait
82001			}
82002		case "type":
82003			if v != nil {
82004				var typeVar TypeBasicCopySink
82005				err = json.Unmarshal(*v, &typeVar)
82006				if err != nil {
82007					return err
82008				}
82009				scfcs.Type = typeVar
82010			}
82011		}
82012	}
82013
82014	return nil
82015}
82016
82017// SapCloudForCustomerSource a copy activity source for SAP Cloud for Customer source.
82018type SapCloudForCustomerSource struct {
82019	// Query - SAP Cloud for Customer OData query. For example, "$top=1". Type: string (or Expression with resultType string).
82020	Query interface{} `json:"query,omitempty"`
82021	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
82022	AdditionalProperties map[string]interface{} `json:""`
82023	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
82024	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
82025	// 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])).
82026	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
82027	// 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'
82028	Type TypeBasicCopySource `json:"type,omitempty"`
82029}
82030
82031// MarshalJSON is the custom marshaler for SapCloudForCustomerSource.
82032func (scfcs SapCloudForCustomerSource) MarshalJSON() ([]byte, error) {
82033	scfcs.Type = TypeSapCloudForCustomerSource
82034	objectMap := make(map[string]interface{})
82035	if scfcs.Query != nil {
82036		objectMap["query"] = scfcs.Query
82037	}
82038	if scfcs.SourceRetryCount != nil {
82039		objectMap["sourceRetryCount"] = scfcs.SourceRetryCount
82040	}
82041	if scfcs.SourceRetryWait != nil {
82042		objectMap["sourceRetryWait"] = scfcs.SourceRetryWait
82043	}
82044	if scfcs.Type != "" {
82045		objectMap["type"] = scfcs.Type
82046	}
82047	for k, v := range scfcs.AdditionalProperties {
82048		objectMap[k] = v
82049	}
82050	return json.Marshal(objectMap)
82051}
82052
82053// AsAmazonRedshiftSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82054func (scfcs SapCloudForCustomerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
82055	return nil, false
82056}
82057
82058// AsResponsysSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82059func (scfcs SapCloudForCustomerSource) AsResponsysSource() (*ResponsysSource, bool) {
82060	return nil, false
82061}
82062
82063// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82064func (scfcs SapCloudForCustomerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
82065	return nil, false
82066}
82067
82068// AsVerticaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82069func (scfcs SapCloudForCustomerSource) AsVerticaSource() (*VerticaSource, bool) {
82070	return nil, false
82071}
82072
82073// AsNetezzaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82074func (scfcs SapCloudForCustomerSource) AsNetezzaSource() (*NetezzaSource, bool) {
82075	return nil, false
82076}
82077
82078// AsZohoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82079func (scfcs SapCloudForCustomerSource) AsZohoSource() (*ZohoSource, bool) {
82080	return nil, false
82081}
82082
82083// AsXeroSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82084func (scfcs SapCloudForCustomerSource) AsXeroSource() (*XeroSource, bool) {
82085	return nil, false
82086}
82087
82088// AsSquareSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82089func (scfcs SapCloudForCustomerSource) AsSquareSource() (*SquareSource, bool) {
82090	return nil, false
82091}
82092
82093// AsSparkSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82094func (scfcs SapCloudForCustomerSource) AsSparkSource() (*SparkSource, bool) {
82095	return nil, false
82096}
82097
82098// AsShopifySource is the BasicCopySource implementation for SapCloudForCustomerSource.
82099func (scfcs SapCloudForCustomerSource) AsShopifySource() (*ShopifySource, bool) {
82100	return nil, false
82101}
82102
82103// AsServiceNowSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82104func (scfcs SapCloudForCustomerSource) AsServiceNowSource() (*ServiceNowSource, bool) {
82105	return nil, false
82106}
82107
82108// AsQuickBooksSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82109func (scfcs SapCloudForCustomerSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
82110	return nil, false
82111}
82112
82113// AsPrestoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82114func (scfcs SapCloudForCustomerSource) AsPrestoSource() (*PrestoSource, bool) {
82115	return nil, false
82116}
82117
82118// AsPhoenixSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82119func (scfcs SapCloudForCustomerSource) AsPhoenixSource() (*PhoenixSource, bool) {
82120	return nil, false
82121}
82122
82123// AsPaypalSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82124func (scfcs SapCloudForCustomerSource) AsPaypalSource() (*PaypalSource, bool) {
82125	return nil, false
82126}
82127
82128// AsMarketoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82129func (scfcs SapCloudForCustomerSource) AsMarketoSource() (*MarketoSource, bool) {
82130	return nil, false
82131}
82132
82133// AsMariaDBSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82134func (scfcs SapCloudForCustomerSource) AsMariaDBSource() (*MariaDBSource, bool) {
82135	return nil, false
82136}
82137
82138// AsMagentoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82139func (scfcs SapCloudForCustomerSource) AsMagentoSource() (*MagentoSource, bool) {
82140	return nil, false
82141}
82142
82143// AsJiraSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82144func (scfcs SapCloudForCustomerSource) AsJiraSource() (*JiraSource, bool) {
82145	return nil, false
82146}
82147
82148// AsImpalaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82149func (scfcs SapCloudForCustomerSource) AsImpalaSource() (*ImpalaSource, bool) {
82150	return nil, false
82151}
82152
82153// AsHubspotSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82154func (scfcs SapCloudForCustomerSource) AsHubspotSource() (*HubspotSource, bool) {
82155	return nil, false
82156}
82157
82158// AsHiveSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82159func (scfcs SapCloudForCustomerSource) AsHiveSource() (*HiveSource, bool) {
82160	return nil, false
82161}
82162
82163// AsHBaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82164func (scfcs SapCloudForCustomerSource) AsHBaseSource() (*HBaseSource, bool) {
82165	return nil, false
82166}
82167
82168// AsGreenplumSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82169func (scfcs SapCloudForCustomerSource) AsGreenplumSource() (*GreenplumSource, bool) {
82170	return nil, false
82171}
82172
82173// AsGoogleBigQuerySource is the BasicCopySource implementation for SapCloudForCustomerSource.
82174func (scfcs SapCloudForCustomerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
82175	return nil, false
82176}
82177
82178// AsEloquaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82179func (scfcs SapCloudForCustomerSource) AsEloquaSource() (*EloquaSource, bool) {
82180	return nil, false
82181}
82182
82183// AsDrillSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82184func (scfcs SapCloudForCustomerSource) AsDrillSource() (*DrillSource, bool) {
82185	return nil, false
82186}
82187
82188// AsCouchbaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82189func (scfcs SapCloudForCustomerSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
82190	return nil, false
82191}
82192
82193// AsConcurSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82194func (scfcs SapCloudForCustomerSource) AsConcurSource() (*ConcurSource, bool) {
82195	return nil, false
82196}
82197
82198// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82199func (scfcs SapCloudForCustomerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
82200	return nil, false
82201}
82202
82203// AsAmazonMWSSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82204func (scfcs SapCloudForCustomerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
82205	return nil, false
82206}
82207
82208// AsHTTPSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82209func (scfcs SapCloudForCustomerSource) AsHTTPSource() (*HTTPSource, bool) {
82210	return nil, false
82211}
82212
82213// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82214func (scfcs SapCloudForCustomerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
82215	return nil, false
82216}
82217
82218// AsMongoDbSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82219func (scfcs SapCloudForCustomerSource) AsMongoDbSource() (*MongoDbSource, bool) {
82220	return nil, false
82221}
82222
82223// AsCassandraSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82224func (scfcs SapCloudForCustomerSource) AsCassandraSource() (*CassandraSource, bool) {
82225	return nil, false
82226}
82227
82228// AsWebSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82229func (scfcs SapCloudForCustomerSource) AsWebSource() (*WebSource, bool) {
82230	return nil, false
82231}
82232
82233// AsOracleSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82234func (scfcs SapCloudForCustomerSource) AsOracleSource() (*OracleSource, bool) {
82235	return nil, false
82236}
82237
82238// AsAzureMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82239func (scfcs SapCloudForCustomerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
82240	return nil, false
82241}
82242
82243// AsHdfsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82244func (scfcs SapCloudForCustomerSource) AsHdfsSource() (*HdfsSource, bool) {
82245	return nil, false
82246}
82247
82248// AsFileSystemSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82249func (scfcs SapCloudForCustomerSource) AsFileSystemSource() (*FileSystemSource, bool) {
82250	return nil, false
82251}
82252
82253// AsSQLDWSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82254func (scfcs SapCloudForCustomerSource) AsSQLDWSource() (*SQLDWSource, bool) {
82255	return nil, false
82256}
82257
82258// AsSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82259func (scfcs SapCloudForCustomerSource) AsSQLSource() (*SQLSource, bool) {
82260	return nil, false
82261}
82262
82263// AsSapEccSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82264func (scfcs SapCloudForCustomerSource) AsSapEccSource() (*SapEccSource, bool) {
82265	return nil, false
82266}
82267
82268// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82269func (scfcs SapCloudForCustomerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
82270	return &scfcs, true
82271}
82272
82273// AsSalesforceSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82274func (scfcs SapCloudForCustomerSource) AsSalesforceSource() (*SalesforceSource, bool) {
82275	return nil, false
82276}
82277
82278// AsRelationalSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82279func (scfcs SapCloudForCustomerSource) AsRelationalSource() (*RelationalSource, bool) {
82280	return nil, false
82281}
82282
82283// AsDynamicsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82284func (scfcs SapCloudForCustomerSource) AsDynamicsSource() (*DynamicsSource, bool) {
82285	return nil, false
82286}
82287
82288// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82289func (scfcs SapCloudForCustomerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
82290	return nil, false
82291}
82292
82293// AsBlobSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82294func (scfcs SapCloudForCustomerSource) AsBlobSource() (*BlobSource, bool) {
82295	return nil, false
82296}
82297
82298// AsAzureTableSource is the BasicCopySource implementation for SapCloudForCustomerSource.
82299func (scfcs SapCloudForCustomerSource) AsAzureTableSource() (*AzureTableSource, bool) {
82300	return nil, false
82301}
82302
82303// AsCopySource is the BasicCopySource implementation for SapCloudForCustomerSource.
82304func (scfcs SapCloudForCustomerSource) AsCopySource() (*CopySource, bool) {
82305	return nil, false
82306}
82307
82308// AsBasicCopySource is the BasicCopySource implementation for SapCloudForCustomerSource.
82309func (scfcs SapCloudForCustomerSource) AsBasicCopySource() (BasicCopySource, bool) {
82310	return &scfcs, true
82311}
82312
82313// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSource struct.
82314func (scfcs *SapCloudForCustomerSource) UnmarshalJSON(body []byte) error {
82315	var m map[string]*json.RawMessage
82316	err := json.Unmarshal(body, &m)
82317	if err != nil {
82318		return err
82319	}
82320	for k, v := range m {
82321		switch k {
82322		case "query":
82323			if v != nil {
82324				var query interface{}
82325				err = json.Unmarshal(*v, &query)
82326				if err != nil {
82327					return err
82328				}
82329				scfcs.Query = query
82330			}
82331		default:
82332			if v != nil {
82333				var additionalProperties interface{}
82334				err = json.Unmarshal(*v, &additionalProperties)
82335				if err != nil {
82336					return err
82337				}
82338				if scfcs.AdditionalProperties == nil {
82339					scfcs.AdditionalProperties = make(map[string]interface{})
82340				}
82341				scfcs.AdditionalProperties[k] = additionalProperties
82342			}
82343		case "sourceRetryCount":
82344			if v != nil {
82345				var sourceRetryCount interface{}
82346				err = json.Unmarshal(*v, &sourceRetryCount)
82347				if err != nil {
82348					return err
82349				}
82350				scfcs.SourceRetryCount = sourceRetryCount
82351			}
82352		case "sourceRetryWait":
82353			if v != nil {
82354				var sourceRetryWait interface{}
82355				err = json.Unmarshal(*v, &sourceRetryWait)
82356				if err != nil {
82357					return err
82358				}
82359				scfcs.SourceRetryWait = sourceRetryWait
82360			}
82361		case "type":
82362			if v != nil {
82363				var typeVar TypeBasicCopySource
82364				err = json.Unmarshal(*v, &typeVar)
82365				if err != nil {
82366					return err
82367				}
82368				scfcs.Type = typeVar
82369			}
82370		}
82371	}
82372
82373	return nil
82374}
82375
82376// SapEccLinkedService linked service for SAP ERP Central Component(SAP ECC).
82377type SapEccLinkedService struct {
82378	// SapEccLinkedServiceTypeProperties - SAP ECC linked service properties.
82379	*SapEccLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
82380	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
82381	AdditionalProperties map[string]interface{} `json:""`
82382	// ConnectVia - The integration runtime reference.
82383	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
82384	// Description - Linked service description.
82385	Description *string `json:"description,omitempty"`
82386	// Parameters - Parameters for linked service.
82387	Parameters map[string]*ParameterSpecification `json:"parameters"`
82388	// Annotations - List of tags that can be used for describing the Dataset.
82389	Annotations *[]interface{} `json:"annotations,omitempty"`
82390	// 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'
82391	Type TypeBasicLinkedService `json:"type,omitempty"`
82392}
82393
82394// MarshalJSON is the custom marshaler for SapEccLinkedService.
82395func (sels SapEccLinkedService) MarshalJSON() ([]byte, error) {
82396	sels.Type = TypeSapEcc
82397	objectMap := make(map[string]interface{})
82398	if sels.SapEccLinkedServiceTypeProperties != nil {
82399		objectMap["typeProperties"] = sels.SapEccLinkedServiceTypeProperties
82400	}
82401	if sels.ConnectVia != nil {
82402		objectMap["connectVia"] = sels.ConnectVia
82403	}
82404	if sels.Description != nil {
82405		objectMap["description"] = sels.Description
82406	}
82407	if sels.Parameters != nil {
82408		objectMap["parameters"] = sels.Parameters
82409	}
82410	if sels.Annotations != nil {
82411		objectMap["annotations"] = sels.Annotations
82412	}
82413	if sels.Type != "" {
82414		objectMap["type"] = sels.Type
82415	}
82416	for k, v := range sels.AdditionalProperties {
82417		objectMap[k] = v
82418	}
82419	return json.Marshal(objectMap)
82420}
82421
82422// AsResponsysLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82423func (sels SapEccLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
82424	return nil, false
82425}
82426
82427// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82428func (sels SapEccLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
82429	return nil, false
82430}
82431
82432// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82433func (sels SapEccLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
82434	return nil, false
82435}
82436
82437// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82438func (sels SapEccLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
82439	return nil, false
82440}
82441
82442// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82443func (sels SapEccLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
82444	return nil, false
82445}
82446
82447// AsNetezzaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82448func (sels SapEccLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
82449	return nil, false
82450}
82451
82452// AsVerticaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82453func (sels SapEccLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
82454	return nil, false
82455}
82456
82457// AsZohoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82458func (sels SapEccLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
82459	return nil, false
82460}
82461
82462// AsXeroLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82463func (sels SapEccLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
82464	return nil, false
82465}
82466
82467// AsSquareLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82468func (sels SapEccLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
82469	return nil, false
82470}
82471
82472// AsSparkLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82473func (sels SapEccLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
82474	return nil, false
82475}
82476
82477// AsShopifyLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82478func (sels SapEccLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
82479	return nil, false
82480}
82481
82482// AsServiceNowLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82483func (sels SapEccLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
82484	return nil, false
82485}
82486
82487// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82488func (sels SapEccLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
82489	return nil, false
82490}
82491
82492// AsPrestoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82493func (sels SapEccLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
82494	return nil, false
82495}
82496
82497// AsPhoenixLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82498func (sels SapEccLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
82499	return nil, false
82500}
82501
82502// AsPaypalLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82503func (sels SapEccLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
82504	return nil, false
82505}
82506
82507// AsMarketoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82508func (sels SapEccLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
82509	return nil, false
82510}
82511
82512// AsMariaDBLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82513func (sels SapEccLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
82514	return nil, false
82515}
82516
82517// AsMagentoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82518func (sels SapEccLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
82519	return nil, false
82520}
82521
82522// AsJiraLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82523func (sels SapEccLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
82524	return nil, false
82525}
82526
82527// AsImpalaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82528func (sels SapEccLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
82529	return nil, false
82530}
82531
82532// AsHubspotLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82533func (sels SapEccLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
82534	return nil, false
82535}
82536
82537// AsHiveLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82538func (sels SapEccLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
82539	return nil, false
82540}
82541
82542// AsHBaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82543func (sels SapEccLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
82544	return nil, false
82545}
82546
82547// AsGreenplumLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82548func (sels SapEccLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
82549	return nil, false
82550}
82551
82552// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82553func (sels SapEccLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
82554	return nil, false
82555}
82556
82557// AsEloquaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82558func (sels SapEccLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
82559	return nil, false
82560}
82561
82562// AsDrillLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82563func (sels SapEccLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
82564	return nil, false
82565}
82566
82567// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82568func (sels SapEccLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
82569	return nil, false
82570}
82571
82572// AsConcurLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82573func (sels SapEccLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
82574	return nil, false
82575}
82576
82577// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82578func (sels SapEccLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
82579	return nil, false
82580}
82581
82582// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82583func (sels SapEccLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
82584	return nil, false
82585}
82586
82587// AsSapHanaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82588func (sels SapEccLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
82589	return nil, false
82590}
82591
82592// AsSapBWLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82593func (sels SapEccLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
82594	return nil, false
82595}
82596
82597// AsSftpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82598func (sels SapEccLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
82599	return nil, false
82600}
82601
82602// AsFtpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82603func (sels SapEccLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
82604	return nil, false
82605}
82606
82607// AsHTTPLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82608func (sels SapEccLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
82609	return nil, false
82610}
82611
82612// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82613func (sels SapEccLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
82614	return nil, false
82615}
82616
82617// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82618func (sels SapEccLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
82619	return nil, false
82620}
82621
82622// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82623func (sels SapEccLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
82624	return nil, false
82625}
82626
82627// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82628func (sels SapEccLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
82629	return nil, false
82630}
82631
82632// AsSapEccLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82633func (sels SapEccLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
82634	return &sels, true
82635}
82636
82637// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82638func (sels SapEccLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
82639	return nil, false
82640}
82641
82642// AsSalesforceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82643func (sels SapEccLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
82644	return nil, false
82645}
82646
82647// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82648func (sels SapEccLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
82649	return nil, false
82650}
82651
82652// AsMongoDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82653func (sels SapEccLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
82654	return nil, false
82655}
82656
82657// AsCassandraLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82658func (sels SapEccLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
82659	return nil, false
82660}
82661
82662// AsWebLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82663func (sels SapEccLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
82664	return nil, false
82665}
82666
82667// AsODataLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82668func (sels SapEccLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
82669	return nil, false
82670}
82671
82672// AsHdfsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82673func (sels SapEccLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
82674	return nil, false
82675}
82676
82677// AsOdbcLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82678func (sels SapEccLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
82679	return nil, false
82680}
82681
82682// AsAzureMLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82683func (sels SapEccLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
82684	return nil, false
82685}
82686
82687// AsTeradataLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82688func (sels SapEccLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
82689	return nil, false
82690}
82691
82692// AsDb2LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82693func (sels SapEccLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
82694	return nil, false
82695}
82696
82697// AsSybaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82698func (sels SapEccLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
82699	return nil, false
82700}
82701
82702// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82703func (sels SapEccLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
82704	return nil, false
82705}
82706
82707// AsMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82708func (sels SapEccLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
82709	return nil, false
82710}
82711
82712// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82713func (sels SapEccLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
82714	return nil, false
82715}
82716
82717// AsOracleLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82718func (sels SapEccLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
82719	return nil, false
82720}
82721
82722// AsFileServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82723func (sels SapEccLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
82724	return nil, false
82725}
82726
82727// AsHDInsightLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82728func (sels SapEccLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
82729	return nil, false
82730}
82731
82732// AsDynamicsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82733func (sels SapEccLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
82734	return nil, false
82735}
82736
82737// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82738func (sels SapEccLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
82739	return nil, false
82740}
82741
82742// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82743func (sels SapEccLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
82744	return nil, false
82745}
82746
82747// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82748func (sels SapEccLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
82749	return nil, false
82750}
82751
82752// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82753func (sels SapEccLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
82754	return nil, false
82755}
82756
82757// AsSQLServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82758func (sels SapEccLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
82759	return nil, false
82760}
82761
82762// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82763func (sels SapEccLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
82764	return nil, false
82765}
82766
82767// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82768func (sels SapEccLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
82769	return nil, false
82770}
82771
82772// AsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82773func (sels SapEccLinkedService) AsLinkedService() (*LinkedService, bool) {
82774	return nil, false
82775}
82776
82777// AsBasicLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
82778func (sels SapEccLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
82779	return &sels, true
82780}
82781
82782// UnmarshalJSON is the custom unmarshaler for SapEccLinkedService struct.
82783func (sels *SapEccLinkedService) UnmarshalJSON(body []byte) error {
82784	var m map[string]*json.RawMessage
82785	err := json.Unmarshal(body, &m)
82786	if err != nil {
82787		return err
82788	}
82789	for k, v := range m {
82790		switch k {
82791		case "typeProperties":
82792			if v != nil {
82793				var sapEccLinkedServiceTypeProperties SapEccLinkedServiceTypeProperties
82794				err = json.Unmarshal(*v, &sapEccLinkedServiceTypeProperties)
82795				if err != nil {
82796					return err
82797				}
82798				sels.SapEccLinkedServiceTypeProperties = &sapEccLinkedServiceTypeProperties
82799			}
82800		default:
82801			if v != nil {
82802				var additionalProperties interface{}
82803				err = json.Unmarshal(*v, &additionalProperties)
82804				if err != nil {
82805					return err
82806				}
82807				if sels.AdditionalProperties == nil {
82808					sels.AdditionalProperties = make(map[string]interface{})
82809				}
82810				sels.AdditionalProperties[k] = additionalProperties
82811			}
82812		case "connectVia":
82813			if v != nil {
82814				var connectVia IntegrationRuntimeReference
82815				err = json.Unmarshal(*v, &connectVia)
82816				if err != nil {
82817					return err
82818				}
82819				sels.ConnectVia = &connectVia
82820			}
82821		case "description":
82822			if v != nil {
82823				var description string
82824				err = json.Unmarshal(*v, &description)
82825				if err != nil {
82826					return err
82827				}
82828				sels.Description = &description
82829			}
82830		case "parameters":
82831			if v != nil {
82832				var parameters map[string]*ParameterSpecification
82833				err = json.Unmarshal(*v, &parameters)
82834				if err != nil {
82835					return err
82836				}
82837				sels.Parameters = parameters
82838			}
82839		case "annotations":
82840			if v != nil {
82841				var annotations []interface{}
82842				err = json.Unmarshal(*v, &annotations)
82843				if err != nil {
82844					return err
82845				}
82846				sels.Annotations = &annotations
82847			}
82848		case "type":
82849			if v != nil {
82850				var typeVar TypeBasicLinkedService
82851				err = json.Unmarshal(*v, &typeVar)
82852				if err != nil {
82853					return err
82854				}
82855				sels.Type = typeVar
82856			}
82857		}
82858	}
82859
82860	return nil
82861}
82862
82863// SapEccLinkedServiceTypeProperties SAP ECC linked service properties.
82864type SapEccLinkedServiceTypeProperties struct {
82865	// 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).
82866	URL *string `json:"url,omitempty"`
82867	// Username - The username for Basic authentication. Type: string (or Expression with resultType string).
82868	Username *string `json:"username,omitempty"`
82869	// Password - The password for Basic authentication.
82870	Password BasicSecretBase `json:"password,omitempty"`
82871	// 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).
82872	EncryptedCredential *string `json:"encryptedCredential,omitempty"`
82873}
82874
82875// UnmarshalJSON is the custom unmarshaler for SapEccLinkedServiceTypeProperties struct.
82876func (selstp *SapEccLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
82877	var m map[string]*json.RawMessage
82878	err := json.Unmarshal(body, &m)
82879	if err != nil {
82880		return err
82881	}
82882	for k, v := range m {
82883		switch k {
82884		case "url":
82885			if v != nil {
82886				var URL string
82887				err = json.Unmarshal(*v, &URL)
82888				if err != nil {
82889					return err
82890				}
82891				selstp.URL = &URL
82892			}
82893		case "username":
82894			if v != nil {
82895				var username string
82896				err = json.Unmarshal(*v, &username)
82897				if err != nil {
82898					return err
82899				}
82900				selstp.Username = &username
82901			}
82902		case "password":
82903			if v != nil {
82904				password, err := unmarshalBasicSecretBase(*v)
82905				if err != nil {
82906					return err
82907				}
82908				selstp.Password = password
82909			}
82910		case "encryptedCredential":
82911			if v != nil {
82912				var encryptedCredential string
82913				err = json.Unmarshal(*v, &encryptedCredential)
82914				if err != nil {
82915					return err
82916				}
82917				selstp.EncryptedCredential = &encryptedCredential
82918			}
82919		}
82920	}
82921
82922	return nil
82923}
82924
82925// SapEccResourceDataset the path of the SAP ECC OData entity.
82926type SapEccResourceDataset struct {
82927	// SapEccResourceDatasetTypeProperties - SAP ECC OData resource dataset properties.
82928	*SapEccResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
82929	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
82930	AdditionalProperties map[string]interface{} `json:""`
82931	// Description - Dataset description.
82932	Description *string `json:"description,omitempty"`
82933	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
82934	Structure interface{} `json:"structure,omitempty"`
82935	// LinkedServiceName - Linked service reference.
82936	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
82937	// Parameters - Parameters for dataset.
82938	Parameters map[string]*ParameterSpecification `json:"parameters"`
82939	// Annotations - List of tags that can be used for describing the Dataset.
82940	Annotations *[]interface{} `json:"annotations,omitempty"`
82941	// 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'
82942	Type TypeBasicDataset `json:"type,omitempty"`
82943}
82944
82945// MarshalJSON is the custom marshaler for SapEccResourceDataset.
82946func (serd SapEccResourceDataset) MarshalJSON() ([]byte, error) {
82947	serd.Type = TypeSapEccResource
82948	objectMap := make(map[string]interface{})
82949	if serd.SapEccResourceDatasetTypeProperties != nil {
82950		objectMap["typeProperties"] = serd.SapEccResourceDatasetTypeProperties
82951	}
82952	if serd.Description != nil {
82953		objectMap["description"] = serd.Description
82954	}
82955	if serd.Structure != nil {
82956		objectMap["structure"] = serd.Structure
82957	}
82958	if serd.LinkedServiceName != nil {
82959		objectMap["linkedServiceName"] = serd.LinkedServiceName
82960	}
82961	if serd.Parameters != nil {
82962		objectMap["parameters"] = serd.Parameters
82963	}
82964	if serd.Annotations != nil {
82965		objectMap["annotations"] = serd.Annotations
82966	}
82967	if serd.Type != "" {
82968		objectMap["type"] = serd.Type
82969	}
82970	for k, v := range serd.AdditionalProperties {
82971		objectMap[k] = v
82972	}
82973	return json.Marshal(objectMap)
82974}
82975
82976// AsResponsysObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
82977func (serd SapEccResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
82978	return nil, false
82979}
82980
82981// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
82982func (serd SapEccResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
82983	return nil, false
82984}
82985
82986// AsVerticaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
82987func (serd SapEccResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
82988	return nil, false
82989}
82990
82991// AsNetezzaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
82992func (serd SapEccResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
82993	return nil, false
82994}
82995
82996// AsZohoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
82997func (serd SapEccResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
82998	return nil, false
82999}
83000
83001// AsXeroObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83002func (serd SapEccResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
83003	return nil, false
83004}
83005
83006// AsSquareObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83007func (serd SapEccResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
83008	return nil, false
83009}
83010
83011// AsSparkObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83012func (serd SapEccResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
83013	return nil, false
83014}
83015
83016// AsShopifyObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83017func (serd SapEccResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
83018	return nil, false
83019}
83020
83021// AsServiceNowObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83022func (serd SapEccResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
83023	return nil, false
83024}
83025
83026// AsQuickBooksObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83027func (serd SapEccResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
83028	return nil, false
83029}
83030
83031// AsPrestoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83032func (serd SapEccResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
83033	return nil, false
83034}
83035
83036// AsPhoenixObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83037func (serd SapEccResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
83038	return nil, false
83039}
83040
83041// AsPaypalObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83042func (serd SapEccResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
83043	return nil, false
83044}
83045
83046// AsMarketoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83047func (serd SapEccResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
83048	return nil, false
83049}
83050
83051// AsMariaDBTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83052func (serd SapEccResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
83053	return nil, false
83054}
83055
83056// AsMagentoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83057func (serd SapEccResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
83058	return nil, false
83059}
83060
83061// AsJiraObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83062func (serd SapEccResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
83063	return nil, false
83064}
83065
83066// AsImpalaObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83067func (serd SapEccResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
83068	return nil, false
83069}
83070
83071// AsHubspotObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83072func (serd SapEccResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
83073	return nil, false
83074}
83075
83076// AsHiveObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83077func (serd SapEccResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
83078	return nil, false
83079}
83080
83081// AsHBaseObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83082func (serd SapEccResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
83083	return nil, false
83084}
83085
83086// AsGreenplumTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83087func (serd SapEccResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
83088	return nil, false
83089}
83090
83091// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83092func (serd SapEccResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
83093	return nil, false
83094}
83095
83096// AsEloquaObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83097func (serd SapEccResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
83098	return nil, false
83099}
83100
83101// AsDrillTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83102func (serd SapEccResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
83103	return nil, false
83104}
83105
83106// AsCouchbaseTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83107func (serd SapEccResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
83108	return nil, false
83109}
83110
83111// AsConcurObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83112func (serd SapEccResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
83113	return nil, false
83114}
83115
83116// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83117func (serd SapEccResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
83118	return nil, false
83119}
83120
83121// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83122func (serd SapEccResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
83123	return nil, false
83124}
83125
83126// AsHTTPDataset is the BasicDataset implementation for SapEccResourceDataset.
83127func (serd SapEccResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
83128	return nil, false
83129}
83130
83131// AsAzureSearchIndexDataset is the BasicDataset implementation for SapEccResourceDataset.
83132func (serd SapEccResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
83133	return nil, false
83134}
83135
83136// AsWebTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83137func (serd SapEccResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
83138	return nil, false
83139}
83140
83141// AsSQLServerTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83142func (serd SapEccResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
83143	return nil, false
83144}
83145
83146// AsSapEccResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
83147func (serd SapEccResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
83148	return &serd, true
83149}
83150
83151// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
83152func (serd SapEccResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
83153	return nil, false
83154}
83155
83156// AsSalesforceObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
83157func (serd SapEccResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
83158	return nil, false
83159}
83160
83161// AsRelationalTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83162func (serd SapEccResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
83163	return nil, false
83164}
83165
83166// AsAzureMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83167func (serd SapEccResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
83168	return nil, false
83169}
83170
83171// AsOracleTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83172func (serd SapEccResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
83173	return nil, false
83174}
83175
83176// AsODataResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
83177func (serd SapEccResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
83178	return nil, false
83179}
83180
83181// AsMongoDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
83182func (serd SapEccResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
83183	return nil, false
83184}
83185
83186// AsFileShareDataset is the BasicDataset implementation for SapEccResourceDataset.
83187func (serd SapEccResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
83188	return nil, false
83189}
83190
83191// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapEccResourceDataset.
83192func (serd SapEccResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
83193	return nil, false
83194}
83195
83196// AsDynamicsEntityDataset is the BasicDataset implementation for SapEccResourceDataset.
83197func (serd SapEccResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
83198	return nil, false
83199}
83200
83201// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
83202func (serd SapEccResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
83203	return nil, false
83204}
83205
83206// AsCustomDataset is the BasicDataset implementation for SapEccResourceDataset.
83207func (serd SapEccResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
83208	return nil, false
83209}
83210
83211// AsCassandraTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83212func (serd SapEccResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
83213	return nil, false
83214}
83215
83216// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83217func (serd SapEccResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
83218	return nil, false
83219}
83220
83221// AsAzureSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83222func (serd SapEccResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
83223	return nil, false
83224}
83225
83226// AsAzureTableDataset is the BasicDataset implementation for SapEccResourceDataset.
83227func (serd SapEccResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
83228	return nil, false
83229}
83230
83231// AsAzureBlobDataset is the BasicDataset implementation for SapEccResourceDataset.
83232func (serd SapEccResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
83233	return nil, false
83234}
83235
83236// AsAmazonS3Dataset is the BasicDataset implementation for SapEccResourceDataset.
83237func (serd SapEccResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
83238	return nil, false
83239}
83240
83241// AsDataset is the BasicDataset implementation for SapEccResourceDataset.
83242func (serd SapEccResourceDataset) AsDataset() (*Dataset, bool) {
83243	return nil, false
83244}
83245
83246// AsBasicDataset is the BasicDataset implementation for SapEccResourceDataset.
83247func (serd SapEccResourceDataset) AsBasicDataset() (BasicDataset, bool) {
83248	return &serd, true
83249}
83250
83251// UnmarshalJSON is the custom unmarshaler for SapEccResourceDataset struct.
83252func (serd *SapEccResourceDataset) UnmarshalJSON(body []byte) error {
83253	var m map[string]*json.RawMessage
83254	err := json.Unmarshal(body, &m)
83255	if err != nil {
83256		return err
83257	}
83258	for k, v := range m {
83259		switch k {
83260		case "typeProperties":
83261			if v != nil {
83262				var sapEccResourceDatasetTypeProperties SapEccResourceDatasetTypeProperties
83263				err = json.Unmarshal(*v, &sapEccResourceDatasetTypeProperties)
83264				if err != nil {
83265					return err
83266				}
83267				serd.SapEccResourceDatasetTypeProperties = &sapEccResourceDatasetTypeProperties
83268			}
83269		default:
83270			if v != nil {
83271				var additionalProperties interface{}
83272				err = json.Unmarshal(*v, &additionalProperties)
83273				if err != nil {
83274					return err
83275				}
83276				if serd.AdditionalProperties == nil {
83277					serd.AdditionalProperties = make(map[string]interface{})
83278				}
83279				serd.AdditionalProperties[k] = additionalProperties
83280			}
83281		case "description":
83282			if v != nil {
83283				var description string
83284				err = json.Unmarshal(*v, &description)
83285				if err != nil {
83286					return err
83287				}
83288				serd.Description = &description
83289			}
83290		case "structure":
83291			if v != nil {
83292				var structure interface{}
83293				err = json.Unmarshal(*v, &structure)
83294				if err != nil {
83295					return err
83296				}
83297				serd.Structure = structure
83298			}
83299		case "linkedServiceName":
83300			if v != nil {
83301				var linkedServiceName LinkedServiceReference
83302				err = json.Unmarshal(*v, &linkedServiceName)
83303				if err != nil {
83304					return err
83305				}
83306				serd.LinkedServiceName = &linkedServiceName
83307			}
83308		case "parameters":
83309			if v != nil {
83310				var parameters map[string]*ParameterSpecification
83311				err = json.Unmarshal(*v, &parameters)
83312				if err != nil {
83313					return err
83314				}
83315				serd.Parameters = parameters
83316			}
83317		case "annotations":
83318			if v != nil {
83319				var annotations []interface{}
83320				err = json.Unmarshal(*v, &annotations)
83321				if err != nil {
83322					return err
83323				}
83324				serd.Annotations = &annotations
83325			}
83326		case "type":
83327			if v != nil {
83328				var typeVar TypeBasicDataset
83329				err = json.Unmarshal(*v, &typeVar)
83330				if err != nil {
83331					return err
83332				}
83333				serd.Type = typeVar
83334			}
83335		}
83336	}
83337
83338	return nil
83339}
83340
83341// SapEccResourceDatasetTypeProperties sap ECC OData resource dataset properties.
83342type SapEccResourceDatasetTypeProperties struct {
83343	// Path - The path of the SAP ECC OData entity. Type: string (or Expression with resultType string).
83344	Path interface{} `json:"path,omitempty"`
83345}
83346
83347// SapEccSource a copy activity source for SAP ECC source.
83348type SapEccSource struct {
83349	// Query - SAP ECC OData query. For example, "$top=1". Type: string (or Expression with resultType string).
83350	Query interface{} `json:"query,omitempty"`
83351	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83352	AdditionalProperties map[string]interface{} `json:""`
83353	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
83354	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
83355	// 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])).
83356	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
83357	// 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'
83358	Type TypeBasicCopySource `json:"type,omitempty"`
83359}
83360
83361// MarshalJSON is the custom marshaler for SapEccSource.
83362func (ses SapEccSource) MarshalJSON() ([]byte, error) {
83363	ses.Type = TypeSapEccSource
83364	objectMap := make(map[string]interface{})
83365	if ses.Query != nil {
83366		objectMap["query"] = ses.Query
83367	}
83368	if ses.SourceRetryCount != nil {
83369		objectMap["sourceRetryCount"] = ses.SourceRetryCount
83370	}
83371	if ses.SourceRetryWait != nil {
83372		objectMap["sourceRetryWait"] = ses.SourceRetryWait
83373	}
83374	if ses.Type != "" {
83375		objectMap["type"] = ses.Type
83376	}
83377	for k, v := range ses.AdditionalProperties {
83378		objectMap[k] = v
83379	}
83380	return json.Marshal(objectMap)
83381}
83382
83383// AsAmazonRedshiftSource is the BasicCopySource implementation for SapEccSource.
83384func (ses SapEccSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
83385	return nil, false
83386}
83387
83388// AsResponsysSource is the BasicCopySource implementation for SapEccSource.
83389func (ses SapEccSource) AsResponsysSource() (*ResponsysSource, bool) {
83390	return nil, false
83391}
83392
83393// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapEccSource.
83394func (ses SapEccSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
83395	return nil, false
83396}
83397
83398// AsVerticaSource is the BasicCopySource implementation for SapEccSource.
83399func (ses SapEccSource) AsVerticaSource() (*VerticaSource, bool) {
83400	return nil, false
83401}
83402
83403// AsNetezzaSource is the BasicCopySource implementation for SapEccSource.
83404func (ses SapEccSource) AsNetezzaSource() (*NetezzaSource, bool) {
83405	return nil, false
83406}
83407
83408// AsZohoSource is the BasicCopySource implementation for SapEccSource.
83409func (ses SapEccSource) AsZohoSource() (*ZohoSource, bool) {
83410	return nil, false
83411}
83412
83413// AsXeroSource is the BasicCopySource implementation for SapEccSource.
83414func (ses SapEccSource) AsXeroSource() (*XeroSource, bool) {
83415	return nil, false
83416}
83417
83418// AsSquareSource is the BasicCopySource implementation for SapEccSource.
83419func (ses SapEccSource) AsSquareSource() (*SquareSource, bool) {
83420	return nil, false
83421}
83422
83423// AsSparkSource is the BasicCopySource implementation for SapEccSource.
83424func (ses SapEccSource) AsSparkSource() (*SparkSource, bool) {
83425	return nil, false
83426}
83427
83428// AsShopifySource is the BasicCopySource implementation for SapEccSource.
83429func (ses SapEccSource) AsShopifySource() (*ShopifySource, bool) {
83430	return nil, false
83431}
83432
83433// AsServiceNowSource is the BasicCopySource implementation for SapEccSource.
83434func (ses SapEccSource) AsServiceNowSource() (*ServiceNowSource, bool) {
83435	return nil, false
83436}
83437
83438// AsQuickBooksSource is the BasicCopySource implementation for SapEccSource.
83439func (ses SapEccSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
83440	return nil, false
83441}
83442
83443// AsPrestoSource is the BasicCopySource implementation for SapEccSource.
83444func (ses SapEccSource) AsPrestoSource() (*PrestoSource, bool) {
83445	return nil, false
83446}
83447
83448// AsPhoenixSource is the BasicCopySource implementation for SapEccSource.
83449func (ses SapEccSource) AsPhoenixSource() (*PhoenixSource, bool) {
83450	return nil, false
83451}
83452
83453// AsPaypalSource is the BasicCopySource implementation for SapEccSource.
83454func (ses SapEccSource) AsPaypalSource() (*PaypalSource, bool) {
83455	return nil, false
83456}
83457
83458// AsMarketoSource is the BasicCopySource implementation for SapEccSource.
83459func (ses SapEccSource) AsMarketoSource() (*MarketoSource, bool) {
83460	return nil, false
83461}
83462
83463// AsMariaDBSource is the BasicCopySource implementation for SapEccSource.
83464func (ses SapEccSource) AsMariaDBSource() (*MariaDBSource, bool) {
83465	return nil, false
83466}
83467
83468// AsMagentoSource is the BasicCopySource implementation for SapEccSource.
83469func (ses SapEccSource) AsMagentoSource() (*MagentoSource, bool) {
83470	return nil, false
83471}
83472
83473// AsJiraSource is the BasicCopySource implementation for SapEccSource.
83474func (ses SapEccSource) AsJiraSource() (*JiraSource, bool) {
83475	return nil, false
83476}
83477
83478// AsImpalaSource is the BasicCopySource implementation for SapEccSource.
83479func (ses SapEccSource) AsImpalaSource() (*ImpalaSource, bool) {
83480	return nil, false
83481}
83482
83483// AsHubspotSource is the BasicCopySource implementation for SapEccSource.
83484func (ses SapEccSource) AsHubspotSource() (*HubspotSource, bool) {
83485	return nil, false
83486}
83487
83488// AsHiveSource is the BasicCopySource implementation for SapEccSource.
83489func (ses SapEccSource) AsHiveSource() (*HiveSource, bool) {
83490	return nil, false
83491}
83492
83493// AsHBaseSource is the BasicCopySource implementation for SapEccSource.
83494func (ses SapEccSource) AsHBaseSource() (*HBaseSource, bool) {
83495	return nil, false
83496}
83497
83498// AsGreenplumSource is the BasicCopySource implementation for SapEccSource.
83499func (ses SapEccSource) AsGreenplumSource() (*GreenplumSource, bool) {
83500	return nil, false
83501}
83502
83503// AsGoogleBigQuerySource is the BasicCopySource implementation for SapEccSource.
83504func (ses SapEccSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
83505	return nil, false
83506}
83507
83508// AsEloquaSource is the BasicCopySource implementation for SapEccSource.
83509func (ses SapEccSource) AsEloquaSource() (*EloquaSource, bool) {
83510	return nil, false
83511}
83512
83513// AsDrillSource is the BasicCopySource implementation for SapEccSource.
83514func (ses SapEccSource) AsDrillSource() (*DrillSource, bool) {
83515	return nil, false
83516}
83517
83518// AsCouchbaseSource is the BasicCopySource implementation for SapEccSource.
83519func (ses SapEccSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
83520	return nil, false
83521}
83522
83523// AsConcurSource is the BasicCopySource implementation for SapEccSource.
83524func (ses SapEccSource) AsConcurSource() (*ConcurSource, bool) {
83525	return nil, false
83526}
83527
83528// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapEccSource.
83529func (ses SapEccSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
83530	return nil, false
83531}
83532
83533// AsAmazonMWSSource is the BasicCopySource implementation for SapEccSource.
83534func (ses SapEccSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
83535	return nil, false
83536}
83537
83538// AsHTTPSource is the BasicCopySource implementation for SapEccSource.
83539func (ses SapEccSource) AsHTTPSource() (*HTTPSource, bool) {
83540	return nil, false
83541}
83542
83543// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapEccSource.
83544func (ses SapEccSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
83545	return nil, false
83546}
83547
83548// AsMongoDbSource is the BasicCopySource implementation for SapEccSource.
83549func (ses SapEccSource) AsMongoDbSource() (*MongoDbSource, bool) {
83550	return nil, false
83551}
83552
83553// AsCassandraSource is the BasicCopySource implementation for SapEccSource.
83554func (ses SapEccSource) AsCassandraSource() (*CassandraSource, bool) {
83555	return nil, false
83556}
83557
83558// AsWebSource is the BasicCopySource implementation for SapEccSource.
83559func (ses SapEccSource) AsWebSource() (*WebSource, bool) {
83560	return nil, false
83561}
83562
83563// AsOracleSource is the BasicCopySource implementation for SapEccSource.
83564func (ses SapEccSource) AsOracleSource() (*OracleSource, bool) {
83565	return nil, false
83566}
83567
83568// AsAzureMySQLSource is the BasicCopySource implementation for SapEccSource.
83569func (ses SapEccSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
83570	return nil, false
83571}
83572
83573// AsHdfsSource is the BasicCopySource implementation for SapEccSource.
83574func (ses SapEccSource) AsHdfsSource() (*HdfsSource, bool) {
83575	return nil, false
83576}
83577
83578// AsFileSystemSource is the BasicCopySource implementation for SapEccSource.
83579func (ses SapEccSource) AsFileSystemSource() (*FileSystemSource, bool) {
83580	return nil, false
83581}
83582
83583// AsSQLDWSource is the BasicCopySource implementation for SapEccSource.
83584func (ses SapEccSource) AsSQLDWSource() (*SQLDWSource, bool) {
83585	return nil, false
83586}
83587
83588// AsSQLSource is the BasicCopySource implementation for SapEccSource.
83589func (ses SapEccSource) AsSQLSource() (*SQLSource, bool) {
83590	return nil, false
83591}
83592
83593// AsSapEccSource is the BasicCopySource implementation for SapEccSource.
83594func (ses SapEccSource) AsSapEccSource() (*SapEccSource, bool) {
83595	return &ses, true
83596}
83597
83598// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapEccSource.
83599func (ses SapEccSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
83600	return nil, false
83601}
83602
83603// AsSalesforceSource is the BasicCopySource implementation for SapEccSource.
83604func (ses SapEccSource) AsSalesforceSource() (*SalesforceSource, bool) {
83605	return nil, false
83606}
83607
83608// AsRelationalSource is the BasicCopySource implementation for SapEccSource.
83609func (ses SapEccSource) AsRelationalSource() (*RelationalSource, bool) {
83610	return nil, false
83611}
83612
83613// AsDynamicsSource is the BasicCopySource implementation for SapEccSource.
83614func (ses SapEccSource) AsDynamicsSource() (*DynamicsSource, bool) {
83615	return nil, false
83616}
83617
83618// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapEccSource.
83619func (ses SapEccSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
83620	return nil, false
83621}
83622
83623// AsBlobSource is the BasicCopySource implementation for SapEccSource.
83624func (ses SapEccSource) AsBlobSource() (*BlobSource, bool) {
83625	return nil, false
83626}
83627
83628// AsAzureTableSource is the BasicCopySource implementation for SapEccSource.
83629func (ses SapEccSource) AsAzureTableSource() (*AzureTableSource, bool) {
83630	return nil, false
83631}
83632
83633// AsCopySource is the BasicCopySource implementation for SapEccSource.
83634func (ses SapEccSource) AsCopySource() (*CopySource, bool) {
83635	return nil, false
83636}
83637
83638// AsBasicCopySource is the BasicCopySource implementation for SapEccSource.
83639func (ses SapEccSource) AsBasicCopySource() (BasicCopySource, bool) {
83640	return &ses, true
83641}
83642
83643// UnmarshalJSON is the custom unmarshaler for SapEccSource struct.
83644func (ses *SapEccSource) UnmarshalJSON(body []byte) error {
83645	var m map[string]*json.RawMessage
83646	err := json.Unmarshal(body, &m)
83647	if err != nil {
83648		return err
83649	}
83650	for k, v := range m {
83651		switch k {
83652		case "query":
83653			if v != nil {
83654				var query interface{}
83655				err = json.Unmarshal(*v, &query)
83656				if err != nil {
83657					return err
83658				}
83659				ses.Query = query
83660			}
83661		default:
83662			if v != nil {
83663				var additionalProperties interface{}
83664				err = json.Unmarshal(*v, &additionalProperties)
83665				if err != nil {
83666					return err
83667				}
83668				if ses.AdditionalProperties == nil {
83669					ses.AdditionalProperties = make(map[string]interface{})
83670				}
83671				ses.AdditionalProperties[k] = additionalProperties
83672			}
83673		case "sourceRetryCount":
83674			if v != nil {
83675				var sourceRetryCount interface{}
83676				err = json.Unmarshal(*v, &sourceRetryCount)
83677				if err != nil {
83678					return err
83679				}
83680				ses.SourceRetryCount = sourceRetryCount
83681			}
83682		case "sourceRetryWait":
83683			if v != nil {
83684				var sourceRetryWait interface{}
83685				err = json.Unmarshal(*v, &sourceRetryWait)
83686				if err != nil {
83687					return err
83688				}
83689				ses.SourceRetryWait = sourceRetryWait
83690			}
83691		case "type":
83692			if v != nil {
83693				var typeVar TypeBasicCopySource
83694				err = json.Unmarshal(*v, &typeVar)
83695				if err != nil {
83696					return err
83697				}
83698				ses.Type = typeVar
83699			}
83700		}
83701	}
83702
83703	return nil
83704}
83705
83706// SapHanaLinkedService SAP HANA Linked Service.
83707type SapHanaLinkedService struct {
83708	// SapHanaLinkedServiceProperties - Properties specific to this linked service type.
83709	*SapHanaLinkedServiceProperties `json:"typeProperties,omitempty"`
83710	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83711	AdditionalProperties map[string]interface{} `json:""`
83712	// ConnectVia - The integration runtime reference.
83713	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
83714	// Description - Linked service description.
83715	Description *string `json:"description,omitempty"`
83716	// Parameters - Parameters for linked service.
83717	Parameters map[string]*ParameterSpecification `json:"parameters"`
83718	// Annotations - List of tags that can be used for describing the Dataset.
83719	Annotations *[]interface{} `json:"annotations,omitempty"`
83720	// 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'
83721	Type TypeBasicLinkedService `json:"type,omitempty"`
83722}
83723
83724// MarshalJSON is the custom marshaler for SapHanaLinkedService.
83725func (shls SapHanaLinkedService) MarshalJSON() ([]byte, error) {
83726	shls.Type = TypeSapHana
83727	objectMap := make(map[string]interface{})
83728	if shls.SapHanaLinkedServiceProperties != nil {
83729		objectMap["typeProperties"] = shls.SapHanaLinkedServiceProperties
83730	}
83731	if shls.ConnectVia != nil {
83732		objectMap["connectVia"] = shls.ConnectVia
83733	}
83734	if shls.Description != nil {
83735		objectMap["description"] = shls.Description
83736	}
83737	if shls.Parameters != nil {
83738		objectMap["parameters"] = shls.Parameters
83739	}
83740	if shls.Annotations != nil {
83741		objectMap["annotations"] = shls.Annotations
83742	}
83743	if shls.Type != "" {
83744		objectMap["type"] = shls.Type
83745	}
83746	for k, v := range shls.AdditionalProperties {
83747		objectMap[k] = v
83748	}
83749	return json.Marshal(objectMap)
83750}
83751
83752// AsResponsysLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83753func (shls SapHanaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
83754	return nil, false
83755}
83756
83757// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83758func (shls SapHanaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
83759	return nil, false
83760}
83761
83762// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83763func (shls SapHanaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
83764	return nil, false
83765}
83766
83767// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83768func (shls SapHanaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
83769	return nil, false
83770}
83771
83772// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83773func (shls SapHanaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
83774	return nil, false
83775}
83776
83777// AsNetezzaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83778func (shls SapHanaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
83779	return nil, false
83780}
83781
83782// AsVerticaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83783func (shls SapHanaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
83784	return nil, false
83785}
83786
83787// AsZohoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83788func (shls SapHanaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
83789	return nil, false
83790}
83791
83792// AsXeroLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83793func (shls SapHanaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
83794	return nil, false
83795}
83796
83797// AsSquareLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83798func (shls SapHanaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
83799	return nil, false
83800}
83801
83802// AsSparkLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83803func (shls SapHanaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
83804	return nil, false
83805}
83806
83807// AsShopifyLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83808func (shls SapHanaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
83809	return nil, false
83810}
83811
83812// AsServiceNowLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83813func (shls SapHanaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
83814	return nil, false
83815}
83816
83817// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83818func (shls SapHanaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
83819	return nil, false
83820}
83821
83822// AsPrestoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83823func (shls SapHanaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
83824	return nil, false
83825}
83826
83827// AsPhoenixLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83828func (shls SapHanaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
83829	return nil, false
83830}
83831
83832// AsPaypalLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83833func (shls SapHanaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
83834	return nil, false
83835}
83836
83837// AsMarketoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83838func (shls SapHanaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
83839	return nil, false
83840}
83841
83842// AsMariaDBLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83843func (shls SapHanaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
83844	return nil, false
83845}
83846
83847// AsMagentoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83848func (shls SapHanaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
83849	return nil, false
83850}
83851
83852// AsJiraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83853func (shls SapHanaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
83854	return nil, false
83855}
83856
83857// AsImpalaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83858func (shls SapHanaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
83859	return nil, false
83860}
83861
83862// AsHubspotLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83863func (shls SapHanaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
83864	return nil, false
83865}
83866
83867// AsHiveLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83868func (shls SapHanaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
83869	return nil, false
83870}
83871
83872// AsHBaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83873func (shls SapHanaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
83874	return nil, false
83875}
83876
83877// AsGreenplumLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83878func (shls SapHanaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
83879	return nil, false
83880}
83881
83882// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83883func (shls SapHanaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
83884	return nil, false
83885}
83886
83887// AsEloquaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83888func (shls SapHanaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
83889	return nil, false
83890}
83891
83892// AsDrillLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83893func (shls SapHanaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
83894	return nil, false
83895}
83896
83897// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83898func (shls SapHanaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
83899	return nil, false
83900}
83901
83902// AsConcurLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83903func (shls SapHanaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
83904	return nil, false
83905}
83906
83907// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83908func (shls SapHanaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
83909	return nil, false
83910}
83911
83912// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83913func (shls SapHanaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
83914	return nil, false
83915}
83916
83917// AsSapHanaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83918func (shls SapHanaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
83919	return &shls, true
83920}
83921
83922// AsSapBWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83923func (shls SapHanaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
83924	return nil, false
83925}
83926
83927// AsSftpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83928func (shls SapHanaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
83929	return nil, false
83930}
83931
83932// AsFtpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83933func (shls SapHanaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
83934	return nil, false
83935}
83936
83937// AsHTTPLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83938func (shls SapHanaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
83939	return nil, false
83940}
83941
83942// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83943func (shls SapHanaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
83944	return nil, false
83945}
83946
83947// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83948func (shls SapHanaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
83949	return nil, false
83950}
83951
83952// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83953func (shls SapHanaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
83954	return nil, false
83955}
83956
83957// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83958func (shls SapHanaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
83959	return nil, false
83960}
83961
83962// AsSapEccLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83963func (shls SapHanaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
83964	return nil, false
83965}
83966
83967// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83968func (shls SapHanaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
83969	return nil, false
83970}
83971
83972// AsSalesforceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83973func (shls SapHanaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
83974	return nil, false
83975}
83976
83977// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83978func (shls SapHanaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
83979	return nil, false
83980}
83981
83982// AsMongoDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83983func (shls SapHanaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
83984	return nil, false
83985}
83986
83987// AsCassandraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83988func (shls SapHanaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
83989	return nil, false
83990}
83991
83992// AsWebLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83993func (shls SapHanaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
83994	return nil, false
83995}
83996
83997// AsODataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
83998func (shls SapHanaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
83999	return nil, false
84000}
84001
84002// AsHdfsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84003func (shls SapHanaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
84004	return nil, false
84005}
84006
84007// AsOdbcLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84008func (shls SapHanaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
84009	return nil, false
84010}
84011
84012// AsAzureMLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84013func (shls SapHanaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
84014	return nil, false
84015}
84016
84017// AsTeradataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84018func (shls SapHanaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
84019	return nil, false
84020}
84021
84022// AsDb2LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84023func (shls SapHanaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
84024	return nil, false
84025}
84026
84027// AsSybaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84028func (shls SapHanaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
84029	return nil, false
84030}
84031
84032// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84033func (shls SapHanaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
84034	return nil, false
84035}
84036
84037// AsMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84038func (shls SapHanaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
84039	return nil, false
84040}
84041
84042// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84043func (shls SapHanaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
84044	return nil, false
84045}
84046
84047// AsOracleLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84048func (shls SapHanaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
84049	return nil, false
84050}
84051
84052// AsFileServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84053func (shls SapHanaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
84054	return nil, false
84055}
84056
84057// AsHDInsightLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84058func (shls SapHanaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
84059	return nil, false
84060}
84061
84062// AsDynamicsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84063func (shls SapHanaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
84064	return nil, false
84065}
84066
84067// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84068func (shls SapHanaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
84069	return nil, false
84070}
84071
84072// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84073func (shls SapHanaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
84074	return nil, false
84075}
84076
84077// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84078func (shls SapHanaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
84079	return nil, false
84080}
84081
84082// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84083func (shls SapHanaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
84084	return nil, false
84085}
84086
84087// AsSQLServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84088func (shls SapHanaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
84089	return nil, false
84090}
84091
84092// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84093func (shls SapHanaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
84094	return nil, false
84095}
84096
84097// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84098func (shls SapHanaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
84099	return nil, false
84100}
84101
84102// AsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84103func (shls SapHanaLinkedService) AsLinkedService() (*LinkedService, bool) {
84104	return nil, false
84105}
84106
84107// AsBasicLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
84108func (shls SapHanaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
84109	return &shls, true
84110}
84111
84112// UnmarshalJSON is the custom unmarshaler for SapHanaLinkedService struct.
84113func (shls *SapHanaLinkedService) UnmarshalJSON(body []byte) error {
84114	var m map[string]*json.RawMessage
84115	err := json.Unmarshal(body, &m)
84116	if err != nil {
84117		return err
84118	}
84119	for k, v := range m {
84120		switch k {
84121		case "typeProperties":
84122			if v != nil {
84123				var sapHanaLinkedServiceProperties SapHanaLinkedServiceProperties
84124				err = json.Unmarshal(*v, &sapHanaLinkedServiceProperties)
84125				if err != nil {
84126					return err
84127				}
84128				shls.SapHanaLinkedServiceProperties = &sapHanaLinkedServiceProperties
84129			}
84130		default:
84131			if v != nil {
84132				var additionalProperties interface{}
84133				err = json.Unmarshal(*v, &additionalProperties)
84134				if err != nil {
84135					return err
84136				}
84137				if shls.AdditionalProperties == nil {
84138					shls.AdditionalProperties = make(map[string]interface{})
84139				}
84140				shls.AdditionalProperties[k] = additionalProperties
84141			}
84142		case "connectVia":
84143			if v != nil {
84144				var connectVia IntegrationRuntimeReference
84145				err = json.Unmarshal(*v, &connectVia)
84146				if err != nil {
84147					return err
84148				}
84149				shls.ConnectVia = &connectVia
84150			}
84151		case "description":
84152			if v != nil {
84153				var description string
84154				err = json.Unmarshal(*v, &description)
84155				if err != nil {
84156					return err
84157				}
84158				shls.Description = &description
84159			}
84160		case "parameters":
84161			if v != nil {
84162				var parameters map[string]*ParameterSpecification
84163				err = json.Unmarshal(*v, &parameters)
84164				if err != nil {
84165					return err
84166				}
84167				shls.Parameters = parameters
84168			}
84169		case "annotations":
84170			if v != nil {
84171				var annotations []interface{}
84172				err = json.Unmarshal(*v, &annotations)
84173				if err != nil {
84174					return err
84175				}
84176				shls.Annotations = &annotations
84177			}
84178		case "type":
84179			if v != nil {
84180				var typeVar TypeBasicLinkedService
84181				err = json.Unmarshal(*v, &typeVar)
84182				if err != nil {
84183					return err
84184				}
84185				shls.Type = typeVar
84186			}
84187		}
84188	}
84189
84190	return nil
84191}
84192
84193// SapHanaLinkedServiceProperties properties specific to this linked service type.
84194type SapHanaLinkedServiceProperties struct {
84195	// Server - Host name of the SAP HANA server. Type: string (or Expression with resultType string).
84196	Server interface{} `json:"server,omitempty"`
84197	// AuthenticationType - The authentication type to be used to connect to the SAP HANA server. Possible values include: 'SapHanaAuthenticationTypeBasic', 'SapHanaAuthenticationTypeWindows'
84198	AuthenticationType SapHanaAuthenticationType `json:"authenticationType,omitempty"`
84199	// UserName - Username to access the SAP HANA server. Type: string (or Expression with resultType string).
84200	UserName interface{} `json:"userName,omitempty"`
84201	// Password - Password to access the SAP HANA server.
84202	Password BasicSecretBase `json:"password,omitempty"`
84203	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
84204	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
84205}
84206
84207// UnmarshalJSON is the custom unmarshaler for SapHanaLinkedServiceProperties struct.
84208func (shlsp *SapHanaLinkedServiceProperties) UnmarshalJSON(body []byte) error {
84209	var m map[string]*json.RawMessage
84210	err := json.Unmarshal(body, &m)
84211	if err != nil {
84212		return err
84213	}
84214	for k, v := range m {
84215		switch k {
84216		case "server":
84217			if v != nil {
84218				var server interface{}
84219				err = json.Unmarshal(*v, &server)
84220				if err != nil {
84221					return err
84222				}
84223				shlsp.Server = server
84224			}
84225		case "authenticationType":
84226			if v != nil {
84227				var authenticationType SapHanaAuthenticationType
84228				err = json.Unmarshal(*v, &authenticationType)
84229				if err != nil {
84230					return err
84231				}
84232				shlsp.AuthenticationType = authenticationType
84233			}
84234		case "userName":
84235			if v != nil {
84236				var userName interface{}
84237				err = json.Unmarshal(*v, &userName)
84238				if err != nil {
84239					return err
84240				}
84241				shlsp.UserName = userName
84242			}
84243		case "password":
84244			if v != nil {
84245				password, err := unmarshalBasicSecretBase(*v)
84246				if err != nil {
84247					return err
84248				}
84249				shlsp.Password = password
84250			}
84251		case "encryptedCredential":
84252			if v != nil {
84253				var encryptedCredential interface{}
84254				err = json.Unmarshal(*v, &encryptedCredential)
84255				if err != nil {
84256					return err
84257				}
84258				shlsp.EncryptedCredential = encryptedCredential
84259			}
84260		}
84261	}
84262
84263	return nil
84264}
84265
84266// ScheduleTrigger trigger that creates pipeline runs periodically, on schedule.
84267type ScheduleTrigger struct {
84268	// ScheduleTriggerTypeProperties - Schedule Trigger properties.
84269	*ScheduleTriggerTypeProperties `json:"typeProperties,omitempty"`
84270	// Pipelines - Pipelines that need to be started.
84271	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
84272	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84273	AdditionalProperties map[string]interface{} `json:""`
84274	// Description - Trigger description.
84275	Description *string `json:"description,omitempty"`
84276	// 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'
84277	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
84278	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
84279	Type TypeBasicTrigger `json:"type,omitempty"`
84280}
84281
84282// MarshalJSON is the custom marshaler for ScheduleTrigger.
84283func (st ScheduleTrigger) MarshalJSON() ([]byte, error) {
84284	st.Type = TypeScheduleTrigger
84285	objectMap := make(map[string]interface{})
84286	if st.ScheduleTriggerTypeProperties != nil {
84287		objectMap["typeProperties"] = st.ScheduleTriggerTypeProperties
84288	}
84289	if st.Pipelines != nil {
84290		objectMap["pipelines"] = st.Pipelines
84291	}
84292	if st.Description != nil {
84293		objectMap["description"] = st.Description
84294	}
84295	if st.Type != "" {
84296		objectMap["type"] = st.Type
84297	}
84298	for k, v := range st.AdditionalProperties {
84299		objectMap[k] = v
84300	}
84301	return json.Marshal(objectMap)
84302}
84303
84304// AsTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger.
84305func (st ScheduleTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
84306	return nil, false
84307}
84308
84309// AsBlobEventsTrigger is the BasicTrigger implementation for ScheduleTrigger.
84310func (st ScheduleTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
84311	return nil, false
84312}
84313
84314// AsBlobTrigger is the BasicTrigger implementation for ScheduleTrigger.
84315func (st ScheduleTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
84316	return nil, false
84317}
84318
84319// AsScheduleTrigger is the BasicTrigger implementation for ScheduleTrigger.
84320func (st ScheduleTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
84321	return &st, true
84322}
84323
84324// AsMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger.
84325func (st ScheduleTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
84326	return nil, false
84327}
84328
84329// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger.
84330func (st ScheduleTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
84331	return &st, true
84332}
84333
84334// AsTrigger is the BasicTrigger implementation for ScheduleTrigger.
84335func (st ScheduleTrigger) AsTrigger() (*Trigger, bool) {
84336	return nil, false
84337}
84338
84339// AsBasicTrigger is the BasicTrigger implementation for ScheduleTrigger.
84340func (st ScheduleTrigger) AsBasicTrigger() (BasicTrigger, bool) {
84341	return &st, true
84342}
84343
84344// UnmarshalJSON is the custom unmarshaler for ScheduleTrigger struct.
84345func (st *ScheduleTrigger) UnmarshalJSON(body []byte) error {
84346	var m map[string]*json.RawMessage
84347	err := json.Unmarshal(body, &m)
84348	if err != nil {
84349		return err
84350	}
84351	for k, v := range m {
84352		switch k {
84353		case "typeProperties":
84354			if v != nil {
84355				var scheduleTriggerTypeProperties ScheduleTriggerTypeProperties
84356				err = json.Unmarshal(*v, &scheduleTriggerTypeProperties)
84357				if err != nil {
84358					return err
84359				}
84360				st.ScheduleTriggerTypeProperties = &scheduleTriggerTypeProperties
84361			}
84362		case "pipelines":
84363			if v != nil {
84364				var pipelines []TriggerPipelineReference
84365				err = json.Unmarshal(*v, &pipelines)
84366				if err != nil {
84367					return err
84368				}
84369				st.Pipelines = &pipelines
84370			}
84371		default:
84372			if v != nil {
84373				var additionalProperties interface{}
84374				err = json.Unmarshal(*v, &additionalProperties)
84375				if err != nil {
84376					return err
84377				}
84378				if st.AdditionalProperties == nil {
84379					st.AdditionalProperties = make(map[string]interface{})
84380				}
84381				st.AdditionalProperties[k] = additionalProperties
84382			}
84383		case "description":
84384			if v != nil {
84385				var description string
84386				err = json.Unmarshal(*v, &description)
84387				if err != nil {
84388					return err
84389				}
84390				st.Description = &description
84391			}
84392		case "runtimeState":
84393			if v != nil {
84394				var runtimeState TriggerRuntimeState
84395				err = json.Unmarshal(*v, &runtimeState)
84396				if err != nil {
84397					return err
84398				}
84399				st.RuntimeState = runtimeState
84400			}
84401		case "type":
84402			if v != nil {
84403				var typeVar TypeBasicTrigger
84404				err = json.Unmarshal(*v, &typeVar)
84405				if err != nil {
84406					return err
84407				}
84408				st.Type = typeVar
84409			}
84410		}
84411	}
84412
84413	return nil
84414}
84415
84416// ScheduleTriggerRecurrence the workflow trigger recurrence.
84417type ScheduleTriggerRecurrence struct {
84418	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84419	AdditionalProperties map[string]interface{} `json:""`
84420	// Frequency - The frequency. Possible values include: 'NotSpecified', 'Minute', 'Hour', 'Day', 'Week', 'Month', 'Year'
84421	Frequency RecurrenceFrequency `json:"frequency,omitempty"`
84422	// Interval - The interval.
84423	Interval *int32 `json:"interval,omitempty"`
84424	// StartTime - The start time.
84425	StartTime *date.Time `json:"startTime,omitempty"`
84426	// EndTime - The end time.
84427	EndTime *date.Time `json:"endTime,omitempty"`
84428	// TimeZone - The time zone.
84429	TimeZone *string `json:"timeZone,omitempty"`
84430	// Schedule - The recurrence schedule.
84431	Schedule *RecurrenceSchedule `json:"schedule,omitempty"`
84432}
84433
84434// MarshalJSON is the custom marshaler for ScheduleTriggerRecurrence.
84435func (str ScheduleTriggerRecurrence) MarshalJSON() ([]byte, error) {
84436	objectMap := make(map[string]interface{})
84437	if str.Frequency != "" {
84438		objectMap["frequency"] = str.Frequency
84439	}
84440	if str.Interval != nil {
84441		objectMap["interval"] = str.Interval
84442	}
84443	if str.StartTime != nil {
84444		objectMap["startTime"] = str.StartTime
84445	}
84446	if str.EndTime != nil {
84447		objectMap["endTime"] = str.EndTime
84448	}
84449	if str.TimeZone != nil {
84450		objectMap["timeZone"] = str.TimeZone
84451	}
84452	if str.Schedule != nil {
84453		objectMap["schedule"] = str.Schedule
84454	}
84455	for k, v := range str.AdditionalProperties {
84456		objectMap[k] = v
84457	}
84458	return json.Marshal(objectMap)
84459}
84460
84461// UnmarshalJSON is the custom unmarshaler for ScheduleTriggerRecurrence struct.
84462func (str *ScheduleTriggerRecurrence) UnmarshalJSON(body []byte) error {
84463	var m map[string]*json.RawMessage
84464	err := json.Unmarshal(body, &m)
84465	if err != nil {
84466		return err
84467	}
84468	for k, v := range m {
84469		switch k {
84470		default:
84471			if v != nil {
84472				var additionalProperties interface{}
84473				err = json.Unmarshal(*v, &additionalProperties)
84474				if err != nil {
84475					return err
84476				}
84477				if str.AdditionalProperties == nil {
84478					str.AdditionalProperties = make(map[string]interface{})
84479				}
84480				str.AdditionalProperties[k] = additionalProperties
84481			}
84482		case "frequency":
84483			if v != nil {
84484				var frequency RecurrenceFrequency
84485				err = json.Unmarshal(*v, &frequency)
84486				if err != nil {
84487					return err
84488				}
84489				str.Frequency = frequency
84490			}
84491		case "interval":
84492			if v != nil {
84493				var interval int32
84494				err = json.Unmarshal(*v, &interval)
84495				if err != nil {
84496					return err
84497				}
84498				str.Interval = &interval
84499			}
84500		case "startTime":
84501			if v != nil {
84502				var startTime date.Time
84503				err = json.Unmarshal(*v, &startTime)
84504				if err != nil {
84505					return err
84506				}
84507				str.StartTime = &startTime
84508			}
84509		case "endTime":
84510			if v != nil {
84511				var endTime date.Time
84512				err = json.Unmarshal(*v, &endTime)
84513				if err != nil {
84514					return err
84515				}
84516				str.EndTime = &endTime
84517			}
84518		case "timeZone":
84519			if v != nil {
84520				var timeZone string
84521				err = json.Unmarshal(*v, &timeZone)
84522				if err != nil {
84523					return err
84524				}
84525				str.TimeZone = &timeZone
84526			}
84527		case "schedule":
84528			if v != nil {
84529				var schedule RecurrenceSchedule
84530				err = json.Unmarshal(*v, &schedule)
84531				if err != nil {
84532					return err
84533				}
84534				str.Schedule = &schedule
84535			}
84536		}
84537	}
84538
84539	return nil
84540}
84541
84542// ScheduleTriggerTypeProperties schedule Trigger properties.
84543type ScheduleTriggerTypeProperties struct {
84544	// Recurrence - Recurrence schedule configuration.
84545	Recurrence *ScheduleTriggerRecurrence `json:"recurrence,omitempty"`
84546}
84547
84548// BasicSecretBase the base definition of a secret type.
84549type BasicSecretBase interface {
84550	AsSecureString() (*SecureString, bool)
84551	AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool)
84552	AsSecretBase() (*SecretBase, bool)
84553}
84554
84555// SecretBase the base definition of a secret type.
84556type SecretBase struct {
84557	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
84558	Type Type `json:"type,omitempty"`
84559}
84560
84561func unmarshalBasicSecretBase(body []byte) (BasicSecretBase, error) {
84562	var m map[string]interface{}
84563	err := json.Unmarshal(body, &m)
84564	if err != nil {
84565		return nil, err
84566	}
84567
84568	switch m["type"] {
84569	case string(TypeSecureString):
84570		var ss SecureString
84571		err := json.Unmarshal(body, &ss)
84572		return ss, err
84573	case string(TypeAzureKeyVaultSecret):
84574		var akvsr AzureKeyVaultSecretReference
84575		err := json.Unmarshal(body, &akvsr)
84576		return akvsr, err
84577	default:
84578		var sb SecretBase
84579		err := json.Unmarshal(body, &sb)
84580		return sb, err
84581	}
84582}
84583func unmarshalBasicSecretBaseArray(body []byte) ([]BasicSecretBase, error) {
84584	var rawMessages []*json.RawMessage
84585	err := json.Unmarshal(body, &rawMessages)
84586	if err != nil {
84587		return nil, err
84588	}
84589
84590	sbArray := make([]BasicSecretBase, len(rawMessages))
84591
84592	for index, rawMessage := range rawMessages {
84593		sb, err := unmarshalBasicSecretBase(*rawMessage)
84594		if err != nil {
84595			return nil, err
84596		}
84597		sbArray[index] = sb
84598	}
84599	return sbArray, nil
84600}
84601
84602// MarshalJSON is the custom marshaler for SecretBase.
84603func (sb SecretBase) MarshalJSON() ([]byte, error) {
84604	sb.Type = TypeSecretBase
84605	objectMap := make(map[string]interface{})
84606	if sb.Type != "" {
84607		objectMap["type"] = sb.Type
84608	}
84609	return json.Marshal(objectMap)
84610}
84611
84612// AsSecureString is the BasicSecretBase implementation for SecretBase.
84613func (sb SecretBase) AsSecureString() (*SecureString, bool) {
84614	return nil, false
84615}
84616
84617// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecretBase.
84618func (sb SecretBase) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
84619	return nil, false
84620}
84621
84622// AsSecretBase is the BasicSecretBase implementation for SecretBase.
84623func (sb SecretBase) AsSecretBase() (*SecretBase, bool) {
84624	return &sb, true
84625}
84626
84627// AsBasicSecretBase is the BasicSecretBase implementation for SecretBase.
84628func (sb SecretBase) AsBasicSecretBase() (BasicSecretBase, bool) {
84629	return &sb, true
84630}
84631
84632// SecureString azure Data Factory secure string definition. The string value will be masked with asterisks
84633// '*' during Get or List API calls.
84634type SecureString struct {
84635	// Value - Value of secure string.
84636	Value *string `json:"value,omitempty"`
84637	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
84638	Type Type `json:"type,omitempty"`
84639}
84640
84641// MarshalJSON is the custom marshaler for SecureString.
84642func (ss SecureString) MarshalJSON() ([]byte, error) {
84643	ss.Type = TypeSecureString
84644	objectMap := make(map[string]interface{})
84645	if ss.Value != nil {
84646		objectMap["value"] = ss.Value
84647	}
84648	if ss.Type != "" {
84649		objectMap["type"] = ss.Type
84650	}
84651	return json.Marshal(objectMap)
84652}
84653
84654// AsSecureString is the BasicSecretBase implementation for SecureString.
84655func (ss SecureString) AsSecureString() (*SecureString, bool) {
84656	return &ss, true
84657}
84658
84659// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecureString.
84660func (ss SecureString) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
84661	return nil, false
84662}
84663
84664// AsSecretBase is the BasicSecretBase implementation for SecureString.
84665func (ss SecureString) AsSecretBase() (*SecretBase, bool) {
84666	return nil, false
84667}
84668
84669// AsBasicSecretBase is the BasicSecretBase implementation for SecureString.
84670func (ss SecureString) AsBasicSecretBase() (BasicSecretBase, bool) {
84671	return &ss, true
84672}
84673
84674// SelfHostedIntegrationRuntime self-hosted integration runtime.
84675type SelfHostedIntegrationRuntime struct {
84676	// LinkedIntegrationRuntimeTypeProperties - When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime.
84677	*LinkedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"`
84678	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84679	AdditionalProperties map[string]interface{} `json:""`
84680	// Description - Integration runtime description.
84681	Description *string `json:"description,omitempty"`
84682	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
84683	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
84684}
84685
84686// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntime.
84687func (shir SelfHostedIntegrationRuntime) MarshalJSON() ([]byte, error) {
84688	shir.Type = TypeSelfHosted
84689	objectMap := make(map[string]interface{})
84690	if shir.LinkedIntegrationRuntimeTypeProperties != nil {
84691		objectMap["typeProperties"] = shir.LinkedIntegrationRuntimeTypeProperties
84692	}
84693	if shir.Description != nil {
84694		objectMap["description"] = shir.Description
84695	}
84696	if shir.Type != "" {
84697		objectMap["type"] = shir.Type
84698	}
84699	for k, v := range shir.AdditionalProperties {
84700		objectMap[k] = v
84701	}
84702	return json.Marshal(objectMap)
84703}
84704
84705// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
84706func (shir SelfHostedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
84707	return &shir, true
84708}
84709
84710// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
84711func (shir SelfHostedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
84712	return nil, false
84713}
84714
84715// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
84716func (shir SelfHostedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
84717	return nil, false
84718}
84719
84720// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
84721func (shir SelfHostedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
84722	return &shir, true
84723}
84724
84725// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntime struct.
84726func (shir *SelfHostedIntegrationRuntime) UnmarshalJSON(body []byte) error {
84727	var m map[string]*json.RawMessage
84728	err := json.Unmarshal(body, &m)
84729	if err != nil {
84730		return err
84731	}
84732	for k, v := range m {
84733		switch k {
84734		case "typeProperties":
84735			if v != nil {
84736				var linkedIntegrationRuntimeTypeProperties LinkedIntegrationRuntimeTypeProperties
84737				err = json.Unmarshal(*v, &linkedIntegrationRuntimeTypeProperties)
84738				if err != nil {
84739					return err
84740				}
84741				shir.LinkedIntegrationRuntimeTypeProperties = &linkedIntegrationRuntimeTypeProperties
84742			}
84743		default:
84744			if v != nil {
84745				var additionalProperties interface{}
84746				err = json.Unmarshal(*v, &additionalProperties)
84747				if err != nil {
84748					return err
84749				}
84750				if shir.AdditionalProperties == nil {
84751					shir.AdditionalProperties = make(map[string]interface{})
84752				}
84753				shir.AdditionalProperties[k] = additionalProperties
84754			}
84755		case "description":
84756			if v != nil {
84757				var description string
84758				err = json.Unmarshal(*v, &description)
84759				if err != nil {
84760					return err
84761				}
84762				shir.Description = &description
84763			}
84764		case "type":
84765			if v != nil {
84766				var typeVar TypeBasicIntegrationRuntime
84767				err = json.Unmarshal(*v, &typeVar)
84768				if err != nil {
84769					return err
84770				}
84771				shir.Type = typeVar
84772			}
84773		}
84774	}
84775
84776	return nil
84777}
84778
84779// SelfHostedIntegrationRuntimeNode properties of Self-hosted integration runtime node.
84780type SelfHostedIntegrationRuntimeNode struct {
84781	autorest.Response `json:"-"`
84782	// NodeName - READ-ONLY; Name of the integration runtime node.
84783	NodeName *string `json:"nodeName,omitempty"`
84784	// MachineName - READ-ONLY; Machine name of the integration runtime node.
84785	MachineName *string `json:"machineName,omitempty"`
84786	// HostServiceURI - READ-ONLY; URI for the host machine of the integration runtime.
84787	HostServiceURI *string `json:"hostServiceUri,omitempty"`
84788	// Status - READ-ONLY; Status of the integration runtime node. Possible values include: 'SelfHostedIntegrationRuntimeNodeStatusNeedRegistration', 'SelfHostedIntegrationRuntimeNodeStatusOnline', 'SelfHostedIntegrationRuntimeNodeStatusLimited', 'SelfHostedIntegrationRuntimeNodeStatusOffline', 'SelfHostedIntegrationRuntimeNodeStatusUpgrading', 'SelfHostedIntegrationRuntimeNodeStatusInitializing', 'SelfHostedIntegrationRuntimeNodeStatusInitializeFailed'
84789	Status SelfHostedIntegrationRuntimeNodeStatus `json:"status,omitempty"`
84790	// Capabilities - READ-ONLY; The integration runtime capabilities dictionary
84791	Capabilities map[string]*string `json:"capabilities"`
84792	// VersionStatus - READ-ONLY; Status of the integration runtime node version.
84793	VersionStatus *string `json:"versionStatus,omitempty"`
84794	// Version - READ-ONLY; Version of the integration runtime node.
84795	Version *string `json:"version,omitempty"`
84796	// RegisterTime - READ-ONLY; The time at which the integration runtime node was registered in ISO8601 format.
84797	RegisterTime *date.Time `json:"registerTime,omitempty"`
84798	// LastConnectTime - READ-ONLY; The most recent time at which the integration runtime was connected in ISO8601 format.
84799	LastConnectTime *date.Time `json:"lastConnectTime,omitempty"`
84800	// ExpiryTime - READ-ONLY; The time at which the integration runtime will expire in ISO8601 format.
84801	ExpiryTime *date.Time `json:"expiryTime,omitempty"`
84802	// LastStartTime - READ-ONLY; The time the node last started up.
84803	LastStartTime *date.Time `json:"lastStartTime,omitempty"`
84804	// LastStopTime - READ-ONLY; The integration runtime node last stop time.
84805	LastStopTime *date.Time `json:"lastStopTime,omitempty"`
84806	// LastUpdateResult - READ-ONLY; The result of the last integration runtime node update. Possible values include: 'Succeed', 'Fail'
84807	LastUpdateResult IntegrationRuntimeUpdateResult `json:"lastUpdateResult,omitempty"`
84808	// LastStartUpdateTime - READ-ONLY; The last time for the integration runtime node update start.
84809	LastStartUpdateTime *date.Time `json:"lastStartUpdateTime,omitempty"`
84810	// LastEndUpdateTime - READ-ONLY; The last time for the integration runtime node update end.
84811	LastEndUpdateTime *date.Time `json:"lastEndUpdateTime,omitempty"`
84812	// IsActiveDispatcher - READ-ONLY; Indicates whether this node is the active dispatcher for integration runtime requests.
84813	IsActiveDispatcher *bool `json:"isActiveDispatcher,omitempty"`
84814	// ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node.
84815	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
84816	// MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime.
84817	MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"`
84818}
84819
84820// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeNode.
84821func (shirn SelfHostedIntegrationRuntimeNode) MarshalJSON() ([]byte, error) {
84822	objectMap := make(map[string]interface{})
84823	return json.Marshal(objectMap)
84824}
84825
84826// SelfHostedIntegrationRuntimeStatus self-hosted integration runtime status.
84827type SelfHostedIntegrationRuntimeStatus struct {
84828	// SelfHostedIntegrationRuntimeStatusTypeProperties - Self-hosted integration runtime status type properties.
84829	*SelfHostedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"`
84830	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84831	AdditionalProperties map[string]interface{} `json:""`
84832	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
84833	DataFactoryName *string `json:"dataFactoryName,omitempty"`
84834	// State - READ-ONLY; The state of integration runtime. Possible values include: 'Initial', 'Stopped', 'Started', 'Starting', 'Stopping', 'NeedRegistration', 'Online', 'Limited', 'Offline'
84835	State IntegrationRuntimeState `json:"state,omitempty"`
84836	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
84837	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
84838}
84839
84840// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeStatus.
84841func (shirs SelfHostedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
84842	shirs.Type = TypeBasicIntegrationRuntimeStatusTypeSelfHosted
84843	objectMap := make(map[string]interface{})
84844	if shirs.SelfHostedIntegrationRuntimeStatusTypeProperties != nil {
84845		objectMap["typeProperties"] = shirs.SelfHostedIntegrationRuntimeStatusTypeProperties
84846	}
84847	if shirs.Type != "" {
84848		objectMap["type"] = shirs.Type
84849	}
84850	for k, v := range shirs.AdditionalProperties {
84851		objectMap[k] = v
84852	}
84853	return json.Marshal(objectMap)
84854}
84855
84856// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
84857func (shirs SelfHostedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
84858	return &shirs, true
84859}
84860
84861// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
84862func (shirs SelfHostedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
84863	return nil, false
84864}
84865
84866// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
84867func (shirs SelfHostedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
84868	return nil, false
84869}
84870
84871// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
84872func (shirs SelfHostedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
84873	return &shirs, true
84874}
84875
84876// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntimeStatus struct.
84877func (shirs *SelfHostedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
84878	var m map[string]*json.RawMessage
84879	err := json.Unmarshal(body, &m)
84880	if err != nil {
84881		return err
84882	}
84883	for k, v := range m {
84884		switch k {
84885		case "typeProperties":
84886			if v != nil {
84887				var selfHostedIntegrationRuntimeStatusTypeProperties SelfHostedIntegrationRuntimeStatusTypeProperties
84888				err = json.Unmarshal(*v, &selfHostedIntegrationRuntimeStatusTypeProperties)
84889				if err != nil {
84890					return err
84891				}
84892				shirs.SelfHostedIntegrationRuntimeStatusTypeProperties = &selfHostedIntegrationRuntimeStatusTypeProperties
84893			}
84894		default:
84895			if v != nil {
84896				var additionalProperties interface{}
84897				err = json.Unmarshal(*v, &additionalProperties)
84898				if err != nil {
84899					return err
84900				}
84901				if shirs.AdditionalProperties == nil {
84902					shirs.AdditionalProperties = make(map[string]interface{})
84903				}
84904				shirs.AdditionalProperties[k] = additionalProperties
84905			}
84906		case "dataFactoryName":
84907			if v != nil {
84908				var dataFactoryName string
84909				err = json.Unmarshal(*v, &dataFactoryName)
84910				if err != nil {
84911					return err
84912				}
84913				shirs.DataFactoryName = &dataFactoryName
84914			}
84915		case "state":
84916			if v != nil {
84917				var state IntegrationRuntimeState
84918				err = json.Unmarshal(*v, &state)
84919				if err != nil {
84920					return err
84921				}
84922				shirs.State = state
84923			}
84924		case "type":
84925			if v != nil {
84926				var typeVar TypeBasicIntegrationRuntimeStatus
84927				err = json.Unmarshal(*v, &typeVar)
84928				if err != nil {
84929					return err
84930				}
84931				shirs.Type = typeVar
84932			}
84933		}
84934	}
84935
84936	return nil
84937}
84938
84939// SelfHostedIntegrationRuntimeStatusTypeProperties self-hosted integration runtime status type properties.
84940type SelfHostedIntegrationRuntimeStatusTypeProperties struct {
84941	// CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format.
84942	CreateTime *date.Time `json:"createTime,omitempty"`
84943	// TaskQueueID - READ-ONLY; The task queue id of the integration runtime.
84944	TaskQueueID *string `json:"taskQueueId,omitempty"`
84945	// 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'
84946	InternalChannelEncryption IntegrationRuntimeInternalChannelEncryptionMode `json:"internalChannelEncryption,omitempty"`
84947	// Version - READ-ONLY; Version of the integration runtime.
84948	Version *string `json:"version,omitempty"`
84949	// Nodes - The list of nodes for this integration runtime.
84950	Nodes *[]SelfHostedIntegrationRuntimeNode `json:"nodes,omitempty"`
84951	// ScheduledUpdateDate - READ-ONLY; The date at which the integration runtime will be scheduled to update, in ISO8601 format.
84952	ScheduledUpdateDate *date.Time `json:"scheduledUpdateDate,omitempty"`
84953	// UpdateDelayOffset - READ-ONLY; The time in the date scheduled by service to update the integration runtime, e.g., PT03H is 3 hours
84954	UpdateDelayOffset *string `json:"updateDelayOffset,omitempty"`
84955	// LocalTimeZoneOffset - READ-ONLY; The local time zone offset in hours.
84956	LocalTimeZoneOffset *string `json:"localTimeZoneOffset,omitempty"`
84957	// Capabilities - READ-ONLY; Object with additional information about integration runtime capabilities.
84958	Capabilities map[string]*string `json:"capabilities"`
84959	// ServiceUrls - READ-ONLY; The URLs for the services used in integration runtime backend service.
84960	ServiceUrls *[]string `json:"serviceUrls,omitempty"`
84961	// AutoUpdate - READ-ONLY; Whether Self-hosted integration runtime auto update has been turned on. Possible values include: 'On', 'Off'
84962	AutoUpdate IntegrationRuntimeAutoUpdate `json:"autoUpdate,omitempty"`
84963	// VersionStatus - READ-ONLY; Status of the integration runtime version.
84964	VersionStatus *string `json:"versionStatus,omitempty"`
84965	// Links - The list of linked integration runtimes that are created to share with this integration runtime.
84966	Links *[]LinkedIntegrationRuntime `json:"links,omitempty"`
84967}
84968
84969// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeStatusTypeProperties.
84970func (shirstp SelfHostedIntegrationRuntimeStatusTypeProperties) MarshalJSON() ([]byte, error) {
84971	objectMap := make(map[string]interface{})
84972	if shirstp.Nodes != nil {
84973		objectMap["nodes"] = shirstp.Nodes
84974	}
84975	if shirstp.Links != nil {
84976		objectMap["links"] = shirstp.Links
84977	}
84978	return json.Marshal(objectMap)
84979}
84980
84981// ServiceNowLinkedService serviceNow server linked service.
84982type ServiceNowLinkedService struct {
84983	// ServiceNowLinkedServiceTypeProperties - ServiceNow server linked service properties.
84984	*ServiceNowLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
84985	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84986	AdditionalProperties map[string]interface{} `json:""`
84987	// ConnectVia - The integration runtime reference.
84988	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
84989	// Description - Linked service description.
84990	Description *string `json:"description,omitempty"`
84991	// Parameters - Parameters for linked service.
84992	Parameters map[string]*ParameterSpecification `json:"parameters"`
84993	// Annotations - List of tags that can be used for describing the Dataset.
84994	Annotations *[]interface{} `json:"annotations,omitempty"`
84995	// 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'
84996	Type TypeBasicLinkedService `json:"type,omitempty"`
84997}
84998
84999// MarshalJSON is the custom marshaler for ServiceNowLinkedService.
85000func (snls ServiceNowLinkedService) MarshalJSON() ([]byte, error) {
85001	snls.Type = TypeServiceNow
85002	objectMap := make(map[string]interface{})
85003	if snls.ServiceNowLinkedServiceTypeProperties != nil {
85004		objectMap["typeProperties"] = snls.ServiceNowLinkedServiceTypeProperties
85005	}
85006	if snls.ConnectVia != nil {
85007		objectMap["connectVia"] = snls.ConnectVia
85008	}
85009	if snls.Description != nil {
85010		objectMap["description"] = snls.Description
85011	}
85012	if snls.Parameters != nil {
85013		objectMap["parameters"] = snls.Parameters
85014	}
85015	if snls.Annotations != nil {
85016		objectMap["annotations"] = snls.Annotations
85017	}
85018	if snls.Type != "" {
85019		objectMap["type"] = snls.Type
85020	}
85021	for k, v := range snls.AdditionalProperties {
85022		objectMap[k] = v
85023	}
85024	return json.Marshal(objectMap)
85025}
85026
85027// AsResponsysLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85028func (snls ServiceNowLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
85029	return nil, false
85030}
85031
85032// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85033func (snls ServiceNowLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
85034	return nil, false
85035}
85036
85037// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85038func (snls ServiceNowLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
85039	return nil, false
85040}
85041
85042// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85043func (snls ServiceNowLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
85044	return nil, false
85045}
85046
85047// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85048func (snls ServiceNowLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
85049	return nil, false
85050}
85051
85052// AsNetezzaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85053func (snls ServiceNowLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
85054	return nil, false
85055}
85056
85057// AsVerticaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85058func (snls ServiceNowLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
85059	return nil, false
85060}
85061
85062// AsZohoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85063func (snls ServiceNowLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
85064	return nil, false
85065}
85066
85067// AsXeroLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85068func (snls ServiceNowLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
85069	return nil, false
85070}
85071
85072// AsSquareLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85073func (snls ServiceNowLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
85074	return nil, false
85075}
85076
85077// AsSparkLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85078func (snls ServiceNowLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
85079	return nil, false
85080}
85081
85082// AsShopifyLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85083func (snls ServiceNowLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
85084	return nil, false
85085}
85086
85087// AsServiceNowLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85088func (snls ServiceNowLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
85089	return &snls, true
85090}
85091
85092// AsQuickBooksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85093func (snls ServiceNowLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
85094	return nil, false
85095}
85096
85097// AsPrestoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85098func (snls ServiceNowLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
85099	return nil, false
85100}
85101
85102// AsPhoenixLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85103func (snls ServiceNowLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
85104	return nil, false
85105}
85106
85107// AsPaypalLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85108func (snls ServiceNowLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
85109	return nil, false
85110}
85111
85112// AsMarketoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85113func (snls ServiceNowLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
85114	return nil, false
85115}
85116
85117// AsMariaDBLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85118func (snls ServiceNowLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
85119	return nil, false
85120}
85121
85122// AsMagentoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85123func (snls ServiceNowLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
85124	return nil, false
85125}
85126
85127// AsJiraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85128func (snls ServiceNowLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
85129	return nil, false
85130}
85131
85132// AsImpalaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85133func (snls ServiceNowLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
85134	return nil, false
85135}
85136
85137// AsHubspotLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85138func (snls ServiceNowLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
85139	return nil, false
85140}
85141
85142// AsHiveLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85143func (snls ServiceNowLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
85144	return nil, false
85145}
85146
85147// AsHBaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85148func (snls ServiceNowLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
85149	return nil, false
85150}
85151
85152// AsGreenplumLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85153func (snls ServiceNowLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
85154	return nil, false
85155}
85156
85157// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85158func (snls ServiceNowLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
85159	return nil, false
85160}
85161
85162// AsEloquaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85163func (snls ServiceNowLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
85164	return nil, false
85165}
85166
85167// AsDrillLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85168func (snls ServiceNowLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
85169	return nil, false
85170}
85171
85172// AsCouchbaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85173func (snls ServiceNowLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
85174	return nil, false
85175}
85176
85177// AsConcurLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85178func (snls ServiceNowLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
85179	return nil, false
85180}
85181
85182// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85183func (snls ServiceNowLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
85184	return nil, false
85185}
85186
85187// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85188func (snls ServiceNowLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
85189	return nil, false
85190}
85191
85192// AsSapHanaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85193func (snls ServiceNowLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
85194	return nil, false
85195}
85196
85197// AsSapBWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85198func (snls ServiceNowLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
85199	return nil, false
85200}
85201
85202// AsSftpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85203func (snls ServiceNowLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
85204	return nil, false
85205}
85206
85207// AsFtpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85208func (snls ServiceNowLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
85209	return nil, false
85210}
85211
85212// AsHTTPLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85213func (snls ServiceNowLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
85214	return nil, false
85215}
85216
85217// AsAzureSearchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85218func (snls ServiceNowLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
85219	return nil, false
85220}
85221
85222// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85223func (snls ServiceNowLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
85224	return nil, false
85225}
85226
85227// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85228func (snls ServiceNowLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
85229	return nil, false
85230}
85231
85232// AsAmazonS3LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85233func (snls ServiceNowLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
85234	return nil, false
85235}
85236
85237// AsSapEccLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85238func (snls ServiceNowLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
85239	return nil, false
85240}
85241
85242// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85243func (snls ServiceNowLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
85244	return nil, false
85245}
85246
85247// AsSalesforceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85248func (snls ServiceNowLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
85249	return nil, false
85250}
85251
85252// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85253func (snls ServiceNowLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
85254	return nil, false
85255}
85256
85257// AsMongoDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85258func (snls ServiceNowLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
85259	return nil, false
85260}
85261
85262// AsCassandraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85263func (snls ServiceNowLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
85264	return nil, false
85265}
85266
85267// AsWebLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85268func (snls ServiceNowLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
85269	return nil, false
85270}
85271
85272// AsODataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85273func (snls ServiceNowLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
85274	return nil, false
85275}
85276
85277// AsHdfsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85278func (snls ServiceNowLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
85279	return nil, false
85280}
85281
85282// AsOdbcLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85283func (snls ServiceNowLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
85284	return nil, false
85285}
85286
85287// AsAzureMLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85288func (snls ServiceNowLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
85289	return nil, false
85290}
85291
85292// AsTeradataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85293func (snls ServiceNowLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
85294	return nil, false
85295}
85296
85297// AsDb2LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85298func (snls ServiceNowLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
85299	return nil, false
85300}
85301
85302// AsSybaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85303func (snls ServiceNowLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
85304	return nil, false
85305}
85306
85307// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85308func (snls ServiceNowLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
85309	return nil, false
85310}
85311
85312// AsMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85313func (snls ServiceNowLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
85314	return nil, false
85315}
85316
85317// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85318func (snls ServiceNowLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
85319	return nil, false
85320}
85321
85322// AsOracleLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85323func (snls ServiceNowLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
85324	return nil, false
85325}
85326
85327// AsFileServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85328func (snls ServiceNowLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
85329	return nil, false
85330}
85331
85332// AsHDInsightLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85333func (snls ServiceNowLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
85334	return nil, false
85335}
85336
85337// AsDynamicsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85338func (snls ServiceNowLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
85339	return nil, false
85340}
85341
85342// AsCosmosDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85343func (snls ServiceNowLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
85344	return nil, false
85345}
85346
85347// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85348func (snls ServiceNowLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
85349	return nil, false
85350}
85351
85352// AsAzureBatchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85353func (snls ServiceNowLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
85354	return nil, false
85355}
85356
85357// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85358func (snls ServiceNowLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
85359	return nil, false
85360}
85361
85362// AsSQLServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85363func (snls ServiceNowLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
85364	return nil, false
85365}
85366
85367// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85368func (snls ServiceNowLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
85369	return nil, false
85370}
85371
85372// AsAzureStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85373func (snls ServiceNowLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
85374	return nil, false
85375}
85376
85377// AsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85378func (snls ServiceNowLinkedService) AsLinkedService() (*LinkedService, bool) {
85379	return nil, false
85380}
85381
85382// AsBasicLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
85383func (snls ServiceNowLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
85384	return &snls, true
85385}
85386
85387// UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedService struct.
85388func (snls *ServiceNowLinkedService) UnmarshalJSON(body []byte) error {
85389	var m map[string]*json.RawMessage
85390	err := json.Unmarshal(body, &m)
85391	if err != nil {
85392		return err
85393	}
85394	for k, v := range m {
85395		switch k {
85396		case "typeProperties":
85397			if v != nil {
85398				var serviceNowLinkedServiceTypeProperties ServiceNowLinkedServiceTypeProperties
85399				err = json.Unmarshal(*v, &serviceNowLinkedServiceTypeProperties)
85400				if err != nil {
85401					return err
85402				}
85403				snls.ServiceNowLinkedServiceTypeProperties = &serviceNowLinkedServiceTypeProperties
85404			}
85405		default:
85406			if v != nil {
85407				var additionalProperties interface{}
85408				err = json.Unmarshal(*v, &additionalProperties)
85409				if err != nil {
85410					return err
85411				}
85412				if snls.AdditionalProperties == nil {
85413					snls.AdditionalProperties = make(map[string]interface{})
85414				}
85415				snls.AdditionalProperties[k] = additionalProperties
85416			}
85417		case "connectVia":
85418			if v != nil {
85419				var connectVia IntegrationRuntimeReference
85420				err = json.Unmarshal(*v, &connectVia)
85421				if err != nil {
85422					return err
85423				}
85424				snls.ConnectVia = &connectVia
85425			}
85426		case "description":
85427			if v != nil {
85428				var description string
85429				err = json.Unmarshal(*v, &description)
85430				if err != nil {
85431					return err
85432				}
85433				snls.Description = &description
85434			}
85435		case "parameters":
85436			if v != nil {
85437				var parameters map[string]*ParameterSpecification
85438				err = json.Unmarshal(*v, &parameters)
85439				if err != nil {
85440					return err
85441				}
85442				snls.Parameters = parameters
85443			}
85444		case "annotations":
85445			if v != nil {
85446				var annotations []interface{}
85447				err = json.Unmarshal(*v, &annotations)
85448				if err != nil {
85449					return err
85450				}
85451				snls.Annotations = &annotations
85452			}
85453		case "type":
85454			if v != nil {
85455				var typeVar TypeBasicLinkedService
85456				err = json.Unmarshal(*v, &typeVar)
85457				if err != nil {
85458					return err
85459				}
85460				snls.Type = typeVar
85461			}
85462		}
85463	}
85464
85465	return nil
85466}
85467
85468// ServiceNowLinkedServiceTypeProperties serviceNow server linked service properties.
85469type ServiceNowLinkedServiceTypeProperties struct {
85470	// Endpoint - The endpoint of the ServiceNow server. (i.e. <instance>.service-now.com)
85471	Endpoint interface{} `json:"endpoint,omitempty"`
85472	// AuthenticationType - The authentication type to use. Possible values include: 'ServiceNowAuthenticationTypeBasic', 'ServiceNowAuthenticationTypeOAuth2'
85473	AuthenticationType ServiceNowAuthenticationType `json:"authenticationType,omitempty"`
85474	// Username - The user name used to connect to the ServiceNow server for Basic and OAuth2 authentication.
85475	Username interface{} `json:"username,omitempty"`
85476	// Password - The password corresponding to the user name for Basic and OAuth2 authentication.
85477	Password BasicSecretBase `json:"password,omitempty"`
85478	// ClientID - The client id for OAuth2 authentication.
85479	ClientID interface{} `json:"clientId,omitempty"`
85480	// ClientSecret - The client secret for OAuth2 authentication.
85481	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
85482	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
85483	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
85484	// 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.
85485	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
85486	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
85487	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
85488	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
85489	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
85490}
85491
85492// UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedServiceTypeProperties struct.
85493func (snlstp *ServiceNowLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
85494	var m map[string]*json.RawMessage
85495	err := json.Unmarshal(body, &m)
85496	if err != nil {
85497		return err
85498	}
85499	for k, v := range m {
85500		switch k {
85501		case "endpoint":
85502			if v != nil {
85503				var endpoint interface{}
85504				err = json.Unmarshal(*v, &endpoint)
85505				if err != nil {
85506					return err
85507				}
85508				snlstp.Endpoint = endpoint
85509			}
85510		case "authenticationType":
85511			if v != nil {
85512				var authenticationType ServiceNowAuthenticationType
85513				err = json.Unmarshal(*v, &authenticationType)
85514				if err != nil {
85515					return err
85516				}
85517				snlstp.AuthenticationType = authenticationType
85518			}
85519		case "username":
85520			if v != nil {
85521				var username interface{}
85522				err = json.Unmarshal(*v, &username)
85523				if err != nil {
85524					return err
85525				}
85526				snlstp.Username = username
85527			}
85528		case "password":
85529			if v != nil {
85530				password, err := unmarshalBasicSecretBase(*v)
85531				if err != nil {
85532					return err
85533				}
85534				snlstp.Password = password
85535			}
85536		case "clientId":
85537			if v != nil {
85538				var clientID interface{}
85539				err = json.Unmarshal(*v, &clientID)
85540				if err != nil {
85541					return err
85542				}
85543				snlstp.ClientID = clientID
85544			}
85545		case "clientSecret":
85546			if v != nil {
85547				clientSecret, err := unmarshalBasicSecretBase(*v)
85548				if err != nil {
85549					return err
85550				}
85551				snlstp.ClientSecret = clientSecret
85552			}
85553		case "useEncryptedEndpoints":
85554			if v != nil {
85555				var useEncryptedEndpoints interface{}
85556				err = json.Unmarshal(*v, &useEncryptedEndpoints)
85557				if err != nil {
85558					return err
85559				}
85560				snlstp.UseEncryptedEndpoints = useEncryptedEndpoints
85561			}
85562		case "useHostVerification":
85563			if v != nil {
85564				var useHostVerification interface{}
85565				err = json.Unmarshal(*v, &useHostVerification)
85566				if err != nil {
85567					return err
85568				}
85569				snlstp.UseHostVerification = useHostVerification
85570			}
85571		case "usePeerVerification":
85572			if v != nil {
85573				var usePeerVerification interface{}
85574				err = json.Unmarshal(*v, &usePeerVerification)
85575				if err != nil {
85576					return err
85577				}
85578				snlstp.UsePeerVerification = usePeerVerification
85579			}
85580		case "encryptedCredential":
85581			if v != nil {
85582				var encryptedCredential interface{}
85583				err = json.Unmarshal(*v, &encryptedCredential)
85584				if err != nil {
85585					return err
85586				}
85587				snlstp.EncryptedCredential = encryptedCredential
85588			}
85589		}
85590	}
85591
85592	return nil
85593}
85594
85595// ServiceNowObjectDataset serviceNow server dataset.
85596type ServiceNowObjectDataset struct {
85597	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
85598	AdditionalProperties map[string]interface{} `json:""`
85599	// Description - Dataset description.
85600	Description *string `json:"description,omitempty"`
85601	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
85602	Structure interface{} `json:"structure,omitempty"`
85603	// LinkedServiceName - Linked service reference.
85604	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
85605	// Parameters - Parameters for dataset.
85606	Parameters map[string]*ParameterSpecification `json:"parameters"`
85607	// Annotations - List of tags that can be used for describing the Dataset.
85608	Annotations *[]interface{} `json:"annotations,omitempty"`
85609	// 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'
85610	Type TypeBasicDataset `json:"type,omitempty"`
85611}
85612
85613// MarshalJSON is the custom marshaler for ServiceNowObjectDataset.
85614func (snod ServiceNowObjectDataset) MarshalJSON() ([]byte, error) {
85615	snod.Type = TypeServiceNowObject
85616	objectMap := make(map[string]interface{})
85617	if snod.Description != nil {
85618		objectMap["description"] = snod.Description
85619	}
85620	if snod.Structure != nil {
85621		objectMap["structure"] = snod.Structure
85622	}
85623	if snod.LinkedServiceName != nil {
85624		objectMap["linkedServiceName"] = snod.LinkedServiceName
85625	}
85626	if snod.Parameters != nil {
85627		objectMap["parameters"] = snod.Parameters
85628	}
85629	if snod.Annotations != nil {
85630		objectMap["annotations"] = snod.Annotations
85631	}
85632	if snod.Type != "" {
85633		objectMap["type"] = snod.Type
85634	}
85635	for k, v := range snod.AdditionalProperties {
85636		objectMap[k] = v
85637	}
85638	return json.Marshal(objectMap)
85639}
85640
85641// AsResponsysObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85642func (snod ServiceNowObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
85643	return nil, false
85644}
85645
85646// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85647func (snod ServiceNowObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
85648	return nil, false
85649}
85650
85651// AsVerticaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85652func (snod ServiceNowObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
85653	return nil, false
85654}
85655
85656// AsNetezzaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85657func (snod ServiceNowObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
85658	return nil, false
85659}
85660
85661// AsZohoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85662func (snod ServiceNowObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
85663	return nil, false
85664}
85665
85666// AsXeroObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85667func (snod ServiceNowObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
85668	return nil, false
85669}
85670
85671// AsSquareObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85672func (snod ServiceNowObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
85673	return nil, false
85674}
85675
85676// AsSparkObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85677func (snod ServiceNowObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
85678	return nil, false
85679}
85680
85681// AsShopifyObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85682func (snod ServiceNowObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
85683	return nil, false
85684}
85685
85686// AsServiceNowObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85687func (snod ServiceNowObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
85688	return &snod, true
85689}
85690
85691// AsQuickBooksObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85692func (snod ServiceNowObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
85693	return nil, false
85694}
85695
85696// AsPrestoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85697func (snod ServiceNowObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
85698	return nil, false
85699}
85700
85701// AsPhoenixObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85702func (snod ServiceNowObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
85703	return nil, false
85704}
85705
85706// AsPaypalObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85707func (snod ServiceNowObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
85708	return nil, false
85709}
85710
85711// AsMarketoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85712func (snod ServiceNowObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
85713	return nil, false
85714}
85715
85716// AsMariaDBTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85717func (snod ServiceNowObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
85718	return nil, false
85719}
85720
85721// AsMagentoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85722func (snod ServiceNowObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
85723	return nil, false
85724}
85725
85726// AsJiraObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85727func (snod ServiceNowObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
85728	return nil, false
85729}
85730
85731// AsImpalaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85732func (snod ServiceNowObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
85733	return nil, false
85734}
85735
85736// AsHubspotObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85737func (snod ServiceNowObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
85738	return nil, false
85739}
85740
85741// AsHiveObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85742func (snod ServiceNowObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
85743	return nil, false
85744}
85745
85746// AsHBaseObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85747func (snod ServiceNowObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
85748	return nil, false
85749}
85750
85751// AsGreenplumTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85752func (snod ServiceNowObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
85753	return nil, false
85754}
85755
85756// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85757func (snod ServiceNowObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
85758	return nil, false
85759}
85760
85761// AsEloquaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85762func (snod ServiceNowObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
85763	return nil, false
85764}
85765
85766// AsDrillTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85767func (snod ServiceNowObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
85768	return nil, false
85769}
85770
85771// AsCouchbaseTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85772func (snod ServiceNowObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
85773	return nil, false
85774}
85775
85776// AsConcurObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85777func (snod ServiceNowObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
85778	return nil, false
85779}
85780
85781// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85782func (snod ServiceNowObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
85783	return nil, false
85784}
85785
85786// AsAmazonMWSObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85787func (snod ServiceNowObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
85788	return nil, false
85789}
85790
85791// AsHTTPDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85792func (snod ServiceNowObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
85793	return nil, false
85794}
85795
85796// AsAzureSearchIndexDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85797func (snod ServiceNowObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
85798	return nil, false
85799}
85800
85801// AsWebTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85802func (snod ServiceNowObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
85803	return nil, false
85804}
85805
85806// AsSQLServerTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85807func (snod ServiceNowObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
85808	return nil, false
85809}
85810
85811// AsSapEccResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85812func (snod ServiceNowObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
85813	return nil, false
85814}
85815
85816// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85817func (snod ServiceNowObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
85818	return nil, false
85819}
85820
85821// AsSalesforceObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85822func (snod ServiceNowObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
85823	return nil, false
85824}
85825
85826// AsRelationalTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85827func (snod ServiceNowObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
85828	return nil, false
85829}
85830
85831// AsAzureMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85832func (snod ServiceNowObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
85833	return nil, false
85834}
85835
85836// AsOracleTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85837func (snod ServiceNowObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
85838	return nil, false
85839}
85840
85841// AsODataResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85842func (snod ServiceNowObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
85843	return nil, false
85844}
85845
85846// AsMongoDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85847func (snod ServiceNowObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
85848	return nil, false
85849}
85850
85851// AsFileShareDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85852func (snod ServiceNowObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
85853	return nil, false
85854}
85855
85856// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85857func (snod ServiceNowObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
85858	return nil, false
85859}
85860
85861// AsDynamicsEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85862func (snod ServiceNowObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
85863	return nil, false
85864}
85865
85866// AsDocumentDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85867func (snod ServiceNowObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
85868	return nil, false
85869}
85870
85871// AsCustomDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85872func (snod ServiceNowObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
85873	return nil, false
85874}
85875
85876// AsCassandraTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85877func (snod ServiceNowObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
85878	return nil, false
85879}
85880
85881// AsAzureSQLDWTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85882func (snod ServiceNowObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
85883	return nil, false
85884}
85885
85886// AsAzureSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85887func (snod ServiceNowObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
85888	return nil, false
85889}
85890
85891// AsAzureTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85892func (snod ServiceNowObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
85893	return nil, false
85894}
85895
85896// AsAzureBlobDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85897func (snod ServiceNowObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
85898	return nil, false
85899}
85900
85901// AsAmazonS3Dataset is the BasicDataset implementation for ServiceNowObjectDataset.
85902func (snod ServiceNowObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
85903	return nil, false
85904}
85905
85906// AsDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85907func (snod ServiceNowObjectDataset) AsDataset() (*Dataset, bool) {
85908	return nil, false
85909}
85910
85911// AsBasicDataset is the BasicDataset implementation for ServiceNowObjectDataset.
85912func (snod ServiceNowObjectDataset) AsBasicDataset() (BasicDataset, bool) {
85913	return &snod, true
85914}
85915
85916// UnmarshalJSON is the custom unmarshaler for ServiceNowObjectDataset struct.
85917func (snod *ServiceNowObjectDataset) UnmarshalJSON(body []byte) error {
85918	var m map[string]*json.RawMessage
85919	err := json.Unmarshal(body, &m)
85920	if err != nil {
85921		return err
85922	}
85923	for k, v := range m {
85924		switch k {
85925		default:
85926			if v != nil {
85927				var additionalProperties interface{}
85928				err = json.Unmarshal(*v, &additionalProperties)
85929				if err != nil {
85930					return err
85931				}
85932				if snod.AdditionalProperties == nil {
85933					snod.AdditionalProperties = make(map[string]interface{})
85934				}
85935				snod.AdditionalProperties[k] = additionalProperties
85936			}
85937		case "description":
85938			if v != nil {
85939				var description string
85940				err = json.Unmarshal(*v, &description)
85941				if err != nil {
85942					return err
85943				}
85944				snod.Description = &description
85945			}
85946		case "structure":
85947			if v != nil {
85948				var structure interface{}
85949				err = json.Unmarshal(*v, &structure)
85950				if err != nil {
85951					return err
85952				}
85953				snod.Structure = structure
85954			}
85955		case "linkedServiceName":
85956			if v != nil {
85957				var linkedServiceName LinkedServiceReference
85958				err = json.Unmarshal(*v, &linkedServiceName)
85959				if err != nil {
85960					return err
85961				}
85962				snod.LinkedServiceName = &linkedServiceName
85963			}
85964		case "parameters":
85965			if v != nil {
85966				var parameters map[string]*ParameterSpecification
85967				err = json.Unmarshal(*v, &parameters)
85968				if err != nil {
85969					return err
85970				}
85971				snod.Parameters = parameters
85972			}
85973		case "annotations":
85974			if v != nil {
85975				var annotations []interface{}
85976				err = json.Unmarshal(*v, &annotations)
85977				if err != nil {
85978					return err
85979				}
85980				snod.Annotations = &annotations
85981			}
85982		case "type":
85983			if v != nil {
85984				var typeVar TypeBasicDataset
85985				err = json.Unmarshal(*v, &typeVar)
85986				if err != nil {
85987					return err
85988				}
85989				snod.Type = typeVar
85990			}
85991		}
85992	}
85993
85994	return nil
85995}
85996
85997// ServiceNowSource a copy activity ServiceNow server source.
85998type ServiceNowSource struct {
85999	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
86000	Query interface{} `json:"query,omitempty"`
86001	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
86002	AdditionalProperties map[string]interface{} `json:""`
86003	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
86004	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
86005	// 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])).
86006	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
86007	// 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'
86008	Type TypeBasicCopySource `json:"type,omitempty"`
86009}
86010
86011// MarshalJSON is the custom marshaler for ServiceNowSource.
86012func (sns ServiceNowSource) MarshalJSON() ([]byte, error) {
86013	sns.Type = TypeServiceNowSource
86014	objectMap := make(map[string]interface{})
86015	if sns.Query != nil {
86016		objectMap["query"] = sns.Query
86017	}
86018	if sns.SourceRetryCount != nil {
86019		objectMap["sourceRetryCount"] = sns.SourceRetryCount
86020	}
86021	if sns.SourceRetryWait != nil {
86022		objectMap["sourceRetryWait"] = sns.SourceRetryWait
86023	}
86024	if sns.Type != "" {
86025		objectMap["type"] = sns.Type
86026	}
86027	for k, v := range sns.AdditionalProperties {
86028		objectMap[k] = v
86029	}
86030	return json.Marshal(objectMap)
86031}
86032
86033// AsAmazonRedshiftSource is the BasicCopySource implementation for ServiceNowSource.
86034func (sns ServiceNowSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
86035	return nil, false
86036}
86037
86038// AsResponsysSource is the BasicCopySource implementation for ServiceNowSource.
86039func (sns ServiceNowSource) AsResponsysSource() (*ResponsysSource, bool) {
86040	return nil, false
86041}
86042
86043// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ServiceNowSource.
86044func (sns ServiceNowSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
86045	return nil, false
86046}
86047
86048// AsVerticaSource is the BasicCopySource implementation for ServiceNowSource.
86049func (sns ServiceNowSource) AsVerticaSource() (*VerticaSource, bool) {
86050	return nil, false
86051}
86052
86053// AsNetezzaSource is the BasicCopySource implementation for ServiceNowSource.
86054func (sns ServiceNowSource) AsNetezzaSource() (*NetezzaSource, bool) {
86055	return nil, false
86056}
86057
86058// AsZohoSource is the BasicCopySource implementation for ServiceNowSource.
86059func (sns ServiceNowSource) AsZohoSource() (*ZohoSource, bool) {
86060	return nil, false
86061}
86062
86063// AsXeroSource is the BasicCopySource implementation for ServiceNowSource.
86064func (sns ServiceNowSource) AsXeroSource() (*XeroSource, bool) {
86065	return nil, false
86066}
86067
86068// AsSquareSource is the BasicCopySource implementation for ServiceNowSource.
86069func (sns ServiceNowSource) AsSquareSource() (*SquareSource, bool) {
86070	return nil, false
86071}
86072
86073// AsSparkSource is the BasicCopySource implementation for ServiceNowSource.
86074func (sns ServiceNowSource) AsSparkSource() (*SparkSource, bool) {
86075	return nil, false
86076}
86077
86078// AsShopifySource is the BasicCopySource implementation for ServiceNowSource.
86079func (sns ServiceNowSource) AsShopifySource() (*ShopifySource, bool) {
86080	return nil, false
86081}
86082
86083// AsServiceNowSource is the BasicCopySource implementation for ServiceNowSource.
86084func (sns ServiceNowSource) AsServiceNowSource() (*ServiceNowSource, bool) {
86085	return &sns, true
86086}
86087
86088// AsQuickBooksSource is the BasicCopySource implementation for ServiceNowSource.
86089func (sns ServiceNowSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
86090	return nil, false
86091}
86092
86093// AsPrestoSource is the BasicCopySource implementation for ServiceNowSource.
86094func (sns ServiceNowSource) AsPrestoSource() (*PrestoSource, bool) {
86095	return nil, false
86096}
86097
86098// AsPhoenixSource is the BasicCopySource implementation for ServiceNowSource.
86099func (sns ServiceNowSource) AsPhoenixSource() (*PhoenixSource, bool) {
86100	return nil, false
86101}
86102
86103// AsPaypalSource is the BasicCopySource implementation for ServiceNowSource.
86104func (sns ServiceNowSource) AsPaypalSource() (*PaypalSource, bool) {
86105	return nil, false
86106}
86107
86108// AsMarketoSource is the BasicCopySource implementation for ServiceNowSource.
86109func (sns ServiceNowSource) AsMarketoSource() (*MarketoSource, bool) {
86110	return nil, false
86111}
86112
86113// AsMariaDBSource is the BasicCopySource implementation for ServiceNowSource.
86114func (sns ServiceNowSource) AsMariaDBSource() (*MariaDBSource, bool) {
86115	return nil, false
86116}
86117
86118// AsMagentoSource is the BasicCopySource implementation for ServiceNowSource.
86119func (sns ServiceNowSource) AsMagentoSource() (*MagentoSource, bool) {
86120	return nil, false
86121}
86122
86123// AsJiraSource is the BasicCopySource implementation for ServiceNowSource.
86124func (sns ServiceNowSource) AsJiraSource() (*JiraSource, bool) {
86125	return nil, false
86126}
86127
86128// AsImpalaSource is the BasicCopySource implementation for ServiceNowSource.
86129func (sns ServiceNowSource) AsImpalaSource() (*ImpalaSource, bool) {
86130	return nil, false
86131}
86132
86133// AsHubspotSource is the BasicCopySource implementation for ServiceNowSource.
86134func (sns ServiceNowSource) AsHubspotSource() (*HubspotSource, bool) {
86135	return nil, false
86136}
86137
86138// AsHiveSource is the BasicCopySource implementation for ServiceNowSource.
86139func (sns ServiceNowSource) AsHiveSource() (*HiveSource, bool) {
86140	return nil, false
86141}
86142
86143// AsHBaseSource is the BasicCopySource implementation for ServiceNowSource.
86144func (sns ServiceNowSource) AsHBaseSource() (*HBaseSource, bool) {
86145	return nil, false
86146}
86147
86148// AsGreenplumSource is the BasicCopySource implementation for ServiceNowSource.
86149func (sns ServiceNowSource) AsGreenplumSource() (*GreenplumSource, bool) {
86150	return nil, false
86151}
86152
86153// AsGoogleBigQuerySource is the BasicCopySource implementation for ServiceNowSource.
86154func (sns ServiceNowSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
86155	return nil, false
86156}
86157
86158// AsEloquaSource is the BasicCopySource implementation for ServiceNowSource.
86159func (sns ServiceNowSource) AsEloquaSource() (*EloquaSource, bool) {
86160	return nil, false
86161}
86162
86163// AsDrillSource is the BasicCopySource implementation for ServiceNowSource.
86164func (sns ServiceNowSource) AsDrillSource() (*DrillSource, bool) {
86165	return nil, false
86166}
86167
86168// AsCouchbaseSource is the BasicCopySource implementation for ServiceNowSource.
86169func (sns ServiceNowSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
86170	return nil, false
86171}
86172
86173// AsConcurSource is the BasicCopySource implementation for ServiceNowSource.
86174func (sns ServiceNowSource) AsConcurSource() (*ConcurSource, bool) {
86175	return nil, false
86176}
86177
86178// AsAzurePostgreSQLSource is the BasicCopySource implementation for ServiceNowSource.
86179func (sns ServiceNowSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
86180	return nil, false
86181}
86182
86183// AsAmazonMWSSource is the BasicCopySource implementation for ServiceNowSource.
86184func (sns ServiceNowSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
86185	return nil, false
86186}
86187
86188// AsHTTPSource is the BasicCopySource implementation for ServiceNowSource.
86189func (sns ServiceNowSource) AsHTTPSource() (*HTTPSource, bool) {
86190	return nil, false
86191}
86192
86193// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ServiceNowSource.
86194func (sns ServiceNowSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
86195	return nil, false
86196}
86197
86198// AsMongoDbSource is the BasicCopySource implementation for ServiceNowSource.
86199func (sns ServiceNowSource) AsMongoDbSource() (*MongoDbSource, bool) {
86200	return nil, false
86201}
86202
86203// AsCassandraSource is the BasicCopySource implementation for ServiceNowSource.
86204func (sns ServiceNowSource) AsCassandraSource() (*CassandraSource, bool) {
86205	return nil, false
86206}
86207
86208// AsWebSource is the BasicCopySource implementation for ServiceNowSource.
86209func (sns ServiceNowSource) AsWebSource() (*WebSource, bool) {
86210	return nil, false
86211}
86212
86213// AsOracleSource is the BasicCopySource implementation for ServiceNowSource.
86214func (sns ServiceNowSource) AsOracleSource() (*OracleSource, bool) {
86215	return nil, false
86216}
86217
86218// AsAzureMySQLSource is the BasicCopySource implementation for ServiceNowSource.
86219func (sns ServiceNowSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
86220	return nil, false
86221}
86222
86223// AsHdfsSource is the BasicCopySource implementation for ServiceNowSource.
86224func (sns ServiceNowSource) AsHdfsSource() (*HdfsSource, bool) {
86225	return nil, false
86226}
86227
86228// AsFileSystemSource is the BasicCopySource implementation for ServiceNowSource.
86229func (sns ServiceNowSource) AsFileSystemSource() (*FileSystemSource, bool) {
86230	return nil, false
86231}
86232
86233// AsSQLDWSource is the BasicCopySource implementation for ServiceNowSource.
86234func (sns ServiceNowSource) AsSQLDWSource() (*SQLDWSource, bool) {
86235	return nil, false
86236}
86237
86238// AsSQLSource is the BasicCopySource implementation for ServiceNowSource.
86239func (sns ServiceNowSource) AsSQLSource() (*SQLSource, bool) {
86240	return nil, false
86241}
86242
86243// AsSapEccSource is the BasicCopySource implementation for ServiceNowSource.
86244func (sns ServiceNowSource) AsSapEccSource() (*SapEccSource, bool) {
86245	return nil, false
86246}
86247
86248// AsSapCloudForCustomerSource is the BasicCopySource implementation for ServiceNowSource.
86249func (sns ServiceNowSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
86250	return nil, false
86251}
86252
86253// AsSalesforceSource is the BasicCopySource implementation for ServiceNowSource.
86254func (sns ServiceNowSource) AsSalesforceSource() (*SalesforceSource, bool) {
86255	return nil, false
86256}
86257
86258// AsRelationalSource is the BasicCopySource implementation for ServiceNowSource.
86259func (sns ServiceNowSource) AsRelationalSource() (*RelationalSource, bool) {
86260	return nil, false
86261}
86262
86263// AsDynamicsSource is the BasicCopySource implementation for ServiceNowSource.
86264func (sns ServiceNowSource) AsDynamicsSource() (*DynamicsSource, bool) {
86265	return nil, false
86266}
86267
86268// AsDocumentDbCollectionSource is the BasicCopySource implementation for ServiceNowSource.
86269func (sns ServiceNowSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
86270	return nil, false
86271}
86272
86273// AsBlobSource is the BasicCopySource implementation for ServiceNowSource.
86274func (sns ServiceNowSource) AsBlobSource() (*BlobSource, bool) {
86275	return nil, false
86276}
86277
86278// AsAzureTableSource is the BasicCopySource implementation for ServiceNowSource.
86279func (sns ServiceNowSource) AsAzureTableSource() (*AzureTableSource, bool) {
86280	return nil, false
86281}
86282
86283// AsCopySource is the BasicCopySource implementation for ServiceNowSource.
86284func (sns ServiceNowSource) AsCopySource() (*CopySource, bool) {
86285	return nil, false
86286}
86287
86288// AsBasicCopySource is the BasicCopySource implementation for ServiceNowSource.
86289func (sns ServiceNowSource) AsBasicCopySource() (BasicCopySource, bool) {
86290	return &sns, true
86291}
86292
86293// UnmarshalJSON is the custom unmarshaler for ServiceNowSource struct.
86294func (sns *ServiceNowSource) UnmarshalJSON(body []byte) error {
86295	var m map[string]*json.RawMessage
86296	err := json.Unmarshal(body, &m)
86297	if err != nil {
86298		return err
86299	}
86300	for k, v := range m {
86301		switch k {
86302		case "query":
86303			if v != nil {
86304				var query interface{}
86305				err = json.Unmarshal(*v, &query)
86306				if err != nil {
86307					return err
86308				}
86309				sns.Query = query
86310			}
86311		default:
86312			if v != nil {
86313				var additionalProperties interface{}
86314				err = json.Unmarshal(*v, &additionalProperties)
86315				if err != nil {
86316					return err
86317				}
86318				if sns.AdditionalProperties == nil {
86319					sns.AdditionalProperties = make(map[string]interface{})
86320				}
86321				sns.AdditionalProperties[k] = additionalProperties
86322			}
86323		case "sourceRetryCount":
86324			if v != nil {
86325				var sourceRetryCount interface{}
86326				err = json.Unmarshal(*v, &sourceRetryCount)
86327				if err != nil {
86328					return err
86329				}
86330				sns.SourceRetryCount = sourceRetryCount
86331			}
86332		case "sourceRetryWait":
86333			if v != nil {
86334				var sourceRetryWait interface{}
86335				err = json.Unmarshal(*v, &sourceRetryWait)
86336				if err != nil {
86337					return err
86338				}
86339				sns.SourceRetryWait = sourceRetryWait
86340			}
86341		case "type":
86342			if v != nil {
86343				var typeVar TypeBasicCopySource
86344				err = json.Unmarshal(*v, &typeVar)
86345				if err != nil {
86346					return err
86347				}
86348				sns.Type = typeVar
86349			}
86350		}
86351	}
86352
86353	return nil
86354}
86355
86356// SftpServerLinkedService a linked service for an SSH File Transfer Protocol (SFTP) server.
86357type SftpServerLinkedService struct {
86358	// SftpServerLinkedServiceTypeProperties - Properties specific to this linked service type.
86359	*SftpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
86360	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
86361	AdditionalProperties map[string]interface{} `json:""`
86362	// ConnectVia - The integration runtime reference.
86363	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
86364	// Description - Linked service description.
86365	Description *string `json:"description,omitempty"`
86366	// Parameters - Parameters for linked service.
86367	Parameters map[string]*ParameterSpecification `json:"parameters"`
86368	// Annotations - List of tags that can be used for describing the Dataset.
86369	Annotations *[]interface{} `json:"annotations,omitempty"`
86370	// 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'
86371	Type TypeBasicLinkedService `json:"type,omitempty"`
86372}
86373
86374// MarshalJSON is the custom marshaler for SftpServerLinkedService.
86375func (ssls SftpServerLinkedService) MarshalJSON() ([]byte, error) {
86376	ssls.Type = TypeSftp
86377	objectMap := make(map[string]interface{})
86378	if ssls.SftpServerLinkedServiceTypeProperties != nil {
86379		objectMap["typeProperties"] = ssls.SftpServerLinkedServiceTypeProperties
86380	}
86381	if ssls.ConnectVia != nil {
86382		objectMap["connectVia"] = ssls.ConnectVia
86383	}
86384	if ssls.Description != nil {
86385		objectMap["description"] = ssls.Description
86386	}
86387	if ssls.Parameters != nil {
86388		objectMap["parameters"] = ssls.Parameters
86389	}
86390	if ssls.Annotations != nil {
86391		objectMap["annotations"] = ssls.Annotations
86392	}
86393	if ssls.Type != "" {
86394		objectMap["type"] = ssls.Type
86395	}
86396	for k, v := range ssls.AdditionalProperties {
86397		objectMap[k] = v
86398	}
86399	return json.Marshal(objectMap)
86400}
86401
86402// AsResponsysLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86403func (ssls SftpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
86404	return nil, false
86405}
86406
86407// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86408func (ssls SftpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
86409	return nil, false
86410}
86411
86412// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86413func (ssls SftpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
86414	return nil, false
86415}
86416
86417// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86418func (ssls SftpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
86419	return nil, false
86420}
86421
86422// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86423func (ssls SftpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
86424	return nil, false
86425}
86426
86427// AsNetezzaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86428func (ssls SftpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
86429	return nil, false
86430}
86431
86432// AsVerticaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86433func (ssls SftpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
86434	return nil, false
86435}
86436
86437// AsZohoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86438func (ssls SftpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
86439	return nil, false
86440}
86441
86442// AsXeroLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86443func (ssls SftpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
86444	return nil, false
86445}
86446
86447// AsSquareLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86448func (ssls SftpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
86449	return nil, false
86450}
86451
86452// AsSparkLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86453func (ssls SftpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
86454	return nil, false
86455}
86456
86457// AsShopifyLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86458func (ssls SftpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
86459	return nil, false
86460}
86461
86462// AsServiceNowLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86463func (ssls SftpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
86464	return nil, false
86465}
86466
86467// AsQuickBooksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86468func (ssls SftpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
86469	return nil, false
86470}
86471
86472// AsPrestoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86473func (ssls SftpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
86474	return nil, false
86475}
86476
86477// AsPhoenixLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86478func (ssls SftpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
86479	return nil, false
86480}
86481
86482// AsPaypalLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86483func (ssls SftpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
86484	return nil, false
86485}
86486
86487// AsMarketoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86488func (ssls SftpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
86489	return nil, false
86490}
86491
86492// AsMariaDBLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86493func (ssls SftpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
86494	return nil, false
86495}
86496
86497// AsMagentoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86498func (ssls SftpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
86499	return nil, false
86500}
86501
86502// AsJiraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86503func (ssls SftpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
86504	return nil, false
86505}
86506
86507// AsImpalaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86508func (ssls SftpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
86509	return nil, false
86510}
86511
86512// AsHubspotLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86513func (ssls SftpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
86514	return nil, false
86515}
86516
86517// AsHiveLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86518func (ssls SftpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
86519	return nil, false
86520}
86521
86522// AsHBaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86523func (ssls SftpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
86524	return nil, false
86525}
86526
86527// AsGreenplumLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86528func (ssls SftpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
86529	return nil, false
86530}
86531
86532// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86533func (ssls SftpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
86534	return nil, false
86535}
86536
86537// AsEloquaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86538func (ssls SftpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
86539	return nil, false
86540}
86541
86542// AsDrillLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86543func (ssls SftpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
86544	return nil, false
86545}
86546
86547// AsCouchbaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86548func (ssls SftpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
86549	return nil, false
86550}
86551
86552// AsConcurLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86553func (ssls SftpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
86554	return nil, false
86555}
86556
86557// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86558func (ssls SftpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
86559	return nil, false
86560}
86561
86562// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86563func (ssls SftpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
86564	return nil, false
86565}
86566
86567// AsSapHanaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86568func (ssls SftpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
86569	return nil, false
86570}
86571
86572// AsSapBWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86573func (ssls SftpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
86574	return nil, false
86575}
86576
86577// AsSftpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86578func (ssls SftpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
86579	return &ssls, true
86580}
86581
86582// AsFtpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86583func (ssls SftpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
86584	return nil, false
86585}
86586
86587// AsHTTPLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86588func (ssls SftpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
86589	return nil, false
86590}
86591
86592// AsAzureSearchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86593func (ssls SftpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
86594	return nil, false
86595}
86596
86597// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86598func (ssls SftpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
86599	return nil, false
86600}
86601
86602// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86603func (ssls SftpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
86604	return nil, false
86605}
86606
86607// AsAmazonS3LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86608func (ssls SftpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
86609	return nil, false
86610}
86611
86612// AsSapEccLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86613func (ssls SftpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
86614	return nil, false
86615}
86616
86617// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86618func (ssls SftpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
86619	return nil, false
86620}
86621
86622// AsSalesforceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86623func (ssls SftpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
86624	return nil, false
86625}
86626
86627// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86628func (ssls SftpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
86629	return nil, false
86630}
86631
86632// AsMongoDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86633func (ssls SftpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
86634	return nil, false
86635}
86636
86637// AsCassandraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86638func (ssls SftpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
86639	return nil, false
86640}
86641
86642// AsWebLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86643func (ssls SftpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
86644	return nil, false
86645}
86646
86647// AsODataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86648func (ssls SftpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
86649	return nil, false
86650}
86651
86652// AsHdfsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86653func (ssls SftpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
86654	return nil, false
86655}
86656
86657// AsOdbcLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86658func (ssls SftpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
86659	return nil, false
86660}
86661
86662// AsAzureMLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86663func (ssls SftpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
86664	return nil, false
86665}
86666
86667// AsTeradataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86668func (ssls SftpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
86669	return nil, false
86670}
86671
86672// AsDb2LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86673func (ssls SftpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
86674	return nil, false
86675}
86676
86677// AsSybaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86678func (ssls SftpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
86679	return nil, false
86680}
86681
86682// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86683func (ssls SftpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
86684	return nil, false
86685}
86686
86687// AsMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86688func (ssls SftpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
86689	return nil, false
86690}
86691
86692// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86693func (ssls SftpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
86694	return nil, false
86695}
86696
86697// AsOracleLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86698func (ssls SftpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
86699	return nil, false
86700}
86701
86702// AsFileServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86703func (ssls SftpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
86704	return nil, false
86705}
86706
86707// AsHDInsightLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86708func (ssls SftpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
86709	return nil, false
86710}
86711
86712// AsDynamicsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86713func (ssls SftpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
86714	return nil, false
86715}
86716
86717// AsCosmosDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86718func (ssls SftpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
86719	return nil, false
86720}
86721
86722// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86723func (ssls SftpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
86724	return nil, false
86725}
86726
86727// AsAzureBatchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86728func (ssls SftpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
86729	return nil, false
86730}
86731
86732// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86733func (ssls SftpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
86734	return nil, false
86735}
86736
86737// AsSQLServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86738func (ssls SftpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
86739	return nil, false
86740}
86741
86742// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86743func (ssls SftpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
86744	return nil, false
86745}
86746
86747// AsAzureStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86748func (ssls SftpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
86749	return nil, false
86750}
86751
86752// AsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86753func (ssls SftpServerLinkedService) AsLinkedService() (*LinkedService, bool) {
86754	return nil, false
86755}
86756
86757// AsBasicLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
86758func (ssls SftpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
86759	return &ssls, true
86760}
86761
86762// UnmarshalJSON is the custom unmarshaler for SftpServerLinkedService struct.
86763func (ssls *SftpServerLinkedService) UnmarshalJSON(body []byte) error {
86764	var m map[string]*json.RawMessage
86765	err := json.Unmarshal(body, &m)
86766	if err != nil {
86767		return err
86768	}
86769	for k, v := range m {
86770		switch k {
86771		case "typeProperties":
86772			if v != nil {
86773				var sftpServerLinkedServiceTypeProperties SftpServerLinkedServiceTypeProperties
86774				err = json.Unmarshal(*v, &sftpServerLinkedServiceTypeProperties)
86775				if err != nil {
86776					return err
86777				}
86778				ssls.SftpServerLinkedServiceTypeProperties = &sftpServerLinkedServiceTypeProperties
86779			}
86780		default:
86781			if v != nil {
86782				var additionalProperties interface{}
86783				err = json.Unmarshal(*v, &additionalProperties)
86784				if err != nil {
86785					return err
86786				}
86787				if ssls.AdditionalProperties == nil {
86788					ssls.AdditionalProperties = make(map[string]interface{})
86789				}
86790				ssls.AdditionalProperties[k] = additionalProperties
86791			}
86792		case "connectVia":
86793			if v != nil {
86794				var connectVia IntegrationRuntimeReference
86795				err = json.Unmarshal(*v, &connectVia)
86796				if err != nil {
86797					return err
86798				}
86799				ssls.ConnectVia = &connectVia
86800			}
86801		case "description":
86802			if v != nil {
86803				var description string
86804				err = json.Unmarshal(*v, &description)
86805				if err != nil {
86806					return err
86807				}
86808				ssls.Description = &description
86809			}
86810		case "parameters":
86811			if v != nil {
86812				var parameters map[string]*ParameterSpecification
86813				err = json.Unmarshal(*v, &parameters)
86814				if err != nil {
86815					return err
86816				}
86817				ssls.Parameters = parameters
86818			}
86819		case "annotations":
86820			if v != nil {
86821				var annotations []interface{}
86822				err = json.Unmarshal(*v, &annotations)
86823				if err != nil {
86824					return err
86825				}
86826				ssls.Annotations = &annotations
86827			}
86828		case "type":
86829			if v != nil {
86830				var typeVar TypeBasicLinkedService
86831				err = json.Unmarshal(*v, &typeVar)
86832				if err != nil {
86833					return err
86834				}
86835				ssls.Type = typeVar
86836			}
86837		}
86838	}
86839
86840	return nil
86841}
86842
86843// SftpServerLinkedServiceTypeProperties properties specific to this linked service type.
86844type SftpServerLinkedServiceTypeProperties struct {
86845	// Host - The SFTP server host name. Type: string (or Expression with resultType string).
86846	Host interface{} `json:"host,omitempty"`
86847	// 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.
86848	Port interface{} `json:"port,omitempty"`
86849	// AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'SftpAuthenticationTypeBasic', 'SftpAuthenticationTypeSSHPublicKey'
86850	AuthenticationType SftpAuthenticationType `json:"authenticationType,omitempty"`
86851	// UserName - The username used to log on to the SFTP server. Type: string (or Expression with resultType string).
86852	UserName interface{} `json:"userName,omitempty"`
86853	// Password - Password to logon the SFTP server for Basic authentication.
86854	Password BasicSecretBase `json:"password,omitempty"`
86855	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
86856	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
86857	// 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).
86858	PrivateKeyPath interface{} `json:"privateKeyPath,omitempty"`
86859	// 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.
86860	PrivateKeyContent BasicSecretBase `json:"privateKeyContent,omitempty"`
86861	// PassPhrase - The password to decrypt the SSH private key if the SSH private key is encrypted.
86862	PassPhrase BasicSecretBase `json:"passPhrase,omitempty"`
86863	// SkipHostKeyValidation - If true, skip the SSH host key validation. Default value is false. Type: boolean (or Expression with resultType boolean).
86864	SkipHostKeyValidation interface{} `json:"skipHostKeyValidation,omitempty"`
86865	// 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).
86866	HostKeyFingerprint interface{} `json:"hostKeyFingerprint,omitempty"`
86867}
86868
86869// UnmarshalJSON is the custom unmarshaler for SftpServerLinkedServiceTypeProperties struct.
86870func (sslstp *SftpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
86871	var m map[string]*json.RawMessage
86872	err := json.Unmarshal(body, &m)
86873	if err != nil {
86874		return err
86875	}
86876	for k, v := range m {
86877		switch k {
86878		case "host":
86879			if v != nil {
86880				var host interface{}
86881				err = json.Unmarshal(*v, &host)
86882				if err != nil {
86883					return err
86884				}
86885				sslstp.Host = host
86886			}
86887		case "port":
86888			if v != nil {
86889				var port interface{}
86890				err = json.Unmarshal(*v, &port)
86891				if err != nil {
86892					return err
86893				}
86894				sslstp.Port = port
86895			}
86896		case "authenticationType":
86897			if v != nil {
86898				var authenticationType SftpAuthenticationType
86899				err = json.Unmarshal(*v, &authenticationType)
86900				if err != nil {
86901					return err
86902				}
86903				sslstp.AuthenticationType = authenticationType
86904			}
86905		case "userName":
86906			if v != nil {
86907				var userName interface{}
86908				err = json.Unmarshal(*v, &userName)
86909				if err != nil {
86910					return err
86911				}
86912				sslstp.UserName = userName
86913			}
86914		case "password":
86915			if v != nil {
86916				password, err := unmarshalBasicSecretBase(*v)
86917				if err != nil {
86918					return err
86919				}
86920				sslstp.Password = password
86921			}
86922		case "encryptedCredential":
86923			if v != nil {
86924				var encryptedCredential interface{}
86925				err = json.Unmarshal(*v, &encryptedCredential)
86926				if err != nil {
86927					return err
86928				}
86929				sslstp.EncryptedCredential = encryptedCredential
86930			}
86931		case "privateKeyPath":
86932			if v != nil {
86933				var privateKeyPath interface{}
86934				err = json.Unmarshal(*v, &privateKeyPath)
86935				if err != nil {
86936					return err
86937				}
86938				sslstp.PrivateKeyPath = privateKeyPath
86939			}
86940		case "privateKeyContent":
86941			if v != nil {
86942				privateKeyContent, err := unmarshalBasicSecretBase(*v)
86943				if err != nil {
86944					return err
86945				}
86946				sslstp.PrivateKeyContent = privateKeyContent
86947			}
86948		case "passPhrase":
86949			if v != nil {
86950				passPhrase, err := unmarshalBasicSecretBase(*v)
86951				if err != nil {
86952					return err
86953				}
86954				sslstp.PassPhrase = passPhrase
86955			}
86956		case "skipHostKeyValidation":
86957			if v != nil {
86958				var skipHostKeyValidation interface{}
86959				err = json.Unmarshal(*v, &skipHostKeyValidation)
86960				if err != nil {
86961					return err
86962				}
86963				sslstp.SkipHostKeyValidation = skipHostKeyValidation
86964			}
86965		case "hostKeyFingerprint":
86966			if v != nil {
86967				var hostKeyFingerprint interface{}
86968				err = json.Unmarshal(*v, &hostKeyFingerprint)
86969				if err != nil {
86970					return err
86971				}
86972				sslstp.HostKeyFingerprint = hostKeyFingerprint
86973			}
86974		}
86975	}
86976
86977	return nil
86978}
86979
86980// ShopifyLinkedService shopify Service linked service.
86981type ShopifyLinkedService struct {
86982	// ShopifyLinkedServiceTypeProperties - Shopify Service linked service properties.
86983	*ShopifyLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
86984	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
86985	AdditionalProperties map[string]interface{} `json:""`
86986	// ConnectVia - The integration runtime reference.
86987	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
86988	// Description - Linked service description.
86989	Description *string `json:"description,omitempty"`
86990	// Parameters - Parameters for linked service.
86991	Parameters map[string]*ParameterSpecification `json:"parameters"`
86992	// Annotations - List of tags that can be used for describing the Dataset.
86993	Annotations *[]interface{} `json:"annotations,omitempty"`
86994	// 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'
86995	Type TypeBasicLinkedService `json:"type,omitempty"`
86996}
86997
86998// MarshalJSON is the custom marshaler for ShopifyLinkedService.
86999func (sls ShopifyLinkedService) MarshalJSON() ([]byte, error) {
87000	sls.Type = TypeShopify
87001	objectMap := make(map[string]interface{})
87002	if sls.ShopifyLinkedServiceTypeProperties != nil {
87003		objectMap["typeProperties"] = sls.ShopifyLinkedServiceTypeProperties
87004	}
87005	if sls.ConnectVia != nil {
87006		objectMap["connectVia"] = sls.ConnectVia
87007	}
87008	if sls.Description != nil {
87009		objectMap["description"] = sls.Description
87010	}
87011	if sls.Parameters != nil {
87012		objectMap["parameters"] = sls.Parameters
87013	}
87014	if sls.Annotations != nil {
87015		objectMap["annotations"] = sls.Annotations
87016	}
87017	if sls.Type != "" {
87018		objectMap["type"] = sls.Type
87019	}
87020	for k, v := range sls.AdditionalProperties {
87021		objectMap[k] = v
87022	}
87023	return json.Marshal(objectMap)
87024}
87025
87026// AsResponsysLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87027func (sls ShopifyLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
87028	return nil, false
87029}
87030
87031// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87032func (sls ShopifyLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
87033	return nil, false
87034}
87035
87036// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87037func (sls ShopifyLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
87038	return nil, false
87039}
87040
87041// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87042func (sls ShopifyLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
87043	return nil, false
87044}
87045
87046// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87047func (sls ShopifyLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
87048	return nil, false
87049}
87050
87051// AsNetezzaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87052func (sls ShopifyLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
87053	return nil, false
87054}
87055
87056// AsVerticaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87057func (sls ShopifyLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
87058	return nil, false
87059}
87060
87061// AsZohoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87062func (sls ShopifyLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
87063	return nil, false
87064}
87065
87066// AsXeroLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87067func (sls ShopifyLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
87068	return nil, false
87069}
87070
87071// AsSquareLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87072func (sls ShopifyLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
87073	return nil, false
87074}
87075
87076// AsSparkLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87077func (sls ShopifyLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
87078	return nil, false
87079}
87080
87081// AsShopifyLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87082func (sls ShopifyLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
87083	return &sls, true
87084}
87085
87086// AsServiceNowLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87087func (sls ShopifyLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
87088	return nil, false
87089}
87090
87091// AsQuickBooksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87092func (sls ShopifyLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
87093	return nil, false
87094}
87095
87096// AsPrestoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87097func (sls ShopifyLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
87098	return nil, false
87099}
87100
87101// AsPhoenixLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87102func (sls ShopifyLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
87103	return nil, false
87104}
87105
87106// AsPaypalLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87107func (sls ShopifyLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
87108	return nil, false
87109}
87110
87111// AsMarketoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87112func (sls ShopifyLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
87113	return nil, false
87114}
87115
87116// AsMariaDBLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87117func (sls ShopifyLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
87118	return nil, false
87119}
87120
87121// AsMagentoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87122func (sls ShopifyLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
87123	return nil, false
87124}
87125
87126// AsJiraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87127func (sls ShopifyLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
87128	return nil, false
87129}
87130
87131// AsImpalaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87132func (sls ShopifyLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
87133	return nil, false
87134}
87135
87136// AsHubspotLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87137func (sls ShopifyLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
87138	return nil, false
87139}
87140
87141// AsHiveLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87142func (sls ShopifyLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
87143	return nil, false
87144}
87145
87146// AsHBaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87147func (sls ShopifyLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
87148	return nil, false
87149}
87150
87151// AsGreenplumLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87152func (sls ShopifyLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
87153	return nil, false
87154}
87155
87156// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87157func (sls ShopifyLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
87158	return nil, false
87159}
87160
87161// AsEloquaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87162func (sls ShopifyLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
87163	return nil, false
87164}
87165
87166// AsDrillLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87167func (sls ShopifyLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
87168	return nil, false
87169}
87170
87171// AsCouchbaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87172func (sls ShopifyLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
87173	return nil, false
87174}
87175
87176// AsConcurLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87177func (sls ShopifyLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
87178	return nil, false
87179}
87180
87181// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87182func (sls ShopifyLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
87183	return nil, false
87184}
87185
87186// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87187func (sls ShopifyLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
87188	return nil, false
87189}
87190
87191// AsSapHanaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87192func (sls ShopifyLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
87193	return nil, false
87194}
87195
87196// AsSapBWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87197func (sls ShopifyLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
87198	return nil, false
87199}
87200
87201// AsSftpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87202func (sls ShopifyLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
87203	return nil, false
87204}
87205
87206// AsFtpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87207func (sls ShopifyLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
87208	return nil, false
87209}
87210
87211// AsHTTPLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87212func (sls ShopifyLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
87213	return nil, false
87214}
87215
87216// AsAzureSearchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87217func (sls ShopifyLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
87218	return nil, false
87219}
87220
87221// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87222func (sls ShopifyLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
87223	return nil, false
87224}
87225
87226// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87227func (sls ShopifyLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
87228	return nil, false
87229}
87230
87231// AsAmazonS3LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87232func (sls ShopifyLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
87233	return nil, false
87234}
87235
87236// AsSapEccLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87237func (sls ShopifyLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
87238	return nil, false
87239}
87240
87241// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87242func (sls ShopifyLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
87243	return nil, false
87244}
87245
87246// AsSalesforceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87247func (sls ShopifyLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
87248	return nil, false
87249}
87250
87251// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87252func (sls ShopifyLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
87253	return nil, false
87254}
87255
87256// AsMongoDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87257func (sls ShopifyLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
87258	return nil, false
87259}
87260
87261// AsCassandraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87262func (sls ShopifyLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
87263	return nil, false
87264}
87265
87266// AsWebLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87267func (sls ShopifyLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
87268	return nil, false
87269}
87270
87271// AsODataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87272func (sls ShopifyLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
87273	return nil, false
87274}
87275
87276// AsHdfsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87277func (sls ShopifyLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
87278	return nil, false
87279}
87280
87281// AsOdbcLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87282func (sls ShopifyLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
87283	return nil, false
87284}
87285
87286// AsAzureMLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87287func (sls ShopifyLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
87288	return nil, false
87289}
87290
87291// AsTeradataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87292func (sls ShopifyLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
87293	return nil, false
87294}
87295
87296// AsDb2LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87297func (sls ShopifyLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
87298	return nil, false
87299}
87300
87301// AsSybaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87302func (sls ShopifyLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
87303	return nil, false
87304}
87305
87306// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87307func (sls ShopifyLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
87308	return nil, false
87309}
87310
87311// AsMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87312func (sls ShopifyLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
87313	return nil, false
87314}
87315
87316// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87317func (sls ShopifyLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
87318	return nil, false
87319}
87320
87321// AsOracleLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87322func (sls ShopifyLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
87323	return nil, false
87324}
87325
87326// AsFileServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87327func (sls ShopifyLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
87328	return nil, false
87329}
87330
87331// AsHDInsightLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87332func (sls ShopifyLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
87333	return nil, false
87334}
87335
87336// AsDynamicsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87337func (sls ShopifyLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
87338	return nil, false
87339}
87340
87341// AsCosmosDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87342func (sls ShopifyLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
87343	return nil, false
87344}
87345
87346// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87347func (sls ShopifyLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
87348	return nil, false
87349}
87350
87351// AsAzureBatchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87352func (sls ShopifyLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
87353	return nil, false
87354}
87355
87356// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87357func (sls ShopifyLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
87358	return nil, false
87359}
87360
87361// AsSQLServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87362func (sls ShopifyLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
87363	return nil, false
87364}
87365
87366// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87367func (sls ShopifyLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
87368	return nil, false
87369}
87370
87371// AsAzureStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87372func (sls ShopifyLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
87373	return nil, false
87374}
87375
87376// AsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87377func (sls ShopifyLinkedService) AsLinkedService() (*LinkedService, bool) {
87378	return nil, false
87379}
87380
87381// AsBasicLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
87382func (sls ShopifyLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
87383	return &sls, true
87384}
87385
87386// UnmarshalJSON is the custom unmarshaler for ShopifyLinkedService struct.
87387func (sls *ShopifyLinkedService) UnmarshalJSON(body []byte) error {
87388	var m map[string]*json.RawMessage
87389	err := json.Unmarshal(body, &m)
87390	if err != nil {
87391		return err
87392	}
87393	for k, v := range m {
87394		switch k {
87395		case "typeProperties":
87396			if v != nil {
87397				var shopifyLinkedServiceTypeProperties ShopifyLinkedServiceTypeProperties
87398				err = json.Unmarshal(*v, &shopifyLinkedServiceTypeProperties)
87399				if err != nil {
87400					return err
87401				}
87402				sls.ShopifyLinkedServiceTypeProperties = &shopifyLinkedServiceTypeProperties
87403			}
87404		default:
87405			if v != nil {
87406				var additionalProperties interface{}
87407				err = json.Unmarshal(*v, &additionalProperties)
87408				if err != nil {
87409					return err
87410				}
87411				if sls.AdditionalProperties == nil {
87412					sls.AdditionalProperties = make(map[string]interface{})
87413				}
87414				sls.AdditionalProperties[k] = additionalProperties
87415			}
87416		case "connectVia":
87417			if v != nil {
87418				var connectVia IntegrationRuntimeReference
87419				err = json.Unmarshal(*v, &connectVia)
87420				if err != nil {
87421					return err
87422				}
87423				sls.ConnectVia = &connectVia
87424			}
87425		case "description":
87426			if v != nil {
87427				var description string
87428				err = json.Unmarshal(*v, &description)
87429				if err != nil {
87430					return err
87431				}
87432				sls.Description = &description
87433			}
87434		case "parameters":
87435			if v != nil {
87436				var parameters map[string]*ParameterSpecification
87437				err = json.Unmarshal(*v, &parameters)
87438				if err != nil {
87439					return err
87440				}
87441				sls.Parameters = parameters
87442			}
87443		case "annotations":
87444			if v != nil {
87445				var annotations []interface{}
87446				err = json.Unmarshal(*v, &annotations)
87447				if err != nil {
87448					return err
87449				}
87450				sls.Annotations = &annotations
87451			}
87452		case "type":
87453			if v != nil {
87454				var typeVar TypeBasicLinkedService
87455				err = json.Unmarshal(*v, &typeVar)
87456				if err != nil {
87457					return err
87458				}
87459				sls.Type = typeVar
87460			}
87461		}
87462	}
87463
87464	return nil
87465}
87466
87467// ShopifyLinkedServiceTypeProperties shopify Service linked service properties.
87468type ShopifyLinkedServiceTypeProperties struct {
87469	// Host - The endpoint of the Shopify server. (i.e. mystore.myshopify.com)
87470	Host interface{} `json:"host,omitempty"`
87471	// AccessToken - The API access token that can be used to access Shopify’s data. The token won't expire if it is offline mode.
87472	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
87473	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
87474	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
87475	// 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.
87476	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
87477	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
87478	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
87479	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
87480	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
87481}
87482
87483// UnmarshalJSON is the custom unmarshaler for ShopifyLinkedServiceTypeProperties struct.
87484func (slstp *ShopifyLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
87485	var m map[string]*json.RawMessage
87486	err := json.Unmarshal(body, &m)
87487	if err != nil {
87488		return err
87489	}
87490	for k, v := range m {
87491		switch k {
87492		case "host":
87493			if v != nil {
87494				var host interface{}
87495				err = json.Unmarshal(*v, &host)
87496				if err != nil {
87497					return err
87498				}
87499				slstp.Host = host
87500			}
87501		case "accessToken":
87502			if v != nil {
87503				accessToken, err := unmarshalBasicSecretBase(*v)
87504				if err != nil {
87505					return err
87506				}
87507				slstp.AccessToken = accessToken
87508			}
87509		case "useEncryptedEndpoints":
87510			if v != nil {
87511				var useEncryptedEndpoints interface{}
87512				err = json.Unmarshal(*v, &useEncryptedEndpoints)
87513				if err != nil {
87514					return err
87515				}
87516				slstp.UseEncryptedEndpoints = useEncryptedEndpoints
87517			}
87518		case "useHostVerification":
87519			if v != nil {
87520				var useHostVerification interface{}
87521				err = json.Unmarshal(*v, &useHostVerification)
87522				if err != nil {
87523					return err
87524				}
87525				slstp.UseHostVerification = useHostVerification
87526			}
87527		case "usePeerVerification":
87528			if v != nil {
87529				var usePeerVerification interface{}
87530				err = json.Unmarshal(*v, &usePeerVerification)
87531				if err != nil {
87532					return err
87533				}
87534				slstp.UsePeerVerification = usePeerVerification
87535			}
87536		case "encryptedCredential":
87537			if v != nil {
87538				var encryptedCredential interface{}
87539				err = json.Unmarshal(*v, &encryptedCredential)
87540				if err != nil {
87541					return err
87542				}
87543				slstp.EncryptedCredential = encryptedCredential
87544			}
87545		}
87546	}
87547
87548	return nil
87549}
87550
87551// ShopifyObjectDataset shopify Service dataset.
87552type ShopifyObjectDataset struct {
87553	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
87554	AdditionalProperties map[string]interface{} `json:""`
87555	// Description - Dataset description.
87556	Description *string `json:"description,omitempty"`
87557	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
87558	Structure interface{} `json:"structure,omitempty"`
87559	// LinkedServiceName - Linked service reference.
87560	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
87561	// Parameters - Parameters for dataset.
87562	Parameters map[string]*ParameterSpecification `json:"parameters"`
87563	// Annotations - List of tags that can be used for describing the Dataset.
87564	Annotations *[]interface{} `json:"annotations,omitempty"`
87565	// 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'
87566	Type TypeBasicDataset `json:"type,omitempty"`
87567}
87568
87569// MarshalJSON is the custom marshaler for ShopifyObjectDataset.
87570func (sod ShopifyObjectDataset) MarshalJSON() ([]byte, error) {
87571	sod.Type = TypeShopifyObject
87572	objectMap := make(map[string]interface{})
87573	if sod.Description != nil {
87574		objectMap["description"] = sod.Description
87575	}
87576	if sod.Structure != nil {
87577		objectMap["structure"] = sod.Structure
87578	}
87579	if sod.LinkedServiceName != nil {
87580		objectMap["linkedServiceName"] = sod.LinkedServiceName
87581	}
87582	if sod.Parameters != nil {
87583		objectMap["parameters"] = sod.Parameters
87584	}
87585	if sod.Annotations != nil {
87586		objectMap["annotations"] = sod.Annotations
87587	}
87588	if sod.Type != "" {
87589		objectMap["type"] = sod.Type
87590	}
87591	for k, v := range sod.AdditionalProperties {
87592		objectMap[k] = v
87593	}
87594	return json.Marshal(objectMap)
87595}
87596
87597// AsResponsysObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87598func (sod ShopifyObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
87599	return nil, false
87600}
87601
87602// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87603func (sod ShopifyObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
87604	return nil, false
87605}
87606
87607// AsVerticaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87608func (sod ShopifyObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
87609	return nil, false
87610}
87611
87612// AsNetezzaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87613func (sod ShopifyObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
87614	return nil, false
87615}
87616
87617// AsZohoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87618func (sod ShopifyObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
87619	return nil, false
87620}
87621
87622// AsXeroObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87623func (sod ShopifyObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
87624	return nil, false
87625}
87626
87627// AsSquareObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87628func (sod ShopifyObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
87629	return nil, false
87630}
87631
87632// AsSparkObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87633func (sod ShopifyObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
87634	return nil, false
87635}
87636
87637// AsShopifyObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87638func (sod ShopifyObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
87639	return &sod, true
87640}
87641
87642// AsServiceNowObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87643func (sod ShopifyObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
87644	return nil, false
87645}
87646
87647// AsQuickBooksObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87648func (sod ShopifyObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
87649	return nil, false
87650}
87651
87652// AsPrestoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87653func (sod ShopifyObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
87654	return nil, false
87655}
87656
87657// AsPhoenixObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87658func (sod ShopifyObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
87659	return nil, false
87660}
87661
87662// AsPaypalObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87663func (sod ShopifyObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
87664	return nil, false
87665}
87666
87667// AsMarketoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87668func (sod ShopifyObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
87669	return nil, false
87670}
87671
87672// AsMariaDBTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87673func (sod ShopifyObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
87674	return nil, false
87675}
87676
87677// AsMagentoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87678func (sod ShopifyObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
87679	return nil, false
87680}
87681
87682// AsJiraObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87683func (sod ShopifyObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
87684	return nil, false
87685}
87686
87687// AsImpalaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87688func (sod ShopifyObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
87689	return nil, false
87690}
87691
87692// AsHubspotObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87693func (sod ShopifyObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
87694	return nil, false
87695}
87696
87697// AsHiveObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87698func (sod ShopifyObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
87699	return nil, false
87700}
87701
87702// AsHBaseObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87703func (sod ShopifyObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
87704	return nil, false
87705}
87706
87707// AsGreenplumTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87708func (sod ShopifyObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
87709	return nil, false
87710}
87711
87712// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87713func (sod ShopifyObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
87714	return nil, false
87715}
87716
87717// AsEloquaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87718func (sod ShopifyObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
87719	return nil, false
87720}
87721
87722// AsDrillTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87723func (sod ShopifyObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
87724	return nil, false
87725}
87726
87727// AsCouchbaseTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87728func (sod ShopifyObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
87729	return nil, false
87730}
87731
87732// AsConcurObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87733func (sod ShopifyObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
87734	return nil, false
87735}
87736
87737// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87738func (sod ShopifyObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
87739	return nil, false
87740}
87741
87742// AsAmazonMWSObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87743func (sod ShopifyObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
87744	return nil, false
87745}
87746
87747// AsHTTPDataset is the BasicDataset implementation for ShopifyObjectDataset.
87748func (sod ShopifyObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
87749	return nil, false
87750}
87751
87752// AsAzureSearchIndexDataset is the BasicDataset implementation for ShopifyObjectDataset.
87753func (sod ShopifyObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
87754	return nil, false
87755}
87756
87757// AsWebTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87758func (sod ShopifyObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
87759	return nil, false
87760}
87761
87762// AsSQLServerTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87763func (sod ShopifyObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
87764	return nil, false
87765}
87766
87767// AsSapEccResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
87768func (sod ShopifyObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
87769	return nil, false
87770}
87771
87772// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
87773func (sod ShopifyObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
87774	return nil, false
87775}
87776
87777// AsSalesforceObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
87778func (sod ShopifyObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
87779	return nil, false
87780}
87781
87782// AsRelationalTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87783func (sod ShopifyObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
87784	return nil, false
87785}
87786
87787// AsAzureMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87788func (sod ShopifyObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
87789	return nil, false
87790}
87791
87792// AsOracleTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87793func (sod ShopifyObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
87794	return nil, false
87795}
87796
87797// AsODataResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
87798func (sod ShopifyObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
87799	return nil, false
87800}
87801
87802// AsMongoDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
87803func (sod ShopifyObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
87804	return nil, false
87805}
87806
87807// AsFileShareDataset is the BasicDataset implementation for ShopifyObjectDataset.
87808func (sod ShopifyObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
87809	return nil, false
87810}
87811
87812// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ShopifyObjectDataset.
87813func (sod ShopifyObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
87814	return nil, false
87815}
87816
87817// AsDynamicsEntityDataset is the BasicDataset implementation for ShopifyObjectDataset.
87818func (sod ShopifyObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
87819	return nil, false
87820}
87821
87822// AsDocumentDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
87823func (sod ShopifyObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
87824	return nil, false
87825}
87826
87827// AsCustomDataset is the BasicDataset implementation for ShopifyObjectDataset.
87828func (sod ShopifyObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
87829	return nil, false
87830}
87831
87832// AsCassandraTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87833func (sod ShopifyObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
87834	return nil, false
87835}
87836
87837// AsAzureSQLDWTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87838func (sod ShopifyObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
87839	return nil, false
87840}
87841
87842// AsAzureSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87843func (sod ShopifyObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
87844	return nil, false
87845}
87846
87847// AsAzureTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
87848func (sod ShopifyObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
87849	return nil, false
87850}
87851
87852// AsAzureBlobDataset is the BasicDataset implementation for ShopifyObjectDataset.
87853func (sod ShopifyObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
87854	return nil, false
87855}
87856
87857// AsAmazonS3Dataset is the BasicDataset implementation for ShopifyObjectDataset.
87858func (sod ShopifyObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
87859	return nil, false
87860}
87861
87862// AsDataset is the BasicDataset implementation for ShopifyObjectDataset.
87863func (sod ShopifyObjectDataset) AsDataset() (*Dataset, bool) {
87864	return nil, false
87865}
87866
87867// AsBasicDataset is the BasicDataset implementation for ShopifyObjectDataset.
87868func (sod ShopifyObjectDataset) AsBasicDataset() (BasicDataset, bool) {
87869	return &sod, true
87870}
87871
87872// UnmarshalJSON is the custom unmarshaler for ShopifyObjectDataset struct.
87873func (sod *ShopifyObjectDataset) UnmarshalJSON(body []byte) error {
87874	var m map[string]*json.RawMessage
87875	err := json.Unmarshal(body, &m)
87876	if err != nil {
87877		return err
87878	}
87879	for k, v := range m {
87880		switch k {
87881		default:
87882			if v != nil {
87883				var additionalProperties interface{}
87884				err = json.Unmarshal(*v, &additionalProperties)
87885				if err != nil {
87886					return err
87887				}
87888				if sod.AdditionalProperties == nil {
87889					sod.AdditionalProperties = make(map[string]interface{})
87890				}
87891				sod.AdditionalProperties[k] = additionalProperties
87892			}
87893		case "description":
87894			if v != nil {
87895				var description string
87896				err = json.Unmarshal(*v, &description)
87897				if err != nil {
87898					return err
87899				}
87900				sod.Description = &description
87901			}
87902		case "structure":
87903			if v != nil {
87904				var structure interface{}
87905				err = json.Unmarshal(*v, &structure)
87906				if err != nil {
87907					return err
87908				}
87909				sod.Structure = structure
87910			}
87911		case "linkedServiceName":
87912			if v != nil {
87913				var linkedServiceName LinkedServiceReference
87914				err = json.Unmarshal(*v, &linkedServiceName)
87915				if err != nil {
87916					return err
87917				}
87918				sod.LinkedServiceName = &linkedServiceName
87919			}
87920		case "parameters":
87921			if v != nil {
87922				var parameters map[string]*ParameterSpecification
87923				err = json.Unmarshal(*v, &parameters)
87924				if err != nil {
87925					return err
87926				}
87927				sod.Parameters = parameters
87928			}
87929		case "annotations":
87930			if v != nil {
87931				var annotations []interface{}
87932				err = json.Unmarshal(*v, &annotations)
87933				if err != nil {
87934					return err
87935				}
87936				sod.Annotations = &annotations
87937			}
87938		case "type":
87939			if v != nil {
87940				var typeVar TypeBasicDataset
87941				err = json.Unmarshal(*v, &typeVar)
87942				if err != nil {
87943					return err
87944				}
87945				sod.Type = typeVar
87946			}
87947		}
87948	}
87949
87950	return nil
87951}
87952
87953// ShopifySource a copy activity Shopify Service source.
87954type ShopifySource struct {
87955	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
87956	Query interface{} `json:"query,omitempty"`
87957	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
87958	AdditionalProperties map[string]interface{} `json:""`
87959	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
87960	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
87961	// 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])).
87962	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
87963	// 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'
87964	Type TypeBasicCopySource `json:"type,omitempty"`
87965}
87966
87967// MarshalJSON is the custom marshaler for ShopifySource.
87968func (ss ShopifySource) MarshalJSON() ([]byte, error) {
87969	ss.Type = TypeShopifySource
87970	objectMap := make(map[string]interface{})
87971	if ss.Query != nil {
87972		objectMap["query"] = ss.Query
87973	}
87974	if ss.SourceRetryCount != nil {
87975		objectMap["sourceRetryCount"] = ss.SourceRetryCount
87976	}
87977	if ss.SourceRetryWait != nil {
87978		objectMap["sourceRetryWait"] = ss.SourceRetryWait
87979	}
87980	if ss.Type != "" {
87981		objectMap["type"] = ss.Type
87982	}
87983	for k, v := range ss.AdditionalProperties {
87984		objectMap[k] = v
87985	}
87986	return json.Marshal(objectMap)
87987}
87988
87989// AsAmazonRedshiftSource is the BasicCopySource implementation for ShopifySource.
87990func (ss ShopifySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
87991	return nil, false
87992}
87993
87994// AsResponsysSource is the BasicCopySource implementation for ShopifySource.
87995func (ss ShopifySource) AsResponsysSource() (*ResponsysSource, bool) {
87996	return nil, false
87997}
87998
87999// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ShopifySource.
88000func (ss ShopifySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
88001	return nil, false
88002}
88003
88004// AsVerticaSource is the BasicCopySource implementation for ShopifySource.
88005func (ss ShopifySource) AsVerticaSource() (*VerticaSource, bool) {
88006	return nil, false
88007}
88008
88009// AsNetezzaSource is the BasicCopySource implementation for ShopifySource.
88010func (ss ShopifySource) AsNetezzaSource() (*NetezzaSource, bool) {
88011	return nil, false
88012}
88013
88014// AsZohoSource is the BasicCopySource implementation for ShopifySource.
88015func (ss ShopifySource) AsZohoSource() (*ZohoSource, bool) {
88016	return nil, false
88017}
88018
88019// AsXeroSource is the BasicCopySource implementation for ShopifySource.
88020func (ss ShopifySource) AsXeroSource() (*XeroSource, bool) {
88021	return nil, false
88022}
88023
88024// AsSquareSource is the BasicCopySource implementation for ShopifySource.
88025func (ss ShopifySource) AsSquareSource() (*SquareSource, bool) {
88026	return nil, false
88027}
88028
88029// AsSparkSource is the BasicCopySource implementation for ShopifySource.
88030func (ss ShopifySource) AsSparkSource() (*SparkSource, bool) {
88031	return nil, false
88032}
88033
88034// AsShopifySource is the BasicCopySource implementation for ShopifySource.
88035func (ss ShopifySource) AsShopifySource() (*ShopifySource, bool) {
88036	return &ss, true
88037}
88038
88039// AsServiceNowSource is the BasicCopySource implementation for ShopifySource.
88040func (ss ShopifySource) AsServiceNowSource() (*ServiceNowSource, bool) {
88041	return nil, false
88042}
88043
88044// AsQuickBooksSource is the BasicCopySource implementation for ShopifySource.
88045func (ss ShopifySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
88046	return nil, false
88047}
88048
88049// AsPrestoSource is the BasicCopySource implementation for ShopifySource.
88050func (ss ShopifySource) AsPrestoSource() (*PrestoSource, bool) {
88051	return nil, false
88052}
88053
88054// AsPhoenixSource is the BasicCopySource implementation for ShopifySource.
88055func (ss ShopifySource) AsPhoenixSource() (*PhoenixSource, bool) {
88056	return nil, false
88057}
88058
88059// AsPaypalSource is the BasicCopySource implementation for ShopifySource.
88060func (ss ShopifySource) AsPaypalSource() (*PaypalSource, bool) {
88061	return nil, false
88062}
88063
88064// AsMarketoSource is the BasicCopySource implementation for ShopifySource.
88065func (ss ShopifySource) AsMarketoSource() (*MarketoSource, bool) {
88066	return nil, false
88067}
88068
88069// AsMariaDBSource is the BasicCopySource implementation for ShopifySource.
88070func (ss ShopifySource) AsMariaDBSource() (*MariaDBSource, bool) {
88071	return nil, false
88072}
88073
88074// AsMagentoSource is the BasicCopySource implementation for ShopifySource.
88075func (ss ShopifySource) AsMagentoSource() (*MagentoSource, bool) {
88076	return nil, false
88077}
88078
88079// AsJiraSource is the BasicCopySource implementation for ShopifySource.
88080func (ss ShopifySource) AsJiraSource() (*JiraSource, bool) {
88081	return nil, false
88082}
88083
88084// AsImpalaSource is the BasicCopySource implementation for ShopifySource.
88085func (ss ShopifySource) AsImpalaSource() (*ImpalaSource, bool) {
88086	return nil, false
88087}
88088
88089// AsHubspotSource is the BasicCopySource implementation for ShopifySource.
88090func (ss ShopifySource) AsHubspotSource() (*HubspotSource, bool) {
88091	return nil, false
88092}
88093
88094// AsHiveSource is the BasicCopySource implementation for ShopifySource.
88095func (ss ShopifySource) AsHiveSource() (*HiveSource, bool) {
88096	return nil, false
88097}
88098
88099// AsHBaseSource is the BasicCopySource implementation for ShopifySource.
88100func (ss ShopifySource) AsHBaseSource() (*HBaseSource, bool) {
88101	return nil, false
88102}
88103
88104// AsGreenplumSource is the BasicCopySource implementation for ShopifySource.
88105func (ss ShopifySource) AsGreenplumSource() (*GreenplumSource, bool) {
88106	return nil, false
88107}
88108
88109// AsGoogleBigQuerySource is the BasicCopySource implementation for ShopifySource.
88110func (ss ShopifySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
88111	return nil, false
88112}
88113
88114// AsEloquaSource is the BasicCopySource implementation for ShopifySource.
88115func (ss ShopifySource) AsEloquaSource() (*EloquaSource, bool) {
88116	return nil, false
88117}
88118
88119// AsDrillSource is the BasicCopySource implementation for ShopifySource.
88120func (ss ShopifySource) AsDrillSource() (*DrillSource, bool) {
88121	return nil, false
88122}
88123
88124// AsCouchbaseSource is the BasicCopySource implementation for ShopifySource.
88125func (ss ShopifySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
88126	return nil, false
88127}
88128
88129// AsConcurSource is the BasicCopySource implementation for ShopifySource.
88130func (ss ShopifySource) AsConcurSource() (*ConcurSource, bool) {
88131	return nil, false
88132}
88133
88134// AsAzurePostgreSQLSource is the BasicCopySource implementation for ShopifySource.
88135func (ss ShopifySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
88136	return nil, false
88137}
88138
88139// AsAmazonMWSSource is the BasicCopySource implementation for ShopifySource.
88140func (ss ShopifySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
88141	return nil, false
88142}
88143
88144// AsHTTPSource is the BasicCopySource implementation for ShopifySource.
88145func (ss ShopifySource) AsHTTPSource() (*HTTPSource, bool) {
88146	return nil, false
88147}
88148
88149// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ShopifySource.
88150func (ss ShopifySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
88151	return nil, false
88152}
88153
88154// AsMongoDbSource is the BasicCopySource implementation for ShopifySource.
88155func (ss ShopifySource) AsMongoDbSource() (*MongoDbSource, bool) {
88156	return nil, false
88157}
88158
88159// AsCassandraSource is the BasicCopySource implementation for ShopifySource.
88160func (ss ShopifySource) AsCassandraSource() (*CassandraSource, bool) {
88161	return nil, false
88162}
88163
88164// AsWebSource is the BasicCopySource implementation for ShopifySource.
88165func (ss ShopifySource) AsWebSource() (*WebSource, bool) {
88166	return nil, false
88167}
88168
88169// AsOracleSource is the BasicCopySource implementation for ShopifySource.
88170func (ss ShopifySource) AsOracleSource() (*OracleSource, bool) {
88171	return nil, false
88172}
88173
88174// AsAzureMySQLSource is the BasicCopySource implementation for ShopifySource.
88175func (ss ShopifySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
88176	return nil, false
88177}
88178
88179// AsHdfsSource is the BasicCopySource implementation for ShopifySource.
88180func (ss ShopifySource) AsHdfsSource() (*HdfsSource, bool) {
88181	return nil, false
88182}
88183
88184// AsFileSystemSource is the BasicCopySource implementation for ShopifySource.
88185func (ss ShopifySource) AsFileSystemSource() (*FileSystemSource, bool) {
88186	return nil, false
88187}
88188
88189// AsSQLDWSource is the BasicCopySource implementation for ShopifySource.
88190func (ss ShopifySource) AsSQLDWSource() (*SQLDWSource, bool) {
88191	return nil, false
88192}
88193
88194// AsSQLSource is the BasicCopySource implementation for ShopifySource.
88195func (ss ShopifySource) AsSQLSource() (*SQLSource, bool) {
88196	return nil, false
88197}
88198
88199// AsSapEccSource is the BasicCopySource implementation for ShopifySource.
88200func (ss ShopifySource) AsSapEccSource() (*SapEccSource, bool) {
88201	return nil, false
88202}
88203
88204// AsSapCloudForCustomerSource is the BasicCopySource implementation for ShopifySource.
88205func (ss ShopifySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
88206	return nil, false
88207}
88208
88209// AsSalesforceSource is the BasicCopySource implementation for ShopifySource.
88210func (ss ShopifySource) AsSalesforceSource() (*SalesforceSource, bool) {
88211	return nil, false
88212}
88213
88214// AsRelationalSource is the BasicCopySource implementation for ShopifySource.
88215func (ss ShopifySource) AsRelationalSource() (*RelationalSource, bool) {
88216	return nil, false
88217}
88218
88219// AsDynamicsSource is the BasicCopySource implementation for ShopifySource.
88220func (ss ShopifySource) AsDynamicsSource() (*DynamicsSource, bool) {
88221	return nil, false
88222}
88223
88224// AsDocumentDbCollectionSource is the BasicCopySource implementation for ShopifySource.
88225func (ss ShopifySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
88226	return nil, false
88227}
88228
88229// AsBlobSource is the BasicCopySource implementation for ShopifySource.
88230func (ss ShopifySource) AsBlobSource() (*BlobSource, bool) {
88231	return nil, false
88232}
88233
88234// AsAzureTableSource is the BasicCopySource implementation for ShopifySource.
88235func (ss ShopifySource) AsAzureTableSource() (*AzureTableSource, bool) {
88236	return nil, false
88237}
88238
88239// AsCopySource is the BasicCopySource implementation for ShopifySource.
88240func (ss ShopifySource) AsCopySource() (*CopySource, bool) {
88241	return nil, false
88242}
88243
88244// AsBasicCopySource is the BasicCopySource implementation for ShopifySource.
88245func (ss ShopifySource) AsBasicCopySource() (BasicCopySource, bool) {
88246	return &ss, true
88247}
88248
88249// UnmarshalJSON is the custom unmarshaler for ShopifySource struct.
88250func (ss *ShopifySource) UnmarshalJSON(body []byte) error {
88251	var m map[string]*json.RawMessage
88252	err := json.Unmarshal(body, &m)
88253	if err != nil {
88254		return err
88255	}
88256	for k, v := range m {
88257		switch k {
88258		case "query":
88259			if v != nil {
88260				var query interface{}
88261				err = json.Unmarshal(*v, &query)
88262				if err != nil {
88263					return err
88264				}
88265				ss.Query = query
88266			}
88267		default:
88268			if v != nil {
88269				var additionalProperties interface{}
88270				err = json.Unmarshal(*v, &additionalProperties)
88271				if err != nil {
88272					return err
88273				}
88274				if ss.AdditionalProperties == nil {
88275					ss.AdditionalProperties = make(map[string]interface{})
88276				}
88277				ss.AdditionalProperties[k] = additionalProperties
88278			}
88279		case "sourceRetryCount":
88280			if v != nil {
88281				var sourceRetryCount interface{}
88282				err = json.Unmarshal(*v, &sourceRetryCount)
88283				if err != nil {
88284					return err
88285				}
88286				ss.SourceRetryCount = sourceRetryCount
88287			}
88288		case "sourceRetryWait":
88289			if v != nil {
88290				var sourceRetryWait interface{}
88291				err = json.Unmarshal(*v, &sourceRetryWait)
88292				if err != nil {
88293					return err
88294				}
88295				ss.SourceRetryWait = sourceRetryWait
88296			}
88297		case "type":
88298			if v != nil {
88299				var typeVar TypeBasicCopySource
88300				err = json.Unmarshal(*v, &typeVar)
88301				if err != nil {
88302					return err
88303				}
88304				ss.Type = typeVar
88305			}
88306		}
88307	}
88308
88309	return nil
88310}
88311
88312// SparkLinkedService spark Server linked service.
88313type SparkLinkedService struct {
88314	// SparkLinkedServiceTypeProperties - Spark Server linked service properties.
88315	*SparkLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
88316	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
88317	AdditionalProperties map[string]interface{} `json:""`
88318	// ConnectVia - The integration runtime reference.
88319	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
88320	// Description - Linked service description.
88321	Description *string `json:"description,omitempty"`
88322	// Parameters - Parameters for linked service.
88323	Parameters map[string]*ParameterSpecification `json:"parameters"`
88324	// Annotations - List of tags that can be used for describing the Dataset.
88325	Annotations *[]interface{} `json:"annotations,omitempty"`
88326	// 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'
88327	Type TypeBasicLinkedService `json:"type,omitempty"`
88328}
88329
88330// MarshalJSON is the custom marshaler for SparkLinkedService.
88331func (sls SparkLinkedService) MarshalJSON() ([]byte, error) {
88332	sls.Type = TypeSpark
88333	objectMap := make(map[string]interface{})
88334	if sls.SparkLinkedServiceTypeProperties != nil {
88335		objectMap["typeProperties"] = sls.SparkLinkedServiceTypeProperties
88336	}
88337	if sls.ConnectVia != nil {
88338		objectMap["connectVia"] = sls.ConnectVia
88339	}
88340	if sls.Description != nil {
88341		objectMap["description"] = sls.Description
88342	}
88343	if sls.Parameters != nil {
88344		objectMap["parameters"] = sls.Parameters
88345	}
88346	if sls.Annotations != nil {
88347		objectMap["annotations"] = sls.Annotations
88348	}
88349	if sls.Type != "" {
88350		objectMap["type"] = sls.Type
88351	}
88352	for k, v := range sls.AdditionalProperties {
88353		objectMap[k] = v
88354	}
88355	return json.Marshal(objectMap)
88356}
88357
88358// AsResponsysLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88359func (sls SparkLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
88360	return nil, false
88361}
88362
88363// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88364func (sls SparkLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
88365	return nil, false
88366}
88367
88368// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88369func (sls SparkLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
88370	return nil, false
88371}
88372
88373// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88374func (sls SparkLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
88375	return nil, false
88376}
88377
88378// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88379func (sls SparkLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
88380	return nil, false
88381}
88382
88383// AsNetezzaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88384func (sls SparkLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
88385	return nil, false
88386}
88387
88388// AsVerticaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88389func (sls SparkLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
88390	return nil, false
88391}
88392
88393// AsZohoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88394func (sls SparkLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
88395	return nil, false
88396}
88397
88398// AsXeroLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88399func (sls SparkLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
88400	return nil, false
88401}
88402
88403// AsSquareLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88404func (sls SparkLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
88405	return nil, false
88406}
88407
88408// AsSparkLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88409func (sls SparkLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
88410	return &sls, true
88411}
88412
88413// AsShopifyLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88414func (sls SparkLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
88415	return nil, false
88416}
88417
88418// AsServiceNowLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88419func (sls SparkLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
88420	return nil, false
88421}
88422
88423// AsQuickBooksLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88424func (sls SparkLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
88425	return nil, false
88426}
88427
88428// AsPrestoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88429func (sls SparkLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
88430	return nil, false
88431}
88432
88433// AsPhoenixLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88434func (sls SparkLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
88435	return nil, false
88436}
88437
88438// AsPaypalLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88439func (sls SparkLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
88440	return nil, false
88441}
88442
88443// AsMarketoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88444func (sls SparkLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
88445	return nil, false
88446}
88447
88448// AsMariaDBLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88449func (sls SparkLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
88450	return nil, false
88451}
88452
88453// AsMagentoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88454func (sls SparkLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
88455	return nil, false
88456}
88457
88458// AsJiraLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88459func (sls SparkLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
88460	return nil, false
88461}
88462
88463// AsImpalaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88464func (sls SparkLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
88465	return nil, false
88466}
88467
88468// AsHubspotLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88469func (sls SparkLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
88470	return nil, false
88471}
88472
88473// AsHiveLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88474func (sls SparkLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
88475	return nil, false
88476}
88477
88478// AsHBaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88479func (sls SparkLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
88480	return nil, false
88481}
88482
88483// AsGreenplumLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88484func (sls SparkLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
88485	return nil, false
88486}
88487
88488// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88489func (sls SparkLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
88490	return nil, false
88491}
88492
88493// AsEloquaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88494func (sls SparkLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
88495	return nil, false
88496}
88497
88498// AsDrillLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88499func (sls SparkLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
88500	return nil, false
88501}
88502
88503// AsCouchbaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88504func (sls SparkLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
88505	return nil, false
88506}
88507
88508// AsConcurLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88509func (sls SparkLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
88510	return nil, false
88511}
88512
88513// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88514func (sls SparkLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
88515	return nil, false
88516}
88517
88518// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88519func (sls SparkLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
88520	return nil, false
88521}
88522
88523// AsSapHanaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88524func (sls SparkLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
88525	return nil, false
88526}
88527
88528// AsSapBWLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88529func (sls SparkLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
88530	return nil, false
88531}
88532
88533// AsSftpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88534func (sls SparkLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
88535	return nil, false
88536}
88537
88538// AsFtpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88539func (sls SparkLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
88540	return nil, false
88541}
88542
88543// AsHTTPLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88544func (sls SparkLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
88545	return nil, false
88546}
88547
88548// AsAzureSearchLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88549func (sls SparkLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
88550	return nil, false
88551}
88552
88553// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88554func (sls SparkLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
88555	return nil, false
88556}
88557
88558// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88559func (sls SparkLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
88560	return nil, false
88561}
88562
88563// AsAmazonS3LinkedService is the BasicLinkedService implementation for SparkLinkedService.
88564func (sls SparkLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
88565	return nil, false
88566}
88567
88568// AsSapEccLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88569func (sls SparkLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
88570	return nil, false
88571}
88572
88573// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88574func (sls SparkLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
88575	return nil, false
88576}
88577
88578// AsSalesforceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88579func (sls SparkLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
88580	return nil, false
88581}
88582
88583// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88584func (sls SparkLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
88585	return nil, false
88586}
88587
88588// AsMongoDbLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88589func (sls SparkLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
88590	return nil, false
88591}
88592
88593// AsCassandraLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88594func (sls SparkLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
88595	return nil, false
88596}
88597
88598// AsWebLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88599func (sls SparkLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
88600	return nil, false
88601}
88602
88603// AsODataLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88604func (sls SparkLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
88605	return nil, false
88606}
88607
88608// AsHdfsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88609func (sls SparkLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
88610	return nil, false
88611}
88612
88613// AsOdbcLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88614func (sls SparkLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
88615	return nil, false
88616}
88617
88618// AsAzureMLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88619func (sls SparkLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
88620	return nil, false
88621}
88622
88623// AsTeradataLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88624func (sls SparkLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
88625	return nil, false
88626}
88627
88628// AsDb2LinkedService is the BasicLinkedService implementation for SparkLinkedService.
88629func (sls SparkLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
88630	return nil, false
88631}
88632
88633// AsSybaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88634func (sls SparkLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
88635	return nil, false
88636}
88637
88638// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88639func (sls SparkLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
88640	return nil, false
88641}
88642
88643// AsMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88644func (sls SparkLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
88645	return nil, false
88646}
88647
88648// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88649func (sls SparkLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
88650	return nil, false
88651}
88652
88653// AsOracleLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88654func (sls SparkLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
88655	return nil, false
88656}
88657
88658// AsFileServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88659func (sls SparkLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
88660	return nil, false
88661}
88662
88663// AsHDInsightLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88664func (sls SparkLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
88665	return nil, false
88666}
88667
88668// AsDynamicsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88669func (sls SparkLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
88670	return nil, false
88671}
88672
88673// AsCosmosDbLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88674func (sls SparkLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
88675	return nil, false
88676}
88677
88678// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88679func (sls SparkLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
88680	return nil, false
88681}
88682
88683// AsAzureBatchLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88684func (sls SparkLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
88685	return nil, false
88686}
88687
88688// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88689func (sls SparkLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
88690	return nil, false
88691}
88692
88693// AsSQLServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88694func (sls SparkLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
88695	return nil, false
88696}
88697
88698// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88699func (sls SparkLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
88700	return nil, false
88701}
88702
88703// AsAzureStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88704func (sls SparkLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
88705	return nil, false
88706}
88707
88708// AsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88709func (sls SparkLinkedService) AsLinkedService() (*LinkedService, bool) {
88710	return nil, false
88711}
88712
88713// AsBasicLinkedService is the BasicLinkedService implementation for SparkLinkedService.
88714func (sls SparkLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
88715	return &sls, true
88716}
88717
88718// UnmarshalJSON is the custom unmarshaler for SparkLinkedService struct.
88719func (sls *SparkLinkedService) UnmarshalJSON(body []byte) error {
88720	var m map[string]*json.RawMessage
88721	err := json.Unmarshal(body, &m)
88722	if err != nil {
88723		return err
88724	}
88725	for k, v := range m {
88726		switch k {
88727		case "typeProperties":
88728			if v != nil {
88729				var sparkLinkedServiceTypeProperties SparkLinkedServiceTypeProperties
88730				err = json.Unmarshal(*v, &sparkLinkedServiceTypeProperties)
88731				if err != nil {
88732					return err
88733				}
88734				sls.SparkLinkedServiceTypeProperties = &sparkLinkedServiceTypeProperties
88735			}
88736		default:
88737			if v != nil {
88738				var additionalProperties interface{}
88739				err = json.Unmarshal(*v, &additionalProperties)
88740				if err != nil {
88741					return err
88742				}
88743				if sls.AdditionalProperties == nil {
88744					sls.AdditionalProperties = make(map[string]interface{})
88745				}
88746				sls.AdditionalProperties[k] = additionalProperties
88747			}
88748		case "connectVia":
88749			if v != nil {
88750				var connectVia IntegrationRuntimeReference
88751				err = json.Unmarshal(*v, &connectVia)
88752				if err != nil {
88753					return err
88754				}
88755				sls.ConnectVia = &connectVia
88756			}
88757		case "description":
88758			if v != nil {
88759				var description string
88760				err = json.Unmarshal(*v, &description)
88761				if err != nil {
88762					return err
88763				}
88764				sls.Description = &description
88765			}
88766		case "parameters":
88767			if v != nil {
88768				var parameters map[string]*ParameterSpecification
88769				err = json.Unmarshal(*v, &parameters)
88770				if err != nil {
88771					return err
88772				}
88773				sls.Parameters = parameters
88774			}
88775		case "annotations":
88776			if v != nil {
88777				var annotations []interface{}
88778				err = json.Unmarshal(*v, &annotations)
88779				if err != nil {
88780					return err
88781				}
88782				sls.Annotations = &annotations
88783			}
88784		case "type":
88785			if v != nil {
88786				var typeVar TypeBasicLinkedService
88787				err = json.Unmarshal(*v, &typeVar)
88788				if err != nil {
88789					return err
88790				}
88791				sls.Type = typeVar
88792			}
88793		}
88794	}
88795
88796	return nil
88797}
88798
88799// SparkLinkedServiceTypeProperties spark Server linked service properties.
88800type SparkLinkedServiceTypeProperties struct {
88801	// Host - IP address or host name of the Spark server
88802	Host interface{} `json:"host,omitempty"`
88803	// Port - The TCP port that the Spark server uses to listen for client connections.
88804	Port interface{} `json:"port,omitempty"`
88805	// ServerType - The type of Spark server. Possible values include: 'SharkServer', 'SharkServer2', 'SparkThriftServer'
88806	ServerType SparkServerType `json:"serverType,omitempty"`
88807	// ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'SparkThriftTransportProtocolBinary', 'SparkThriftTransportProtocolSASL', 'SparkThriftTransportProtocolHTTP'
88808	ThriftTransportProtocol SparkThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"`
88809	// AuthenticationType - The authentication method used to access the Spark server. Possible values include: 'SparkAuthenticationTypeAnonymous', 'SparkAuthenticationTypeUsername', 'SparkAuthenticationTypeUsernameAndPassword', 'SparkAuthenticationTypeWindowsAzureHDInsightService'
88810	AuthenticationType SparkAuthenticationType `json:"authenticationType,omitempty"`
88811	// Username - The user name that you use to access Spark Server.
88812	Username interface{} `json:"username,omitempty"`
88813	// Password - The password corresponding to the user name that you provided in the Username field
88814	Password BasicSecretBase `json:"password,omitempty"`
88815	// HTTPPath - The partial URL corresponding to the Spark server.
88816	HTTPPath interface{} `json:"httpPath,omitempty"`
88817	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
88818	EnableSsl interface{} `json:"enableSsl,omitempty"`
88819	// 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.
88820	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
88821	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
88822	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
88823	// 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.
88824	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
88825	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
88826	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
88827	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
88828	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
88829}
88830
88831// UnmarshalJSON is the custom unmarshaler for SparkLinkedServiceTypeProperties struct.
88832func (slstp *SparkLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
88833	var m map[string]*json.RawMessage
88834	err := json.Unmarshal(body, &m)
88835	if err != nil {
88836		return err
88837	}
88838	for k, v := range m {
88839		switch k {
88840		case "host":
88841			if v != nil {
88842				var host interface{}
88843				err = json.Unmarshal(*v, &host)
88844				if err != nil {
88845					return err
88846				}
88847				slstp.Host = host
88848			}
88849		case "port":
88850			if v != nil {
88851				var port interface{}
88852				err = json.Unmarshal(*v, &port)
88853				if err != nil {
88854					return err
88855				}
88856				slstp.Port = port
88857			}
88858		case "serverType":
88859			if v != nil {
88860				var serverType SparkServerType
88861				err = json.Unmarshal(*v, &serverType)
88862				if err != nil {
88863					return err
88864				}
88865				slstp.ServerType = serverType
88866			}
88867		case "thriftTransportProtocol":
88868			if v != nil {
88869				var thriftTransportProtocol SparkThriftTransportProtocol
88870				err = json.Unmarshal(*v, &thriftTransportProtocol)
88871				if err != nil {
88872					return err
88873				}
88874				slstp.ThriftTransportProtocol = thriftTransportProtocol
88875			}
88876		case "authenticationType":
88877			if v != nil {
88878				var authenticationType SparkAuthenticationType
88879				err = json.Unmarshal(*v, &authenticationType)
88880				if err != nil {
88881					return err
88882				}
88883				slstp.AuthenticationType = authenticationType
88884			}
88885		case "username":
88886			if v != nil {
88887				var username interface{}
88888				err = json.Unmarshal(*v, &username)
88889				if err != nil {
88890					return err
88891				}
88892				slstp.Username = username
88893			}
88894		case "password":
88895			if v != nil {
88896				password, err := unmarshalBasicSecretBase(*v)
88897				if err != nil {
88898					return err
88899				}
88900				slstp.Password = password
88901			}
88902		case "httpPath":
88903			if v != nil {
88904				var HTTPPath interface{}
88905				err = json.Unmarshal(*v, &HTTPPath)
88906				if err != nil {
88907					return err
88908				}
88909				slstp.HTTPPath = HTTPPath
88910			}
88911		case "enableSsl":
88912			if v != nil {
88913				var enableSsl interface{}
88914				err = json.Unmarshal(*v, &enableSsl)
88915				if err != nil {
88916					return err
88917				}
88918				slstp.EnableSsl = enableSsl
88919			}
88920		case "trustedCertPath":
88921			if v != nil {
88922				var trustedCertPath interface{}
88923				err = json.Unmarshal(*v, &trustedCertPath)
88924				if err != nil {
88925					return err
88926				}
88927				slstp.TrustedCertPath = trustedCertPath
88928			}
88929		case "useSystemTrustStore":
88930			if v != nil {
88931				var useSystemTrustStore interface{}
88932				err = json.Unmarshal(*v, &useSystemTrustStore)
88933				if err != nil {
88934					return err
88935				}
88936				slstp.UseSystemTrustStore = useSystemTrustStore
88937			}
88938		case "allowHostNameCNMismatch":
88939			if v != nil {
88940				var allowHostNameCNMismatch interface{}
88941				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
88942				if err != nil {
88943					return err
88944				}
88945				slstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
88946			}
88947		case "allowSelfSignedServerCert":
88948			if v != nil {
88949				var allowSelfSignedServerCert interface{}
88950				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
88951				if err != nil {
88952					return err
88953				}
88954				slstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
88955			}
88956		case "encryptedCredential":
88957			if v != nil {
88958				var encryptedCredential interface{}
88959				err = json.Unmarshal(*v, &encryptedCredential)
88960				if err != nil {
88961					return err
88962				}
88963				slstp.EncryptedCredential = encryptedCredential
88964			}
88965		}
88966	}
88967
88968	return nil
88969}
88970
88971// SparkObjectDataset spark Server dataset.
88972type SparkObjectDataset struct {
88973	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
88974	AdditionalProperties map[string]interface{} `json:""`
88975	// Description - Dataset description.
88976	Description *string `json:"description,omitempty"`
88977	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
88978	Structure interface{} `json:"structure,omitempty"`
88979	// LinkedServiceName - Linked service reference.
88980	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
88981	// Parameters - Parameters for dataset.
88982	Parameters map[string]*ParameterSpecification `json:"parameters"`
88983	// Annotations - List of tags that can be used for describing the Dataset.
88984	Annotations *[]interface{} `json:"annotations,omitempty"`
88985	// 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'
88986	Type TypeBasicDataset `json:"type,omitempty"`
88987}
88988
88989// MarshalJSON is the custom marshaler for SparkObjectDataset.
88990func (sod SparkObjectDataset) MarshalJSON() ([]byte, error) {
88991	sod.Type = TypeSparkObject
88992	objectMap := make(map[string]interface{})
88993	if sod.Description != nil {
88994		objectMap["description"] = sod.Description
88995	}
88996	if sod.Structure != nil {
88997		objectMap["structure"] = sod.Structure
88998	}
88999	if sod.LinkedServiceName != nil {
89000		objectMap["linkedServiceName"] = sod.LinkedServiceName
89001	}
89002	if sod.Parameters != nil {
89003		objectMap["parameters"] = sod.Parameters
89004	}
89005	if sod.Annotations != nil {
89006		objectMap["annotations"] = sod.Annotations
89007	}
89008	if sod.Type != "" {
89009		objectMap["type"] = sod.Type
89010	}
89011	for k, v := range sod.AdditionalProperties {
89012		objectMap[k] = v
89013	}
89014	return json.Marshal(objectMap)
89015}
89016
89017// AsResponsysObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89018func (sod SparkObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
89019	return nil, false
89020}
89021
89022// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89023func (sod SparkObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
89024	return nil, false
89025}
89026
89027// AsVerticaTableDataset is the BasicDataset implementation for SparkObjectDataset.
89028func (sod SparkObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
89029	return nil, false
89030}
89031
89032// AsNetezzaTableDataset is the BasicDataset implementation for SparkObjectDataset.
89033func (sod SparkObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
89034	return nil, false
89035}
89036
89037// AsZohoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89038func (sod SparkObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
89039	return nil, false
89040}
89041
89042// AsXeroObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89043func (sod SparkObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
89044	return nil, false
89045}
89046
89047// AsSquareObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89048func (sod SparkObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
89049	return nil, false
89050}
89051
89052// AsSparkObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89053func (sod SparkObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
89054	return &sod, true
89055}
89056
89057// AsShopifyObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89058func (sod SparkObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
89059	return nil, false
89060}
89061
89062// AsServiceNowObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89063func (sod SparkObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
89064	return nil, false
89065}
89066
89067// AsQuickBooksObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89068func (sod SparkObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
89069	return nil, false
89070}
89071
89072// AsPrestoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89073func (sod SparkObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
89074	return nil, false
89075}
89076
89077// AsPhoenixObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89078func (sod SparkObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
89079	return nil, false
89080}
89081
89082// AsPaypalObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89083func (sod SparkObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
89084	return nil, false
89085}
89086
89087// AsMarketoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89088func (sod SparkObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
89089	return nil, false
89090}
89091
89092// AsMariaDBTableDataset is the BasicDataset implementation for SparkObjectDataset.
89093func (sod SparkObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
89094	return nil, false
89095}
89096
89097// AsMagentoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89098func (sod SparkObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
89099	return nil, false
89100}
89101
89102// AsJiraObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89103func (sod SparkObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
89104	return nil, false
89105}
89106
89107// AsImpalaObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89108func (sod SparkObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
89109	return nil, false
89110}
89111
89112// AsHubspotObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89113func (sod SparkObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
89114	return nil, false
89115}
89116
89117// AsHiveObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89118func (sod SparkObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
89119	return nil, false
89120}
89121
89122// AsHBaseObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89123func (sod SparkObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
89124	return nil, false
89125}
89126
89127// AsGreenplumTableDataset is the BasicDataset implementation for SparkObjectDataset.
89128func (sod SparkObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
89129	return nil, false
89130}
89131
89132// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89133func (sod SparkObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
89134	return nil, false
89135}
89136
89137// AsEloquaObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89138func (sod SparkObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
89139	return nil, false
89140}
89141
89142// AsDrillTableDataset is the BasicDataset implementation for SparkObjectDataset.
89143func (sod SparkObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
89144	return nil, false
89145}
89146
89147// AsCouchbaseTableDataset is the BasicDataset implementation for SparkObjectDataset.
89148func (sod SparkObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
89149	return nil, false
89150}
89151
89152// AsConcurObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89153func (sod SparkObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
89154	return nil, false
89155}
89156
89157// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
89158func (sod SparkObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
89159	return nil, false
89160}
89161
89162// AsAmazonMWSObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89163func (sod SparkObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
89164	return nil, false
89165}
89166
89167// AsHTTPDataset is the BasicDataset implementation for SparkObjectDataset.
89168func (sod SparkObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
89169	return nil, false
89170}
89171
89172// AsAzureSearchIndexDataset is the BasicDataset implementation for SparkObjectDataset.
89173func (sod SparkObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
89174	return nil, false
89175}
89176
89177// AsWebTableDataset is the BasicDataset implementation for SparkObjectDataset.
89178func (sod SparkObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
89179	return nil, false
89180}
89181
89182// AsSQLServerTableDataset is the BasicDataset implementation for SparkObjectDataset.
89183func (sod SparkObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
89184	return nil, false
89185}
89186
89187// AsSapEccResourceDataset is the BasicDataset implementation for SparkObjectDataset.
89188func (sod SparkObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
89189	return nil, false
89190}
89191
89192// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SparkObjectDataset.
89193func (sod SparkObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
89194	return nil, false
89195}
89196
89197// AsSalesforceObjectDataset is the BasicDataset implementation for SparkObjectDataset.
89198func (sod SparkObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
89199	return nil, false
89200}
89201
89202// AsRelationalTableDataset is the BasicDataset implementation for SparkObjectDataset.
89203func (sod SparkObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
89204	return nil, false
89205}
89206
89207// AsAzureMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
89208func (sod SparkObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
89209	return nil, false
89210}
89211
89212// AsOracleTableDataset is the BasicDataset implementation for SparkObjectDataset.
89213func (sod SparkObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
89214	return nil, false
89215}
89216
89217// AsODataResourceDataset is the BasicDataset implementation for SparkObjectDataset.
89218func (sod SparkObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
89219	return nil, false
89220}
89221
89222// AsMongoDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset.
89223func (sod SparkObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
89224	return nil, false
89225}
89226
89227// AsFileShareDataset is the BasicDataset implementation for SparkObjectDataset.
89228func (sod SparkObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
89229	return nil, false
89230}
89231
89232// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SparkObjectDataset.
89233func (sod SparkObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
89234	return nil, false
89235}
89236
89237// AsDynamicsEntityDataset is the BasicDataset implementation for SparkObjectDataset.
89238func (sod SparkObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
89239	return nil, false
89240}
89241
89242// AsDocumentDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset.
89243func (sod SparkObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
89244	return nil, false
89245}
89246
89247// AsCustomDataset is the BasicDataset implementation for SparkObjectDataset.
89248func (sod SparkObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
89249	return nil, false
89250}
89251
89252// AsCassandraTableDataset is the BasicDataset implementation for SparkObjectDataset.
89253func (sod SparkObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
89254	return nil, false
89255}
89256
89257// AsAzureSQLDWTableDataset is the BasicDataset implementation for SparkObjectDataset.
89258func (sod SparkObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
89259	return nil, false
89260}
89261
89262// AsAzureSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
89263func (sod SparkObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
89264	return nil, false
89265}
89266
89267// AsAzureTableDataset is the BasicDataset implementation for SparkObjectDataset.
89268func (sod SparkObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
89269	return nil, false
89270}
89271
89272// AsAzureBlobDataset is the BasicDataset implementation for SparkObjectDataset.
89273func (sod SparkObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
89274	return nil, false
89275}
89276
89277// AsAmazonS3Dataset is the BasicDataset implementation for SparkObjectDataset.
89278func (sod SparkObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
89279	return nil, false
89280}
89281
89282// AsDataset is the BasicDataset implementation for SparkObjectDataset.
89283func (sod SparkObjectDataset) AsDataset() (*Dataset, bool) {
89284	return nil, false
89285}
89286
89287// AsBasicDataset is the BasicDataset implementation for SparkObjectDataset.
89288func (sod SparkObjectDataset) AsBasicDataset() (BasicDataset, bool) {
89289	return &sod, true
89290}
89291
89292// UnmarshalJSON is the custom unmarshaler for SparkObjectDataset struct.
89293func (sod *SparkObjectDataset) UnmarshalJSON(body []byte) error {
89294	var m map[string]*json.RawMessage
89295	err := json.Unmarshal(body, &m)
89296	if err != nil {
89297		return err
89298	}
89299	for k, v := range m {
89300		switch k {
89301		default:
89302			if v != nil {
89303				var additionalProperties interface{}
89304				err = json.Unmarshal(*v, &additionalProperties)
89305				if err != nil {
89306					return err
89307				}
89308				if sod.AdditionalProperties == nil {
89309					sod.AdditionalProperties = make(map[string]interface{})
89310				}
89311				sod.AdditionalProperties[k] = additionalProperties
89312			}
89313		case "description":
89314			if v != nil {
89315				var description string
89316				err = json.Unmarshal(*v, &description)
89317				if err != nil {
89318					return err
89319				}
89320				sod.Description = &description
89321			}
89322		case "structure":
89323			if v != nil {
89324				var structure interface{}
89325				err = json.Unmarshal(*v, &structure)
89326				if err != nil {
89327					return err
89328				}
89329				sod.Structure = structure
89330			}
89331		case "linkedServiceName":
89332			if v != nil {
89333				var linkedServiceName LinkedServiceReference
89334				err = json.Unmarshal(*v, &linkedServiceName)
89335				if err != nil {
89336					return err
89337				}
89338				sod.LinkedServiceName = &linkedServiceName
89339			}
89340		case "parameters":
89341			if v != nil {
89342				var parameters map[string]*ParameterSpecification
89343				err = json.Unmarshal(*v, &parameters)
89344				if err != nil {
89345					return err
89346				}
89347				sod.Parameters = parameters
89348			}
89349		case "annotations":
89350			if v != nil {
89351				var annotations []interface{}
89352				err = json.Unmarshal(*v, &annotations)
89353				if err != nil {
89354					return err
89355				}
89356				sod.Annotations = &annotations
89357			}
89358		case "type":
89359			if v != nil {
89360				var typeVar TypeBasicDataset
89361				err = json.Unmarshal(*v, &typeVar)
89362				if err != nil {
89363					return err
89364				}
89365				sod.Type = typeVar
89366			}
89367		}
89368	}
89369
89370	return nil
89371}
89372
89373// SparkSource a copy activity Spark Server source.
89374type SparkSource struct {
89375	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
89376	Query interface{} `json:"query,omitempty"`
89377	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
89378	AdditionalProperties map[string]interface{} `json:""`
89379	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
89380	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
89381	// 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])).
89382	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
89383	// 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'
89384	Type TypeBasicCopySource `json:"type,omitempty"`
89385}
89386
89387// MarshalJSON is the custom marshaler for SparkSource.
89388func (ss SparkSource) MarshalJSON() ([]byte, error) {
89389	ss.Type = TypeSparkSource
89390	objectMap := make(map[string]interface{})
89391	if ss.Query != nil {
89392		objectMap["query"] = ss.Query
89393	}
89394	if ss.SourceRetryCount != nil {
89395		objectMap["sourceRetryCount"] = ss.SourceRetryCount
89396	}
89397	if ss.SourceRetryWait != nil {
89398		objectMap["sourceRetryWait"] = ss.SourceRetryWait
89399	}
89400	if ss.Type != "" {
89401		objectMap["type"] = ss.Type
89402	}
89403	for k, v := range ss.AdditionalProperties {
89404		objectMap[k] = v
89405	}
89406	return json.Marshal(objectMap)
89407}
89408
89409// AsAmazonRedshiftSource is the BasicCopySource implementation for SparkSource.
89410func (ss SparkSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
89411	return nil, false
89412}
89413
89414// AsResponsysSource is the BasicCopySource implementation for SparkSource.
89415func (ss SparkSource) AsResponsysSource() (*ResponsysSource, bool) {
89416	return nil, false
89417}
89418
89419// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SparkSource.
89420func (ss SparkSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
89421	return nil, false
89422}
89423
89424// AsVerticaSource is the BasicCopySource implementation for SparkSource.
89425func (ss SparkSource) AsVerticaSource() (*VerticaSource, bool) {
89426	return nil, false
89427}
89428
89429// AsNetezzaSource is the BasicCopySource implementation for SparkSource.
89430func (ss SparkSource) AsNetezzaSource() (*NetezzaSource, bool) {
89431	return nil, false
89432}
89433
89434// AsZohoSource is the BasicCopySource implementation for SparkSource.
89435func (ss SparkSource) AsZohoSource() (*ZohoSource, bool) {
89436	return nil, false
89437}
89438
89439// AsXeroSource is the BasicCopySource implementation for SparkSource.
89440func (ss SparkSource) AsXeroSource() (*XeroSource, bool) {
89441	return nil, false
89442}
89443
89444// AsSquareSource is the BasicCopySource implementation for SparkSource.
89445func (ss SparkSource) AsSquareSource() (*SquareSource, bool) {
89446	return nil, false
89447}
89448
89449// AsSparkSource is the BasicCopySource implementation for SparkSource.
89450func (ss SparkSource) AsSparkSource() (*SparkSource, bool) {
89451	return &ss, true
89452}
89453
89454// AsShopifySource is the BasicCopySource implementation for SparkSource.
89455func (ss SparkSource) AsShopifySource() (*ShopifySource, bool) {
89456	return nil, false
89457}
89458
89459// AsServiceNowSource is the BasicCopySource implementation for SparkSource.
89460func (ss SparkSource) AsServiceNowSource() (*ServiceNowSource, bool) {
89461	return nil, false
89462}
89463
89464// AsQuickBooksSource is the BasicCopySource implementation for SparkSource.
89465func (ss SparkSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
89466	return nil, false
89467}
89468
89469// AsPrestoSource is the BasicCopySource implementation for SparkSource.
89470func (ss SparkSource) AsPrestoSource() (*PrestoSource, bool) {
89471	return nil, false
89472}
89473
89474// AsPhoenixSource is the BasicCopySource implementation for SparkSource.
89475func (ss SparkSource) AsPhoenixSource() (*PhoenixSource, bool) {
89476	return nil, false
89477}
89478
89479// AsPaypalSource is the BasicCopySource implementation for SparkSource.
89480func (ss SparkSource) AsPaypalSource() (*PaypalSource, bool) {
89481	return nil, false
89482}
89483
89484// AsMarketoSource is the BasicCopySource implementation for SparkSource.
89485func (ss SparkSource) AsMarketoSource() (*MarketoSource, bool) {
89486	return nil, false
89487}
89488
89489// AsMariaDBSource is the BasicCopySource implementation for SparkSource.
89490func (ss SparkSource) AsMariaDBSource() (*MariaDBSource, bool) {
89491	return nil, false
89492}
89493
89494// AsMagentoSource is the BasicCopySource implementation for SparkSource.
89495func (ss SparkSource) AsMagentoSource() (*MagentoSource, bool) {
89496	return nil, false
89497}
89498
89499// AsJiraSource is the BasicCopySource implementation for SparkSource.
89500func (ss SparkSource) AsJiraSource() (*JiraSource, bool) {
89501	return nil, false
89502}
89503
89504// AsImpalaSource is the BasicCopySource implementation for SparkSource.
89505func (ss SparkSource) AsImpalaSource() (*ImpalaSource, bool) {
89506	return nil, false
89507}
89508
89509// AsHubspotSource is the BasicCopySource implementation for SparkSource.
89510func (ss SparkSource) AsHubspotSource() (*HubspotSource, bool) {
89511	return nil, false
89512}
89513
89514// AsHiveSource is the BasicCopySource implementation for SparkSource.
89515func (ss SparkSource) AsHiveSource() (*HiveSource, bool) {
89516	return nil, false
89517}
89518
89519// AsHBaseSource is the BasicCopySource implementation for SparkSource.
89520func (ss SparkSource) AsHBaseSource() (*HBaseSource, bool) {
89521	return nil, false
89522}
89523
89524// AsGreenplumSource is the BasicCopySource implementation for SparkSource.
89525func (ss SparkSource) AsGreenplumSource() (*GreenplumSource, bool) {
89526	return nil, false
89527}
89528
89529// AsGoogleBigQuerySource is the BasicCopySource implementation for SparkSource.
89530func (ss SparkSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
89531	return nil, false
89532}
89533
89534// AsEloquaSource is the BasicCopySource implementation for SparkSource.
89535func (ss SparkSource) AsEloquaSource() (*EloquaSource, bool) {
89536	return nil, false
89537}
89538
89539// AsDrillSource is the BasicCopySource implementation for SparkSource.
89540func (ss SparkSource) AsDrillSource() (*DrillSource, bool) {
89541	return nil, false
89542}
89543
89544// AsCouchbaseSource is the BasicCopySource implementation for SparkSource.
89545func (ss SparkSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
89546	return nil, false
89547}
89548
89549// AsConcurSource is the BasicCopySource implementation for SparkSource.
89550func (ss SparkSource) AsConcurSource() (*ConcurSource, bool) {
89551	return nil, false
89552}
89553
89554// AsAzurePostgreSQLSource is the BasicCopySource implementation for SparkSource.
89555func (ss SparkSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
89556	return nil, false
89557}
89558
89559// AsAmazonMWSSource is the BasicCopySource implementation for SparkSource.
89560func (ss SparkSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
89561	return nil, false
89562}
89563
89564// AsHTTPSource is the BasicCopySource implementation for SparkSource.
89565func (ss SparkSource) AsHTTPSource() (*HTTPSource, bool) {
89566	return nil, false
89567}
89568
89569// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SparkSource.
89570func (ss SparkSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
89571	return nil, false
89572}
89573
89574// AsMongoDbSource is the BasicCopySource implementation for SparkSource.
89575func (ss SparkSource) AsMongoDbSource() (*MongoDbSource, bool) {
89576	return nil, false
89577}
89578
89579// AsCassandraSource is the BasicCopySource implementation for SparkSource.
89580func (ss SparkSource) AsCassandraSource() (*CassandraSource, bool) {
89581	return nil, false
89582}
89583
89584// AsWebSource is the BasicCopySource implementation for SparkSource.
89585func (ss SparkSource) AsWebSource() (*WebSource, bool) {
89586	return nil, false
89587}
89588
89589// AsOracleSource is the BasicCopySource implementation for SparkSource.
89590func (ss SparkSource) AsOracleSource() (*OracleSource, bool) {
89591	return nil, false
89592}
89593
89594// AsAzureMySQLSource is the BasicCopySource implementation for SparkSource.
89595func (ss SparkSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
89596	return nil, false
89597}
89598
89599// AsHdfsSource is the BasicCopySource implementation for SparkSource.
89600func (ss SparkSource) AsHdfsSource() (*HdfsSource, bool) {
89601	return nil, false
89602}
89603
89604// AsFileSystemSource is the BasicCopySource implementation for SparkSource.
89605func (ss SparkSource) AsFileSystemSource() (*FileSystemSource, bool) {
89606	return nil, false
89607}
89608
89609// AsSQLDWSource is the BasicCopySource implementation for SparkSource.
89610func (ss SparkSource) AsSQLDWSource() (*SQLDWSource, bool) {
89611	return nil, false
89612}
89613
89614// AsSQLSource is the BasicCopySource implementation for SparkSource.
89615func (ss SparkSource) AsSQLSource() (*SQLSource, bool) {
89616	return nil, false
89617}
89618
89619// AsSapEccSource is the BasicCopySource implementation for SparkSource.
89620func (ss SparkSource) AsSapEccSource() (*SapEccSource, bool) {
89621	return nil, false
89622}
89623
89624// AsSapCloudForCustomerSource is the BasicCopySource implementation for SparkSource.
89625func (ss SparkSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
89626	return nil, false
89627}
89628
89629// AsSalesforceSource is the BasicCopySource implementation for SparkSource.
89630func (ss SparkSource) AsSalesforceSource() (*SalesforceSource, bool) {
89631	return nil, false
89632}
89633
89634// AsRelationalSource is the BasicCopySource implementation for SparkSource.
89635func (ss SparkSource) AsRelationalSource() (*RelationalSource, bool) {
89636	return nil, false
89637}
89638
89639// AsDynamicsSource is the BasicCopySource implementation for SparkSource.
89640func (ss SparkSource) AsDynamicsSource() (*DynamicsSource, bool) {
89641	return nil, false
89642}
89643
89644// AsDocumentDbCollectionSource is the BasicCopySource implementation for SparkSource.
89645func (ss SparkSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
89646	return nil, false
89647}
89648
89649// AsBlobSource is the BasicCopySource implementation for SparkSource.
89650func (ss SparkSource) AsBlobSource() (*BlobSource, bool) {
89651	return nil, false
89652}
89653
89654// AsAzureTableSource is the BasicCopySource implementation for SparkSource.
89655func (ss SparkSource) AsAzureTableSource() (*AzureTableSource, bool) {
89656	return nil, false
89657}
89658
89659// AsCopySource is the BasicCopySource implementation for SparkSource.
89660func (ss SparkSource) AsCopySource() (*CopySource, bool) {
89661	return nil, false
89662}
89663
89664// AsBasicCopySource is the BasicCopySource implementation for SparkSource.
89665func (ss SparkSource) AsBasicCopySource() (BasicCopySource, bool) {
89666	return &ss, true
89667}
89668
89669// UnmarshalJSON is the custom unmarshaler for SparkSource struct.
89670func (ss *SparkSource) UnmarshalJSON(body []byte) error {
89671	var m map[string]*json.RawMessage
89672	err := json.Unmarshal(body, &m)
89673	if err != nil {
89674		return err
89675	}
89676	for k, v := range m {
89677		switch k {
89678		case "query":
89679			if v != nil {
89680				var query interface{}
89681				err = json.Unmarshal(*v, &query)
89682				if err != nil {
89683					return err
89684				}
89685				ss.Query = query
89686			}
89687		default:
89688			if v != nil {
89689				var additionalProperties interface{}
89690				err = json.Unmarshal(*v, &additionalProperties)
89691				if err != nil {
89692					return err
89693				}
89694				if ss.AdditionalProperties == nil {
89695					ss.AdditionalProperties = make(map[string]interface{})
89696				}
89697				ss.AdditionalProperties[k] = additionalProperties
89698			}
89699		case "sourceRetryCount":
89700			if v != nil {
89701				var sourceRetryCount interface{}
89702				err = json.Unmarshal(*v, &sourceRetryCount)
89703				if err != nil {
89704					return err
89705				}
89706				ss.SourceRetryCount = sourceRetryCount
89707			}
89708		case "sourceRetryWait":
89709			if v != nil {
89710				var sourceRetryWait interface{}
89711				err = json.Unmarshal(*v, &sourceRetryWait)
89712				if err != nil {
89713					return err
89714				}
89715				ss.SourceRetryWait = sourceRetryWait
89716			}
89717		case "type":
89718			if v != nil {
89719				var typeVar TypeBasicCopySource
89720				err = json.Unmarshal(*v, &typeVar)
89721				if err != nil {
89722					return err
89723				}
89724				ss.Type = typeVar
89725			}
89726		}
89727	}
89728
89729	return nil
89730}
89731
89732// SQLDWSink a copy activity SQL Data Warehouse sink.
89733type SQLDWSink struct {
89734	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
89735	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
89736	// AllowPolyBase - Indicates to use PolyBase to copy data into SQL Data Warehouse when applicable. Type: boolean (or Expression with resultType boolean).
89737	AllowPolyBase interface{} `json:"allowPolyBase,omitempty"`
89738	// PolyBaseSettings - Specifies PolyBase-related settings when allowPolyBase is true.
89739	PolyBaseSettings *PolybaseSettings `json:"polyBaseSettings,omitempty"`
89740	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
89741	AdditionalProperties map[string]interface{} `json:""`
89742	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
89743	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
89744	// 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])).
89745	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
89746	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
89747	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
89748	// 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])).
89749	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
89750	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
89751	Type TypeBasicCopySink `json:"type,omitempty"`
89752}
89753
89754// MarshalJSON is the custom marshaler for SQLDWSink.
89755func (sds SQLDWSink) MarshalJSON() ([]byte, error) {
89756	sds.Type = TypeSQLDWSink
89757	objectMap := make(map[string]interface{})
89758	if sds.PreCopyScript != nil {
89759		objectMap["preCopyScript"] = sds.PreCopyScript
89760	}
89761	if sds.AllowPolyBase != nil {
89762		objectMap["allowPolyBase"] = sds.AllowPolyBase
89763	}
89764	if sds.PolyBaseSettings != nil {
89765		objectMap["polyBaseSettings"] = sds.PolyBaseSettings
89766	}
89767	if sds.WriteBatchSize != nil {
89768		objectMap["writeBatchSize"] = sds.WriteBatchSize
89769	}
89770	if sds.WriteBatchTimeout != nil {
89771		objectMap["writeBatchTimeout"] = sds.WriteBatchTimeout
89772	}
89773	if sds.SinkRetryCount != nil {
89774		objectMap["sinkRetryCount"] = sds.SinkRetryCount
89775	}
89776	if sds.SinkRetryWait != nil {
89777		objectMap["sinkRetryWait"] = sds.SinkRetryWait
89778	}
89779	if sds.Type != "" {
89780		objectMap["type"] = sds.Type
89781	}
89782	for k, v := range sds.AdditionalProperties {
89783		objectMap[k] = v
89784	}
89785	return json.Marshal(objectMap)
89786}
89787
89788// AsSalesforceSink is the BasicCopySink implementation for SQLDWSink.
89789func (sds SQLDWSink) AsSalesforceSink() (*SalesforceSink, bool) {
89790	return nil, false
89791}
89792
89793// AsDynamicsSink is the BasicCopySink implementation for SQLDWSink.
89794func (sds SQLDWSink) AsDynamicsSink() (*DynamicsSink, bool) {
89795	return nil, false
89796}
89797
89798// AsOdbcSink is the BasicCopySink implementation for SQLDWSink.
89799func (sds SQLDWSink) AsOdbcSink() (*OdbcSink, bool) {
89800	return nil, false
89801}
89802
89803// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLDWSink.
89804func (sds SQLDWSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
89805	return nil, false
89806}
89807
89808// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLDWSink.
89809func (sds SQLDWSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
89810	return nil, false
89811}
89812
89813// AsOracleSink is the BasicCopySink implementation for SQLDWSink.
89814func (sds SQLDWSink) AsOracleSink() (*OracleSink, bool) {
89815	return nil, false
89816}
89817
89818// AsSQLDWSink is the BasicCopySink implementation for SQLDWSink.
89819func (sds SQLDWSink) AsSQLDWSink() (*SQLDWSink, bool) {
89820	return &sds, true
89821}
89822
89823// AsSQLSink is the BasicCopySink implementation for SQLDWSink.
89824func (sds SQLDWSink) AsSQLSink() (*SQLSink, bool) {
89825	return nil, false
89826}
89827
89828// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLDWSink.
89829func (sds SQLDWSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
89830	return nil, false
89831}
89832
89833// AsFileSystemSink is the BasicCopySink implementation for SQLDWSink.
89834func (sds SQLDWSink) AsFileSystemSink() (*FileSystemSink, bool) {
89835	return nil, false
89836}
89837
89838// AsBlobSink is the BasicCopySink implementation for SQLDWSink.
89839func (sds SQLDWSink) AsBlobSink() (*BlobSink, bool) {
89840	return nil, false
89841}
89842
89843// AsAzureTableSink is the BasicCopySink implementation for SQLDWSink.
89844func (sds SQLDWSink) AsAzureTableSink() (*AzureTableSink, bool) {
89845	return nil, false
89846}
89847
89848// AsAzureQueueSink is the BasicCopySink implementation for SQLDWSink.
89849func (sds SQLDWSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
89850	return nil, false
89851}
89852
89853// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLDWSink.
89854func (sds SQLDWSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
89855	return nil, false
89856}
89857
89858// AsCopySink is the BasicCopySink implementation for SQLDWSink.
89859func (sds SQLDWSink) AsCopySink() (*CopySink, bool) {
89860	return nil, false
89861}
89862
89863// AsBasicCopySink is the BasicCopySink implementation for SQLDWSink.
89864func (sds SQLDWSink) AsBasicCopySink() (BasicCopySink, bool) {
89865	return &sds, true
89866}
89867
89868// UnmarshalJSON is the custom unmarshaler for SQLDWSink struct.
89869func (sds *SQLDWSink) UnmarshalJSON(body []byte) error {
89870	var m map[string]*json.RawMessage
89871	err := json.Unmarshal(body, &m)
89872	if err != nil {
89873		return err
89874	}
89875	for k, v := range m {
89876		switch k {
89877		case "preCopyScript":
89878			if v != nil {
89879				var preCopyScript interface{}
89880				err = json.Unmarshal(*v, &preCopyScript)
89881				if err != nil {
89882					return err
89883				}
89884				sds.PreCopyScript = preCopyScript
89885			}
89886		case "allowPolyBase":
89887			if v != nil {
89888				var allowPolyBase interface{}
89889				err = json.Unmarshal(*v, &allowPolyBase)
89890				if err != nil {
89891					return err
89892				}
89893				sds.AllowPolyBase = allowPolyBase
89894			}
89895		case "polyBaseSettings":
89896			if v != nil {
89897				var polyBaseSettings PolybaseSettings
89898				err = json.Unmarshal(*v, &polyBaseSettings)
89899				if err != nil {
89900					return err
89901				}
89902				sds.PolyBaseSettings = &polyBaseSettings
89903			}
89904		default:
89905			if v != nil {
89906				var additionalProperties interface{}
89907				err = json.Unmarshal(*v, &additionalProperties)
89908				if err != nil {
89909					return err
89910				}
89911				if sds.AdditionalProperties == nil {
89912					sds.AdditionalProperties = make(map[string]interface{})
89913				}
89914				sds.AdditionalProperties[k] = additionalProperties
89915			}
89916		case "writeBatchSize":
89917			if v != nil {
89918				var writeBatchSize interface{}
89919				err = json.Unmarshal(*v, &writeBatchSize)
89920				if err != nil {
89921					return err
89922				}
89923				sds.WriteBatchSize = writeBatchSize
89924			}
89925		case "writeBatchTimeout":
89926			if v != nil {
89927				var writeBatchTimeout interface{}
89928				err = json.Unmarshal(*v, &writeBatchTimeout)
89929				if err != nil {
89930					return err
89931				}
89932				sds.WriteBatchTimeout = writeBatchTimeout
89933			}
89934		case "sinkRetryCount":
89935			if v != nil {
89936				var sinkRetryCount interface{}
89937				err = json.Unmarshal(*v, &sinkRetryCount)
89938				if err != nil {
89939					return err
89940				}
89941				sds.SinkRetryCount = sinkRetryCount
89942			}
89943		case "sinkRetryWait":
89944			if v != nil {
89945				var sinkRetryWait interface{}
89946				err = json.Unmarshal(*v, &sinkRetryWait)
89947				if err != nil {
89948					return err
89949				}
89950				sds.SinkRetryWait = sinkRetryWait
89951			}
89952		case "type":
89953			if v != nil {
89954				var typeVar TypeBasicCopySink
89955				err = json.Unmarshal(*v, &typeVar)
89956				if err != nil {
89957					return err
89958				}
89959				sds.Type = typeVar
89960			}
89961		}
89962	}
89963
89964	return nil
89965}
89966
89967// SQLDWSource a copy activity SQL Data Warehouse source.
89968type SQLDWSource struct {
89969	// SQLReaderQuery - SQL Data Warehouse reader query. Type: string (or Expression with resultType string).
89970	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
89971	// 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).
89972	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
89973	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter.
89974	StoredProcedureParameters interface{} `json:"storedProcedureParameters,omitempty"`
89975	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
89976	AdditionalProperties map[string]interface{} `json:""`
89977	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
89978	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
89979	// 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])).
89980	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
89981	// 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'
89982	Type TypeBasicCopySource `json:"type,omitempty"`
89983}
89984
89985// MarshalJSON is the custom marshaler for SQLDWSource.
89986func (sds SQLDWSource) MarshalJSON() ([]byte, error) {
89987	sds.Type = TypeSQLDWSource
89988	objectMap := make(map[string]interface{})
89989	if sds.SQLReaderQuery != nil {
89990		objectMap["sqlReaderQuery"] = sds.SQLReaderQuery
89991	}
89992	if sds.SQLReaderStoredProcedureName != nil {
89993		objectMap["sqlReaderStoredProcedureName"] = sds.SQLReaderStoredProcedureName
89994	}
89995	if sds.StoredProcedureParameters != nil {
89996		objectMap["storedProcedureParameters"] = sds.StoredProcedureParameters
89997	}
89998	if sds.SourceRetryCount != nil {
89999		objectMap["sourceRetryCount"] = sds.SourceRetryCount
90000	}
90001	if sds.SourceRetryWait != nil {
90002		objectMap["sourceRetryWait"] = sds.SourceRetryWait
90003	}
90004	if sds.Type != "" {
90005		objectMap["type"] = sds.Type
90006	}
90007	for k, v := range sds.AdditionalProperties {
90008		objectMap[k] = v
90009	}
90010	return json.Marshal(objectMap)
90011}
90012
90013// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLDWSource.
90014func (sds SQLDWSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
90015	return nil, false
90016}
90017
90018// AsResponsysSource is the BasicCopySource implementation for SQLDWSource.
90019func (sds SQLDWSource) AsResponsysSource() (*ResponsysSource, bool) {
90020	return nil, false
90021}
90022
90023// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLDWSource.
90024func (sds SQLDWSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
90025	return nil, false
90026}
90027
90028// AsVerticaSource is the BasicCopySource implementation for SQLDWSource.
90029func (sds SQLDWSource) AsVerticaSource() (*VerticaSource, bool) {
90030	return nil, false
90031}
90032
90033// AsNetezzaSource is the BasicCopySource implementation for SQLDWSource.
90034func (sds SQLDWSource) AsNetezzaSource() (*NetezzaSource, bool) {
90035	return nil, false
90036}
90037
90038// AsZohoSource is the BasicCopySource implementation for SQLDWSource.
90039func (sds SQLDWSource) AsZohoSource() (*ZohoSource, bool) {
90040	return nil, false
90041}
90042
90043// AsXeroSource is the BasicCopySource implementation for SQLDWSource.
90044func (sds SQLDWSource) AsXeroSource() (*XeroSource, bool) {
90045	return nil, false
90046}
90047
90048// AsSquareSource is the BasicCopySource implementation for SQLDWSource.
90049func (sds SQLDWSource) AsSquareSource() (*SquareSource, bool) {
90050	return nil, false
90051}
90052
90053// AsSparkSource is the BasicCopySource implementation for SQLDWSource.
90054func (sds SQLDWSource) AsSparkSource() (*SparkSource, bool) {
90055	return nil, false
90056}
90057
90058// AsShopifySource is the BasicCopySource implementation for SQLDWSource.
90059func (sds SQLDWSource) AsShopifySource() (*ShopifySource, bool) {
90060	return nil, false
90061}
90062
90063// AsServiceNowSource is the BasicCopySource implementation for SQLDWSource.
90064func (sds SQLDWSource) AsServiceNowSource() (*ServiceNowSource, bool) {
90065	return nil, false
90066}
90067
90068// AsQuickBooksSource is the BasicCopySource implementation for SQLDWSource.
90069func (sds SQLDWSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
90070	return nil, false
90071}
90072
90073// AsPrestoSource is the BasicCopySource implementation for SQLDWSource.
90074func (sds SQLDWSource) AsPrestoSource() (*PrestoSource, bool) {
90075	return nil, false
90076}
90077
90078// AsPhoenixSource is the BasicCopySource implementation for SQLDWSource.
90079func (sds SQLDWSource) AsPhoenixSource() (*PhoenixSource, bool) {
90080	return nil, false
90081}
90082
90083// AsPaypalSource is the BasicCopySource implementation for SQLDWSource.
90084func (sds SQLDWSource) AsPaypalSource() (*PaypalSource, bool) {
90085	return nil, false
90086}
90087
90088// AsMarketoSource is the BasicCopySource implementation for SQLDWSource.
90089func (sds SQLDWSource) AsMarketoSource() (*MarketoSource, bool) {
90090	return nil, false
90091}
90092
90093// AsMariaDBSource is the BasicCopySource implementation for SQLDWSource.
90094func (sds SQLDWSource) AsMariaDBSource() (*MariaDBSource, bool) {
90095	return nil, false
90096}
90097
90098// AsMagentoSource is the BasicCopySource implementation for SQLDWSource.
90099func (sds SQLDWSource) AsMagentoSource() (*MagentoSource, bool) {
90100	return nil, false
90101}
90102
90103// AsJiraSource is the BasicCopySource implementation for SQLDWSource.
90104func (sds SQLDWSource) AsJiraSource() (*JiraSource, bool) {
90105	return nil, false
90106}
90107
90108// AsImpalaSource is the BasicCopySource implementation for SQLDWSource.
90109func (sds SQLDWSource) AsImpalaSource() (*ImpalaSource, bool) {
90110	return nil, false
90111}
90112
90113// AsHubspotSource is the BasicCopySource implementation for SQLDWSource.
90114func (sds SQLDWSource) AsHubspotSource() (*HubspotSource, bool) {
90115	return nil, false
90116}
90117
90118// AsHiveSource is the BasicCopySource implementation for SQLDWSource.
90119func (sds SQLDWSource) AsHiveSource() (*HiveSource, bool) {
90120	return nil, false
90121}
90122
90123// AsHBaseSource is the BasicCopySource implementation for SQLDWSource.
90124func (sds SQLDWSource) AsHBaseSource() (*HBaseSource, bool) {
90125	return nil, false
90126}
90127
90128// AsGreenplumSource is the BasicCopySource implementation for SQLDWSource.
90129func (sds SQLDWSource) AsGreenplumSource() (*GreenplumSource, bool) {
90130	return nil, false
90131}
90132
90133// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLDWSource.
90134func (sds SQLDWSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
90135	return nil, false
90136}
90137
90138// AsEloquaSource is the BasicCopySource implementation for SQLDWSource.
90139func (sds SQLDWSource) AsEloquaSource() (*EloquaSource, bool) {
90140	return nil, false
90141}
90142
90143// AsDrillSource is the BasicCopySource implementation for SQLDWSource.
90144func (sds SQLDWSource) AsDrillSource() (*DrillSource, bool) {
90145	return nil, false
90146}
90147
90148// AsCouchbaseSource is the BasicCopySource implementation for SQLDWSource.
90149func (sds SQLDWSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
90150	return nil, false
90151}
90152
90153// AsConcurSource is the BasicCopySource implementation for SQLDWSource.
90154func (sds SQLDWSource) AsConcurSource() (*ConcurSource, bool) {
90155	return nil, false
90156}
90157
90158// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLDWSource.
90159func (sds SQLDWSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
90160	return nil, false
90161}
90162
90163// AsAmazonMWSSource is the BasicCopySource implementation for SQLDWSource.
90164func (sds SQLDWSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
90165	return nil, false
90166}
90167
90168// AsHTTPSource is the BasicCopySource implementation for SQLDWSource.
90169func (sds SQLDWSource) AsHTTPSource() (*HTTPSource, bool) {
90170	return nil, false
90171}
90172
90173// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLDWSource.
90174func (sds SQLDWSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
90175	return nil, false
90176}
90177
90178// AsMongoDbSource is the BasicCopySource implementation for SQLDWSource.
90179func (sds SQLDWSource) AsMongoDbSource() (*MongoDbSource, bool) {
90180	return nil, false
90181}
90182
90183// AsCassandraSource is the BasicCopySource implementation for SQLDWSource.
90184func (sds SQLDWSource) AsCassandraSource() (*CassandraSource, bool) {
90185	return nil, false
90186}
90187
90188// AsWebSource is the BasicCopySource implementation for SQLDWSource.
90189func (sds SQLDWSource) AsWebSource() (*WebSource, bool) {
90190	return nil, false
90191}
90192
90193// AsOracleSource is the BasicCopySource implementation for SQLDWSource.
90194func (sds SQLDWSource) AsOracleSource() (*OracleSource, bool) {
90195	return nil, false
90196}
90197
90198// AsAzureMySQLSource is the BasicCopySource implementation for SQLDWSource.
90199func (sds SQLDWSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
90200	return nil, false
90201}
90202
90203// AsHdfsSource is the BasicCopySource implementation for SQLDWSource.
90204func (sds SQLDWSource) AsHdfsSource() (*HdfsSource, bool) {
90205	return nil, false
90206}
90207
90208// AsFileSystemSource is the BasicCopySource implementation for SQLDWSource.
90209func (sds SQLDWSource) AsFileSystemSource() (*FileSystemSource, bool) {
90210	return nil, false
90211}
90212
90213// AsSQLDWSource is the BasicCopySource implementation for SQLDWSource.
90214func (sds SQLDWSource) AsSQLDWSource() (*SQLDWSource, bool) {
90215	return &sds, true
90216}
90217
90218// AsSQLSource is the BasicCopySource implementation for SQLDWSource.
90219func (sds SQLDWSource) AsSQLSource() (*SQLSource, bool) {
90220	return nil, false
90221}
90222
90223// AsSapEccSource is the BasicCopySource implementation for SQLDWSource.
90224func (sds SQLDWSource) AsSapEccSource() (*SapEccSource, bool) {
90225	return nil, false
90226}
90227
90228// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLDWSource.
90229func (sds SQLDWSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
90230	return nil, false
90231}
90232
90233// AsSalesforceSource is the BasicCopySource implementation for SQLDWSource.
90234func (sds SQLDWSource) AsSalesforceSource() (*SalesforceSource, bool) {
90235	return nil, false
90236}
90237
90238// AsRelationalSource is the BasicCopySource implementation for SQLDWSource.
90239func (sds SQLDWSource) AsRelationalSource() (*RelationalSource, bool) {
90240	return nil, false
90241}
90242
90243// AsDynamicsSource is the BasicCopySource implementation for SQLDWSource.
90244func (sds SQLDWSource) AsDynamicsSource() (*DynamicsSource, bool) {
90245	return nil, false
90246}
90247
90248// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLDWSource.
90249func (sds SQLDWSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
90250	return nil, false
90251}
90252
90253// AsBlobSource is the BasicCopySource implementation for SQLDWSource.
90254func (sds SQLDWSource) AsBlobSource() (*BlobSource, bool) {
90255	return nil, false
90256}
90257
90258// AsAzureTableSource is the BasicCopySource implementation for SQLDWSource.
90259func (sds SQLDWSource) AsAzureTableSource() (*AzureTableSource, bool) {
90260	return nil, false
90261}
90262
90263// AsCopySource is the BasicCopySource implementation for SQLDWSource.
90264func (sds SQLDWSource) AsCopySource() (*CopySource, bool) {
90265	return nil, false
90266}
90267
90268// AsBasicCopySource is the BasicCopySource implementation for SQLDWSource.
90269func (sds SQLDWSource) AsBasicCopySource() (BasicCopySource, bool) {
90270	return &sds, true
90271}
90272
90273// UnmarshalJSON is the custom unmarshaler for SQLDWSource struct.
90274func (sds *SQLDWSource) UnmarshalJSON(body []byte) error {
90275	var m map[string]*json.RawMessage
90276	err := json.Unmarshal(body, &m)
90277	if err != nil {
90278		return err
90279	}
90280	for k, v := range m {
90281		switch k {
90282		case "sqlReaderQuery":
90283			if v != nil {
90284				var SQLReaderQuery interface{}
90285				err = json.Unmarshal(*v, &SQLReaderQuery)
90286				if err != nil {
90287					return err
90288				}
90289				sds.SQLReaderQuery = SQLReaderQuery
90290			}
90291		case "sqlReaderStoredProcedureName":
90292			if v != nil {
90293				var SQLReaderStoredProcedureName interface{}
90294				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
90295				if err != nil {
90296					return err
90297				}
90298				sds.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
90299			}
90300		case "storedProcedureParameters":
90301			if v != nil {
90302				var storedProcedureParameters interface{}
90303				err = json.Unmarshal(*v, &storedProcedureParameters)
90304				if err != nil {
90305					return err
90306				}
90307				sds.StoredProcedureParameters = storedProcedureParameters
90308			}
90309		default:
90310			if v != nil {
90311				var additionalProperties interface{}
90312				err = json.Unmarshal(*v, &additionalProperties)
90313				if err != nil {
90314					return err
90315				}
90316				if sds.AdditionalProperties == nil {
90317					sds.AdditionalProperties = make(map[string]interface{})
90318				}
90319				sds.AdditionalProperties[k] = additionalProperties
90320			}
90321		case "sourceRetryCount":
90322			if v != nil {
90323				var sourceRetryCount interface{}
90324				err = json.Unmarshal(*v, &sourceRetryCount)
90325				if err != nil {
90326					return err
90327				}
90328				sds.SourceRetryCount = sourceRetryCount
90329			}
90330		case "sourceRetryWait":
90331			if v != nil {
90332				var sourceRetryWait interface{}
90333				err = json.Unmarshal(*v, &sourceRetryWait)
90334				if err != nil {
90335					return err
90336				}
90337				sds.SourceRetryWait = sourceRetryWait
90338			}
90339		case "type":
90340			if v != nil {
90341				var typeVar TypeBasicCopySource
90342				err = json.Unmarshal(*v, &typeVar)
90343				if err != nil {
90344					return err
90345				}
90346				sds.Type = typeVar
90347			}
90348		}
90349	}
90350
90351	return nil
90352}
90353
90354// SQLServerLinkedService SQL Server linked service.
90355type SQLServerLinkedService struct {
90356	// SQLServerLinkedServiceTypeProperties - SQL Server linked service properties.
90357	*SQLServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
90358	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
90359	AdditionalProperties map[string]interface{} `json:""`
90360	// ConnectVia - The integration runtime reference.
90361	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
90362	// Description - Linked service description.
90363	Description *string `json:"description,omitempty"`
90364	// Parameters - Parameters for linked service.
90365	Parameters map[string]*ParameterSpecification `json:"parameters"`
90366	// Annotations - List of tags that can be used for describing the Dataset.
90367	Annotations *[]interface{} `json:"annotations,omitempty"`
90368	// 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'
90369	Type TypeBasicLinkedService `json:"type,omitempty"`
90370}
90371
90372// MarshalJSON is the custom marshaler for SQLServerLinkedService.
90373func (ssls SQLServerLinkedService) MarshalJSON() ([]byte, error) {
90374	ssls.Type = TypeSQLServer
90375	objectMap := make(map[string]interface{})
90376	if ssls.SQLServerLinkedServiceTypeProperties != nil {
90377		objectMap["typeProperties"] = ssls.SQLServerLinkedServiceTypeProperties
90378	}
90379	if ssls.ConnectVia != nil {
90380		objectMap["connectVia"] = ssls.ConnectVia
90381	}
90382	if ssls.Description != nil {
90383		objectMap["description"] = ssls.Description
90384	}
90385	if ssls.Parameters != nil {
90386		objectMap["parameters"] = ssls.Parameters
90387	}
90388	if ssls.Annotations != nil {
90389		objectMap["annotations"] = ssls.Annotations
90390	}
90391	if ssls.Type != "" {
90392		objectMap["type"] = ssls.Type
90393	}
90394	for k, v := range ssls.AdditionalProperties {
90395		objectMap[k] = v
90396	}
90397	return json.Marshal(objectMap)
90398}
90399
90400// AsResponsysLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90401func (ssls SQLServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
90402	return nil, false
90403}
90404
90405// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90406func (ssls SQLServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
90407	return nil, false
90408}
90409
90410// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90411func (ssls SQLServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
90412	return nil, false
90413}
90414
90415// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90416func (ssls SQLServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
90417	return nil, false
90418}
90419
90420// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90421func (ssls SQLServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
90422	return nil, false
90423}
90424
90425// AsNetezzaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90426func (ssls SQLServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
90427	return nil, false
90428}
90429
90430// AsVerticaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90431func (ssls SQLServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
90432	return nil, false
90433}
90434
90435// AsZohoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90436func (ssls SQLServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
90437	return nil, false
90438}
90439
90440// AsXeroLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90441func (ssls SQLServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
90442	return nil, false
90443}
90444
90445// AsSquareLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90446func (ssls SQLServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
90447	return nil, false
90448}
90449
90450// AsSparkLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90451func (ssls SQLServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
90452	return nil, false
90453}
90454
90455// AsShopifyLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90456func (ssls SQLServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
90457	return nil, false
90458}
90459
90460// AsServiceNowLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90461func (ssls SQLServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
90462	return nil, false
90463}
90464
90465// AsQuickBooksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90466func (ssls SQLServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
90467	return nil, false
90468}
90469
90470// AsPrestoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90471func (ssls SQLServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
90472	return nil, false
90473}
90474
90475// AsPhoenixLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90476func (ssls SQLServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
90477	return nil, false
90478}
90479
90480// AsPaypalLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90481func (ssls SQLServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
90482	return nil, false
90483}
90484
90485// AsMarketoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90486func (ssls SQLServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
90487	return nil, false
90488}
90489
90490// AsMariaDBLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90491func (ssls SQLServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
90492	return nil, false
90493}
90494
90495// AsMagentoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90496func (ssls SQLServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
90497	return nil, false
90498}
90499
90500// AsJiraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90501func (ssls SQLServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
90502	return nil, false
90503}
90504
90505// AsImpalaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90506func (ssls SQLServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
90507	return nil, false
90508}
90509
90510// AsHubspotLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90511func (ssls SQLServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
90512	return nil, false
90513}
90514
90515// AsHiveLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90516func (ssls SQLServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
90517	return nil, false
90518}
90519
90520// AsHBaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90521func (ssls SQLServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
90522	return nil, false
90523}
90524
90525// AsGreenplumLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90526func (ssls SQLServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
90527	return nil, false
90528}
90529
90530// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90531func (ssls SQLServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
90532	return nil, false
90533}
90534
90535// AsEloquaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90536func (ssls SQLServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
90537	return nil, false
90538}
90539
90540// AsDrillLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90541func (ssls SQLServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
90542	return nil, false
90543}
90544
90545// AsCouchbaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90546func (ssls SQLServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
90547	return nil, false
90548}
90549
90550// AsConcurLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90551func (ssls SQLServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
90552	return nil, false
90553}
90554
90555// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90556func (ssls SQLServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
90557	return nil, false
90558}
90559
90560// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90561func (ssls SQLServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
90562	return nil, false
90563}
90564
90565// AsSapHanaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90566func (ssls SQLServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
90567	return nil, false
90568}
90569
90570// AsSapBWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90571func (ssls SQLServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
90572	return nil, false
90573}
90574
90575// AsSftpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90576func (ssls SQLServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
90577	return nil, false
90578}
90579
90580// AsFtpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90581func (ssls SQLServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
90582	return nil, false
90583}
90584
90585// AsHTTPLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90586func (ssls SQLServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
90587	return nil, false
90588}
90589
90590// AsAzureSearchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90591func (ssls SQLServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
90592	return nil, false
90593}
90594
90595// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90596func (ssls SQLServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
90597	return nil, false
90598}
90599
90600// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90601func (ssls SQLServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
90602	return nil, false
90603}
90604
90605// AsAmazonS3LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90606func (ssls SQLServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
90607	return nil, false
90608}
90609
90610// AsSapEccLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90611func (ssls SQLServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
90612	return nil, false
90613}
90614
90615// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90616func (ssls SQLServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
90617	return nil, false
90618}
90619
90620// AsSalesforceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90621func (ssls SQLServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
90622	return nil, false
90623}
90624
90625// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90626func (ssls SQLServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
90627	return nil, false
90628}
90629
90630// AsMongoDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90631func (ssls SQLServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
90632	return nil, false
90633}
90634
90635// AsCassandraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90636func (ssls SQLServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
90637	return nil, false
90638}
90639
90640// AsWebLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90641func (ssls SQLServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
90642	return nil, false
90643}
90644
90645// AsODataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90646func (ssls SQLServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
90647	return nil, false
90648}
90649
90650// AsHdfsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90651func (ssls SQLServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
90652	return nil, false
90653}
90654
90655// AsOdbcLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90656func (ssls SQLServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
90657	return nil, false
90658}
90659
90660// AsAzureMLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90661func (ssls SQLServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
90662	return nil, false
90663}
90664
90665// AsTeradataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90666func (ssls SQLServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
90667	return nil, false
90668}
90669
90670// AsDb2LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90671func (ssls SQLServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
90672	return nil, false
90673}
90674
90675// AsSybaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90676func (ssls SQLServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
90677	return nil, false
90678}
90679
90680// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90681func (ssls SQLServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
90682	return nil, false
90683}
90684
90685// AsMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90686func (ssls SQLServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
90687	return nil, false
90688}
90689
90690// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90691func (ssls SQLServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
90692	return nil, false
90693}
90694
90695// AsOracleLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90696func (ssls SQLServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
90697	return nil, false
90698}
90699
90700// AsFileServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90701func (ssls SQLServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
90702	return nil, false
90703}
90704
90705// AsHDInsightLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90706func (ssls SQLServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
90707	return nil, false
90708}
90709
90710// AsDynamicsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90711func (ssls SQLServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
90712	return nil, false
90713}
90714
90715// AsCosmosDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90716func (ssls SQLServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
90717	return nil, false
90718}
90719
90720// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90721func (ssls SQLServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
90722	return nil, false
90723}
90724
90725// AsAzureBatchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90726func (ssls SQLServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
90727	return nil, false
90728}
90729
90730// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90731func (ssls SQLServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
90732	return nil, false
90733}
90734
90735// AsSQLServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90736func (ssls SQLServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
90737	return &ssls, true
90738}
90739
90740// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90741func (ssls SQLServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
90742	return nil, false
90743}
90744
90745// AsAzureStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90746func (ssls SQLServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
90747	return nil, false
90748}
90749
90750// AsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90751func (ssls SQLServerLinkedService) AsLinkedService() (*LinkedService, bool) {
90752	return nil, false
90753}
90754
90755// AsBasicLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
90756func (ssls SQLServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
90757	return &ssls, true
90758}
90759
90760// UnmarshalJSON is the custom unmarshaler for SQLServerLinkedService struct.
90761func (ssls *SQLServerLinkedService) UnmarshalJSON(body []byte) error {
90762	var m map[string]*json.RawMessage
90763	err := json.Unmarshal(body, &m)
90764	if err != nil {
90765		return err
90766	}
90767	for k, v := range m {
90768		switch k {
90769		case "typeProperties":
90770			if v != nil {
90771				var SQLServerLinkedServiceTypeProperties SQLServerLinkedServiceTypeProperties
90772				err = json.Unmarshal(*v, &SQLServerLinkedServiceTypeProperties)
90773				if err != nil {
90774					return err
90775				}
90776				ssls.SQLServerLinkedServiceTypeProperties = &SQLServerLinkedServiceTypeProperties
90777			}
90778		default:
90779			if v != nil {
90780				var additionalProperties interface{}
90781				err = json.Unmarshal(*v, &additionalProperties)
90782				if err != nil {
90783					return err
90784				}
90785				if ssls.AdditionalProperties == nil {
90786					ssls.AdditionalProperties = make(map[string]interface{})
90787				}
90788				ssls.AdditionalProperties[k] = additionalProperties
90789			}
90790		case "connectVia":
90791			if v != nil {
90792				var connectVia IntegrationRuntimeReference
90793				err = json.Unmarshal(*v, &connectVia)
90794				if err != nil {
90795					return err
90796				}
90797				ssls.ConnectVia = &connectVia
90798			}
90799		case "description":
90800			if v != nil {
90801				var description string
90802				err = json.Unmarshal(*v, &description)
90803				if err != nil {
90804					return err
90805				}
90806				ssls.Description = &description
90807			}
90808		case "parameters":
90809			if v != nil {
90810				var parameters map[string]*ParameterSpecification
90811				err = json.Unmarshal(*v, &parameters)
90812				if err != nil {
90813					return err
90814				}
90815				ssls.Parameters = parameters
90816			}
90817		case "annotations":
90818			if v != nil {
90819				var annotations []interface{}
90820				err = json.Unmarshal(*v, &annotations)
90821				if err != nil {
90822					return err
90823				}
90824				ssls.Annotations = &annotations
90825			}
90826		case "type":
90827			if v != nil {
90828				var typeVar TypeBasicLinkedService
90829				err = json.Unmarshal(*v, &typeVar)
90830				if err != nil {
90831					return err
90832				}
90833				ssls.Type = typeVar
90834			}
90835		}
90836	}
90837
90838	return nil
90839}
90840
90841// SQLServerLinkedServiceTypeProperties SQL Server linked service properties.
90842type SQLServerLinkedServiceTypeProperties struct {
90843	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
90844	ConnectionString interface{} `json:"connectionString,omitempty"`
90845	// UserName - The on-premises Windows authentication user name. Type: string (or Expression with resultType string).
90846	UserName interface{} `json:"userName,omitempty"`
90847	// Password - The on-premises Windows authentication password.
90848	Password BasicSecretBase `json:"password,omitempty"`
90849	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
90850	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
90851}
90852
90853// UnmarshalJSON is the custom unmarshaler for SQLServerLinkedServiceTypeProperties struct.
90854func (sslstp *SQLServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
90855	var m map[string]*json.RawMessage
90856	err := json.Unmarshal(body, &m)
90857	if err != nil {
90858		return err
90859	}
90860	for k, v := range m {
90861		switch k {
90862		case "connectionString":
90863			if v != nil {
90864				var connectionString interface{}
90865				err = json.Unmarshal(*v, &connectionString)
90866				if err != nil {
90867					return err
90868				}
90869				sslstp.ConnectionString = connectionString
90870			}
90871		case "userName":
90872			if v != nil {
90873				var userName interface{}
90874				err = json.Unmarshal(*v, &userName)
90875				if err != nil {
90876					return err
90877				}
90878				sslstp.UserName = userName
90879			}
90880		case "password":
90881			if v != nil {
90882				password, err := unmarshalBasicSecretBase(*v)
90883				if err != nil {
90884					return err
90885				}
90886				sslstp.Password = password
90887			}
90888		case "encryptedCredential":
90889			if v != nil {
90890				var encryptedCredential interface{}
90891				err = json.Unmarshal(*v, &encryptedCredential)
90892				if err != nil {
90893					return err
90894				}
90895				sslstp.EncryptedCredential = encryptedCredential
90896			}
90897		}
90898	}
90899
90900	return nil
90901}
90902
90903// SQLServerStoredProcedureActivity SQL stored procedure activity type.
90904type SQLServerStoredProcedureActivity struct {
90905	// SQLServerStoredProcedureActivityTypeProperties - SQL stored procedure activity properties.
90906	*SQLServerStoredProcedureActivityTypeProperties `json:"typeProperties,omitempty"`
90907	// LinkedServiceName - Linked service reference.
90908	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
90909	// Policy - Activity policy.
90910	Policy *ActivityPolicy `json:"policy,omitempty"`
90911	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
90912	AdditionalProperties map[string]interface{} `json:""`
90913	// Name - Activity name.
90914	Name *string `json:"name,omitempty"`
90915	// Description - Activity description.
90916	Description *string `json:"description,omitempty"`
90917	// DependsOn - Activity depends on condition.
90918	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
90919	// 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'
90920	Type TypeBasicActivity `json:"type,omitempty"`
90921}
90922
90923// MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivity.
90924func (ssspa SQLServerStoredProcedureActivity) MarshalJSON() ([]byte, error) {
90925	ssspa.Type = TypeSQLServerStoredProcedure
90926	objectMap := make(map[string]interface{})
90927	if ssspa.SQLServerStoredProcedureActivityTypeProperties != nil {
90928		objectMap["typeProperties"] = ssspa.SQLServerStoredProcedureActivityTypeProperties
90929	}
90930	if ssspa.LinkedServiceName != nil {
90931		objectMap["linkedServiceName"] = ssspa.LinkedServiceName
90932	}
90933	if ssspa.Policy != nil {
90934		objectMap["policy"] = ssspa.Policy
90935	}
90936	if ssspa.Name != nil {
90937		objectMap["name"] = ssspa.Name
90938	}
90939	if ssspa.Description != nil {
90940		objectMap["description"] = ssspa.Description
90941	}
90942	if ssspa.DependsOn != nil {
90943		objectMap["dependsOn"] = ssspa.DependsOn
90944	}
90945	if ssspa.Type != "" {
90946		objectMap["type"] = ssspa.Type
90947	}
90948	for k, v := range ssspa.AdditionalProperties {
90949		objectMap[k] = v
90950	}
90951	return json.Marshal(objectMap)
90952}
90953
90954// AsDatabricksNotebookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90955func (ssspa SQLServerStoredProcedureActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
90956	return nil, false
90957}
90958
90959// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90960func (ssspa SQLServerStoredProcedureActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
90961	return nil, false
90962}
90963
90964// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90965func (ssspa SQLServerStoredProcedureActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
90966	return nil, false
90967}
90968
90969// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90970func (ssspa SQLServerStoredProcedureActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
90971	return nil, false
90972}
90973
90974// AsGetMetadataActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90975func (ssspa SQLServerStoredProcedureActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
90976	return nil, false
90977}
90978
90979// AsWebActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90980func (ssspa SQLServerStoredProcedureActivity) AsWebActivity() (*WebActivity, bool) {
90981	return nil, false
90982}
90983
90984// AsLookupActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90985func (ssspa SQLServerStoredProcedureActivity) AsLookupActivity() (*LookupActivity, bool) {
90986	return nil, false
90987}
90988
90989// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90990func (ssspa SQLServerStoredProcedureActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
90991	return &ssspa, true
90992}
90993
90994// AsCustomActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
90995func (ssspa SQLServerStoredProcedureActivity) AsCustomActivity() (*CustomActivity, bool) {
90996	return nil, false
90997}
90998
90999// AsExecuteSSISPackageActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91000func (ssspa SQLServerStoredProcedureActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
91001	return nil, false
91002}
91003
91004// AsHDInsightSparkActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91005func (ssspa SQLServerStoredProcedureActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
91006	return nil, false
91007}
91008
91009// AsHDInsightStreamingActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91010func (ssspa SQLServerStoredProcedureActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
91011	return nil, false
91012}
91013
91014// AsHDInsightMapReduceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91015func (ssspa SQLServerStoredProcedureActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
91016	return nil, false
91017}
91018
91019// AsHDInsightPigActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91020func (ssspa SQLServerStoredProcedureActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
91021	return nil, false
91022}
91023
91024// AsHDInsightHiveActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91025func (ssspa SQLServerStoredProcedureActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
91026	return nil, false
91027}
91028
91029// AsCopyActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91030func (ssspa SQLServerStoredProcedureActivity) AsCopyActivity() (*CopyActivity, bool) {
91031	return nil, false
91032}
91033
91034// AsExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91035func (ssspa SQLServerStoredProcedureActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
91036	return nil, false
91037}
91038
91039// AsBasicExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91040func (ssspa SQLServerStoredProcedureActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
91041	return &ssspa, true
91042}
91043
91044// AsFilterActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91045func (ssspa SQLServerStoredProcedureActivity) AsFilterActivity() (*FilterActivity, bool) {
91046	return nil, false
91047}
91048
91049// AsUntilActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91050func (ssspa SQLServerStoredProcedureActivity) AsUntilActivity() (*UntilActivity, bool) {
91051	return nil, false
91052}
91053
91054// AsWaitActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91055func (ssspa SQLServerStoredProcedureActivity) AsWaitActivity() (*WaitActivity, bool) {
91056	return nil, false
91057}
91058
91059// AsForEachActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91060func (ssspa SQLServerStoredProcedureActivity) AsForEachActivity() (*ForEachActivity, bool) {
91061	return nil, false
91062}
91063
91064// AsIfConditionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91065func (ssspa SQLServerStoredProcedureActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
91066	return nil, false
91067}
91068
91069// AsExecutePipelineActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91070func (ssspa SQLServerStoredProcedureActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
91071	return nil, false
91072}
91073
91074// AsControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91075func (ssspa SQLServerStoredProcedureActivity) AsControlActivity() (*ControlActivity, bool) {
91076	return nil, false
91077}
91078
91079// AsBasicControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91080func (ssspa SQLServerStoredProcedureActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
91081	return nil, false
91082}
91083
91084// AsActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91085func (ssspa SQLServerStoredProcedureActivity) AsActivity() (*Activity, bool) {
91086	return nil, false
91087}
91088
91089// AsBasicActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
91090func (ssspa SQLServerStoredProcedureActivity) AsBasicActivity() (BasicActivity, bool) {
91091	return &ssspa, true
91092}
91093
91094// UnmarshalJSON is the custom unmarshaler for SQLServerStoredProcedureActivity struct.
91095func (ssspa *SQLServerStoredProcedureActivity) UnmarshalJSON(body []byte) error {
91096	var m map[string]*json.RawMessage
91097	err := json.Unmarshal(body, &m)
91098	if err != nil {
91099		return err
91100	}
91101	for k, v := range m {
91102		switch k {
91103		case "typeProperties":
91104			if v != nil {
91105				var SQLServerStoredProcedureActivityTypeProperties SQLServerStoredProcedureActivityTypeProperties
91106				err = json.Unmarshal(*v, &SQLServerStoredProcedureActivityTypeProperties)
91107				if err != nil {
91108					return err
91109				}
91110				ssspa.SQLServerStoredProcedureActivityTypeProperties = &SQLServerStoredProcedureActivityTypeProperties
91111			}
91112		case "linkedServiceName":
91113			if v != nil {
91114				var linkedServiceName LinkedServiceReference
91115				err = json.Unmarshal(*v, &linkedServiceName)
91116				if err != nil {
91117					return err
91118				}
91119				ssspa.LinkedServiceName = &linkedServiceName
91120			}
91121		case "policy":
91122			if v != nil {
91123				var policy ActivityPolicy
91124				err = json.Unmarshal(*v, &policy)
91125				if err != nil {
91126					return err
91127				}
91128				ssspa.Policy = &policy
91129			}
91130		default:
91131			if v != nil {
91132				var additionalProperties interface{}
91133				err = json.Unmarshal(*v, &additionalProperties)
91134				if err != nil {
91135					return err
91136				}
91137				if ssspa.AdditionalProperties == nil {
91138					ssspa.AdditionalProperties = make(map[string]interface{})
91139				}
91140				ssspa.AdditionalProperties[k] = additionalProperties
91141			}
91142		case "name":
91143			if v != nil {
91144				var name string
91145				err = json.Unmarshal(*v, &name)
91146				if err != nil {
91147					return err
91148				}
91149				ssspa.Name = &name
91150			}
91151		case "description":
91152			if v != nil {
91153				var description string
91154				err = json.Unmarshal(*v, &description)
91155				if err != nil {
91156					return err
91157				}
91158				ssspa.Description = &description
91159			}
91160		case "dependsOn":
91161			if v != nil {
91162				var dependsOn []ActivityDependency
91163				err = json.Unmarshal(*v, &dependsOn)
91164				if err != nil {
91165					return err
91166				}
91167				ssspa.DependsOn = &dependsOn
91168			}
91169		case "type":
91170			if v != nil {
91171				var typeVar TypeBasicActivity
91172				err = json.Unmarshal(*v, &typeVar)
91173				if err != nil {
91174					return err
91175				}
91176				ssspa.Type = typeVar
91177			}
91178		}
91179	}
91180
91181	return nil
91182}
91183
91184// SQLServerStoredProcedureActivityTypeProperties SQL stored procedure activity properties.
91185type SQLServerStoredProcedureActivityTypeProperties struct {
91186	// StoredProcedureName - Stored procedure name. Type: string (or Expression with resultType string).
91187	StoredProcedureName interface{} `json:"storedProcedureName,omitempty"`
91188	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
91189	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
91190}
91191
91192// MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivityTypeProperties.
91193func (ssspatp SQLServerStoredProcedureActivityTypeProperties) MarshalJSON() ([]byte, error) {
91194	objectMap := make(map[string]interface{})
91195	if ssspatp.StoredProcedureName != nil {
91196		objectMap["storedProcedureName"] = ssspatp.StoredProcedureName
91197	}
91198	if ssspatp.StoredProcedureParameters != nil {
91199		objectMap["storedProcedureParameters"] = ssspatp.StoredProcedureParameters
91200	}
91201	return json.Marshal(objectMap)
91202}
91203
91204// SQLServerTableDataset the on-premises SQL Server dataset.
91205type SQLServerTableDataset struct {
91206	// SQLServerTableDatasetTypeProperties - On-premises SQL Server dataset properties.
91207	*SQLServerTableDatasetTypeProperties `json:"typeProperties,omitempty"`
91208	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91209	AdditionalProperties map[string]interface{} `json:""`
91210	// Description - Dataset description.
91211	Description *string `json:"description,omitempty"`
91212	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
91213	Structure interface{} `json:"structure,omitempty"`
91214	// LinkedServiceName - Linked service reference.
91215	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
91216	// Parameters - Parameters for dataset.
91217	Parameters map[string]*ParameterSpecification `json:"parameters"`
91218	// Annotations - List of tags that can be used for describing the Dataset.
91219	Annotations *[]interface{} `json:"annotations,omitempty"`
91220	// 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'
91221	Type TypeBasicDataset `json:"type,omitempty"`
91222}
91223
91224// MarshalJSON is the custom marshaler for SQLServerTableDataset.
91225func (sstd SQLServerTableDataset) MarshalJSON() ([]byte, error) {
91226	sstd.Type = TypeSQLServerTable
91227	objectMap := make(map[string]interface{})
91228	if sstd.SQLServerTableDatasetTypeProperties != nil {
91229		objectMap["typeProperties"] = sstd.SQLServerTableDatasetTypeProperties
91230	}
91231	if sstd.Description != nil {
91232		objectMap["description"] = sstd.Description
91233	}
91234	if sstd.Structure != nil {
91235		objectMap["structure"] = sstd.Structure
91236	}
91237	if sstd.LinkedServiceName != nil {
91238		objectMap["linkedServiceName"] = sstd.LinkedServiceName
91239	}
91240	if sstd.Parameters != nil {
91241		objectMap["parameters"] = sstd.Parameters
91242	}
91243	if sstd.Annotations != nil {
91244		objectMap["annotations"] = sstd.Annotations
91245	}
91246	if sstd.Type != "" {
91247		objectMap["type"] = sstd.Type
91248	}
91249	for k, v := range sstd.AdditionalProperties {
91250		objectMap[k] = v
91251	}
91252	return json.Marshal(objectMap)
91253}
91254
91255// AsResponsysObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91256func (sstd SQLServerTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
91257	return nil, false
91258}
91259
91260// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91261func (sstd SQLServerTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
91262	return nil, false
91263}
91264
91265// AsVerticaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91266func (sstd SQLServerTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
91267	return nil, false
91268}
91269
91270// AsNetezzaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91271func (sstd SQLServerTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
91272	return nil, false
91273}
91274
91275// AsZohoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91276func (sstd SQLServerTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
91277	return nil, false
91278}
91279
91280// AsXeroObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91281func (sstd SQLServerTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
91282	return nil, false
91283}
91284
91285// AsSquareObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91286func (sstd SQLServerTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
91287	return nil, false
91288}
91289
91290// AsSparkObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91291func (sstd SQLServerTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
91292	return nil, false
91293}
91294
91295// AsShopifyObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91296func (sstd SQLServerTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
91297	return nil, false
91298}
91299
91300// AsServiceNowObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91301func (sstd SQLServerTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
91302	return nil, false
91303}
91304
91305// AsQuickBooksObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91306func (sstd SQLServerTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
91307	return nil, false
91308}
91309
91310// AsPrestoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91311func (sstd SQLServerTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
91312	return nil, false
91313}
91314
91315// AsPhoenixObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91316func (sstd SQLServerTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
91317	return nil, false
91318}
91319
91320// AsPaypalObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91321func (sstd SQLServerTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
91322	return nil, false
91323}
91324
91325// AsMarketoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91326func (sstd SQLServerTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
91327	return nil, false
91328}
91329
91330// AsMariaDBTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91331func (sstd SQLServerTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
91332	return nil, false
91333}
91334
91335// AsMagentoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91336func (sstd SQLServerTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
91337	return nil, false
91338}
91339
91340// AsJiraObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91341func (sstd SQLServerTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
91342	return nil, false
91343}
91344
91345// AsImpalaObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91346func (sstd SQLServerTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
91347	return nil, false
91348}
91349
91350// AsHubspotObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91351func (sstd SQLServerTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
91352	return nil, false
91353}
91354
91355// AsHiveObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91356func (sstd SQLServerTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
91357	return nil, false
91358}
91359
91360// AsHBaseObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91361func (sstd SQLServerTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
91362	return nil, false
91363}
91364
91365// AsGreenplumTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91366func (sstd SQLServerTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
91367	return nil, false
91368}
91369
91370// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91371func (sstd SQLServerTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
91372	return nil, false
91373}
91374
91375// AsEloquaObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91376func (sstd SQLServerTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
91377	return nil, false
91378}
91379
91380// AsDrillTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91381func (sstd SQLServerTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
91382	return nil, false
91383}
91384
91385// AsCouchbaseTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91386func (sstd SQLServerTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
91387	return nil, false
91388}
91389
91390// AsConcurObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91391func (sstd SQLServerTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
91392	return nil, false
91393}
91394
91395// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91396func (sstd SQLServerTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
91397	return nil, false
91398}
91399
91400// AsAmazonMWSObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91401func (sstd SQLServerTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
91402	return nil, false
91403}
91404
91405// AsHTTPDataset is the BasicDataset implementation for SQLServerTableDataset.
91406func (sstd SQLServerTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
91407	return nil, false
91408}
91409
91410// AsAzureSearchIndexDataset is the BasicDataset implementation for SQLServerTableDataset.
91411func (sstd SQLServerTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
91412	return nil, false
91413}
91414
91415// AsWebTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91416func (sstd SQLServerTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
91417	return nil, false
91418}
91419
91420// AsSQLServerTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91421func (sstd SQLServerTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
91422	return &sstd, true
91423}
91424
91425// AsSapEccResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
91426func (sstd SQLServerTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
91427	return nil, false
91428}
91429
91430// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
91431func (sstd SQLServerTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
91432	return nil, false
91433}
91434
91435// AsSalesforceObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
91436func (sstd SQLServerTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
91437	return nil, false
91438}
91439
91440// AsRelationalTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91441func (sstd SQLServerTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
91442	return nil, false
91443}
91444
91445// AsAzureMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91446func (sstd SQLServerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
91447	return nil, false
91448}
91449
91450// AsOracleTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91451func (sstd SQLServerTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
91452	return nil, false
91453}
91454
91455// AsODataResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
91456func (sstd SQLServerTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
91457	return nil, false
91458}
91459
91460// AsMongoDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
91461func (sstd SQLServerTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
91462	return nil, false
91463}
91464
91465// AsFileShareDataset is the BasicDataset implementation for SQLServerTableDataset.
91466func (sstd SQLServerTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
91467	return nil, false
91468}
91469
91470// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SQLServerTableDataset.
91471func (sstd SQLServerTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
91472	return nil, false
91473}
91474
91475// AsDynamicsEntityDataset is the BasicDataset implementation for SQLServerTableDataset.
91476func (sstd SQLServerTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
91477	return nil, false
91478}
91479
91480// AsDocumentDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
91481func (sstd SQLServerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
91482	return nil, false
91483}
91484
91485// AsCustomDataset is the BasicDataset implementation for SQLServerTableDataset.
91486func (sstd SQLServerTableDataset) AsCustomDataset() (*CustomDataset, bool) {
91487	return nil, false
91488}
91489
91490// AsCassandraTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91491func (sstd SQLServerTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
91492	return nil, false
91493}
91494
91495// AsAzureSQLDWTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91496func (sstd SQLServerTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
91497	return nil, false
91498}
91499
91500// AsAzureSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91501func (sstd SQLServerTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
91502	return nil, false
91503}
91504
91505// AsAzureTableDataset is the BasicDataset implementation for SQLServerTableDataset.
91506func (sstd SQLServerTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
91507	return nil, false
91508}
91509
91510// AsAzureBlobDataset is the BasicDataset implementation for SQLServerTableDataset.
91511func (sstd SQLServerTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
91512	return nil, false
91513}
91514
91515// AsAmazonS3Dataset is the BasicDataset implementation for SQLServerTableDataset.
91516func (sstd SQLServerTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
91517	return nil, false
91518}
91519
91520// AsDataset is the BasicDataset implementation for SQLServerTableDataset.
91521func (sstd SQLServerTableDataset) AsDataset() (*Dataset, bool) {
91522	return nil, false
91523}
91524
91525// AsBasicDataset is the BasicDataset implementation for SQLServerTableDataset.
91526func (sstd SQLServerTableDataset) AsBasicDataset() (BasicDataset, bool) {
91527	return &sstd, true
91528}
91529
91530// UnmarshalJSON is the custom unmarshaler for SQLServerTableDataset struct.
91531func (sstd *SQLServerTableDataset) UnmarshalJSON(body []byte) error {
91532	var m map[string]*json.RawMessage
91533	err := json.Unmarshal(body, &m)
91534	if err != nil {
91535		return err
91536	}
91537	for k, v := range m {
91538		switch k {
91539		case "typeProperties":
91540			if v != nil {
91541				var SQLServerTableDatasetTypeProperties SQLServerTableDatasetTypeProperties
91542				err = json.Unmarshal(*v, &SQLServerTableDatasetTypeProperties)
91543				if err != nil {
91544					return err
91545				}
91546				sstd.SQLServerTableDatasetTypeProperties = &SQLServerTableDatasetTypeProperties
91547			}
91548		default:
91549			if v != nil {
91550				var additionalProperties interface{}
91551				err = json.Unmarshal(*v, &additionalProperties)
91552				if err != nil {
91553					return err
91554				}
91555				if sstd.AdditionalProperties == nil {
91556					sstd.AdditionalProperties = make(map[string]interface{})
91557				}
91558				sstd.AdditionalProperties[k] = additionalProperties
91559			}
91560		case "description":
91561			if v != nil {
91562				var description string
91563				err = json.Unmarshal(*v, &description)
91564				if err != nil {
91565					return err
91566				}
91567				sstd.Description = &description
91568			}
91569		case "structure":
91570			if v != nil {
91571				var structure interface{}
91572				err = json.Unmarshal(*v, &structure)
91573				if err != nil {
91574					return err
91575				}
91576				sstd.Structure = structure
91577			}
91578		case "linkedServiceName":
91579			if v != nil {
91580				var linkedServiceName LinkedServiceReference
91581				err = json.Unmarshal(*v, &linkedServiceName)
91582				if err != nil {
91583					return err
91584				}
91585				sstd.LinkedServiceName = &linkedServiceName
91586			}
91587		case "parameters":
91588			if v != nil {
91589				var parameters map[string]*ParameterSpecification
91590				err = json.Unmarshal(*v, &parameters)
91591				if err != nil {
91592					return err
91593				}
91594				sstd.Parameters = parameters
91595			}
91596		case "annotations":
91597			if v != nil {
91598				var annotations []interface{}
91599				err = json.Unmarshal(*v, &annotations)
91600				if err != nil {
91601					return err
91602				}
91603				sstd.Annotations = &annotations
91604			}
91605		case "type":
91606			if v != nil {
91607				var typeVar TypeBasicDataset
91608				err = json.Unmarshal(*v, &typeVar)
91609				if err != nil {
91610					return err
91611				}
91612				sstd.Type = typeVar
91613			}
91614		}
91615	}
91616
91617	return nil
91618}
91619
91620// SQLServerTableDatasetTypeProperties on-premises SQL Server dataset properties.
91621type SQLServerTableDatasetTypeProperties struct {
91622	// TableName - The table name of the SQL Server dataset. Type: string (or Expression with resultType string).
91623	TableName interface{} `json:"tableName,omitempty"`
91624}
91625
91626// SQLSink a copy activity SQL sink.
91627type SQLSink struct {
91628	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
91629	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
91630	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
91631	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
91632	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
91633	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
91634	// StoredProcedureParameters - SQL stored procedure parameters.
91635	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
91636	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91637	AdditionalProperties map[string]interface{} `json:""`
91638	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
91639	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
91640	// 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])).
91641	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
91642	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
91643	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
91644	// 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])).
91645	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
91646	// Type - Possible values include: 'TypeCopySink', 'TypeSalesforceSink', 'TypeDynamicsSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink'
91647	Type TypeBasicCopySink `json:"type,omitempty"`
91648}
91649
91650// MarshalJSON is the custom marshaler for SQLSink.
91651func (ss SQLSink) MarshalJSON() ([]byte, error) {
91652	ss.Type = TypeSQLSink
91653	objectMap := make(map[string]interface{})
91654	if ss.SQLWriterStoredProcedureName != nil {
91655		objectMap["sqlWriterStoredProcedureName"] = ss.SQLWriterStoredProcedureName
91656	}
91657	if ss.SQLWriterTableType != nil {
91658		objectMap["sqlWriterTableType"] = ss.SQLWriterTableType
91659	}
91660	if ss.PreCopyScript != nil {
91661		objectMap["preCopyScript"] = ss.PreCopyScript
91662	}
91663	if ss.StoredProcedureParameters != nil {
91664		objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters
91665	}
91666	if ss.WriteBatchSize != nil {
91667		objectMap["writeBatchSize"] = ss.WriteBatchSize
91668	}
91669	if ss.WriteBatchTimeout != nil {
91670		objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout
91671	}
91672	if ss.SinkRetryCount != nil {
91673		objectMap["sinkRetryCount"] = ss.SinkRetryCount
91674	}
91675	if ss.SinkRetryWait != nil {
91676		objectMap["sinkRetryWait"] = ss.SinkRetryWait
91677	}
91678	if ss.Type != "" {
91679		objectMap["type"] = ss.Type
91680	}
91681	for k, v := range ss.AdditionalProperties {
91682		objectMap[k] = v
91683	}
91684	return json.Marshal(objectMap)
91685}
91686
91687// AsSalesforceSink is the BasicCopySink implementation for SQLSink.
91688func (ss SQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
91689	return nil, false
91690}
91691
91692// AsDynamicsSink is the BasicCopySink implementation for SQLSink.
91693func (ss SQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
91694	return nil, false
91695}
91696
91697// AsOdbcSink is the BasicCopySink implementation for SQLSink.
91698func (ss SQLSink) AsOdbcSink() (*OdbcSink, bool) {
91699	return nil, false
91700}
91701
91702// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLSink.
91703func (ss SQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
91704	return nil, false
91705}
91706
91707// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLSink.
91708func (ss SQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
91709	return nil, false
91710}
91711
91712// AsOracleSink is the BasicCopySink implementation for SQLSink.
91713func (ss SQLSink) AsOracleSink() (*OracleSink, bool) {
91714	return nil, false
91715}
91716
91717// AsSQLDWSink is the BasicCopySink implementation for SQLSink.
91718func (ss SQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
91719	return nil, false
91720}
91721
91722// AsSQLSink is the BasicCopySink implementation for SQLSink.
91723func (ss SQLSink) AsSQLSink() (*SQLSink, bool) {
91724	return &ss, true
91725}
91726
91727// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLSink.
91728func (ss SQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
91729	return nil, false
91730}
91731
91732// AsFileSystemSink is the BasicCopySink implementation for SQLSink.
91733func (ss SQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
91734	return nil, false
91735}
91736
91737// AsBlobSink is the BasicCopySink implementation for SQLSink.
91738func (ss SQLSink) AsBlobSink() (*BlobSink, bool) {
91739	return nil, false
91740}
91741
91742// AsAzureTableSink is the BasicCopySink implementation for SQLSink.
91743func (ss SQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
91744	return nil, false
91745}
91746
91747// AsAzureQueueSink is the BasicCopySink implementation for SQLSink.
91748func (ss SQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
91749	return nil, false
91750}
91751
91752// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLSink.
91753func (ss SQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
91754	return nil, false
91755}
91756
91757// AsCopySink is the BasicCopySink implementation for SQLSink.
91758func (ss SQLSink) AsCopySink() (*CopySink, bool) {
91759	return nil, false
91760}
91761
91762// AsBasicCopySink is the BasicCopySink implementation for SQLSink.
91763func (ss SQLSink) AsBasicCopySink() (BasicCopySink, bool) {
91764	return &ss, true
91765}
91766
91767// UnmarshalJSON is the custom unmarshaler for SQLSink struct.
91768func (ss *SQLSink) UnmarshalJSON(body []byte) error {
91769	var m map[string]*json.RawMessage
91770	err := json.Unmarshal(body, &m)
91771	if err != nil {
91772		return err
91773	}
91774	for k, v := range m {
91775		switch k {
91776		case "sqlWriterStoredProcedureName":
91777			if v != nil {
91778				var SQLWriterStoredProcedureName interface{}
91779				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
91780				if err != nil {
91781					return err
91782				}
91783				ss.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
91784			}
91785		case "sqlWriterTableType":
91786			if v != nil {
91787				var SQLWriterTableType interface{}
91788				err = json.Unmarshal(*v, &SQLWriterTableType)
91789				if err != nil {
91790					return err
91791				}
91792				ss.SQLWriterTableType = SQLWriterTableType
91793			}
91794		case "preCopyScript":
91795			if v != nil {
91796				var preCopyScript interface{}
91797				err = json.Unmarshal(*v, &preCopyScript)
91798				if err != nil {
91799					return err
91800				}
91801				ss.PreCopyScript = preCopyScript
91802			}
91803		case "storedProcedureParameters":
91804			if v != nil {
91805				var storedProcedureParameters map[string]*StoredProcedureParameter
91806				err = json.Unmarshal(*v, &storedProcedureParameters)
91807				if err != nil {
91808					return err
91809				}
91810				ss.StoredProcedureParameters = storedProcedureParameters
91811			}
91812		default:
91813			if v != nil {
91814				var additionalProperties interface{}
91815				err = json.Unmarshal(*v, &additionalProperties)
91816				if err != nil {
91817					return err
91818				}
91819				if ss.AdditionalProperties == nil {
91820					ss.AdditionalProperties = make(map[string]interface{})
91821				}
91822				ss.AdditionalProperties[k] = additionalProperties
91823			}
91824		case "writeBatchSize":
91825			if v != nil {
91826				var writeBatchSize interface{}
91827				err = json.Unmarshal(*v, &writeBatchSize)
91828				if err != nil {
91829					return err
91830				}
91831				ss.WriteBatchSize = writeBatchSize
91832			}
91833		case "writeBatchTimeout":
91834			if v != nil {
91835				var writeBatchTimeout interface{}
91836				err = json.Unmarshal(*v, &writeBatchTimeout)
91837				if err != nil {
91838					return err
91839				}
91840				ss.WriteBatchTimeout = writeBatchTimeout
91841			}
91842		case "sinkRetryCount":
91843			if v != nil {
91844				var sinkRetryCount interface{}
91845				err = json.Unmarshal(*v, &sinkRetryCount)
91846				if err != nil {
91847					return err
91848				}
91849				ss.SinkRetryCount = sinkRetryCount
91850			}
91851		case "sinkRetryWait":
91852			if v != nil {
91853				var sinkRetryWait interface{}
91854				err = json.Unmarshal(*v, &sinkRetryWait)
91855				if err != nil {
91856					return err
91857				}
91858				ss.SinkRetryWait = sinkRetryWait
91859			}
91860		case "type":
91861			if v != nil {
91862				var typeVar TypeBasicCopySink
91863				err = json.Unmarshal(*v, &typeVar)
91864				if err != nil {
91865					return err
91866				}
91867				ss.Type = typeVar
91868			}
91869		}
91870	}
91871
91872	return nil
91873}
91874
91875// SQLSource a copy activity SQL source.
91876type SQLSource struct {
91877	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
91878	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
91879	// 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).
91880	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
91881	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
91882	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
91883	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91884	AdditionalProperties map[string]interface{} `json:""`
91885	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
91886	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
91887	// 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])).
91888	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
91889	// 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'
91890	Type TypeBasicCopySource `json:"type,omitempty"`
91891}
91892
91893// MarshalJSON is the custom marshaler for SQLSource.
91894func (ss SQLSource) MarshalJSON() ([]byte, error) {
91895	ss.Type = TypeSQLSource
91896	objectMap := make(map[string]interface{})
91897	if ss.SQLReaderQuery != nil {
91898		objectMap["sqlReaderQuery"] = ss.SQLReaderQuery
91899	}
91900	if ss.SQLReaderStoredProcedureName != nil {
91901		objectMap["sqlReaderStoredProcedureName"] = ss.SQLReaderStoredProcedureName
91902	}
91903	if ss.StoredProcedureParameters != nil {
91904		objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters
91905	}
91906	if ss.SourceRetryCount != nil {
91907		objectMap["sourceRetryCount"] = ss.SourceRetryCount
91908	}
91909	if ss.SourceRetryWait != nil {
91910		objectMap["sourceRetryWait"] = ss.SourceRetryWait
91911	}
91912	if ss.Type != "" {
91913		objectMap["type"] = ss.Type
91914	}
91915	for k, v := range ss.AdditionalProperties {
91916		objectMap[k] = v
91917	}
91918	return json.Marshal(objectMap)
91919}
91920
91921// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLSource.
91922func (ss SQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
91923	return nil, false
91924}
91925
91926// AsResponsysSource is the BasicCopySource implementation for SQLSource.
91927func (ss SQLSource) AsResponsysSource() (*ResponsysSource, bool) {
91928	return nil, false
91929}
91930
91931// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLSource.
91932func (ss SQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
91933	return nil, false
91934}
91935
91936// AsVerticaSource is the BasicCopySource implementation for SQLSource.
91937func (ss SQLSource) AsVerticaSource() (*VerticaSource, bool) {
91938	return nil, false
91939}
91940
91941// AsNetezzaSource is the BasicCopySource implementation for SQLSource.
91942func (ss SQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
91943	return nil, false
91944}
91945
91946// AsZohoSource is the BasicCopySource implementation for SQLSource.
91947func (ss SQLSource) AsZohoSource() (*ZohoSource, bool) {
91948	return nil, false
91949}
91950
91951// AsXeroSource is the BasicCopySource implementation for SQLSource.
91952func (ss SQLSource) AsXeroSource() (*XeroSource, bool) {
91953	return nil, false
91954}
91955
91956// AsSquareSource is the BasicCopySource implementation for SQLSource.
91957func (ss SQLSource) AsSquareSource() (*SquareSource, bool) {
91958	return nil, false
91959}
91960
91961// AsSparkSource is the BasicCopySource implementation for SQLSource.
91962func (ss SQLSource) AsSparkSource() (*SparkSource, bool) {
91963	return nil, false
91964}
91965
91966// AsShopifySource is the BasicCopySource implementation for SQLSource.
91967func (ss SQLSource) AsShopifySource() (*ShopifySource, bool) {
91968	return nil, false
91969}
91970
91971// AsServiceNowSource is the BasicCopySource implementation for SQLSource.
91972func (ss SQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
91973	return nil, false
91974}
91975
91976// AsQuickBooksSource is the BasicCopySource implementation for SQLSource.
91977func (ss SQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
91978	return nil, false
91979}
91980
91981// AsPrestoSource is the BasicCopySource implementation for SQLSource.
91982func (ss SQLSource) AsPrestoSource() (*PrestoSource, bool) {
91983	return nil, false
91984}
91985
91986// AsPhoenixSource is the BasicCopySource implementation for SQLSource.
91987func (ss SQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
91988	return nil, false
91989}
91990
91991// AsPaypalSource is the BasicCopySource implementation for SQLSource.
91992func (ss SQLSource) AsPaypalSource() (*PaypalSource, bool) {
91993	return nil, false
91994}
91995
91996// AsMarketoSource is the BasicCopySource implementation for SQLSource.
91997func (ss SQLSource) AsMarketoSource() (*MarketoSource, bool) {
91998	return nil, false
91999}
92000
92001// AsMariaDBSource is the BasicCopySource implementation for SQLSource.
92002func (ss SQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
92003	return nil, false
92004}
92005
92006// AsMagentoSource is the BasicCopySource implementation for SQLSource.
92007func (ss SQLSource) AsMagentoSource() (*MagentoSource, bool) {
92008	return nil, false
92009}
92010
92011// AsJiraSource is the BasicCopySource implementation for SQLSource.
92012func (ss SQLSource) AsJiraSource() (*JiraSource, bool) {
92013	return nil, false
92014}
92015
92016// AsImpalaSource is the BasicCopySource implementation for SQLSource.
92017func (ss SQLSource) AsImpalaSource() (*ImpalaSource, bool) {
92018	return nil, false
92019}
92020
92021// AsHubspotSource is the BasicCopySource implementation for SQLSource.
92022func (ss SQLSource) AsHubspotSource() (*HubspotSource, bool) {
92023	return nil, false
92024}
92025
92026// AsHiveSource is the BasicCopySource implementation for SQLSource.
92027func (ss SQLSource) AsHiveSource() (*HiveSource, bool) {
92028	return nil, false
92029}
92030
92031// AsHBaseSource is the BasicCopySource implementation for SQLSource.
92032func (ss SQLSource) AsHBaseSource() (*HBaseSource, bool) {
92033	return nil, false
92034}
92035
92036// AsGreenplumSource is the BasicCopySource implementation for SQLSource.
92037func (ss SQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
92038	return nil, false
92039}
92040
92041// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLSource.
92042func (ss SQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
92043	return nil, false
92044}
92045
92046// AsEloquaSource is the BasicCopySource implementation for SQLSource.
92047func (ss SQLSource) AsEloquaSource() (*EloquaSource, bool) {
92048	return nil, false
92049}
92050
92051// AsDrillSource is the BasicCopySource implementation for SQLSource.
92052func (ss SQLSource) AsDrillSource() (*DrillSource, bool) {
92053	return nil, false
92054}
92055
92056// AsCouchbaseSource is the BasicCopySource implementation for SQLSource.
92057func (ss SQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
92058	return nil, false
92059}
92060
92061// AsConcurSource is the BasicCopySource implementation for SQLSource.
92062func (ss SQLSource) AsConcurSource() (*ConcurSource, bool) {
92063	return nil, false
92064}
92065
92066// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLSource.
92067func (ss SQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
92068	return nil, false
92069}
92070
92071// AsAmazonMWSSource is the BasicCopySource implementation for SQLSource.
92072func (ss SQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
92073	return nil, false
92074}
92075
92076// AsHTTPSource is the BasicCopySource implementation for SQLSource.
92077func (ss SQLSource) AsHTTPSource() (*HTTPSource, bool) {
92078	return nil, false
92079}
92080
92081// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLSource.
92082func (ss SQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
92083	return nil, false
92084}
92085
92086// AsMongoDbSource is the BasicCopySource implementation for SQLSource.
92087func (ss SQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
92088	return nil, false
92089}
92090
92091// AsCassandraSource is the BasicCopySource implementation for SQLSource.
92092func (ss SQLSource) AsCassandraSource() (*CassandraSource, bool) {
92093	return nil, false
92094}
92095
92096// AsWebSource is the BasicCopySource implementation for SQLSource.
92097func (ss SQLSource) AsWebSource() (*WebSource, bool) {
92098	return nil, false
92099}
92100
92101// AsOracleSource is the BasicCopySource implementation for SQLSource.
92102func (ss SQLSource) AsOracleSource() (*OracleSource, bool) {
92103	return nil, false
92104}
92105
92106// AsAzureMySQLSource is the BasicCopySource implementation for SQLSource.
92107func (ss SQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
92108	return nil, false
92109}
92110
92111// AsHdfsSource is the BasicCopySource implementation for SQLSource.
92112func (ss SQLSource) AsHdfsSource() (*HdfsSource, bool) {
92113	return nil, false
92114}
92115
92116// AsFileSystemSource is the BasicCopySource implementation for SQLSource.
92117func (ss SQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
92118	return nil, false
92119}
92120
92121// AsSQLDWSource is the BasicCopySource implementation for SQLSource.
92122func (ss SQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
92123	return nil, false
92124}
92125
92126// AsSQLSource is the BasicCopySource implementation for SQLSource.
92127func (ss SQLSource) AsSQLSource() (*SQLSource, bool) {
92128	return &ss, true
92129}
92130
92131// AsSapEccSource is the BasicCopySource implementation for SQLSource.
92132func (ss SQLSource) AsSapEccSource() (*SapEccSource, bool) {
92133	return nil, false
92134}
92135
92136// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLSource.
92137func (ss SQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
92138	return nil, false
92139}
92140
92141// AsSalesforceSource is the BasicCopySource implementation for SQLSource.
92142func (ss SQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
92143	return nil, false
92144}
92145
92146// AsRelationalSource is the BasicCopySource implementation for SQLSource.
92147func (ss SQLSource) AsRelationalSource() (*RelationalSource, bool) {
92148	return nil, false
92149}
92150
92151// AsDynamicsSource is the BasicCopySource implementation for SQLSource.
92152func (ss SQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
92153	return nil, false
92154}
92155
92156// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLSource.
92157func (ss SQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
92158	return nil, false
92159}
92160
92161// AsBlobSource is the BasicCopySource implementation for SQLSource.
92162func (ss SQLSource) AsBlobSource() (*BlobSource, bool) {
92163	return nil, false
92164}
92165
92166// AsAzureTableSource is the BasicCopySource implementation for SQLSource.
92167func (ss SQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
92168	return nil, false
92169}
92170
92171// AsCopySource is the BasicCopySource implementation for SQLSource.
92172func (ss SQLSource) AsCopySource() (*CopySource, bool) {
92173	return nil, false
92174}
92175
92176// AsBasicCopySource is the BasicCopySource implementation for SQLSource.
92177func (ss SQLSource) AsBasicCopySource() (BasicCopySource, bool) {
92178	return &ss, true
92179}
92180
92181// UnmarshalJSON is the custom unmarshaler for SQLSource struct.
92182func (ss *SQLSource) UnmarshalJSON(body []byte) error {
92183	var m map[string]*json.RawMessage
92184	err := json.Unmarshal(body, &m)
92185	if err != nil {
92186		return err
92187	}
92188	for k, v := range m {
92189		switch k {
92190		case "sqlReaderQuery":
92191			if v != nil {
92192				var SQLReaderQuery interface{}
92193				err = json.Unmarshal(*v, &SQLReaderQuery)
92194				if err != nil {
92195					return err
92196				}
92197				ss.SQLReaderQuery = SQLReaderQuery
92198			}
92199		case "sqlReaderStoredProcedureName":
92200			if v != nil {
92201				var SQLReaderStoredProcedureName interface{}
92202				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
92203				if err != nil {
92204					return err
92205				}
92206				ss.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
92207			}
92208		case "storedProcedureParameters":
92209			if v != nil {
92210				var storedProcedureParameters map[string]*StoredProcedureParameter
92211				err = json.Unmarshal(*v, &storedProcedureParameters)
92212				if err != nil {
92213					return err
92214				}
92215				ss.StoredProcedureParameters = storedProcedureParameters
92216			}
92217		default:
92218			if v != nil {
92219				var additionalProperties interface{}
92220				err = json.Unmarshal(*v, &additionalProperties)
92221				if err != nil {
92222					return err
92223				}
92224				if ss.AdditionalProperties == nil {
92225					ss.AdditionalProperties = make(map[string]interface{})
92226				}
92227				ss.AdditionalProperties[k] = additionalProperties
92228			}
92229		case "sourceRetryCount":
92230			if v != nil {
92231				var sourceRetryCount interface{}
92232				err = json.Unmarshal(*v, &sourceRetryCount)
92233				if err != nil {
92234					return err
92235				}
92236				ss.SourceRetryCount = sourceRetryCount
92237			}
92238		case "sourceRetryWait":
92239			if v != nil {
92240				var sourceRetryWait interface{}
92241				err = json.Unmarshal(*v, &sourceRetryWait)
92242				if err != nil {
92243					return err
92244				}
92245				ss.SourceRetryWait = sourceRetryWait
92246			}
92247		case "type":
92248			if v != nil {
92249				var typeVar TypeBasicCopySource
92250				err = json.Unmarshal(*v, &typeVar)
92251				if err != nil {
92252					return err
92253				}
92254				ss.Type = typeVar
92255			}
92256		}
92257	}
92258
92259	return nil
92260}
92261
92262// SquareLinkedService square Service linked service.
92263type SquareLinkedService struct {
92264	// SquareLinkedServiceTypeProperties - Square Service linked service properties.
92265	*SquareLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
92266	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
92267	AdditionalProperties map[string]interface{} `json:""`
92268	// ConnectVia - The integration runtime reference.
92269	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
92270	// Description - Linked service description.
92271	Description *string `json:"description,omitempty"`
92272	// Parameters - Parameters for linked service.
92273	Parameters map[string]*ParameterSpecification `json:"parameters"`
92274	// Annotations - List of tags that can be used for describing the Dataset.
92275	Annotations *[]interface{} `json:"annotations,omitempty"`
92276	// 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'
92277	Type TypeBasicLinkedService `json:"type,omitempty"`
92278}
92279
92280// MarshalJSON is the custom marshaler for SquareLinkedService.
92281func (sls SquareLinkedService) MarshalJSON() ([]byte, error) {
92282	sls.Type = TypeSquare
92283	objectMap := make(map[string]interface{})
92284	if sls.SquareLinkedServiceTypeProperties != nil {
92285		objectMap["typeProperties"] = sls.SquareLinkedServiceTypeProperties
92286	}
92287	if sls.ConnectVia != nil {
92288		objectMap["connectVia"] = sls.ConnectVia
92289	}
92290	if sls.Description != nil {
92291		objectMap["description"] = sls.Description
92292	}
92293	if sls.Parameters != nil {
92294		objectMap["parameters"] = sls.Parameters
92295	}
92296	if sls.Annotations != nil {
92297		objectMap["annotations"] = sls.Annotations
92298	}
92299	if sls.Type != "" {
92300		objectMap["type"] = sls.Type
92301	}
92302	for k, v := range sls.AdditionalProperties {
92303		objectMap[k] = v
92304	}
92305	return json.Marshal(objectMap)
92306}
92307
92308// AsResponsysLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92309func (sls SquareLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
92310	return nil, false
92311}
92312
92313// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92314func (sls SquareLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
92315	return nil, false
92316}
92317
92318// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92319func (sls SquareLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
92320	return nil, false
92321}
92322
92323// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92324func (sls SquareLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
92325	return nil, false
92326}
92327
92328// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92329func (sls SquareLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
92330	return nil, false
92331}
92332
92333// AsNetezzaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92334func (sls SquareLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
92335	return nil, false
92336}
92337
92338// AsVerticaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92339func (sls SquareLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
92340	return nil, false
92341}
92342
92343// AsZohoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92344func (sls SquareLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
92345	return nil, false
92346}
92347
92348// AsXeroLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92349func (sls SquareLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
92350	return nil, false
92351}
92352
92353// AsSquareLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92354func (sls SquareLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
92355	return &sls, true
92356}
92357
92358// AsSparkLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92359func (sls SquareLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
92360	return nil, false
92361}
92362
92363// AsShopifyLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92364func (sls SquareLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
92365	return nil, false
92366}
92367
92368// AsServiceNowLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92369func (sls SquareLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
92370	return nil, false
92371}
92372
92373// AsQuickBooksLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92374func (sls SquareLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
92375	return nil, false
92376}
92377
92378// AsPrestoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92379func (sls SquareLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
92380	return nil, false
92381}
92382
92383// AsPhoenixLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92384func (sls SquareLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
92385	return nil, false
92386}
92387
92388// AsPaypalLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92389func (sls SquareLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
92390	return nil, false
92391}
92392
92393// AsMarketoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92394func (sls SquareLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
92395	return nil, false
92396}
92397
92398// AsMariaDBLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92399func (sls SquareLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
92400	return nil, false
92401}
92402
92403// AsMagentoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92404func (sls SquareLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
92405	return nil, false
92406}
92407
92408// AsJiraLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92409func (sls SquareLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
92410	return nil, false
92411}
92412
92413// AsImpalaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92414func (sls SquareLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
92415	return nil, false
92416}
92417
92418// AsHubspotLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92419func (sls SquareLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
92420	return nil, false
92421}
92422
92423// AsHiveLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92424func (sls SquareLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
92425	return nil, false
92426}
92427
92428// AsHBaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92429func (sls SquareLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
92430	return nil, false
92431}
92432
92433// AsGreenplumLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92434func (sls SquareLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
92435	return nil, false
92436}
92437
92438// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92439func (sls SquareLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
92440	return nil, false
92441}
92442
92443// AsEloquaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92444func (sls SquareLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
92445	return nil, false
92446}
92447
92448// AsDrillLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92449func (sls SquareLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
92450	return nil, false
92451}
92452
92453// AsCouchbaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92454func (sls SquareLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
92455	return nil, false
92456}
92457
92458// AsConcurLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92459func (sls SquareLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
92460	return nil, false
92461}
92462
92463// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92464func (sls SquareLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
92465	return nil, false
92466}
92467
92468// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92469func (sls SquareLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
92470	return nil, false
92471}
92472
92473// AsSapHanaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92474func (sls SquareLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
92475	return nil, false
92476}
92477
92478// AsSapBWLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92479func (sls SquareLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
92480	return nil, false
92481}
92482
92483// AsSftpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92484func (sls SquareLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
92485	return nil, false
92486}
92487
92488// AsFtpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92489func (sls SquareLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
92490	return nil, false
92491}
92492
92493// AsHTTPLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92494func (sls SquareLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
92495	return nil, false
92496}
92497
92498// AsAzureSearchLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92499func (sls SquareLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
92500	return nil, false
92501}
92502
92503// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92504func (sls SquareLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
92505	return nil, false
92506}
92507
92508// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92509func (sls SquareLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
92510	return nil, false
92511}
92512
92513// AsAmazonS3LinkedService is the BasicLinkedService implementation for SquareLinkedService.
92514func (sls SquareLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
92515	return nil, false
92516}
92517
92518// AsSapEccLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92519func (sls SquareLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
92520	return nil, false
92521}
92522
92523// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92524func (sls SquareLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
92525	return nil, false
92526}
92527
92528// AsSalesforceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92529func (sls SquareLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
92530	return nil, false
92531}
92532
92533// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92534func (sls SquareLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
92535	return nil, false
92536}
92537
92538// AsMongoDbLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92539func (sls SquareLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
92540	return nil, false
92541}
92542
92543// AsCassandraLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92544func (sls SquareLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
92545	return nil, false
92546}
92547
92548// AsWebLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92549func (sls SquareLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
92550	return nil, false
92551}
92552
92553// AsODataLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92554func (sls SquareLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
92555	return nil, false
92556}
92557
92558// AsHdfsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92559func (sls SquareLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
92560	return nil, false
92561}
92562
92563// AsOdbcLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92564func (sls SquareLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
92565	return nil, false
92566}
92567
92568// AsAzureMLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92569func (sls SquareLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
92570	return nil, false
92571}
92572
92573// AsTeradataLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92574func (sls SquareLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
92575	return nil, false
92576}
92577
92578// AsDb2LinkedService is the BasicLinkedService implementation for SquareLinkedService.
92579func (sls SquareLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
92580	return nil, false
92581}
92582
92583// AsSybaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92584func (sls SquareLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
92585	return nil, false
92586}
92587
92588// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92589func (sls SquareLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
92590	return nil, false
92591}
92592
92593// AsMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92594func (sls SquareLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
92595	return nil, false
92596}
92597
92598// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92599func (sls SquareLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
92600	return nil, false
92601}
92602
92603// AsOracleLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92604func (sls SquareLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
92605	return nil, false
92606}
92607
92608// AsFileServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92609func (sls SquareLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
92610	return nil, false
92611}
92612
92613// AsHDInsightLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92614func (sls SquareLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
92615	return nil, false
92616}
92617
92618// AsDynamicsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92619func (sls SquareLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
92620	return nil, false
92621}
92622
92623// AsCosmosDbLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92624func (sls SquareLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
92625	return nil, false
92626}
92627
92628// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92629func (sls SquareLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
92630	return nil, false
92631}
92632
92633// AsAzureBatchLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92634func (sls SquareLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
92635	return nil, false
92636}
92637
92638// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92639func (sls SquareLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
92640	return nil, false
92641}
92642
92643// AsSQLServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92644func (sls SquareLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
92645	return nil, false
92646}
92647
92648// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92649func (sls SquareLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
92650	return nil, false
92651}
92652
92653// AsAzureStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92654func (sls SquareLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
92655	return nil, false
92656}
92657
92658// AsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92659func (sls SquareLinkedService) AsLinkedService() (*LinkedService, bool) {
92660	return nil, false
92661}
92662
92663// AsBasicLinkedService is the BasicLinkedService implementation for SquareLinkedService.
92664func (sls SquareLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
92665	return &sls, true
92666}
92667
92668// UnmarshalJSON is the custom unmarshaler for SquareLinkedService struct.
92669func (sls *SquareLinkedService) UnmarshalJSON(body []byte) error {
92670	var m map[string]*json.RawMessage
92671	err := json.Unmarshal(body, &m)
92672	if err != nil {
92673		return err
92674	}
92675	for k, v := range m {
92676		switch k {
92677		case "typeProperties":
92678			if v != nil {
92679				var squareLinkedServiceTypeProperties SquareLinkedServiceTypeProperties
92680				err = json.Unmarshal(*v, &squareLinkedServiceTypeProperties)
92681				if err != nil {
92682					return err
92683				}
92684				sls.SquareLinkedServiceTypeProperties = &squareLinkedServiceTypeProperties
92685			}
92686		default:
92687			if v != nil {
92688				var additionalProperties interface{}
92689				err = json.Unmarshal(*v, &additionalProperties)
92690				if err != nil {
92691					return err
92692				}
92693				if sls.AdditionalProperties == nil {
92694					sls.AdditionalProperties = make(map[string]interface{})
92695				}
92696				sls.AdditionalProperties[k] = additionalProperties
92697			}
92698		case "connectVia":
92699			if v != nil {
92700				var connectVia IntegrationRuntimeReference
92701				err = json.Unmarshal(*v, &connectVia)
92702				if err != nil {
92703					return err
92704				}
92705				sls.ConnectVia = &connectVia
92706			}
92707		case "description":
92708			if v != nil {
92709				var description string
92710				err = json.Unmarshal(*v, &description)
92711				if err != nil {
92712					return err
92713				}
92714				sls.Description = &description
92715			}
92716		case "parameters":
92717			if v != nil {
92718				var parameters map[string]*ParameterSpecification
92719				err = json.Unmarshal(*v, &parameters)
92720				if err != nil {
92721					return err
92722				}
92723				sls.Parameters = parameters
92724			}
92725		case "annotations":
92726			if v != nil {
92727				var annotations []interface{}
92728				err = json.Unmarshal(*v, &annotations)
92729				if err != nil {
92730					return err
92731				}
92732				sls.Annotations = &annotations
92733			}
92734		case "type":
92735			if v != nil {
92736				var typeVar TypeBasicLinkedService
92737				err = json.Unmarshal(*v, &typeVar)
92738				if err != nil {
92739					return err
92740				}
92741				sls.Type = typeVar
92742			}
92743		}
92744	}
92745
92746	return nil
92747}
92748
92749// SquareLinkedServiceTypeProperties square Service linked service properties.
92750type SquareLinkedServiceTypeProperties struct {
92751	// Host - The URL of the Square instance. (i.e. mystore.mysquare.com)
92752	Host interface{} `json:"host,omitempty"`
92753	// ClientID - The client ID associated with your Square application.
92754	ClientID interface{} `json:"clientId,omitempty"`
92755	// ClientSecret - The client secret associated with your Square application.
92756	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
92757	// RedirectURI - The redirect URL assigned in the Square application dashboard. (i.e. http://localhost:2500)
92758	RedirectURI interface{} `json:"redirectUri,omitempty"`
92759	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
92760	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
92761	// 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.
92762	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
92763	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
92764	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
92765	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
92766	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
92767}
92768
92769// UnmarshalJSON is the custom unmarshaler for SquareLinkedServiceTypeProperties struct.
92770func (slstp *SquareLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
92771	var m map[string]*json.RawMessage
92772	err := json.Unmarshal(body, &m)
92773	if err != nil {
92774		return err
92775	}
92776	for k, v := range m {
92777		switch k {
92778		case "host":
92779			if v != nil {
92780				var host interface{}
92781				err = json.Unmarshal(*v, &host)
92782				if err != nil {
92783					return err
92784				}
92785				slstp.Host = host
92786			}
92787		case "clientId":
92788			if v != nil {
92789				var clientID interface{}
92790				err = json.Unmarshal(*v, &clientID)
92791				if err != nil {
92792					return err
92793				}
92794				slstp.ClientID = clientID
92795			}
92796		case "clientSecret":
92797			if v != nil {
92798				clientSecret, err := unmarshalBasicSecretBase(*v)
92799				if err != nil {
92800					return err
92801				}
92802				slstp.ClientSecret = clientSecret
92803			}
92804		case "redirectUri":
92805			if v != nil {
92806				var redirectURI interface{}
92807				err = json.Unmarshal(*v, &redirectURI)
92808				if err != nil {
92809					return err
92810				}
92811				slstp.RedirectURI = redirectURI
92812			}
92813		case "useEncryptedEndpoints":
92814			if v != nil {
92815				var useEncryptedEndpoints interface{}
92816				err = json.Unmarshal(*v, &useEncryptedEndpoints)
92817				if err != nil {
92818					return err
92819				}
92820				slstp.UseEncryptedEndpoints = useEncryptedEndpoints
92821			}
92822		case "useHostVerification":
92823			if v != nil {
92824				var useHostVerification interface{}
92825				err = json.Unmarshal(*v, &useHostVerification)
92826				if err != nil {
92827					return err
92828				}
92829				slstp.UseHostVerification = useHostVerification
92830			}
92831		case "usePeerVerification":
92832			if v != nil {
92833				var usePeerVerification interface{}
92834				err = json.Unmarshal(*v, &usePeerVerification)
92835				if err != nil {
92836					return err
92837				}
92838				slstp.UsePeerVerification = usePeerVerification
92839			}
92840		case "encryptedCredential":
92841			if v != nil {
92842				var encryptedCredential interface{}
92843				err = json.Unmarshal(*v, &encryptedCredential)
92844				if err != nil {
92845					return err
92846				}
92847				slstp.EncryptedCredential = encryptedCredential
92848			}
92849		}
92850	}
92851
92852	return nil
92853}
92854
92855// SquareObjectDataset square Service dataset.
92856type SquareObjectDataset struct {
92857	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
92858	AdditionalProperties map[string]interface{} `json:""`
92859	// Description - Dataset description.
92860	Description *string `json:"description,omitempty"`
92861	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
92862	Structure interface{} `json:"structure,omitempty"`
92863	// LinkedServiceName - Linked service reference.
92864	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
92865	// Parameters - Parameters for dataset.
92866	Parameters map[string]*ParameterSpecification `json:"parameters"`
92867	// Annotations - List of tags that can be used for describing the Dataset.
92868	Annotations *[]interface{} `json:"annotations,omitempty"`
92869	// 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'
92870	Type TypeBasicDataset `json:"type,omitempty"`
92871}
92872
92873// MarshalJSON is the custom marshaler for SquareObjectDataset.
92874func (sod SquareObjectDataset) MarshalJSON() ([]byte, error) {
92875	sod.Type = TypeSquareObject
92876	objectMap := make(map[string]interface{})
92877	if sod.Description != nil {
92878		objectMap["description"] = sod.Description
92879	}
92880	if sod.Structure != nil {
92881		objectMap["structure"] = sod.Structure
92882	}
92883	if sod.LinkedServiceName != nil {
92884		objectMap["linkedServiceName"] = sod.LinkedServiceName
92885	}
92886	if sod.Parameters != nil {
92887		objectMap["parameters"] = sod.Parameters
92888	}
92889	if sod.Annotations != nil {
92890		objectMap["annotations"] = sod.Annotations
92891	}
92892	if sod.Type != "" {
92893		objectMap["type"] = sod.Type
92894	}
92895	for k, v := range sod.AdditionalProperties {
92896		objectMap[k] = v
92897	}
92898	return json.Marshal(objectMap)
92899}
92900
92901// AsResponsysObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92902func (sod SquareObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
92903	return nil, false
92904}
92905
92906// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92907func (sod SquareObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
92908	return nil, false
92909}
92910
92911// AsVerticaTableDataset is the BasicDataset implementation for SquareObjectDataset.
92912func (sod SquareObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
92913	return nil, false
92914}
92915
92916// AsNetezzaTableDataset is the BasicDataset implementation for SquareObjectDataset.
92917func (sod SquareObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
92918	return nil, false
92919}
92920
92921// AsZohoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92922func (sod SquareObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
92923	return nil, false
92924}
92925
92926// AsXeroObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92927func (sod SquareObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
92928	return nil, false
92929}
92930
92931// AsSquareObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92932func (sod SquareObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
92933	return &sod, true
92934}
92935
92936// AsSparkObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92937func (sod SquareObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
92938	return nil, false
92939}
92940
92941// AsShopifyObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92942func (sod SquareObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
92943	return nil, false
92944}
92945
92946// AsServiceNowObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92947func (sod SquareObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
92948	return nil, false
92949}
92950
92951// AsQuickBooksObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92952func (sod SquareObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
92953	return nil, false
92954}
92955
92956// AsPrestoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92957func (sod SquareObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
92958	return nil, false
92959}
92960
92961// AsPhoenixObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92962func (sod SquareObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
92963	return nil, false
92964}
92965
92966// AsPaypalObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92967func (sod SquareObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
92968	return nil, false
92969}
92970
92971// AsMarketoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92972func (sod SquareObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
92973	return nil, false
92974}
92975
92976// AsMariaDBTableDataset is the BasicDataset implementation for SquareObjectDataset.
92977func (sod SquareObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
92978	return nil, false
92979}
92980
92981// AsMagentoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92982func (sod SquareObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
92983	return nil, false
92984}
92985
92986// AsJiraObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92987func (sod SquareObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
92988	return nil, false
92989}
92990
92991// AsImpalaObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92992func (sod SquareObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
92993	return nil, false
92994}
92995
92996// AsHubspotObjectDataset is the BasicDataset implementation for SquareObjectDataset.
92997func (sod SquareObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
92998	return nil, false
92999}
93000
93001// AsHiveObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93002func (sod SquareObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
93003	return nil, false
93004}
93005
93006// AsHBaseObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93007func (sod SquareObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
93008	return nil, false
93009}
93010
93011// AsGreenplumTableDataset is the BasicDataset implementation for SquareObjectDataset.
93012func (sod SquareObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
93013	return nil, false
93014}
93015
93016// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93017func (sod SquareObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
93018	return nil, false
93019}
93020
93021// AsEloquaObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93022func (sod SquareObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
93023	return nil, false
93024}
93025
93026// AsDrillTableDataset is the BasicDataset implementation for SquareObjectDataset.
93027func (sod SquareObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
93028	return nil, false
93029}
93030
93031// AsCouchbaseTableDataset is the BasicDataset implementation for SquareObjectDataset.
93032func (sod SquareObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
93033	return nil, false
93034}
93035
93036// AsConcurObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93037func (sod SquareObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
93038	return nil, false
93039}
93040
93041// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
93042func (sod SquareObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
93043	return nil, false
93044}
93045
93046// AsAmazonMWSObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93047func (sod SquareObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
93048	return nil, false
93049}
93050
93051// AsHTTPDataset is the BasicDataset implementation for SquareObjectDataset.
93052func (sod SquareObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
93053	return nil, false
93054}
93055
93056// AsAzureSearchIndexDataset is the BasicDataset implementation for SquareObjectDataset.
93057func (sod SquareObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
93058	return nil, false
93059}
93060
93061// AsWebTableDataset is the BasicDataset implementation for SquareObjectDataset.
93062func (sod SquareObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
93063	return nil, false
93064}
93065
93066// AsSQLServerTableDataset is the BasicDataset implementation for SquareObjectDataset.
93067func (sod SquareObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
93068	return nil, false
93069}
93070
93071// AsSapEccResourceDataset is the BasicDataset implementation for SquareObjectDataset.
93072func (sod SquareObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
93073	return nil, false
93074}
93075
93076// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SquareObjectDataset.
93077func (sod SquareObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
93078	return nil, false
93079}
93080
93081// AsSalesforceObjectDataset is the BasicDataset implementation for SquareObjectDataset.
93082func (sod SquareObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
93083	return nil, false
93084}
93085
93086// AsRelationalTableDataset is the BasicDataset implementation for SquareObjectDataset.
93087func (sod SquareObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
93088	return nil, false
93089}
93090
93091// AsAzureMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
93092func (sod SquareObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
93093	return nil, false
93094}
93095
93096// AsOracleTableDataset is the BasicDataset implementation for SquareObjectDataset.
93097func (sod SquareObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
93098	return nil, false
93099}
93100
93101// AsODataResourceDataset is the BasicDataset implementation for SquareObjectDataset.
93102func (sod SquareObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
93103	return nil, false
93104}
93105
93106// AsMongoDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset.
93107func (sod SquareObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
93108	return nil, false
93109}
93110
93111// AsFileShareDataset is the BasicDataset implementation for SquareObjectDataset.
93112func (sod SquareObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
93113	return nil, false
93114}
93115
93116// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SquareObjectDataset.
93117func (sod SquareObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
93118	return nil, false
93119}
93120
93121// AsDynamicsEntityDataset is the BasicDataset implementation for SquareObjectDataset.
93122func (sod SquareObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
93123	return nil, false
93124}
93125
93126// AsDocumentDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset.
93127func (sod SquareObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
93128	return nil, false
93129}
93130
93131// AsCustomDataset is the BasicDataset implementation for SquareObjectDataset.
93132func (sod SquareObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
93133	return nil, false
93134}
93135
93136// AsCassandraTableDataset is the BasicDataset implementation for SquareObjectDataset.
93137func (sod SquareObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
93138	return nil, false
93139}
93140
93141// AsAzureSQLDWTableDataset is the BasicDataset implementation for SquareObjectDataset.
93142func (sod SquareObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
93143	return nil, false
93144}
93145
93146// AsAzureSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
93147func (sod SquareObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
93148	return nil, false
93149}
93150
93151// AsAzureTableDataset is the BasicDataset implementation for SquareObjectDataset.
93152func (sod SquareObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
93153	return nil, false
93154}
93155
93156// AsAzureBlobDataset is the BasicDataset implementation for SquareObjectDataset.
93157func (sod SquareObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
93158	return nil, false
93159}
93160
93161// AsAmazonS3Dataset is the BasicDataset implementation for SquareObjectDataset.
93162func (sod SquareObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
93163	return nil, false
93164}
93165
93166// AsDataset is the BasicDataset implementation for SquareObjectDataset.
93167func (sod SquareObjectDataset) AsDataset() (*Dataset, bool) {
93168	return nil, false
93169}
93170
93171// AsBasicDataset is the BasicDataset implementation for SquareObjectDataset.
93172func (sod SquareObjectDataset) AsBasicDataset() (BasicDataset, bool) {
93173	return &sod, true
93174}
93175
93176// UnmarshalJSON is the custom unmarshaler for SquareObjectDataset struct.
93177func (sod *SquareObjectDataset) UnmarshalJSON(body []byte) error {
93178	var m map[string]*json.RawMessage
93179	err := json.Unmarshal(body, &m)
93180	if err != nil {
93181		return err
93182	}
93183	for k, v := range m {
93184		switch k {
93185		default:
93186			if v != nil {
93187				var additionalProperties interface{}
93188				err = json.Unmarshal(*v, &additionalProperties)
93189				if err != nil {
93190					return err
93191				}
93192				if sod.AdditionalProperties == nil {
93193					sod.AdditionalProperties = make(map[string]interface{})
93194				}
93195				sod.AdditionalProperties[k] = additionalProperties
93196			}
93197		case "description":
93198			if v != nil {
93199				var description string
93200				err = json.Unmarshal(*v, &description)
93201				if err != nil {
93202					return err
93203				}
93204				sod.Description = &description
93205			}
93206		case "structure":
93207			if v != nil {
93208				var structure interface{}
93209				err = json.Unmarshal(*v, &structure)
93210				if err != nil {
93211					return err
93212				}
93213				sod.Structure = structure
93214			}
93215		case "linkedServiceName":
93216			if v != nil {
93217				var linkedServiceName LinkedServiceReference
93218				err = json.Unmarshal(*v, &linkedServiceName)
93219				if err != nil {
93220					return err
93221				}
93222				sod.LinkedServiceName = &linkedServiceName
93223			}
93224		case "parameters":
93225			if v != nil {
93226				var parameters map[string]*ParameterSpecification
93227				err = json.Unmarshal(*v, &parameters)
93228				if err != nil {
93229					return err
93230				}
93231				sod.Parameters = parameters
93232			}
93233		case "annotations":
93234			if v != nil {
93235				var annotations []interface{}
93236				err = json.Unmarshal(*v, &annotations)
93237				if err != nil {
93238					return err
93239				}
93240				sod.Annotations = &annotations
93241			}
93242		case "type":
93243			if v != nil {
93244				var typeVar TypeBasicDataset
93245				err = json.Unmarshal(*v, &typeVar)
93246				if err != nil {
93247					return err
93248				}
93249				sod.Type = typeVar
93250			}
93251		}
93252	}
93253
93254	return nil
93255}
93256
93257// SquareSource a copy activity Square Service source.
93258type SquareSource struct {
93259	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
93260	Query interface{} `json:"query,omitempty"`
93261	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
93262	AdditionalProperties map[string]interface{} `json:""`
93263	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
93264	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
93265	// 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])).
93266	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
93267	// 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'
93268	Type TypeBasicCopySource `json:"type,omitempty"`
93269}
93270
93271// MarshalJSON is the custom marshaler for SquareSource.
93272func (ss SquareSource) MarshalJSON() ([]byte, error) {
93273	ss.Type = TypeSquareSource
93274	objectMap := make(map[string]interface{})
93275	if ss.Query != nil {
93276		objectMap["query"] = ss.Query
93277	}
93278	if ss.SourceRetryCount != nil {
93279		objectMap["sourceRetryCount"] = ss.SourceRetryCount
93280	}
93281	if ss.SourceRetryWait != nil {
93282		objectMap["sourceRetryWait"] = ss.SourceRetryWait
93283	}
93284	if ss.Type != "" {
93285		objectMap["type"] = ss.Type
93286	}
93287	for k, v := range ss.AdditionalProperties {
93288		objectMap[k] = v
93289	}
93290	return json.Marshal(objectMap)
93291}
93292
93293// AsAmazonRedshiftSource is the BasicCopySource implementation for SquareSource.
93294func (ss SquareSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
93295	return nil, false
93296}
93297
93298// AsResponsysSource is the BasicCopySource implementation for SquareSource.
93299func (ss SquareSource) AsResponsysSource() (*ResponsysSource, bool) {
93300	return nil, false
93301}
93302
93303// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SquareSource.
93304func (ss SquareSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
93305	return nil, false
93306}
93307
93308// AsVerticaSource is the BasicCopySource implementation for SquareSource.
93309func (ss SquareSource) AsVerticaSource() (*VerticaSource, bool) {
93310	return nil, false
93311}
93312
93313// AsNetezzaSource is the BasicCopySource implementation for SquareSource.
93314func (ss SquareSource) AsNetezzaSource() (*NetezzaSource, bool) {
93315	return nil, false
93316}
93317
93318// AsZohoSource is the BasicCopySource implementation for SquareSource.
93319func (ss SquareSource) AsZohoSource() (*ZohoSource, bool) {
93320	return nil, false
93321}
93322
93323// AsXeroSource is the BasicCopySource implementation for SquareSource.
93324func (ss SquareSource) AsXeroSource() (*XeroSource, bool) {
93325	return nil, false
93326}
93327
93328// AsSquareSource is the BasicCopySource implementation for SquareSource.
93329func (ss SquareSource) AsSquareSource() (*SquareSource, bool) {
93330	return &ss, true
93331}
93332
93333// AsSparkSource is the BasicCopySource implementation for SquareSource.
93334func (ss SquareSource) AsSparkSource() (*SparkSource, bool) {
93335	return nil, false
93336}
93337
93338// AsShopifySource is the BasicCopySource implementation for SquareSource.
93339func (ss SquareSource) AsShopifySource() (*ShopifySource, bool) {
93340	return nil, false
93341}
93342
93343// AsServiceNowSource is the BasicCopySource implementation for SquareSource.
93344func (ss SquareSource) AsServiceNowSource() (*ServiceNowSource, bool) {
93345	return nil, false
93346}
93347
93348// AsQuickBooksSource is the BasicCopySource implementation for SquareSource.
93349func (ss SquareSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
93350	return nil, false
93351}
93352
93353// AsPrestoSource is the BasicCopySource implementation for SquareSource.
93354func (ss SquareSource) AsPrestoSource() (*PrestoSource, bool) {
93355	return nil, false
93356}
93357
93358// AsPhoenixSource is the BasicCopySource implementation for SquareSource.
93359func (ss SquareSource) AsPhoenixSource() (*PhoenixSource, bool) {
93360	return nil, false
93361}
93362
93363// AsPaypalSource is the BasicCopySource implementation for SquareSource.
93364func (ss SquareSource) AsPaypalSource() (*PaypalSource, bool) {
93365	return nil, false
93366}
93367
93368// AsMarketoSource is the BasicCopySource implementation for SquareSource.
93369func (ss SquareSource) AsMarketoSource() (*MarketoSource, bool) {
93370	return nil, false
93371}
93372
93373// AsMariaDBSource is the BasicCopySource implementation for SquareSource.
93374func (ss SquareSource) AsMariaDBSource() (*MariaDBSource, bool) {
93375	return nil, false
93376}
93377
93378// AsMagentoSource is the BasicCopySource implementation for SquareSource.
93379func (ss SquareSource) AsMagentoSource() (*MagentoSource, bool) {
93380	return nil, false
93381}
93382
93383// AsJiraSource is the BasicCopySource implementation for SquareSource.
93384func (ss SquareSource) AsJiraSource() (*JiraSource, bool) {
93385	return nil, false
93386}
93387
93388// AsImpalaSource is the BasicCopySource implementation for SquareSource.
93389func (ss SquareSource) AsImpalaSource() (*ImpalaSource, bool) {
93390	return nil, false
93391}
93392
93393// AsHubspotSource is the BasicCopySource implementation for SquareSource.
93394func (ss SquareSource) AsHubspotSource() (*HubspotSource, bool) {
93395	return nil, false
93396}
93397
93398// AsHiveSource is the BasicCopySource implementation for SquareSource.
93399func (ss SquareSource) AsHiveSource() (*HiveSource, bool) {
93400	return nil, false
93401}
93402
93403// AsHBaseSource is the BasicCopySource implementation for SquareSource.
93404func (ss SquareSource) AsHBaseSource() (*HBaseSource, bool) {
93405	return nil, false
93406}
93407
93408// AsGreenplumSource is the BasicCopySource implementation for SquareSource.
93409func (ss SquareSource) AsGreenplumSource() (*GreenplumSource, bool) {
93410	return nil, false
93411}
93412
93413// AsGoogleBigQuerySource is the BasicCopySource implementation for SquareSource.
93414func (ss SquareSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
93415	return nil, false
93416}
93417
93418// AsEloquaSource is the BasicCopySource implementation for SquareSource.
93419func (ss SquareSource) AsEloquaSource() (*EloquaSource, bool) {
93420	return nil, false
93421}
93422
93423// AsDrillSource is the BasicCopySource implementation for SquareSource.
93424func (ss SquareSource) AsDrillSource() (*DrillSource, bool) {
93425	return nil, false
93426}
93427
93428// AsCouchbaseSource is the BasicCopySource implementation for SquareSource.
93429func (ss SquareSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
93430	return nil, false
93431}
93432
93433// AsConcurSource is the BasicCopySource implementation for SquareSource.
93434func (ss SquareSource) AsConcurSource() (*ConcurSource, bool) {
93435	return nil, false
93436}
93437
93438// AsAzurePostgreSQLSource is the BasicCopySource implementation for SquareSource.
93439func (ss SquareSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
93440	return nil, false
93441}
93442
93443// AsAmazonMWSSource is the BasicCopySource implementation for SquareSource.
93444func (ss SquareSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
93445	return nil, false
93446}
93447
93448// AsHTTPSource is the BasicCopySource implementation for SquareSource.
93449func (ss SquareSource) AsHTTPSource() (*HTTPSource, bool) {
93450	return nil, false
93451}
93452
93453// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SquareSource.
93454func (ss SquareSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
93455	return nil, false
93456}
93457
93458// AsMongoDbSource is the BasicCopySource implementation for SquareSource.
93459func (ss SquareSource) AsMongoDbSource() (*MongoDbSource, bool) {
93460	return nil, false
93461}
93462
93463// AsCassandraSource is the BasicCopySource implementation for SquareSource.
93464func (ss SquareSource) AsCassandraSource() (*CassandraSource, bool) {
93465	return nil, false
93466}
93467
93468// AsWebSource is the BasicCopySource implementation for SquareSource.
93469func (ss SquareSource) AsWebSource() (*WebSource, bool) {
93470	return nil, false
93471}
93472
93473// AsOracleSource is the BasicCopySource implementation for SquareSource.
93474func (ss SquareSource) AsOracleSource() (*OracleSource, bool) {
93475	return nil, false
93476}
93477
93478// AsAzureMySQLSource is the BasicCopySource implementation for SquareSource.
93479func (ss SquareSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
93480	return nil, false
93481}
93482
93483// AsHdfsSource is the BasicCopySource implementation for SquareSource.
93484func (ss SquareSource) AsHdfsSource() (*HdfsSource, bool) {
93485	return nil, false
93486}
93487
93488// AsFileSystemSource is the BasicCopySource implementation for SquareSource.
93489func (ss SquareSource) AsFileSystemSource() (*FileSystemSource, bool) {
93490	return nil, false
93491}
93492
93493// AsSQLDWSource is the BasicCopySource implementation for SquareSource.
93494func (ss SquareSource) AsSQLDWSource() (*SQLDWSource, bool) {
93495	return nil, false
93496}
93497
93498// AsSQLSource is the BasicCopySource implementation for SquareSource.
93499func (ss SquareSource) AsSQLSource() (*SQLSource, bool) {
93500	return nil, false
93501}
93502
93503// AsSapEccSource is the BasicCopySource implementation for SquareSource.
93504func (ss SquareSource) AsSapEccSource() (*SapEccSource, bool) {
93505	return nil, false
93506}
93507
93508// AsSapCloudForCustomerSource is the BasicCopySource implementation for SquareSource.
93509func (ss SquareSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
93510	return nil, false
93511}
93512
93513// AsSalesforceSource is the BasicCopySource implementation for SquareSource.
93514func (ss SquareSource) AsSalesforceSource() (*SalesforceSource, bool) {
93515	return nil, false
93516}
93517
93518// AsRelationalSource is the BasicCopySource implementation for SquareSource.
93519func (ss SquareSource) AsRelationalSource() (*RelationalSource, bool) {
93520	return nil, false
93521}
93522
93523// AsDynamicsSource is the BasicCopySource implementation for SquareSource.
93524func (ss SquareSource) AsDynamicsSource() (*DynamicsSource, bool) {
93525	return nil, false
93526}
93527
93528// AsDocumentDbCollectionSource is the BasicCopySource implementation for SquareSource.
93529func (ss SquareSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
93530	return nil, false
93531}
93532
93533// AsBlobSource is the BasicCopySource implementation for SquareSource.
93534func (ss SquareSource) AsBlobSource() (*BlobSource, bool) {
93535	return nil, false
93536}
93537
93538// AsAzureTableSource is the BasicCopySource implementation for SquareSource.
93539func (ss SquareSource) AsAzureTableSource() (*AzureTableSource, bool) {
93540	return nil, false
93541}
93542
93543// AsCopySource is the BasicCopySource implementation for SquareSource.
93544func (ss SquareSource) AsCopySource() (*CopySource, bool) {
93545	return nil, false
93546}
93547
93548// AsBasicCopySource is the BasicCopySource implementation for SquareSource.
93549func (ss SquareSource) AsBasicCopySource() (BasicCopySource, bool) {
93550	return &ss, true
93551}
93552
93553// UnmarshalJSON is the custom unmarshaler for SquareSource struct.
93554func (ss *SquareSource) UnmarshalJSON(body []byte) error {
93555	var m map[string]*json.RawMessage
93556	err := json.Unmarshal(body, &m)
93557	if err != nil {
93558		return err
93559	}
93560	for k, v := range m {
93561		switch k {
93562		case "query":
93563			if v != nil {
93564				var query interface{}
93565				err = json.Unmarshal(*v, &query)
93566				if err != nil {
93567					return err
93568				}
93569				ss.Query = query
93570			}
93571		default:
93572			if v != nil {
93573				var additionalProperties interface{}
93574				err = json.Unmarshal(*v, &additionalProperties)
93575				if err != nil {
93576					return err
93577				}
93578				if ss.AdditionalProperties == nil {
93579					ss.AdditionalProperties = make(map[string]interface{})
93580				}
93581				ss.AdditionalProperties[k] = additionalProperties
93582			}
93583		case "sourceRetryCount":
93584			if v != nil {
93585				var sourceRetryCount interface{}
93586				err = json.Unmarshal(*v, &sourceRetryCount)
93587				if err != nil {
93588					return err
93589				}
93590				ss.SourceRetryCount = sourceRetryCount
93591			}
93592		case "sourceRetryWait":
93593			if v != nil {
93594				var sourceRetryWait interface{}
93595				err = json.Unmarshal(*v, &sourceRetryWait)
93596				if err != nil {
93597					return err
93598				}
93599				ss.SourceRetryWait = sourceRetryWait
93600			}
93601		case "type":
93602			if v != nil {
93603				var typeVar TypeBasicCopySource
93604				err = json.Unmarshal(*v, &typeVar)
93605				if err != nil {
93606					return err
93607				}
93608				ss.Type = typeVar
93609			}
93610		}
93611	}
93612
93613	return nil
93614}
93615
93616// SSISAccessCredential SSIS access credential.
93617type SSISAccessCredential struct {
93618	// Domain - Domain for windows authentication.
93619	Domain interface{} `json:"domain,omitempty"`
93620	// UserName - UseName for windows authentication.
93621	UserName interface{} `json:"userName,omitempty"`
93622	// Password - Password for windows authentication.
93623	Password BasicSecretBase `json:"password,omitempty"`
93624}
93625
93626// UnmarshalJSON is the custom unmarshaler for SSISAccessCredential struct.
93627func (sac *SSISAccessCredential) UnmarshalJSON(body []byte) error {
93628	var m map[string]*json.RawMessage
93629	err := json.Unmarshal(body, &m)
93630	if err != nil {
93631		return err
93632	}
93633	for k, v := range m {
93634		switch k {
93635		case "domain":
93636			if v != nil {
93637				var domain interface{}
93638				err = json.Unmarshal(*v, &domain)
93639				if err != nil {
93640					return err
93641				}
93642				sac.Domain = domain
93643			}
93644		case "userName":
93645			if v != nil {
93646				var userName interface{}
93647				err = json.Unmarshal(*v, &userName)
93648				if err != nil {
93649					return err
93650				}
93651				sac.UserName = userName
93652			}
93653		case "password":
93654			if v != nil {
93655				password, err := unmarshalBasicSecretBase(*v)
93656				if err != nil {
93657					return err
93658				}
93659				sac.Password = password
93660			}
93661		}
93662	}
93663
93664	return nil
93665}
93666
93667// SSISExecutionCredential SSIS package execution credential.
93668type SSISExecutionCredential struct {
93669	// Domain - Domain for windows authentication.
93670	Domain interface{} `json:"domain,omitempty"`
93671	// UserName - UseName for windows authentication.
93672	UserName interface{} `json:"userName,omitempty"`
93673	// Password - Password for windows authentication.
93674	Password *SecureString `json:"password,omitempty"`
93675}
93676
93677// SSISExecutionParameter SSIS execution parameter.
93678type SSISExecutionParameter struct {
93679	// Value - SSIS package execution parameter value. Type: string (or Expression with resultType string).
93680	Value interface{} `json:"value,omitempty"`
93681}
93682
93683// SSISLogLocation SSIS package execution log location
93684type SSISLogLocation struct {
93685	// LogPath - The SSIS package execution log path. Type: string (or Expression with resultType string).
93686	LogPath interface{} `json:"logPath,omitempty"`
93687	// Type - The type of SSIS log location.
93688	Type *string `json:"type,omitempty"`
93689	// SSISLogLocationTypeProperties - SSIS package execution log location properties.
93690	*SSISLogLocationTypeProperties `json:"typeProperties,omitempty"`
93691}
93692
93693// MarshalJSON is the custom marshaler for SSISLogLocation.
93694func (sll SSISLogLocation) MarshalJSON() ([]byte, error) {
93695	objectMap := make(map[string]interface{})
93696	if sll.LogPath != nil {
93697		objectMap["logPath"] = sll.LogPath
93698	}
93699	if sll.Type != nil {
93700		objectMap["type"] = sll.Type
93701	}
93702	if sll.SSISLogLocationTypeProperties != nil {
93703		objectMap["typeProperties"] = sll.SSISLogLocationTypeProperties
93704	}
93705	return json.Marshal(objectMap)
93706}
93707
93708// UnmarshalJSON is the custom unmarshaler for SSISLogLocation struct.
93709func (sll *SSISLogLocation) UnmarshalJSON(body []byte) error {
93710	var m map[string]*json.RawMessage
93711	err := json.Unmarshal(body, &m)
93712	if err != nil {
93713		return err
93714	}
93715	for k, v := range m {
93716		switch k {
93717		case "logPath":
93718			if v != nil {
93719				var logPath interface{}
93720				err = json.Unmarshal(*v, &logPath)
93721				if err != nil {
93722					return err
93723				}
93724				sll.LogPath = logPath
93725			}
93726		case "type":
93727			if v != nil {
93728				var typeVar string
93729				err = json.Unmarshal(*v, &typeVar)
93730				if err != nil {
93731					return err
93732				}
93733				sll.Type = &typeVar
93734			}
93735		case "typeProperties":
93736			if v != nil {
93737				var sSISLogLocationTypeProperties SSISLogLocationTypeProperties
93738				err = json.Unmarshal(*v, &sSISLogLocationTypeProperties)
93739				if err != nil {
93740					return err
93741				}
93742				sll.SSISLogLocationTypeProperties = &sSISLogLocationTypeProperties
93743			}
93744		}
93745	}
93746
93747	return nil
93748}
93749
93750// SSISLogLocationTypeProperties SSIS package execution log location properties.
93751type SSISLogLocationTypeProperties struct {
93752	// AccessCredential - The package execution log access credential.
93753	AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"`
93754	// 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])).
93755	LogRefreshInterval interface{} `json:"logRefreshInterval,omitempty"`
93756}
93757
93758// SSISPackageLocation SSIS package location.
93759type SSISPackageLocation struct {
93760	// PackagePath - The SSIS package path. Type: string (or Expression with resultType string).
93761	PackagePath interface{} `json:"packagePath,omitempty"`
93762	// Type - The type of SSIS package location. Possible values include: 'SSISDB', 'File'
93763	Type SsisPackageLocationType `json:"type,omitempty"`
93764	// SSISPackageLocationTypeProperties - SSIS package location properties.
93765	*SSISPackageLocationTypeProperties `json:"typeProperties,omitempty"`
93766}
93767
93768// MarshalJSON is the custom marshaler for SSISPackageLocation.
93769func (spl SSISPackageLocation) MarshalJSON() ([]byte, error) {
93770	objectMap := make(map[string]interface{})
93771	if spl.PackagePath != nil {
93772		objectMap["packagePath"] = spl.PackagePath
93773	}
93774	if spl.Type != "" {
93775		objectMap["type"] = spl.Type
93776	}
93777	if spl.SSISPackageLocationTypeProperties != nil {
93778		objectMap["typeProperties"] = spl.SSISPackageLocationTypeProperties
93779	}
93780	return json.Marshal(objectMap)
93781}
93782
93783// UnmarshalJSON is the custom unmarshaler for SSISPackageLocation struct.
93784func (spl *SSISPackageLocation) UnmarshalJSON(body []byte) error {
93785	var m map[string]*json.RawMessage
93786	err := json.Unmarshal(body, &m)
93787	if err != nil {
93788		return err
93789	}
93790	for k, v := range m {
93791		switch k {
93792		case "packagePath":
93793			if v != nil {
93794				var packagePath interface{}
93795				err = json.Unmarshal(*v, &packagePath)
93796				if err != nil {
93797					return err
93798				}
93799				spl.PackagePath = packagePath
93800			}
93801		case "type":
93802			if v != nil {
93803				var typeVar SsisPackageLocationType
93804				err = json.Unmarshal(*v, &typeVar)
93805				if err != nil {
93806					return err
93807				}
93808				spl.Type = typeVar
93809			}
93810		case "typeProperties":
93811			if v != nil {
93812				var sSISPackageLocationTypeProperties SSISPackageLocationTypeProperties
93813				err = json.Unmarshal(*v, &sSISPackageLocationTypeProperties)
93814				if err != nil {
93815					return err
93816				}
93817				spl.SSISPackageLocationTypeProperties = &sSISPackageLocationTypeProperties
93818			}
93819		}
93820	}
93821
93822	return nil
93823}
93824
93825// SSISPackageLocationTypeProperties SSIS package location properties.
93826type SSISPackageLocationTypeProperties struct {
93827	// PackagePassword - Password of the package.
93828	PackagePassword BasicSecretBase `json:"packagePassword,omitempty"`
93829	// AccessCredential - The package access credential.
93830	AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"`
93831	// ConfigurationPath - The configuration file of the package execution. Type: string (or Expression with resultType string).
93832	ConfigurationPath interface{} `json:"configurationPath,omitempty"`
93833}
93834
93835// UnmarshalJSON is the custom unmarshaler for SSISPackageLocationTypeProperties struct.
93836func (spltp *SSISPackageLocationTypeProperties) UnmarshalJSON(body []byte) error {
93837	var m map[string]*json.RawMessage
93838	err := json.Unmarshal(body, &m)
93839	if err != nil {
93840		return err
93841	}
93842	for k, v := range m {
93843		switch k {
93844		case "packagePassword":
93845			if v != nil {
93846				packagePassword, err := unmarshalBasicSecretBase(*v)
93847				if err != nil {
93848					return err
93849				}
93850				spltp.PackagePassword = packagePassword
93851			}
93852		case "accessCredential":
93853			if v != nil {
93854				var accessCredential SSISAccessCredential
93855				err = json.Unmarshal(*v, &accessCredential)
93856				if err != nil {
93857					return err
93858				}
93859				spltp.AccessCredential = &accessCredential
93860			}
93861		case "configurationPath":
93862			if v != nil {
93863				var configurationPath interface{}
93864				err = json.Unmarshal(*v, &configurationPath)
93865				if err != nil {
93866					return err
93867				}
93868				spltp.ConfigurationPath = configurationPath
93869			}
93870		}
93871	}
93872
93873	return nil
93874}
93875
93876// SSISPropertyOverride SSIS property override.
93877type SSISPropertyOverride struct {
93878	// Value - SSIS package property override value. Type: string (or Expression with resultType string).
93879	Value interface{} `json:"value,omitempty"`
93880	// IsSensitive - Whether SSIS package property override value is sensitive data. Value will be encrypted in SSISDB if it is true
93881	IsSensitive *bool `json:"isSensitive,omitempty"`
93882}
93883
93884// StagingSettings staging settings.
93885type StagingSettings struct {
93886	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
93887	AdditionalProperties map[string]interface{} `json:""`
93888	// LinkedServiceName - Staging linked service reference.
93889	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
93890	// Path - The path to storage for storing the interim data. Type: string (or Expression with resultType string).
93891	Path interface{} `json:"path,omitempty"`
93892	// EnableCompression - Specifies whether to use compression when copying data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
93893	EnableCompression interface{} `json:"enableCompression,omitempty"`
93894}
93895
93896// MarshalJSON is the custom marshaler for StagingSettings.
93897func (ss StagingSettings) MarshalJSON() ([]byte, error) {
93898	objectMap := make(map[string]interface{})
93899	if ss.LinkedServiceName != nil {
93900		objectMap["linkedServiceName"] = ss.LinkedServiceName
93901	}
93902	if ss.Path != nil {
93903		objectMap["path"] = ss.Path
93904	}
93905	if ss.EnableCompression != nil {
93906		objectMap["enableCompression"] = ss.EnableCompression
93907	}
93908	for k, v := range ss.AdditionalProperties {
93909		objectMap[k] = v
93910	}
93911	return json.Marshal(objectMap)
93912}
93913
93914// UnmarshalJSON is the custom unmarshaler for StagingSettings struct.
93915func (ss *StagingSettings) UnmarshalJSON(body []byte) error {
93916	var m map[string]*json.RawMessage
93917	err := json.Unmarshal(body, &m)
93918	if err != nil {
93919		return err
93920	}
93921	for k, v := range m {
93922		switch k {
93923		default:
93924			if v != nil {
93925				var additionalProperties interface{}
93926				err = json.Unmarshal(*v, &additionalProperties)
93927				if err != nil {
93928					return err
93929				}
93930				if ss.AdditionalProperties == nil {
93931					ss.AdditionalProperties = make(map[string]interface{})
93932				}
93933				ss.AdditionalProperties[k] = additionalProperties
93934			}
93935		case "linkedServiceName":
93936			if v != nil {
93937				var linkedServiceName LinkedServiceReference
93938				err = json.Unmarshal(*v, &linkedServiceName)
93939				if err != nil {
93940					return err
93941				}
93942				ss.LinkedServiceName = &linkedServiceName
93943			}
93944		case "path":
93945			if v != nil {
93946				var pathVar interface{}
93947				err = json.Unmarshal(*v, &pathVar)
93948				if err != nil {
93949					return err
93950				}
93951				ss.Path = pathVar
93952			}
93953		case "enableCompression":
93954			if v != nil {
93955				var enableCompression interface{}
93956				err = json.Unmarshal(*v, &enableCompression)
93957				if err != nil {
93958					return err
93959				}
93960				ss.EnableCompression = enableCompression
93961			}
93962		}
93963	}
93964
93965	return nil
93966}
93967
93968// StoredProcedureParameter SQL stored procedure parameter.
93969type StoredProcedureParameter struct {
93970	// Value - Stored procedure parameter value. Type: string (or Expression with resultType string).
93971	Value interface{} `json:"value,omitempty"`
93972	// Type - Stored procedure parameter type.
93973	Type interface{} `json:"type,omitempty"`
93974}
93975
93976// SubResource azure Data Factory nested resource, which belongs to a factory.
93977type SubResource struct {
93978	// ID - READ-ONLY; The resource identifier.
93979	ID *string `json:"id,omitempty"`
93980	// Name - READ-ONLY; The resource name.
93981	Name *string `json:"name,omitempty"`
93982	// Type - READ-ONLY; The resource type.
93983	Type *string `json:"type,omitempty"`
93984	// Etag - READ-ONLY; Etag identifies change in the resource.
93985	Etag *string `json:"etag,omitempty"`
93986}
93987
93988// SybaseLinkedService linked service for Sybase data source.
93989type SybaseLinkedService struct {
93990	// SybaseLinkedServiceTypeProperties - Sybase linked service properties.
93991	*SybaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
93992	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
93993	AdditionalProperties map[string]interface{} `json:""`
93994	// ConnectVia - The integration runtime reference.
93995	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
93996	// Description - Linked service description.
93997	Description *string `json:"description,omitempty"`
93998	// Parameters - Parameters for linked service.
93999	Parameters map[string]*ParameterSpecification `json:"parameters"`
94000	// Annotations - List of tags that can be used for describing the Dataset.
94001	Annotations *[]interface{} `json:"annotations,omitempty"`
94002	// 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'
94003	Type TypeBasicLinkedService `json:"type,omitempty"`
94004}
94005
94006// MarshalJSON is the custom marshaler for SybaseLinkedService.
94007func (sls SybaseLinkedService) MarshalJSON() ([]byte, error) {
94008	sls.Type = TypeSybase
94009	objectMap := make(map[string]interface{})
94010	if sls.SybaseLinkedServiceTypeProperties != nil {
94011		objectMap["typeProperties"] = sls.SybaseLinkedServiceTypeProperties
94012	}
94013	if sls.ConnectVia != nil {
94014		objectMap["connectVia"] = sls.ConnectVia
94015	}
94016	if sls.Description != nil {
94017		objectMap["description"] = sls.Description
94018	}
94019	if sls.Parameters != nil {
94020		objectMap["parameters"] = sls.Parameters
94021	}
94022	if sls.Annotations != nil {
94023		objectMap["annotations"] = sls.Annotations
94024	}
94025	if sls.Type != "" {
94026		objectMap["type"] = sls.Type
94027	}
94028	for k, v := range sls.AdditionalProperties {
94029		objectMap[k] = v
94030	}
94031	return json.Marshal(objectMap)
94032}
94033
94034// AsResponsysLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94035func (sls SybaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
94036	return nil, false
94037}
94038
94039// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94040func (sls SybaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
94041	return nil, false
94042}
94043
94044// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94045func (sls SybaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
94046	return nil, false
94047}
94048
94049// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94050func (sls SybaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
94051	return nil, false
94052}
94053
94054// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94055func (sls SybaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
94056	return nil, false
94057}
94058
94059// AsNetezzaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94060func (sls SybaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
94061	return nil, false
94062}
94063
94064// AsVerticaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94065func (sls SybaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
94066	return nil, false
94067}
94068
94069// AsZohoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94070func (sls SybaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
94071	return nil, false
94072}
94073
94074// AsXeroLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94075func (sls SybaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
94076	return nil, false
94077}
94078
94079// AsSquareLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94080func (sls SybaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
94081	return nil, false
94082}
94083
94084// AsSparkLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94085func (sls SybaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
94086	return nil, false
94087}
94088
94089// AsShopifyLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94090func (sls SybaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
94091	return nil, false
94092}
94093
94094// AsServiceNowLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94095func (sls SybaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
94096	return nil, false
94097}
94098
94099// AsQuickBooksLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94100func (sls SybaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
94101	return nil, false
94102}
94103
94104// AsPrestoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94105func (sls SybaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
94106	return nil, false
94107}
94108
94109// AsPhoenixLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94110func (sls SybaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
94111	return nil, false
94112}
94113
94114// AsPaypalLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94115func (sls SybaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
94116	return nil, false
94117}
94118
94119// AsMarketoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94120func (sls SybaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
94121	return nil, false
94122}
94123
94124// AsMariaDBLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94125func (sls SybaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
94126	return nil, false
94127}
94128
94129// AsMagentoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94130func (sls SybaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
94131	return nil, false
94132}
94133
94134// AsJiraLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94135func (sls SybaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
94136	return nil, false
94137}
94138
94139// AsImpalaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94140func (sls SybaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
94141	return nil, false
94142}
94143
94144// AsHubspotLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94145func (sls SybaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
94146	return nil, false
94147}
94148
94149// AsHiveLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94150func (sls SybaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
94151	return nil, false
94152}
94153
94154// AsHBaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94155func (sls SybaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
94156	return nil, false
94157}
94158
94159// AsGreenplumLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94160func (sls SybaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
94161	return nil, false
94162}
94163
94164// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94165func (sls SybaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
94166	return nil, false
94167}
94168
94169// AsEloquaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94170func (sls SybaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
94171	return nil, false
94172}
94173
94174// AsDrillLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94175func (sls SybaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
94176	return nil, false
94177}
94178
94179// AsCouchbaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94180func (sls SybaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
94181	return nil, false
94182}
94183
94184// AsConcurLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94185func (sls SybaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
94186	return nil, false
94187}
94188
94189// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94190func (sls SybaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
94191	return nil, false
94192}
94193
94194// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94195func (sls SybaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
94196	return nil, false
94197}
94198
94199// AsSapHanaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94200func (sls SybaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
94201	return nil, false
94202}
94203
94204// AsSapBWLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94205func (sls SybaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
94206	return nil, false
94207}
94208
94209// AsSftpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94210func (sls SybaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
94211	return nil, false
94212}
94213
94214// AsFtpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94215func (sls SybaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
94216	return nil, false
94217}
94218
94219// AsHTTPLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94220func (sls SybaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
94221	return nil, false
94222}
94223
94224// AsAzureSearchLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94225func (sls SybaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
94226	return nil, false
94227}
94228
94229// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94230func (sls SybaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
94231	return nil, false
94232}
94233
94234// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94235func (sls SybaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
94236	return nil, false
94237}
94238
94239// AsAmazonS3LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94240func (sls SybaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
94241	return nil, false
94242}
94243
94244// AsSapEccLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94245func (sls SybaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
94246	return nil, false
94247}
94248
94249// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94250func (sls SybaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
94251	return nil, false
94252}
94253
94254// AsSalesforceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94255func (sls SybaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
94256	return nil, false
94257}
94258
94259// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94260func (sls SybaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
94261	return nil, false
94262}
94263
94264// AsMongoDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94265func (sls SybaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
94266	return nil, false
94267}
94268
94269// AsCassandraLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94270func (sls SybaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
94271	return nil, false
94272}
94273
94274// AsWebLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94275func (sls SybaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
94276	return nil, false
94277}
94278
94279// AsODataLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94280func (sls SybaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
94281	return nil, false
94282}
94283
94284// AsHdfsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94285func (sls SybaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
94286	return nil, false
94287}
94288
94289// AsOdbcLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94290func (sls SybaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
94291	return nil, false
94292}
94293
94294// AsAzureMLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94295func (sls SybaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
94296	return nil, false
94297}
94298
94299// AsTeradataLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94300func (sls SybaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
94301	return nil, false
94302}
94303
94304// AsDb2LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94305func (sls SybaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
94306	return nil, false
94307}
94308
94309// AsSybaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94310func (sls SybaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
94311	return &sls, true
94312}
94313
94314// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94315func (sls SybaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
94316	return nil, false
94317}
94318
94319// AsMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94320func (sls SybaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
94321	return nil, false
94322}
94323
94324// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94325func (sls SybaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
94326	return nil, false
94327}
94328
94329// AsOracleLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94330func (sls SybaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
94331	return nil, false
94332}
94333
94334// AsFileServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94335func (sls SybaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
94336	return nil, false
94337}
94338
94339// AsHDInsightLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94340func (sls SybaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
94341	return nil, false
94342}
94343
94344// AsDynamicsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94345func (sls SybaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
94346	return nil, false
94347}
94348
94349// AsCosmosDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94350func (sls SybaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
94351	return nil, false
94352}
94353
94354// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94355func (sls SybaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
94356	return nil, false
94357}
94358
94359// AsAzureBatchLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94360func (sls SybaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
94361	return nil, false
94362}
94363
94364// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94365func (sls SybaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
94366	return nil, false
94367}
94368
94369// AsSQLServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94370func (sls SybaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
94371	return nil, false
94372}
94373
94374// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94375func (sls SybaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
94376	return nil, false
94377}
94378
94379// AsAzureStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94380func (sls SybaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
94381	return nil, false
94382}
94383
94384// AsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94385func (sls SybaseLinkedService) AsLinkedService() (*LinkedService, bool) {
94386	return nil, false
94387}
94388
94389// AsBasicLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
94390func (sls SybaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
94391	return &sls, true
94392}
94393
94394// UnmarshalJSON is the custom unmarshaler for SybaseLinkedService struct.
94395func (sls *SybaseLinkedService) UnmarshalJSON(body []byte) error {
94396	var m map[string]*json.RawMessage
94397	err := json.Unmarshal(body, &m)
94398	if err != nil {
94399		return err
94400	}
94401	for k, v := range m {
94402		switch k {
94403		case "typeProperties":
94404			if v != nil {
94405				var sybaseLinkedServiceTypeProperties SybaseLinkedServiceTypeProperties
94406				err = json.Unmarshal(*v, &sybaseLinkedServiceTypeProperties)
94407				if err != nil {
94408					return err
94409				}
94410				sls.SybaseLinkedServiceTypeProperties = &sybaseLinkedServiceTypeProperties
94411			}
94412		default:
94413			if v != nil {
94414				var additionalProperties interface{}
94415				err = json.Unmarshal(*v, &additionalProperties)
94416				if err != nil {
94417					return err
94418				}
94419				if sls.AdditionalProperties == nil {
94420					sls.AdditionalProperties = make(map[string]interface{})
94421				}
94422				sls.AdditionalProperties[k] = additionalProperties
94423			}
94424		case "connectVia":
94425			if v != nil {
94426				var connectVia IntegrationRuntimeReference
94427				err = json.Unmarshal(*v, &connectVia)
94428				if err != nil {
94429					return err
94430				}
94431				sls.ConnectVia = &connectVia
94432			}
94433		case "description":
94434			if v != nil {
94435				var description string
94436				err = json.Unmarshal(*v, &description)
94437				if err != nil {
94438					return err
94439				}
94440				sls.Description = &description
94441			}
94442		case "parameters":
94443			if v != nil {
94444				var parameters map[string]*ParameterSpecification
94445				err = json.Unmarshal(*v, &parameters)
94446				if err != nil {
94447					return err
94448				}
94449				sls.Parameters = parameters
94450			}
94451		case "annotations":
94452			if v != nil {
94453				var annotations []interface{}
94454				err = json.Unmarshal(*v, &annotations)
94455				if err != nil {
94456					return err
94457				}
94458				sls.Annotations = &annotations
94459			}
94460		case "type":
94461			if v != nil {
94462				var typeVar TypeBasicLinkedService
94463				err = json.Unmarshal(*v, &typeVar)
94464				if err != nil {
94465					return err
94466				}
94467				sls.Type = typeVar
94468			}
94469		}
94470	}
94471
94472	return nil
94473}
94474
94475// SybaseLinkedServiceTypeProperties sybase linked service properties.
94476type SybaseLinkedServiceTypeProperties struct {
94477	// Server - Server name for connection. Type: string (or Expression with resultType string).
94478	Server interface{} `json:"server,omitempty"`
94479	// Database - Database name for connection. Type: string (or Expression with resultType string).
94480	Database interface{} `json:"database,omitempty"`
94481	// Schema - Schema name for connection. Type: string (or Expression with resultType string).
94482	Schema interface{} `json:"schema,omitempty"`
94483	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'SybaseAuthenticationTypeBasic', 'SybaseAuthenticationTypeWindows'
94484	AuthenticationType SybaseAuthenticationType `json:"authenticationType,omitempty"`
94485	// Username - Username for authentication. Type: string (or Expression with resultType string).
94486	Username interface{} `json:"username,omitempty"`
94487	// Password - Password for authentication.
94488	Password BasicSecretBase `json:"password,omitempty"`
94489	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
94490	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
94491}
94492
94493// UnmarshalJSON is the custom unmarshaler for SybaseLinkedServiceTypeProperties struct.
94494func (slstp *SybaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
94495	var m map[string]*json.RawMessage
94496	err := json.Unmarshal(body, &m)
94497	if err != nil {
94498		return err
94499	}
94500	for k, v := range m {
94501		switch k {
94502		case "server":
94503			if v != nil {
94504				var server interface{}
94505				err = json.Unmarshal(*v, &server)
94506				if err != nil {
94507					return err
94508				}
94509				slstp.Server = server
94510			}
94511		case "database":
94512			if v != nil {
94513				var databaseVar interface{}
94514				err = json.Unmarshal(*v, &databaseVar)
94515				if err != nil {
94516					return err
94517				}
94518				slstp.Database = databaseVar
94519			}
94520		case "schema":
94521			if v != nil {
94522				var schema interface{}
94523				err = json.Unmarshal(*v, &schema)
94524				if err != nil {
94525					return err
94526				}
94527				slstp.Schema = schema
94528			}
94529		case "authenticationType":
94530			if v != nil {
94531				var authenticationType SybaseAuthenticationType
94532				err = json.Unmarshal(*v, &authenticationType)
94533				if err != nil {
94534					return err
94535				}
94536				slstp.AuthenticationType = authenticationType
94537			}
94538		case "username":
94539			if v != nil {
94540				var username interface{}
94541				err = json.Unmarshal(*v, &username)
94542				if err != nil {
94543					return err
94544				}
94545				slstp.Username = username
94546			}
94547		case "password":
94548			if v != nil {
94549				password, err := unmarshalBasicSecretBase(*v)
94550				if err != nil {
94551					return err
94552				}
94553				slstp.Password = password
94554			}
94555		case "encryptedCredential":
94556			if v != nil {
94557				var encryptedCredential interface{}
94558				err = json.Unmarshal(*v, &encryptedCredential)
94559				if err != nil {
94560					return err
94561				}
94562				slstp.EncryptedCredential = encryptedCredential
94563			}
94564		}
94565	}
94566
94567	return nil
94568}
94569
94570// TeradataLinkedService linked service for Teradata data source.
94571type TeradataLinkedService struct {
94572	// TeradataLinkedServiceTypeProperties - Teradata linked service properties.
94573	*TeradataLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
94574	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
94575	AdditionalProperties map[string]interface{} `json:""`
94576	// ConnectVia - The integration runtime reference.
94577	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
94578	// Description - Linked service description.
94579	Description *string `json:"description,omitempty"`
94580	// Parameters - Parameters for linked service.
94581	Parameters map[string]*ParameterSpecification `json:"parameters"`
94582	// Annotations - List of tags that can be used for describing the Dataset.
94583	Annotations *[]interface{} `json:"annotations,omitempty"`
94584	// 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'
94585	Type TypeBasicLinkedService `json:"type,omitempty"`
94586}
94587
94588// MarshalJSON is the custom marshaler for TeradataLinkedService.
94589func (TLSVar TeradataLinkedService) MarshalJSON() ([]byte, error) {
94590	TLSVar.Type = TypeTeradata
94591	objectMap := make(map[string]interface{})
94592	if TLSVar.TeradataLinkedServiceTypeProperties != nil {
94593		objectMap["typeProperties"] = TLSVar.TeradataLinkedServiceTypeProperties
94594	}
94595	if TLSVar.ConnectVia != nil {
94596		objectMap["connectVia"] = TLSVar.ConnectVia
94597	}
94598	if TLSVar.Description != nil {
94599		objectMap["description"] = TLSVar.Description
94600	}
94601	if TLSVar.Parameters != nil {
94602		objectMap["parameters"] = TLSVar.Parameters
94603	}
94604	if TLSVar.Annotations != nil {
94605		objectMap["annotations"] = TLSVar.Annotations
94606	}
94607	if TLSVar.Type != "" {
94608		objectMap["type"] = TLSVar.Type
94609	}
94610	for k, v := range TLSVar.AdditionalProperties {
94611		objectMap[k] = v
94612	}
94613	return json.Marshal(objectMap)
94614}
94615
94616// AsResponsysLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94617func (TLSVar TeradataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
94618	return nil, false
94619}
94620
94621// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94622func (TLSVar TeradataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
94623	return nil, false
94624}
94625
94626// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94627func (TLSVar TeradataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
94628	return nil, false
94629}
94630
94631// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94632func (TLSVar TeradataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
94633	return nil, false
94634}
94635
94636// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94637func (TLSVar TeradataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
94638	return nil, false
94639}
94640
94641// AsNetezzaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94642func (TLSVar TeradataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
94643	return nil, false
94644}
94645
94646// AsVerticaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94647func (TLSVar TeradataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
94648	return nil, false
94649}
94650
94651// AsZohoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94652func (TLSVar TeradataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
94653	return nil, false
94654}
94655
94656// AsXeroLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94657func (TLSVar TeradataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
94658	return nil, false
94659}
94660
94661// AsSquareLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94662func (TLSVar TeradataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
94663	return nil, false
94664}
94665
94666// AsSparkLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94667func (TLSVar TeradataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
94668	return nil, false
94669}
94670
94671// AsShopifyLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94672func (TLSVar TeradataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
94673	return nil, false
94674}
94675
94676// AsServiceNowLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94677func (TLSVar TeradataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
94678	return nil, false
94679}
94680
94681// AsQuickBooksLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94682func (TLSVar TeradataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
94683	return nil, false
94684}
94685
94686// AsPrestoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94687func (TLSVar TeradataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
94688	return nil, false
94689}
94690
94691// AsPhoenixLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94692func (TLSVar TeradataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
94693	return nil, false
94694}
94695
94696// AsPaypalLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94697func (TLSVar TeradataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
94698	return nil, false
94699}
94700
94701// AsMarketoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94702func (TLSVar TeradataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
94703	return nil, false
94704}
94705
94706// AsMariaDBLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94707func (TLSVar TeradataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
94708	return nil, false
94709}
94710
94711// AsMagentoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94712func (TLSVar TeradataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
94713	return nil, false
94714}
94715
94716// AsJiraLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94717func (TLSVar TeradataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
94718	return nil, false
94719}
94720
94721// AsImpalaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94722func (TLSVar TeradataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
94723	return nil, false
94724}
94725
94726// AsHubspotLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94727func (TLSVar TeradataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
94728	return nil, false
94729}
94730
94731// AsHiveLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94732func (TLSVar TeradataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
94733	return nil, false
94734}
94735
94736// AsHBaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94737func (TLSVar TeradataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
94738	return nil, false
94739}
94740
94741// AsGreenplumLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94742func (TLSVar TeradataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
94743	return nil, false
94744}
94745
94746// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94747func (TLSVar TeradataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
94748	return nil, false
94749}
94750
94751// AsEloquaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94752func (TLSVar TeradataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
94753	return nil, false
94754}
94755
94756// AsDrillLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94757func (TLSVar TeradataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
94758	return nil, false
94759}
94760
94761// AsCouchbaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94762func (TLSVar TeradataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
94763	return nil, false
94764}
94765
94766// AsConcurLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94767func (TLSVar TeradataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
94768	return nil, false
94769}
94770
94771// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94772func (TLSVar TeradataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
94773	return nil, false
94774}
94775
94776// AsAmazonMWSLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94777func (TLSVar TeradataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
94778	return nil, false
94779}
94780
94781// AsSapHanaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94782func (TLSVar TeradataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
94783	return nil, false
94784}
94785
94786// AsSapBWLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94787func (TLSVar TeradataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
94788	return nil, false
94789}
94790
94791// AsSftpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94792func (TLSVar TeradataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
94793	return nil, false
94794}
94795
94796// AsFtpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94797func (TLSVar TeradataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
94798	return nil, false
94799}
94800
94801// AsHTTPLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94802func (TLSVar TeradataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
94803	return nil, false
94804}
94805
94806// AsAzureSearchLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94807func (TLSVar TeradataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
94808	return nil, false
94809}
94810
94811// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94812func (TLSVar TeradataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
94813	return nil, false
94814}
94815
94816// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94817func (TLSVar TeradataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
94818	return nil, false
94819}
94820
94821// AsAmazonS3LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94822func (TLSVar TeradataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
94823	return nil, false
94824}
94825
94826// AsSapEccLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94827func (TLSVar TeradataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
94828	return nil, false
94829}
94830
94831// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94832func (TLSVar TeradataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
94833	return nil, false
94834}
94835
94836// AsSalesforceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94837func (TLSVar TeradataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
94838	return nil, false
94839}
94840
94841// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94842func (TLSVar TeradataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
94843	return nil, false
94844}
94845
94846// AsMongoDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94847func (TLSVar TeradataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
94848	return nil, false
94849}
94850
94851// AsCassandraLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94852func (TLSVar TeradataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
94853	return nil, false
94854}
94855
94856// AsWebLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94857func (TLSVar TeradataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
94858	return nil, false
94859}
94860
94861// AsODataLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94862func (TLSVar TeradataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
94863	return nil, false
94864}
94865
94866// AsHdfsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94867func (TLSVar TeradataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
94868	return nil, false
94869}
94870
94871// AsOdbcLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94872func (TLSVar TeradataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
94873	return nil, false
94874}
94875
94876// AsAzureMLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94877func (TLSVar TeradataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
94878	return nil, false
94879}
94880
94881// AsTeradataLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94882func (TLSVar TeradataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
94883	return &TLSVar, true
94884}
94885
94886// AsDb2LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94887func (TLSVar TeradataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
94888	return nil, false
94889}
94890
94891// AsSybaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94892func (TLSVar TeradataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
94893	return nil, false
94894}
94895
94896// AsPostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94897func (TLSVar TeradataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
94898	return nil, false
94899}
94900
94901// AsMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94902func (TLSVar TeradataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
94903	return nil, false
94904}
94905
94906// AsAzureMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94907func (TLSVar TeradataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
94908	return nil, false
94909}
94910
94911// AsOracleLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94912func (TLSVar TeradataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
94913	return nil, false
94914}
94915
94916// AsFileServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94917func (TLSVar TeradataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
94918	return nil, false
94919}
94920
94921// AsHDInsightLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94922func (TLSVar TeradataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
94923	return nil, false
94924}
94925
94926// AsDynamicsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94927func (TLSVar TeradataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
94928	return nil, false
94929}
94930
94931// AsCosmosDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94932func (TLSVar TeradataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
94933	return nil, false
94934}
94935
94936// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94937func (TLSVar TeradataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
94938	return nil, false
94939}
94940
94941// AsAzureBatchLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94942func (TLSVar TeradataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
94943	return nil, false
94944}
94945
94946// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94947func (TLSVar TeradataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
94948	return nil, false
94949}
94950
94951// AsSQLServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94952func (TLSVar TeradataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
94953	return nil, false
94954}
94955
94956// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94957func (TLSVar TeradataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
94958	return nil, false
94959}
94960
94961// AsAzureStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94962func (TLSVar TeradataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
94963	return nil, false
94964}
94965
94966// AsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94967func (TLSVar TeradataLinkedService) AsLinkedService() (*LinkedService, bool) {
94968	return nil, false
94969}
94970
94971// AsBasicLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
94972func (TLSVar TeradataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
94973	return &TLSVar, true
94974}
94975
94976// UnmarshalJSON is the custom unmarshaler for TeradataLinkedService struct.
94977func (TLSVar *TeradataLinkedService) UnmarshalJSON(body []byte) error {
94978	var m map[string]*json.RawMessage
94979	err := json.Unmarshal(body, &m)
94980	if err != nil {
94981		return err
94982	}
94983	for k, v := range m {
94984		switch k {
94985		case "typeProperties":
94986			if v != nil {
94987				var teradataLinkedServiceTypeProperties TeradataLinkedServiceTypeProperties
94988				err = json.Unmarshal(*v, &teradataLinkedServiceTypeProperties)
94989				if err != nil {
94990					return err
94991				}
94992				TLSVar.TeradataLinkedServiceTypeProperties = &teradataLinkedServiceTypeProperties
94993			}
94994		default:
94995			if v != nil {
94996				var additionalProperties interface{}
94997				err = json.Unmarshal(*v, &additionalProperties)
94998				if err != nil {
94999					return err
95000				}
95001				if TLSVar.AdditionalProperties == nil {
95002					TLSVar.AdditionalProperties = make(map[string]interface{})
95003				}
95004				TLSVar.AdditionalProperties[k] = additionalProperties
95005			}
95006		case "connectVia":
95007			if v != nil {
95008				var connectVia IntegrationRuntimeReference
95009				err = json.Unmarshal(*v, &connectVia)
95010				if err != nil {
95011					return err
95012				}
95013				TLSVar.ConnectVia = &connectVia
95014			}
95015		case "description":
95016			if v != nil {
95017				var description string
95018				err = json.Unmarshal(*v, &description)
95019				if err != nil {
95020					return err
95021				}
95022				TLSVar.Description = &description
95023			}
95024		case "parameters":
95025			if v != nil {
95026				var parameters map[string]*ParameterSpecification
95027				err = json.Unmarshal(*v, &parameters)
95028				if err != nil {
95029					return err
95030				}
95031				TLSVar.Parameters = parameters
95032			}
95033		case "annotations":
95034			if v != nil {
95035				var annotations []interface{}
95036				err = json.Unmarshal(*v, &annotations)
95037				if err != nil {
95038					return err
95039				}
95040				TLSVar.Annotations = &annotations
95041			}
95042		case "type":
95043			if v != nil {
95044				var typeVar TypeBasicLinkedService
95045				err = json.Unmarshal(*v, &typeVar)
95046				if err != nil {
95047					return err
95048				}
95049				TLSVar.Type = typeVar
95050			}
95051		}
95052	}
95053
95054	return nil
95055}
95056
95057// TeradataLinkedServiceTypeProperties teradata linked service properties.
95058type TeradataLinkedServiceTypeProperties struct {
95059	// Server - Server name for connection. Type: string (or Expression with resultType string).
95060	Server interface{} `json:"server,omitempty"`
95061	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'TeradataAuthenticationTypeBasic', 'TeradataAuthenticationTypeWindows'
95062	AuthenticationType TeradataAuthenticationType `json:"authenticationType,omitempty"`
95063	// Username - Username for authentication. Type: string (or Expression with resultType string).
95064	Username interface{} `json:"username,omitempty"`
95065	// Password - Password for authentication.
95066	Password BasicSecretBase `json:"password,omitempty"`
95067	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
95068	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
95069}
95070
95071// UnmarshalJSON is the custom unmarshaler for TeradataLinkedServiceTypeProperties struct.
95072func (tlstp *TeradataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
95073	var m map[string]*json.RawMessage
95074	err := json.Unmarshal(body, &m)
95075	if err != nil {
95076		return err
95077	}
95078	for k, v := range m {
95079		switch k {
95080		case "server":
95081			if v != nil {
95082				var server interface{}
95083				err = json.Unmarshal(*v, &server)
95084				if err != nil {
95085					return err
95086				}
95087				tlstp.Server = server
95088			}
95089		case "authenticationType":
95090			if v != nil {
95091				var authenticationType TeradataAuthenticationType
95092				err = json.Unmarshal(*v, &authenticationType)
95093				if err != nil {
95094					return err
95095				}
95096				tlstp.AuthenticationType = authenticationType
95097			}
95098		case "username":
95099			if v != nil {
95100				var username interface{}
95101				err = json.Unmarshal(*v, &username)
95102				if err != nil {
95103					return err
95104				}
95105				tlstp.Username = username
95106			}
95107		case "password":
95108			if v != nil {
95109				password, err := unmarshalBasicSecretBase(*v)
95110				if err != nil {
95111					return err
95112				}
95113				tlstp.Password = password
95114			}
95115		case "encryptedCredential":
95116			if v != nil {
95117				var encryptedCredential interface{}
95118				err = json.Unmarshal(*v, &encryptedCredential)
95119				if err != nil {
95120					return err
95121				}
95122				tlstp.EncryptedCredential = encryptedCredential
95123			}
95124		}
95125	}
95126
95127	return nil
95128}
95129
95130// TextFormat the data stored in text format.
95131type TextFormat struct {
95132	// ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string).
95133	ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"`
95134	// RowDelimiter - The row delimiter. Type: string (or Expression with resultType string).
95135	RowDelimiter interface{} `json:"rowDelimiter,omitempty"`
95136	// EscapeChar - The escape character. Type: string (or Expression with resultType string).
95137	EscapeChar interface{} `json:"escapeChar,omitempty"`
95138	// QuoteChar - The quote character. Type: string (or Expression with resultType string).
95139	QuoteChar interface{} `json:"quoteChar,omitempty"`
95140	// NullValue - The null value string. Type: string (or Expression with resultType string).
95141	NullValue interface{} `json:"nullValue,omitempty"`
95142	// 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).
95143	EncodingName interface{} `json:"encodingName,omitempty"`
95144	// TreatEmptyAsNull - Treat empty column values in the text file as null. The default value is true. Type: boolean (or Expression with resultType boolean).
95145	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
95146	// 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).
95147	SkipLineCount interface{} `json:"skipLineCount,omitempty"`
95148	// 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).
95149	FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"`
95150	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
95151	AdditionalProperties map[string]interface{} `json:""`
95152	// Serializer - Serializer. Type: string (or Expression with resultType string).
95153	Serializer interface{} `json:"serializer,omitempty"`
95154	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
95155	Deserializer interface{} `json:"deserializer,omitempty"`
95156	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
95157	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
95158}
95159
95160// MarshalJSON is the custom marshaler for TextFormat.
95161func (tf TextFormat) MarshalJSON() ([]byte, error) {
95162	tf.Type = TypeTextFormat
95163	objectMap := make(map[string]interface{})
95164	if tf.ColumnDelimiter != nil {
95165		objectMap["columnDelimiter"] = tf.ColumnDelimiter
95166	}
95167	if tf.RowDelimiter != nil {
95168		objectMap["rowDelimiter"] = tf.RowDelimiter
95169	}
95170	if tf.EscapeChar != nil {
95171		objectMap["escapeChar"] = tf.EscapeChar
95172	}
95173	if tf.QuoteChar != nil {
95174		objectMap["quoteChar"] = tf.QuoteChar
95175	}
95176	if tf.NullValue != nil {
95177		objectMap["nullValue"] = tf.NullValue
95178	}
95179	if tf.EncodingName != nil {
95180		objectMap["encodingName"] = tf.EncodingName
95181	}
95182	if tf.TreatEmptyAsNull != nil {
95183		objectMap["treatEmptyAsNull"] = tf.TreatEmptyAsNull
95184	}
95185	if tf.SkipLineCount != nil {
95186		objectMap["skipLineCount"] = tf.SkipLineCount
95187	}
95188	if tf.FirstRowAsHeader != nil {
95189		objectMap["firstRowAsHeader"] = tf.FirstRowAsHeader
95190	}
95191	if tf.Serializer != nil {
95192		objectMap["serializer"] = tf.Serializer
95193	}
95194	if tf.Deserializer != nil {
95195		objectMap["deserializer"] = tf.Deserializer
95196	}
95197	if tf.Type != "" {
95198		objectMap["type"] = tf.Type
95199	}
95200	for k, v := range tf.AdditionalProperties {
95201		objectMap[k] = v
95202	}
95203	return json.Marshal(objectMap)
95204}
95205
95206// AsParquetFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95207func (tf TextFormat) AsParquetFormat() (*ParquetFormat, bool) {
95208	return nil, false
95209}
95210
95211// AsOrcFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95212func (tf TextFormat) AsOrcFormat() (*OrcFormat, bool) {
95213	return nil, false
95214}
95215
95216// AsAvroFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95217func (tf TextFormat) AsAvroFormat() (*AvroFormat, bool) {
95218	return nil, false
95219}
95220
95221// AsJSONFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95222func (tf TextFormat) AsJSONFormat() (*JSONFormat, bool) {
95223	return nil, false
95224}
95225
95226// AsTextFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95227func (tf TextFormat) AsTextFormat() (*TextFormat, bool) {
95228	return &tf, true
95229}
95230
95231// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95232func (tf TextFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
95233	return nil, false
95234}
95235
95236// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for TextFormat.
95237func (tf TextFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
95238	return &tf, true
95239}
95240
95241// UnmarshalJSON is the custom unmarshaler for TextFormat struct.
95242func (tf *TextFormat) UnmarshalJSON(body []byte) error {
95243	var m map[string]*json.RawMessage
95244	err := json.Unmarshal(body, &m)
95245	if err != nil {
95246		return err
95247	}
95248	for k, v := range m {
95249		switch k {
95250		case "columnDelimiter":
95251			if v != nil {
95252				var columnDelimiter interface{}
95253				err = json.Unmarshal(*v, &columnDelimiter)
95254				if err != nil {
95255					return err
95256				}
95257				tf.ColumnDelimiter = columnDelimiter
95258			}
95259		case "rowDelimiter":
95260			if v != nil {
95261				var rowDelimiter interface{}
95262				err = json.Unmarshal(*v, &rowDelimiter)
95263				if err != nil {
95264					return err
95265				}
95266				tf.RowDelimiter = rowDelimiter
95267			}
95268		case "escapeChar":
95269			if v != nil {
95270				var escapeChar interface{}
95271				err = json.Unmarshal(*v, &escapeChar)
95272				if err != nil {
95273					return err
95274				}
95275				tf.EscapeChar = escapeChar
95276			}
95277		case "quoteChar":
95278			if v != nil {
95279				var quoteChar interface{}
95280				err = json.Unmarshal(*v, &quoteChar)
95281				if err != nil {
95282					return err
95283				}
95284				tf.QuoteChar = quoteChar
95285			}
95286		case "nullValue":
95287			if v != nil {
95288				var nullValue interface{}
95289				err = json.Unmarshal(*v, &nullValue)
95290				if err != nil {
95291					return err
95292				}
95293				tf.NullValue = nullValue
95294			}
95295		case "encodingName":
95296			if v != nil {
95297				var encodingName interface{}
95298				err = json.Unmarshal(*v, &encodingName)
95299				if err != nil {
95300					return err
95301				}
95302				tf.EncodingName = encodingName
95303			}
95304		case "treatEmptyAsNull":
95305			if v != nil {
95306				var treatEmptyAsNull interface{}
95307				err = json.Unmarshal(*v, &treatEmptyAsNull)
95308				if err != nil {
95309					return err
95310				}
95311				tf.TreatEmptyAsNull = treatEmptyAsNull
95312			}
95313		case "skipLineCount":
95314			if v != nil {
95315				var skipLineCount interface{}
95316				err = json.Unmarshal(*v, &skipLineCount)
95317				if err != nil {
95318					return err
95319				}
95320				tf.SkipLineCount = skipLineCount
95321			}
95322		case "firstRowAsHeader":
95323			if v != nil {
95324				var firstRowAsHeader interface{}
95325				err = json.Unmarshal(*v, &firstRowAsHeader)
95326				if err != nil {
95327					return err
95328				}
95329				tf.FirstRowAsHeader = firstRowAsHeader
95330			}
95331		default:
95332			if v != nil {
95333				var additionalProperties interface{}
95334				err = json.Unmarshal(*v, &additionalProperties)
95335				if err != nil {
95336					return err
95337				}
95338				if tf.AdditionalProperties == nil {
95339					tf.AdditionalProperties = make(map[string]interface{})
95340				}
95341				tf.AdditionalProperties[k] = additionalProperties
95342			}
95343		case "serializer":
95344			if v != nil {
95345				var serializer interface{}
95346				err = json.Unmarshal(*v, &serializer)
95347				if err != nil {
95348					return err
95349				}
95350				tf.Serializer = serializer
95351			}
95352		case "deserializer":
95353			if v != nil {
95354				var deserializer interface{}
95355				err = json.Unmarshal(*v, &deserializer)
95356				if err != nil {
95357					return err
95358				}
95359				tf.Deserializer = deserializer
95360			}
95361		case "type":
95362			if v != nil {
95363				var typeVar TypeBasicDatasetStorageFormat
95364				err = json.Unmarshal(*v, &typeVar)
95365				if err != nil {
95366					return err
95367				}
95368				tf.Type = typeVar
95369			}
95370		}
95371	}
95372
95373	return nil
95374}
95375
95376// BasicTrigger azure data factory nested object which contains information about creating pipeline run
95377type BasicTrigger interface {
95378	AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool)
95379	AsBlobEventsTrigger() (*BlobEventsTrigger, bool)
95380	AsBlobTrigger() (*BlobTrigger, bool)
95381	AsScheduleTrigger() (*ScheduleTrigger, bool)
95382	AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool)
95383	AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool)
95384	AsTrigger() (*Trigger, bool)
95385}
95386
95387// Trigger azure data factory nested object which contains information about creating pipeline run
95388type Trigger struct {
95389	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
95390	AdditionalProperties map[string]interface{} `json:""`
95391	// Description - Trigger description.
95392	Description *string `json:"description,omitempty"`
95393	// 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'
95394	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
95395	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
95396	Type TypeBasicTrigger `json:"type,omitempty"`
95397}
95398
95399func unmarshalBasicTrigger(body []byte) (BasicTrigger, error) {
95400	var m map[string]interface{}
95401	err := json.Unmarshal(body, &m)
95402	if err != nil {
95403		return nil, err
95404	}
95405
95406	switch m["type"] {
95407	case string(TypeTumblingWindowTrigger):
95408		var twt TumblingWindowTrigger
95409		err := json.Unmarshal(body, &twt)
95410		return twt, err
95411	case string(TypeBlobEventsTrigger):
95412		var bet BlobEventsTrigger
95413		err := json.Unmarshal(body, &bet)
95414		return bet, err
95415	case string(TypeBlobTrigger):
95416		var bt BlobTrigger
95417		err := json.Unmarshal(body, &bt)
95418		return bt, err
95419	case string(TypeScheduleTrigger):
95420		var st ScheduleTrigger
95421		err := json.Unmarshal(body, &st)
95422		return st, err
95423	case string(TypeMultiplePipelineTrigger):
95424		var mpt MultiplePipelineTrigger
95425		err := json.Unmarshal(body, &mpt)
95426		return mpt, err
95427	default:
95428		var t Trigger
95429		err := json.Unmarshal(body, &t)
95430		return t, err
95431	}
95432}
95433func unmarshalBasicTriggerArray(body []byte) ([]BasicTrigger, error) {
95434	var rawMessages []*json.RawMessage
95435	err := json.Unmarshal(body, &rawMessages)
95436	if err != nil {
95437		return nil, err
95438	}
95439
95440	tArray := make([]BasicTrigger, len(rawMessages))
95441
95442	for index, rawMessage := range rawMessages {
95443		t, err := unmarshalBasicTrigger(*rawMessage)
95444		if err != nil {
95445			return nil, err
95446		}
95447		tArray[index] = t
95448	}
95449	return tArray, nil
95450}
95451
95452// MarshalJSON is the custom marshaler for Trigger.
95453func (t Trigger) MarshalJSON() ([]byte, error) {
95454	t.Type = TypeTrigger
95455	objectMap := make(map[string]interface{})
95456	if t.Description != nil {
95457		objectMap["description"] = t.Description
95458	}
95459	if t.Type != "" {
95460		objectMap["type"] = t.Type
95461	}
95462	for k, v := range t.AdditionalProperties {
95463		objectMap[k] = v
95464	}
95465	return json.Marshal(objectMap)
95466}
95467
95468// AsTumblingWindowTrigger is the BasicTrigger implementation for Trigger.
95469func (t Trigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
95470	return nil, false
95471}
95472
95473// AsBlobEventsTrigger is the BasicTrigger implementation for Trigger.
95474func (t Trigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
95475	return nil, false
95476}
95477
95478// AsBlobTrigger is the BasicTrigger implementation for Trigger.
95479func (t Trigger) AsBlobTrigger() (*BlobTrigger, bool) {
95480	return nil, false
95481}
95482
95483// AsScheduleTrigger is the BasicTrigger implementation for Trigger.
95484func (t Trigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
95485	return nil, false
95486}
95487
95488// AsMultiplePipelineTrigger is the BasicTrigger implementation for Trigger.
95489func (t Trigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
95490	return nil, false
95491}
95492
95493// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for Trigger.
95494func (t Trigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
95495	return nil, false
95496}
95497
95498// AsTrigger is the BasicTrigger implementation for Trigger.
95499func (t Trigger) AsTrigger() (*Trigger, bool) {
95500	return &t, true
95501}
95502
95503// AsBasicTrigger is the BasicTrigger implementation for Trigger.
95504func (t Trigger) AsBasicTrigger() (BasicTrigger, bool) {
95505	return &t, true
95506}
95507
95508// UnmarshalJSON is the custom unmarshaler for Trigger struct.
95509func (t *Trigger) UnmarshalJSON(body []byte) error {
95510	var m map[string]*json.RawMessage
95511	err := json.Unmarshal(body, &m)
95512	if err != nil {
95513		return err
95514	}
95515	for k, v := range m {
95516		switch k {
95517		default:
95518			if v != nil {
95519				var additionalProperties interface{}
95520				err = json.Unmarshal(*v, &additionalProperties)
95521				if err != nil {
95522					return err
95523				}
95524				if t.AdditionalProperties == nil {
95525					t.AdditionalProperties = make(map[string]interface{})
95526				}
95527				t.AdditionalProperties[k] = additionalProperties
95528			}
95529		case "description":
95530			if v != nil {
95531				var description string
95532				err = json.Unmarshal(*v, &description)
95533				if err != nil {
95534					return err
95535				}
95536				t.Description = &description
95537			}
95538		case "runtimeState":
95539			if v != nil {
95540				var runtimeState TriggerRuntimeState
95541				err = json.Unmarshal(*v, &runtimeState)
95542				if err != nil {
95543					return err
95544				}
95545				t.RuntimeState = runtimeState
95546			}
95547		case "type":
95548			if v != nil {
95549				var typeVar TypeBasicTrigger
95550				err = json.Unmarshal(*v, &typeVar)
95551				if err != nil {
95552					return err
95553				}
95554				t.Type = typeVar
95555			}
95556		}
95557	}
95558
95559	return nil
95560}
95561
95562// TriggerListResponse a list of trigger resources.
95563type TriggerListResponse struct {
95564	autorest.Response `json:"-"`
95565	// Value - List of triggers.
95566	Value *[]TriggerResource `json:"value,omitempty"`
95567	// NextLink - The link to the next page of results, if any remaining results exist.
95568	NextLink *string `json:"nextLink,omitempty"`
95569}
95570
95571// TriggerListResponseIterator provides access to a complete listing of TriggerResource values.
95572type TriggerListResponseIterator struct {
95573	i    int
95574	page TriggerListResponsePage
95575}
95576
95577// NextWithContext advances to the next value.  If there was an error making
95578// the request the iterator does not advance and the error is returned.
95579func (iter *TriggerListResponseIterator) NextWithContext(ctx context.Context) (err error) {
95580	if tracing.IsEnabled() {
95581		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponseIterator.NextWithContext")
95582		defer func() {
95583			sc := -1
95584			if iter.Response().Response.Response != nil {
95585				sc = iter.Response().Response.Response.StatusCode
95586			}
95587			tracing.EndSpan(ctx, sc, err)
95588		}()
95589	}
95590	iter.i++
95591	if iter.i < len(iter.page.Values()) {
95592		return nil
95593	}
95594	err = iter.page.NextWithContext(ctx)
95595	if err != nil {
95596		iter.i--
95597		return err
95598	}
95599	iter.i = 0
95600	return nil
95601}
95602
95603// Next advances to the next value.  If there was an error making
95604// the request the iterator does not advance and the error is returned.
95605// Deprecated: Use NextWithContext() instead.
95606func (iter *TriggerListResponseIterator) Next() error {
95607	return iter.NextWithContext(context.Background())
95608}
95609
95610// NotDone returns true if the enumeration should be started or is not yet complete.
95611func (iter TriggerListResponseIterator) NotDone() bool {
95612	return iter.page.NotDone() && iter.i < len(iter.page.Values())
95613}
95614
95615// Response returns the raw server response from the last page request.
95616func (iter TriggerListResponseIterator) Response() TriggerListResponse {
95617	return iter.page.Response()
95618}
95619
95620// Value returns the current value or a zero-initialized value if the
95621// iterator has advanced beyond the end of the collection.
95622func (iter TriggerListResponseIterator) Value() TriggerResource {
95623	if !iter.page.NotDone() {
95624		return TriggerResource{}
95625	}
95626	return iter.page.Values()[iter.i]
95627}
95628
95629// Creates a new instance of the TriggerListResponseIterator type.
95630func NewTriggerListResponseIterator(page TriggerListResponsePage) TriggerListResponseIterator {
95631	return TriggerListResponseIterator{page: page}
95632}
95633
95634// IsEmpty returns true if the ListResult contains no values.
95635func (tlr TriggerListResponse) IsEmpty() bool {
95636	return tlr.Value == nil || len(*tlr.Value) == 0
95637}
95638
95639// hasNextLink returns true if the NextLink is not empty.
95640func (tlr TriggerListResponse) hasNextLink() bool {
95641	return tlr.NextLink != nil && len(*tlr.NextLink) != 0
95642}
95643
95644// triggerListResponsePreparer prepares a request to retrieve the next set of results.
95645// It returns nil if no more results exist.
95646func (tlr TriggerListResponse) triggerListResponsePreparer(ctx context.Context) (*http.Request, error) {
95647	if !tlr.hasNextLink() {
95648		return nil, nil
95649	}
95650	return autorest.Prepare((&http.Request{}).WithContext(ctx),
95651		autorest.AsJSON(),
95652		autorest.AsGet(),
95653		autorest.WithBaseURL(to.String(tlr.NextLink)))
95654}
95655
95656// TriggerListResponsePage contains a page of TriggerResource values.
95657type TriggerListResponsePage struct {
95658	fn  func(context.Context, TriggerListResponse) (TriggerListResponse, error)
95659	tlr TriggerListResponse
95660}
95661
95662// NextWithContext advances to the next page of values.  If there was an error making
95663// the request the page does not advance and the error is returned.
95664func (page *TriggerListResponsePage) NextWithContext(ctx context.Context) (err error) {
95665	if tracing.IsEnabled() {
95666		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponsePage.NextWithContext")
95667		defer func() {
95668			sc := -1
95669			if page.Response().Response.Response != nil {
95670				sc = page.Response().Response.Response.StatusCode
95671			}
95672			tracing.EndSpan(ctx, sc, err)
95673		}()
95674	}
95675	for {
95676		next, err := page.fn(ctx, page.tlr)
95677		if err != nil {
95678			return err
95679		}
95680		page.tlr = next
95681		if !next.hasNextLink() || !next.IsEmpty() {
95682			break
95683		}
95684	}
95685	return nil
95686}
95687
95688// Next advances to the next page of values.  If there was an error making
95689// the request the page does not advance and the error is returned.
95690// Deprecated: Use NextWithContext() instead.
95691func (page *TriggerListResponsePage) Next() error {
95692	return page.NextWithContext(context.Background())
95693}
95694
95695// NotDone returns true if the page enumeration should be started or is not yet complete.
95696func (page TriggerListResponsePage) NotDone() bool {
95697	return !page.tlr.IsEmpty()
95698}
95699
95700// Response returns the raw server response from the last page request.
95701func (page TriggerListResponsePage) Response() TriggerListResponse {
95702	return page.tlr
95703}
95704
95705// Values returns the slice of values for the current page or nil if there are no values.
95706func (page TriggerListResponsePage) Values() []TriggerResource {
95707	if page.tlr.IsEmpty() {
95708		return nil
95709	}
95710	return *page.tlr.Value
95711}
95712
95713// Creates a new instance of the TriggerListResponsePage type.
95714func NewTriggerListResponsePage(cur TriggerListResponse, getNextPage func(context.Context, TriggerListResponse) (TriggerListResponse, error)) TriggerListResponsePage {
95715	return TriggerListResponsePage{
95716		fn:  getNextPage,
95717		tlr: cur,
95718	}
95719}
95720
95721// TriggerPipelineReference pipeline that needs to be triggered with the given parameters.
95722type TriggerPipelineReference struct {
95723	// PipelineReference - Pipeline reference.
95724	PipelineReference *PipelineReference `json:"pipelineReference,omitempty"`
95725	// Parameters - Pipeline parameters.
95726	Parameters map[string]interface{} `json:"parameters"`
95727}
95728
95729// MarshalJSON is the custom marshaler for TriggerPipelineReference.
95730func (tpr TriggerPipelineReference) MarshalJSON() ([]byte, error) {
95731	objectMap := make(map[string]interface{})
95732	if tpr.PipelineReference != nil {
95733		objectMap["pipelineReference"] = tpr.PipelineReference
95734	}
95735	if tpr.Parameters != nil {
95736		objectMap["parameters"] = tpr.Parameters
95737	}
95738	return json.Marshal(objectMap)
95739}
95740
95741// TriggerResource trigger resource type.
95742type TriggerResource struct {
95743	autorest.Response `json:"-"`
95744	// Properties - Properties of the trigger.
95745	Properties BasicTrigger `json:"properties,omitempty"`
95746	// ID - READ-ONLY; The resource identifier.
95747	ID *string `json:"id,omitempty"`
95748	// Name - READ-ONLY; The resource name.
95749	Name *string `json:"name,omitempty"`
95750	// Type - READ-ONLY; The resource type.
95751	Type *string `json:"type,omitempty"`
95752	// Etag - READ-ONLY; Etag identifies change in the resource.
95753	Etag *string `json:"etag,omitempty"`
95754}
95755
95756// MarshalJSON is the custom marshaler for TriggerResource.
95757func (tr TriggerResource) MarshalJSON() ([]byte, error) {
95758	objectMap := make(map[string]interface{})
95759	objectMap["properties"] = tr.Properties
95760	return json.Marshal(objectMap)
95761}
95762
95763// UnmarshalJSON is the custom unmarshaler for TriggerResource struct.
95764func (tr *TriggerResource) UnmarshalJSON(body []byte) error {
95765	var m map[string]*json.RawMessage
95766	err := json.Unmarshal(body, &m)
95767	if err != nil {
95768		return err
95769	}
95770	for k, v := range m {
95771		switch k {
95772		case "properties":
95773			if v != nil {
95774				properties, err := unmarshalBasicTrigger(*v)
95775				if err != nil {
95776					return err
95777				}
95778				tr.Properties = properties
95779			}
95780		case "id":
95781			if v != nil {
95782				var ID string
95783				err = json.Unmarshal(*v, &ID)
95784				if err != nil {
95785					return err
95786				}
95787				tr.ID = &ID
95788			}
95789		case "name":
95790			if v != nil {
95791				var name string
95792				err = json.Unmarshal(*v, &name)
95793				if err != nil {
95794					return err
95795				}
95796				tr.Name = &name
95797			}
95798		case "type":
95799			if v != nil {
95800				var typeVar string
95801				err = json.Unmarshal(*v, &typeVar)
95802				if err != nil {
95803					return err
95804				}
95805				tr.Type = &typeVar
95806			}
95807		case "etag":
95808			if v != nil {
95809				var etag string
95810				err = json.Unmarshal(*v, &etag)
95811				if err != nil {
95812					return err
95813				}
95814				tr.Etag = &etag
95815			}
95816		}
95817	}
95818
95819	return nil
95820}
95821
95822// TriggerRun trigger runs.
95823type TriggerRun struct {
95824	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
95825	AdditionalProperties map[string]interface{} `json:""`
95826	// TriggerRunID - READ-ONLY; Trigger run id.
95827	TriggerRunID *string `json:"triggerRunId,omitempty"`
95828	// TriggerName - READ-ONLY; Trigger name.
95829	TriggerName *string `json:"triggerName,omitempty"`
95830	// TriggerType - READ-ONLY; Trigger type.
95831	TriggerType *string `json:"triggerType,omitempty"`
95832	// TriggerRunTimestamp - READ-ONLY; Trigger run start time.
95833	TriggerRunTimestamp *date.Time `json:"triggerRunTimestamp,omitempty"`
95834	// Status - READ-ONLY; Trigger run status. Possible values include: 'TriggerRunStatusSucceeded', 'TriggerRunStatusFailed', 'TriggerRunStatusInprogress'
95835	Status TriggerRunStatus `json:"status,omitempty"`
95836	// Message - READ-ONLY; Trigger error message.
95837	Message *string `json:"message,omitempty"`
95838	// Properties - READ-ONLY; List of property name and value related to trigger run. Name, value pair depends on type of trigger.
95839	Properties map[string]*string `json:"properties"`
95840	// TriggeredPipelines - READ-ONLY; List of pipeline name and run Id triggered by the trigger run.
95841	TriggeredPipelines map[string]*string `json:"triggeredPipelines"`
95842}
95843
95844// MarshalJSON is the custom marshaler for TriggerRun.
95845func (tr TriggerRun) MarshalJSON() ([]byte, error) {
95846	objectMap := make(map[string]interface{})
95847	for k, v := range tr.AdditionalProperties {
95848		objectMap[k] = v
95849	}
95850	return json.Marshal(objectMap)
95851}
95852
95853// UnmarshalJSON is the custom unmarshaler for TriggerRun struct.
95854func (tr *TriggerRun) UnmarshalJSON(body []byte) error {
95855	var m map[string]*json.RawMessage
95856	err := json.Unmarshal(body, &m)
95857	if err != nil {
95858		return err
95859	}
95860	for k, v := range m {
95861		switch k {
95862		default:
95863			if v != nil {
95864				var additionalProperties interface{}
95865				err = json.Unmarshal(*v, &additionalProperties)
95866				if err != nil {
95867					return err
95868				}
95869				if tr.AdditionalProperties == nil {
95870					tr.AdditionalProperties = make(map[string]interface{})
95871				}
95872				tr.AdditionalProperties[k] = additionalProperties
95873			}
95874		case "triggerRunId":
95875			if v != nil {
95876				var triggerRunID string
95877				err = json.Unmarshal(*v, &triggerRunID)
95878				if err != nil {
95879					return err
95880				}
95881				tr.TriggerRunID = &triggerRunID
95882			}
95883		case "triggerName":
95884			if v != nil {
95885				var triggerName string
95886				err = json.Unmarshal(*v, &triggerName)
95887				if err != nil {
95888					return err
95889				}
95890				tr.TriggerName = &triggerName
95891			}
95892		case "triggerType":
95893			if v != nil {
95894				var triggerType string
95895				err = json.Unmarshal(*v, &triggerType)
95896				if err != nil {
95897					return err
95898				}
95899				tr.TriggerType = &triggerType
95900			}
95901		case "triggerRunTimestamp":
95902			if v != nil {
95903				var triggerRunTimestamp date.Time
95904				err = json.Unmarshal(*v, &triggerRunTimestamp)
95905				if err != nil {
95906					return err
95907				}
95908				tr.TriggerRunTimestamp = &triggerRunTimestamp
95909			}
95910		case "status":
95911			if v != nil {
95912				var status TriggerRunStatus
95913				err = json.Unmarshal(*v, &status)
95914				if err != nil {
95915					return err
95916				}
95917				tr.Status = status
95918			}
95919		case "message":
95920			if v != nil {
95921				var message string
95922				err = json.Unmarshal(*v, &message)
95923				if err != nil {
95924					return err
95925				}
95926				tr.Message = &message
95927			}
95928		case "properties":
95929			if v != nil {
95930				var properties map[string]*string
95931				err = json.Unmarshal(*v, &properties)
95932				if err != nil {
95933					return err
95934				}
95935				tr.Properties = properties
95936			}
95937		case "triggeredPipelines":
95938			if v != nil {
95939				var triggeredPipelines map[string]*string
95940				err = json.Unmarshal(*v, &triggeredPipelines)
95941				if err != nil {
95942					return err
95943				}
95944				tr.TriggeredPipelines = triggeredPipelines
95945			}
95946		}
95947	}
95948
95949	return nil
95950}
95951
95952// TriggerRunListResponse a list of trigger runs.
95953type TriggerRunListResponse struct {
95954	autorest.Response `json:"-"`
95955	// Value - List of trigger runs.
95956	Value *[]TriggerRun `json:"value,omitempty"`
95957	// NextLink - The link to the next page of results, if any remaining results exist.
95958	NextLink *string `json:"nextLink,omitempty"`
95959}
95960
95961// TriggerRunListResponseIterator provides access to a complete listing of TriggerRun values.
95962type TriggerRunListResponseIterator struct {
95963	i    int
95964	page TriggerRunListResponsePage
95965}
95966
95967// NextWithContext advances to the next value.  If there was an error making
95968// the request the iterator does not advance and the error is returned.
95969func (iter *TriggerRunListResponseIterator) NextWithContext(ctx context.Context) (err error) {
95970	if tracing.IsEnabled() {
95971		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerRunListResponseIterator.NextWithContext")
95972		defer func() {
95973			sc := -1
95974			if iter.Response().Response.Response != nil {
95975				sc = iter.Response().Response.Response.StatusCode
95976			}
95977			tracing.EndSpan(ctx, sc, err)
95978		}()
95979	}
95980	iter.i++
95981	if iter.i < len(iter.page.Values()) {
95982		return nil
95983	}
95984	err = iter.page.NextWithContext(ctx)
95985	if err != nil {
95986		iter.i--
95987		return err
95988	}
95989	iter.i = 0
95990	return nil
95991}
95992
95993// Next advances to the next value.  If there was an error making
95994// the request the iterator does not advance and the error is returned.
95995// Deprecated: Use NextWithContext() instead.
95996func (iter *TriggerRunListResponseIterator) Next() error {
95997	return iter.NextWithContext(context.Background())
95998}
95999
96000// NotDone returns true if the enumeration should be started or is not yet complete.
96001func (iter TriggerRunListResponseIterator) NotDone() bool {
96002	return iter.page.NotDone() && iter.i < len(iter.page.Values())
96003}
96004
96005// Response returns the raw server response from the last page request.
96006func (iter TriggerRunListResponseIterator) Response() TriggerRunListResponse {
96007	return iter.page.Response()
96008}
96009
96010// Value returns the current value or a zero-initialized value if the
96011// iterator has advanced beyond the end of the collection.
96012func (iter TriggerRunListResponseIterator) Value() TriggerRun {
96013	if !iter.page.NotDone() {
96014		return TriggerRun{}
96015	}
96016	return iter.page.Values()[iter.i]
96017}
96018
96019// Creates a new instance of the TriggerRunListResponseIterator type.
96020func NewTriggerRunListResponseIterator(page TriggerRunListResponsePage) TriggerRunListResponseIterator {
96021	return TriggerRunListResponseIterator{page: page}
96022}
96023
96024// IsEmpty returns true if the ListResult contains no values.
96025func (trlr TriggerRunListResponse) IsEmpty() bool {
96026	return trlr.Value == nil || len(*trlr.Value) == 0
96027}
96028
96029// hasNextLink returns true if the NextLink is not empty.
96030func (trlr TriggerRunListResponse) hasNextLink() bool {
96031	return trlr.NextLink != nil && len(*trlr.NextLink) != 0
96032}
96033
96034// triggerRunListResponsePreparer prepares a request to retrieve the next set of results.
96035// It returns nil if no more results exist.
96036func (trlr TriggerRunListResponse) triggerRunListResponsePreparer(ctx context.Context) (*http.Request, error) {
96037	if !trlr.hasNextLink() {
96038		return nil, nil
96039	}
96040	return autorest.Prepare((&http.Request{}).WithContext(ctx),
96041		autorest.AsJSON(),
96042		autorest.AsGet(),
96043		autorest.WithBaseURL(to.String(trlr.NextLink)))
96044}
96045
96046// TriggerRunListResponsePage contains a page of TriggerRun values.
96047type TriggerRunListResponsePage struct {
96048	fn   func(context.Context, TriggerRunListResponse) (TriggerRunListResponse, error)
96049	trlr TriggerRunListResponse
96050}
96051
96052// NextWithContext advances to the next page of values.  If there was an error making
96053// the request the page does not advance and the error is returned.
96054func (page *TriggerRunListResponsePage) NextWithContext(ctx context.Context) (err error) {
96055	if tracing.IsEnabled() {
96056		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerRunListResponsePage.NextWithContext")
96057		defer func() {
96058			sc := -1
96059			if page.Response().Response.Response != nil {
96060				sc = page.Response().Response.Response.StatusCode
96061			}
96062			tracing.EndSpan(ctx, sc, err)
96063		}()
96064	}
96065	for {
96066		next, err := page.fn(ctx, page.trlr)
96067		if err != nil {
96068			return err
96069		}
96070		page.trlr = next
96071		if !next.hasNextLink() || !next.IsEmpty() {
96072			break
96073		}
96074	}
96075	return nil
96076}
96077
96078// Next advances to the next page of values.  If there was an error making
96079// the request the page does not advance and the error is returned.
96080// Deprecated: Use NextWithContext() instead.
96081func (page *TriggerRunListResponsePage) Next() error {
96082	return page.NextWithContext(context.Background())
96083}
96084
96085// NotDone returns true if the page enumeration should be started or is not yet complete.
96086func (page TriggerRunListResponsePage) NotDone() bool {
96087	return !page.trlr.IsEmpty()
96088}
96089
96090// Response returns the raw server response from the last page request.
96091func (page TriggerRunListResponsePage) Response() TriggerRunListResponse {
96092	return page.trlr
96093}
96094
96095// Values returns the slice of values for the current page or nil if there are no values.
96096func (page TriggerRunListResponsePage) Values() []TriggerRun {
96097	if page.trlr.IsEmpty() {
96098		return nil
96099	}
96100	return *page.trlr.Value
96101}
96102
96103// Creates a new instance of the TriggerRunListResponsePage type.
96104func NewTriggerRunListResponsePage(cur TriggerRunListResponse, getNextPage func(context.Context, TriggerRunListResponse) (TriggerRunListResponse, error)) TriggerRunListResponsePage {
96105	return TriggerRunListResponsePage{
96106		fn:   getNextPage,
96107		trlr: cur,
96108	}
96109}
96110
96111// TriggersStartFuture an abstraction for monitoring and retrieving the results of a long-running
96112// operation.
96113type TriggersStartFuture struct {
96114	azure.FutureAPI
96115	// Result returns the result of the asynchronous operation.
96116	// If the operation has not completed it will return an error.
96117	Result func(TriggersClient) (autorest.Response, error)
96118}
96119
96120// TriggersStopFuture an abstraction for monitoring and retrieving the results of a long-running operation.
96121type TriggersStopFuture struct {
96122	azure.FutureAPI
96123	// Result returns the result of the asynchronous operation.
96124	// If the operation has not completed it will return an error.
96125	Result func(TriggersClient) (autorest.Response, error)
96126}
96127
96128// TumblingWindowTrigger trigger that schedules pipeline runs for all fixed time interval windows from a
96129// start time without gaps and also supports backfill scenarios (when start time is in the past).
96130type TumblingWindowTrigger struct {
96131	// Pipeline - Pipeline for which runs are created when an event is fired for trigger window that is ready.
96132	Pipeline *TriggerPipelineReference `json:"pipeline,omitempty"`
96133	// TumblingWindowTriggerTypeProperties - Tumbling Window Trigger properties.
96134	*TumblingWindowTriggerTypeProperties `json:"typeProperties,omitempty"`
96135	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
96136	AdditionalProperties map[string]interface{} `json:""`
96137	// Description - Trigger description.
96138	Description *string `json:"description,omitempty"`
96139	// 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'
96140	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
96141	// Type - Possible values include: 'TypeTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
96142	Type TypeBasicTrigger `json:"type,omitempty"`
96143}
96144
96145// MarshalJSON is the custom marshaler for TumblingWindowTrigger.
96146func (twt TumblingWindowTrigger) MarshalJSON() ([]byte, error) {
96147	twt.Type = TypeTumblingWindowTrigger
96148	objectMap := make(map[string]interface{})
96149	if twt.Pipeline != nil {
96150		objectMap["pipeline"] = twt.Pipeline
96151	}
96152	if twt.TumblingWindowTriggerTypeProperties != nil {
96153		objectMap["typeProperties"] = twt.TumblingWindowTriggerTypeProperties
96154	}
96155	if twt.Description != nil {
96156		objectMap["description"] = twt.Description
96157	}
96158	if twt.Type != "" {
96159		objectMap["type"] = twt.Type
96160	}
96161	for k, v := range twt.AdditionalProperties {
96162		objectMap[k] = v
96163	}
96164	return json.Marshal(objectMap)
96165}
96166
96167// AsTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96168func (twt TumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
96169	return &twt, true
96170}
96171
96172// AsBlobEventsTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96173func (twt TumblingWindowTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
96174	return nil, false
96175}
96176
96177// AsBlobTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96178func (twt TumblingWindowTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
96179	return nil, false
96180}
96181
96182// AsScheduleTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96183func (twt TumblingWindowTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
96184	return nil, false
96185}
96186
96187// AsMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96188func (twt TumblingWindowTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
96189	return nil, false
96190}
96191
96192// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96193func (twt TumblingWindowTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
96194	return nil, false
96195}
96196
96197// AsTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96198func (twt TumblingWindowTrigger) AsTrigger() (*Trigger, bool) {
96199	return nil, false
96200}
96201
96202// AsBasicTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
96203func (twt TumblingWindowTrigger) AsBasicTrigger() (BasicTrigger, bool) {
96204	return &twt, true
96205}
96206
96207// UnmarshalJSON is the custom unmarshaler for TumblingWindowTrigger struct.
96208func (twt *TumblingWindowTrigger) UnmarshalJSON(body []byte) error {
96209	var m map[string]*json.RawMessage
96210	err := json.Unmarshal(body, &m)
96211	if err != nil {
96212		return err
96213	}
96214	for k, v := range m {
96215		switch k {
96216		case "pipeline":
96217			if v != nil {
96218				var pipeline TriggerPipelineReference
96219				err = json.Unmarshal(*v, &pipeline)
96220				if err != nil {
96221					return err
96222				}
96223				twt.Pipeline = &pipeline
96224			}
96225		case "typeProperties":
96226			if v != nil {
96227				var tumblingWindowTriggerTypeProperties TumblingWindowTriggerTypeProperties
96228				err = json.Unmarshal(*v, &tumblingWindowTriggerTypeProperties)
96229				if err != nil {
96230					return err
96231				}
96232				twt.TumblingWindowTriggerTypeProperties = &tumblingWindowTriggerTypeProperties
96233			}
96234		default:
96235			if v != nil {
96236				var additionalProperties interface{}
96237				err = json.Unmarshal(*v, &additionalProperties)
96238				if err != nil {
96239					return err
96240				}
96241				if twt.AdditionalProperties == nil {
96242					twt.AdditionalProperties = make(map[string]interface{})
96243				}
96244				twt.AdditionalProperties[k] = additionalProperties
96245			}
96246		case "description":
96247			if v != nil {
96248				var description string
96249				err = json.Unmarshal(*v, &description)
96250				if err != nil {
96251					return err
96252				}
96253				twt.Description = &description
96254			}
96255		case "runtimeState":
96256			if v != nil {
96257				var runtimeState TriggerRuntimeState
96258				err = json.Unmarshal(*v, &runtimeState)
96259				if err != nil {
96260					return err
96261				}
96262				twt.RuntimeState = runtimeState
96263			}
96264		case "type":
96265			if v != nil {
96266				var typeVar TypeBasicTrigger
96267				err = json.Unmarshal(*v, &typeVar)
96268				if err != nil {
96269					return err
96270				}
96271				twt.Type = typeVar
96272			}
96273		}
96274	}
96275
96276	return nil
96277}
96278
96279// TumblingWindowTriggerTypeProperties tumbling Window Trigger properties.
96280type TumblingWindowTriggerTypeProperties struct {
96281	// Frequency - The frequency of the time windows. Possible values include: 'TumblingWindowFrequencyMinute', 'TumblingWindowFrequencyHour'
96282	Frequency TumblingWindowFrequency `json:"frequency,omitempty"`
96283	// Interval - The interval of the time windows. The minimum interval allowed is 15 Minutes.
96284	Interval *int32 `json:"interval,omitempty"`
96285	// 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.
96286	StartTime *date.Time `json:"startTime,omitempty"`
96287	// 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.
96288	EndTime *date.Time `json:"endTime,omitempty"`
96289	// 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])).
96290	Delay interface{} `json:"delay,omitempty"`
96291	// MaxConcurrency - The max number of parallel time windows (ready for execution) for which a new run is triggered.
96292	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
96293	// RetryPolicy - Retry policy that will be applied for failed pipeline runs.
96294	RetryPolicy *RetryPolicy `json:"retryPolicy,omitempty"`
96295}
96296
96297// UntilActivity this activity executes inner activities until the specified boolean expression results to
96298// true or timeout is reached, whichever is earlier.
96299type UntilActivity struct {
96300	// UntilActivityTypeProperties - Until activity properties.
96301	*UntilActivityTypeProperties `json:"typeProperties,omitempty"`
96302	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
96303	AdditionalProperties map[string]interface{} `json:""`
96304	// Name - Activity name.
96305	Name *string `json:"name,omitempty"`
96306	// Description - Activity description.
96307	Description *string `json:"description,omitempty"`
96308	// DependsOn - Activity depends on condition.
96309	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
96310	// 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'
96311	Type TypeBasicActivity `json:"type,omitempty"`
96312}
96313
96314// MarshalJSON is the custom marshaler for UntilActivity.
96315func (ua UntilActivity) MarshalJSON() ([]byte, error) {
96316	ua.Type = TypeUntil
96317	objectMap := make(map[string]interface{})
96318	if ua.UntilActivityTypeProperties != nil {
96319		objectMap["typeProperties"] = ua.UntilActivityTypeProperties
96320	}
96321	if ua.Name != nil {
96322		objectMap["name"] = ua.Name
96323	}
96324	if ua.Description != nil {
96325		objectMap["description"] = ua.Description
96326	}
96327	if ua.DependsOn != nil {
96328		objectMap["dependsOn"] = ua.DependsOn
96329	}
96330	if ua.Type != "" {
96331		objectMap["type"] = ua.Type
96332	}
96333	for k, v := range ua.AdditionalProperties {
96334		objectMap[k] = v
96335	}
96336	return json.Marshal(objectMap)
96337}
96338
96339// AsDatabricksNotebookActivity is the BasicActivity implementation for UntilActivity.
96340func (ua UntilActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
96341	return nil, false
96342}
96343
96344// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for UntilActivity.
96345func (ua UntilActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
96346	return nil, false
96347}
96348
96349// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for UntilActivity.
96350func (ua UntilActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
96351	return nil, false
96352}
96353
96354// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for UntilActivity.
96355func (ua UntilActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
96356	return nil, false
96357}
96358
96359// AsGetMetadataActivity is the BasicActivity implementation for UntilActivity.
96360func (ua UntilActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
96361	return nil, false
96362}
96363
96364// AsWebActivity is the BasicActivity implementation for UntilActivity.
96365func (ua UntilActivity) AsWebActivity() (*WebActivity, bool) {
96366	return nil, false
96367}
96368
96369// AsLookupActivity is the BasicActivity implementation for UntilActivity.
96370func (ua UntilActivity) AsLookupActivity() (*LookupActivity, bool) {
96371	return nil, false
96372}
96373
96374// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for UntilActivity.
96375func (ua UntilActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
96376	return nil, false
96377}
96378
96379// AsCustomActivity is the BasicActivity implementation for UntilActivity.
96380func (ua UntilActivity) AsCustomActivity() (*CustomActivity, bool) {
96381	return nil, false
96382}
96383
96384// AsExecuteSSISPackageActivity is the BasicActivity implementation for UntilActivity.
96385func (ua UntilActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
96386	return nil, false
96387}
96388
96389// AsHDInsightSparkActivity is the BasicActivity implementation for UntilActivity.
96390func (ua UntilActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
96391	return nil, false
96392}
96393
96394// AsHDInsightStreamingActivity is the BasicActivity implementation for UntilActivity.
96395func (ua UntilActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
96396	return nil, false
96397}
96398
96399// AsHDInsightMapReduceActivity is the BasicActivity implementation for UntilActivity.
96400func (ua UntilActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
96401	return nil, false
96402}
96403
96404// AsHDInsightPigActivity is the BasicActivity implementation for UntilActivity.
96405func (ua UntilActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
96406	return nil, false
96407}
96408
96409// AsHDInsightHiveActivity is the BasicActivity implementation for UntilActivity.
96410func (ua UntilActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
96411	return nil, false
96412}
96413
96414// AsCopyActivity is the BasicActivity implementation for UntilActivity.
96415func (ua UntilActivity) AsCopyActivity() (*CopyActivity, bool) {
96416	return nil, false
96417}
96418
96419// AsExecutionActivity is the BasicActivity implementation for UntilActivity.
96420func (ua UntilActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
96421	return nil, false
96422}
96423
96424// AsBasicExecutionActivity is the BasicActivity implementation for UntilActivity.
96425func (ua UntilActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
96426	return nil, false
96427}
96428
96429// AsFilterActivity is the BasicActivity implementation for UntilActivity.
96430func (ua UntilActivity) AsFilterActivity() (*FilterActivity, bool) {
96431	return nil, false
96432}
96433
96434// AsUntilActivity is the BasicActivity implementation for UntilActivity.
96435func (ua UntilActivity) AsUntilActivity() (*UntilActivity, bool) {
96436	return &ua, true
96437}
96438
96439// AsWaitActivity is the BasicActivity implementation for UntilActivity.
96440func (ua UntilActivity) AsWaitActivity() (*WaitActivity, bool) {
96441	return nil, false
96442}
96443
96444// AsForEachActivity is the BasicActivity implementation for UntilActivity.
96445func (ua UntilActivity) AsForEachActivity() (*ForEachActivity, bool) {
96446	return nil, false
96447}
96448
96449// AsIfConditionActivity is the BasicActivity implementation for UntilActivity.
96450func (ua UntilActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
96451	return nil, false
96452}
96453
96454// AsExecutePipelineActivity is the BasicActivity implementation for UntilActivity.
96455func (ua UntilActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
96456	return nil, false
96457}
96458
96459// AsControlActivity is the BasicActivity implementation for UntilActivity.
96460func (ua UntilActivity) AsControlActivity() (*ControlActivity, bool) {
96461	return nil, false
96462}
96463
96464// AsBasicControlActivity is the BasicActivity implementation for UntilActivity.
96465func (ua UntilActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
96466	return &ua, true
96467}
96468
96469// AsActivity is the BasicActivity implementation for UntilActivity.
96470func (ua UntilActivity) AsActivity() (*Activity, bool) {
96471	return nil, false
96472}
96473
96474// AsBasicActivity is the BasicActivity implementation for UntilActivity.
96475func (ua UntilActivity) AsBasicActivity() (BasicActivity, bool) {
96476	return &ua, true
96477}
96478
96479// UnmarshalJSON is the custom unmarshaler for UntilActivity struct.
96480func (ua *UntilActivity) UnmarshalJSON(body []byte) error {
96481	var m map[string]*json.RawMessage
96482	err := json.Unmarshal(body, &m)
96483	if err != nil {
96484		return err
96485	}
96486	for k, v := range m {
96487		switch k {
96488		case "typeProperties":
96489			if v != nil {
96490				var untilActivityTypeProperties UntilActivityTypeProperties
96491				err = json.Unmarshal(*v, &untilActivityTypeProperties)
96492				if err != nil {
96493					return err
96494				}
96495				ua.UntilActivityTypeProperties = &untilActivityTypeProperties
96496			}
96497		default:
96498			if v != nil {
96499				var additionalProperties interface{}
96500				err = json.Unmarshal(*v, &additionalProperties)
96501				if err != nil {
96502					return err
96503				}
96504				if ua.AdditionalProperties == nil {
96505					ua.AdditionalProperties = make(map[string]interface{})
96506				}
96507				ua.AdditionalProperties[k] = additionalProperties
96508			}
96509		case "name":
96510			if v != nil {
96511				var name string
96512				err = json.Unmarshal(*v, &name)
96513				if err != nil {
96514					return err
96515				}
96516				ua.Name = &name
96517			}
96518		case "description":
96519			if v != nil {
96520				var description string
96521				err = json.Unmarshal(*v, &description)
96522				if err != nil {
96523					return err
96524				}
96525				ua.Description = &description
96526			}
96527		case "dependsOn":
96528			if v != nil {
96529				var dependsOn []ActivityDependency
96530				err = json.Unmarshal(*v, &dependsOn)
96531				if err != nil {
96532					return err
96533				}
96534				ua.DependsOn = &dependsOn
96535			}
96536		case "type":
96537			if v != nil {
96538				var typeVar TypeBasicActivity
96539				err = json.Unmarshal(*v, &typeVar)
96540				if err != nil {
96541					return err
96542				}
96543				ua.Type = typeVar
96544			}
96545		}
96546	}
96547
96548	return nil
96549}
96550
96551// UntilActivityTypeProperties until activity properties.
96552type UntilActivityTypeProperties struct {
96553	// Expression - An expression that would evaluate to Boolean. The loop will continue until this expression evaluates to true
96554	Expression *Expression `json:"expression,omitempty"`
96555	// 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])).
96556	Timeout interface{} `json:"timeout,omitempty"`
96557	// Activities - List of activities to execute.
96558	Activities *[]BasicActivity `json:"activities,omitempty"`
96559}
96560
96561// UnmarshalJSON is the custom unmarshaler for UntilActivityTypeProperties struct.
96562func (uatp *UntilActivityTypeProperties) UnmarshalJSON(body []byte) error {
96563	var m map[string]*json.RawMessage
96564	err := json.Unmarshal(body, &m)
96565	if err != nil {
96566		return err
96567	}
96568	for k, v := range m {
96569		switch k {
96570		case "expression":
96571			if v != nil {
96572				var expression Expression
96573				err = json.Unmarshal(*v, &expression)
96574				if err != nil {
96575					return err
96576				}
96577				uatp.Expression = &expression
96578			}
96579		case "timeout":
96580			if v != nil {
96581				var timeout interface{}
96582				err = json.Unmarshal(*v, &timeout)
96583				if err != nil {
96584					return err
96585				}
96586				uatp.Timeout = timeout
96587			}
96588		case "activities":
96589			if v != nil {
96590				activities, err := unmarshalBasicActivityArray(*v)
96591				if err != nil {
96592					return err
96593				}
96594				uatp.Activities = &activities
96595			}
96596		}
96597	}
96598
96599	return nil
96600}
96601
96602// UpdateIntegrationRuntimeNodeRequest update integration runtime node request.
96603type UpdateIntegrationRuntimeNodeRequest struct {
96604	// ConcurrentJobsLimit - The number of concurrent jobs permitted to run on the integration runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed.
96605	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
96606}
96607
96608// UpdateIntegrationRuntimeRequest update integration runtime request.
96609type UpdateIntegrationRuntimeRequest struct {
96610	// 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'
96611	AutoUpdate IntegrationRuntimeAutoUpdate `json:"autoUpdate,omitempty"`
96612	// 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.
96613	UpdateDelayOffset *string `json:"updateDelayOffset,omitempty"`
96614}
96615
96616// VerticaLinkedService vertica linked service.
96617type VerticaLinkedService struct {
96618	// VerticaLinkedServiceTypeProperties - Vertica linked service properties.
96619	*VerticaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
96620	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
96621	AdditionalProperties map[string]interface{} `json:""`
96622	// ConnectVia - The integration runtime reference.
96623	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
96624	// Description - Linked service description.
96625	Description *string `json:"description,omitempty"`
96626	// Parameters - Parameters for linked service.
96627	Parameters map[string]*ParameterSpecification `json:"parameters"`
96628	// Annotations - List of tags that can be used for describing the Dataset.
96629	Annotations *[]interface{} `json:"annotations,omitempty"`
96630	// 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'
96631	Type TypeBasicLinkedService `json:"type,omitempty"`
96632}
96633
96634// MarshalJSON is the custom marshaler for VerticaLinkedService.
96635func (vls VerticaLinkedService) MarshalJSON() ([]byte, error) {
96636	vls.Type = TypeVertica
96637	objectMap := make(map[string]interface{})
96638	if vls.VerticaLinkedServiceTypeProperties != nil {
96639		objectMap["typeProperties"] = vls.VerticaLinkedServiceTypeProperties
96640	}
96641	if vls.ConnectVia != nil {
96642		objectMap["connectVia"] = vls.ConnectVia
96643	}
96644	if vls.Description != nil {
96645		objectMap["description"] = vls.Description
96646	}
96647	if vls.Parameters != nil {
96648		objectMap["parameters"] = vls.Parameters
96649	}
96650	if vls.Annotations != nil {
96651		objectMap["annotations"] = vls.Annotations
96652	}
96653	if vls.Type != "" {
96654		objectMap["type"] = vls.Type
96655	}
96656	for k, v := range vls.AdditionalProperties {
96657		objectMap[k] = v
96658	}
96659	return json.Marshal(objectMap)
96660}
96661
96662// AsResponsysLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96663func (vls VerticaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
96664	return nil, false
96665}
96666
96667// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96668func (vls VerticaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
96669	return nil, false
96670}
96671
96672// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96673func (vls VerticaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
96674	return nil, false
96675}
96676
96677// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96678func (vls VerticaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
96679	return nil, false
96680}
96681
96682// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96683func (vls VerticaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
96684	return nil, false
96685}
96686
96687// AsNetezzaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96688func (vls VerticaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
96689	return nil, false
96690}
96691
96692// AsVerticaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96693func (vls VerticaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
96694	return &vls, true
96695}
96696
96697// AsZohoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96698func (vls VerticaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
96699	return nil, false
96700}
96701
96702// AsXeroLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96703func (vls VerticaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
96704	return nil, false
96705}
96706
96707// AsSquareLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96708func (vls VerticaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
96709	return nil, false
96710}
96711
96712// AsSparkLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96713func (vls VerticaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
96714	return nil, false
96715}
96716
96717// AsShopifyLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96718func (vls VerticaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
96719	return nil, false
96720}
96721
96722// AsServiceNowLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96723func (vls VerticaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
96724	return nil, false
96725}
96726
96727// AsQuickBooksLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96728func (vls VerticaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
96729	return nil, false
96730}
96731
96732// AsPrestoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96733func (vls VerticaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
96734	return nil, false
96735}
96736
96737// AsPhoenixLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96738func (vls VerticaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
96739	return nil, false
96740}
96741
96742// AsPaypalLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96743func (vls VerticaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
96744	return nil, false
96745}
96746
96747// AsMarketoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96748func (vls VerticaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
96749	return nil, false
96750}
96751
96752// AsMariaDBLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96753func (vls VerticaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
96754	return nil, false
96755}
96756
96757// AsMagentoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96758func (vls VerticaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
96759	return nil, false
96760}
96761
96762// AsJiraLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96763func (vls VerticaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
96764	return nil, false
96765}
96766
96767// AsImpalaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96768func (vls VerticaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
96769	return nil, false
96770}
96771
96772// AsHubspotLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96773func (vls VerticaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
96774	return nil, false
96775}
96776
96777// AsHiveLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96778func (vls VerticaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
96779	return nil, false
96780}
96781
96782// AsHBaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96783func (vls VerticaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
96784	return nil, false
96785}
96786
96787// AsGreenplumLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96788func (vls VerticaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
96789	return nil, false
96790}
96791
96792// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96793func (vls VerticaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
96794	return nil, false
96795}
96796
96797// AsEloquaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96798func (vls VerticaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
96799	return nil, false
96800}
96801
96802// AsDrillLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96803func (vls VerticaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
96804	return nil, false
96805}
96806
96807// AsCouchbaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96808func (vls VerticaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
96809	return nil, false
96810}
96811
96812// AsConcurLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96813func (vls VerticaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
96814	return nil, false
96815}
96816
96817// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96818func (vls VerticaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
96819	return nil, false
96820}
96821
96822// AsAmazonMWSLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96823func (vls VerticaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
96824	return nil, false
96825}
96826
96827// AsSapHanaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96828func (vls VerticaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
96829	return nil, false
96830}
96831
96832// AsSapBWLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96833func (vls VerticaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
96834	return nil, false
96835}
96836
96837// AsSftpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96838func (vls VerticaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
96839	return nil, false
96840}
96841
96842// AsFtpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96843func (vls VerticaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
96844	return nil, false
96845}
96846
96847// AsHTTPLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96848func (vls VerticaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
96849	return nil, false
96850}
96851
96852// AsAzureSearchLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96853func (vls VerticaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
96854	return nil, false
96855}
96856
96857// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96858func (vls VerticaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
96859	return nil, false
96860}
96861
96862// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96863func (vls VerticaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
96864	return nil, false
96865}
96866
96867// AsAmazonS3LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96868func (vls VerticaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
96869	return nil, false
96870}
96871
96872// AsSapEccLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96873func (vls VerticaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
96874	return nil, false
96875}
96876
96877// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96878func (vls VerticaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
96879	return nil, false
96880}
96881
96882// AsSalesforceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96883func (vls VerticaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
96884	return nil, false
96885}
96886
96887// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96888func (vls VerticaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
96889	return nil, false
96890}
96891
96892// AsMongoDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96893func (vls VerticaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
96894	return nil, false
96895}
96896
96897// AsCassandraLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96898func (vls VerticaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
96899	return nil, false
96900}
96901
96902// AsWebLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96903func (vls VerticaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
96904	return nil, false
96905}
96906
96907// AsODataLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96908func (vls VerticaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
96909	return nil, false
96910}
96911
96912// AsHdfsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96913func (vls VerticaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
96914	return nil, false
96915}
96916
96917// AsOdbcLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96918func (vls VerticaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
96919	return nil, false
96920}
96921
96922// AsAzureMLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96923func (vls VerticaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
96924	return nil, false
96925}
96926
96927// AsTeradataLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96928func (vls VerticaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
96929	return nil, false
96930}
96931
96932// AsDb2LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96933func (vls VerticaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
96934	return nil, false
96935}
96936
96937// AsSybaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96938func (vls VerticaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
96939	return nil, false
96940}
96941
96942// AsPostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96943func (vls VerticaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
96944	return nil, false
96945}
96946
96947// AsMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96948func (vls VerticaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
96949	return nil, false
96950}
96951
96952// AsAzureMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96953func (vls VerticaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
96954	return nil, false
96955}
96956
96957// AsOracleLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96958func (vls VerticaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
96959	return nil, false
96960}
96961
96962// AsFileServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96963func (vls VerticaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
96964	return nil, false
96965}
96966
96967// AsHDInsightLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96968func (vls VerticaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
96969	return nil, false
96970}
96971
96972// AsDynamicsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96973func (vls VerticaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
96974	return nil, false
96975}
96976
96977// AsCosmosDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96978func (vls VerticaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
96979	return nil, false
96980}
96981
96982// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96983func (vls VerticaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
96984	return nil, false
96985}
96986
96987// AsAzureBatchLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96988func (vls VerticaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
96989	return nil, false
96990}
96991
96992// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96993func (vls VerticaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
96994	return nil, false
96995}
96996
96997// AsSQLServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
96998func (vls VerticaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
96999	return nil, false
97000}
97001
97002// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97003func (vls VerticaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
97004	return nil, false
97005}
97006
97007// AsAzureStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97008func (vls VerticaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
97009	return nil, false
97010}
97011
97012// AsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97013func (vls VerticaLinkedService) AsLinkedService() (*LinkedService, bool) {
97014	return nil, false
97015}
97016
97017// AsBasicLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
97018func (vls VerticaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
97019	return &vls, true
97020}
97021
97022// UnmarshalJSON is the custom unmarshaler for VerticaLinkedService struct.
97023func (vls *VerticaLinkedService) UnmarshalJSON(body []byte) error {
97024	var m map[string]*json.RawMessage
97025	err := json.Unmarshal(body, &m)
97026	if err != nil {
97027		return err
97028	}
97029	for k, v := range m {
97030		switch k {
97031		case "typeProperties":
97032			if v != nil {
97033				var verticaLinkedServiceTypeProperties VerticaLinkedServiceTypeProperties
97034				err = json.Unmarshal(*v, &verticaLinkedServiceTypeProperties)
97035				if err != nil {
97036					return err
97037				}
97038				vls.VerticaLinkedServiceTypeProperties = &verticaLinkedServiceTypeProperties
97039			}
97040		default:
97041			if v != nil {
97042				var additionalProperties interface{}
97043				err = json.Unmarshal(*v, &additionalProperties)
97044				if err != nil {
97045					return err
97046				}
97047				if vls.AdditionalProperties == nil {
97048					vls.AdditionalProperties = make(map[string]interface{})
97049				}
97050				vls.AdditionalProperties[k] = additionalProperties
97051			}
97052		case "connectVia":
97053			if v != nil {
97054				var connectVia IntegrationRuntimeReference
97055				err = json.Unmarshal(*v, &connectVia)
97056				if err != nil {
97057					return err
97058				}
97059				vls.ConnectVia = &connectVia
97060			}
97061		case "description":
97062			if v != nil {
97063				var description string
97064				err = json.Unmarshal(*v, &description)
97065				if err != nil {
97066					return err
97067				}
97068				vls.Description = &description
97069			}
97070		case "parameters":
97071			if v != nil {
97072				var parameters map[string]*ParameterSpecification
97073				err = json.Unmarshal(*v, &parameters)
97074				if err != nil {
97075					return err
97076				}
97077				vls.Parameters = parameters
97078			}
97079		case "annotations":
97080			if v != nil {
97081				var annotations []interface{}
97082				err = json.Unmarshal(*v, &annotations)
97083				if err != nil {
97084					return err
97085				}
97086				vls.Annotations = &annotations
97087			}
97088		case "type":
97089			if v != nil {
97090				var typeVar TypeBasicLinkedService
97091				err = json.Unmarshal(*v, &typeVar)
97092				if err != nil {
97093					return err
97094				}
97095				vls.Type = typeVar
97096			}
97097		}
97098	}
97099
97100	return nil
97101}
97102
97103// VerticaLinkedServiceTypeProperties vertica linked service properties.
97104type VerticaLinkedServiceTypeProperties struct {
97105	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
97106	ConnectionString interface{} `json:"connectionString,omitempty"`
97107	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
97108	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
97109}
97110
97111// VerticaSource a copy activity Vertica source.
97112type VerticaSource struct {
97113	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
97114	Query interface{} `json:"query,omitempty"`
97115	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
97116	AdditionalProperties map[string]interface{} `json:""`
97117	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
97118	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
97119	// 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])).
97120	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
97121	// 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'
97122	Type TypeBasicCopySource `json:"type,omitempty"`
97123}
97124
97125// MarshalJSON is the custom marshaler for VerticaSource.
97126func (vs VerticaSource) MarshalJSON() ([]byte, error) {
97127	vs.Type = TypeVerticaSource
97128	objectMap := make(map[string]interface{})
97129	if vs.Query != nil {
97130		objectMap["query"] = vs.Query
97131	}
97132	if vs.SourceRetryCount != nil {
97133		objectMap["sourceRetryCount"] = vs.SourceRetryCount
97134	}
97135	if vs.SourceRetryWait != nil {
97136		objectMap["sourceRetryWait"] = vs.SourceRetryWait
97137	}
97138	if vs.Type != "" {
97139		objectMap["type"] = vs.Type
97140	}
97141	for k, v := range vs.AdditionalProperties {
97142		objectMap[k] = v
97143	}
97144	return json.Marshal(objectMap)
97145}
97146
97147// AsAmazonRedshiftSource is the BasicCopySource implementation for VerticaSource.
97148func (vs VerticaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
97149	return nil, false
97150}
97151
97152// AsResponsysSource is the BasicCopySource implementation for VerticaSource.
97153func (vs VerticaSource) AsResponsysSource() (*ResponsysSource, bool) {
97154	return nil, false
97155}
97156
97157// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for VerticaSource.
97158func (vs VerticaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
97159	return nil, false
97160}
97161
97162// AsVerticaSource is the BasicCopySource implementation for VerticaSource.
97163func (vs VerticaSource) AsVerticaSource() (*VerticaSource, bool) {
97164	return &vs, true
97165}
97166
97167// AsNetezzaSource is the BasicCopySource implementation for VerticaSource.
97168func (vs VerticaSource) AsNetezzaSource() (*NetezzaSource, bool) {
97169	return nil, false
97170}
97171
97172// AsZohoSource is the BasicCopySource implementation for VerticaSource.
97173func (vs VerticaSource) AsZohoSource() (*ZohoSource, bool) {
97174	return nil, false
97175}
97176
97177// AsXeroSource is the BasicCopySource implementation for VerticaSource.
97178func (vs VerticaSource) AsXeroSource() (*XeroSource, bool) {
97179	return nil, false
97180}
97181
97182// AsSquareSource is the BasicCopySource implementation for VerticaSource.
97183func (vs VerticaSource) AsSquareSource() (*SquareSource, bool) {
97184	return nil, false
97185}
97186
97187// AsSparkSource is the BasicCopySource implementation for VerticaSource.
97188func (vs VerticaSource) AsSparkSource() (*SparkSource, bool) {
97189	return nil, false
97190}
97191
97192// AsShopifySource is the BasicCopySource implementation for VerticaSource.
97193func (vs VerticaSource) AsShopifySource() (*ShopifySource, bool) {
97194	return nil, false
97195}
97196
97197// AsServiceNowSource is the BasicCopySource implementation for VerticaSource.
97198func (vs VerticaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
97199	return nil, false
97200}
97201
97202// AsQuickBooksSource is the BasicCopySource implementation for VerticaSource.
97203func (vs VerticaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
97204	return nil, false
97205}
97206
97207// AsPrestoSource is the BasicCopySource implementation for VerticaSource.
97208func (vs VerticaSource) AsPrestoSource() (*PrestoSource, bool) {
97209	return nil, false
97210}
97211
97212// AsPhoenixSource is the BasicCopySource implementation for VerticaSource.
97213func (vs VerticaSource) AsPhoenixSource() (*PhoenixSource, bool) {
97214	return nil, false
97215}
97216
97217// AsPaypalSource is the BasicCopySource implementation for VerticaSource.
97218func (vs VerticaSource) AsPaypalSource() (*PaypalSource, bool) {
97219	return nil, false
97220}
97221
97222// AsMarketoSource is the BasicCopySource implementation for VerticaSource.
97223func (vs VerticaSource) AsMarketoSource() (*MarketoSource, bool) {
97224	return nil, false
97225}
97226
97227// AsMariaDBSource is the BasicCopySource implementation for VerticaSource.
97228func (vs VerticaSource) AsMariaDBSource() (*MariaDBSource, bool) {
97229	return nil, false
97230}
97231
97232// AsMagentoSource is the BasicCopySource implementation for VerticaSource.
97233func (vs VerticaSource) AsMagentoSource() (*MagentoSource, bool) {
97234	return nil, false
97235}
97236
97237// AsJiraSource is the BasicCopySource implementation for VerticaSource.
97238func (vs VerticaSource) AsJiraSource() (*JiraSource, bool) {
97239	return nil, false
97240}
97241
97242// AsImpalaSource is the BasicCopySource implementation for VerticaSource.
97243func (vs VerticaSource) AsImpalaSource() (*ImpalaSource, bool) {
97244	return nil, false
97245}
97246
97247// AsHubspotSource is the BasicCopySource implementation for VerticaSource.
97248func (vs VerticaSource) AsHubspotSource() (*HubspotSource, bool) {
97249	return nil, false
97250}
97251
97252// AsHiveSource is the BasicCopySource implementation for VerticaSource.
97253func (vs VerticaSource) AsHiveSource() (*HiveSource, bool) {
97254	return nil, false
97255}
97256
97257// AsHBaseSource is the BasicCopySource implementation for VerticaSource.
97258func (vs VerticaSource) AsHBaseSource() (*HBaseSource, bool) {
97259	return nil, false
97260}
97261
97262// AsGreenplumSource is the BasicCopySource implementation for VerticaSource.
97263func (vs VerticaSource) AsGreenplumSource() (*GreenplumSource, bool) {
97264	return nil, false
97265}
97266
97267// AsGoogleBigQuerySource is the BasicCopySource implementation for VerticaSource.
97268func (vs VerticaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
97269	return nil, false
97270}
97271
97272// AsEloquaSource is the BasicCopySource implementation for VerticaSource.
97273func (vs VerticaSource) AsEloquaSource() (*EloquaSource, bool) {
97274	return nil, false
97275}
97276
97277// AsDrillSource is the BasicCopySource implementation for VerticaSource.
97278func (vs VerticaSource) AsDrillSource() (*DrillSource, bool) {
97279	return nil, false
97280}
97281
97282// AsCouchbaseSource is the BasicCopySource implementation for VerticaSource.
97283func (vs VerticaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
97284	return nil, false
97285}
97286
97287// AsConcurSource is the BasicCopySource implementation for VerticaSource.
97288func (vs VerticaSource) AsConcurSource() (*ConcurSource, bool) {
97289	return nil, false
97290}
97291
97292// AsAzurePostgreSQLSource is the BasicCopySource implementation for VerticaSource.
97293func (vs VerticaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
97294	return nil, false
97295}
97296
97297// AsAmazonMWSSource is the BasicCopySource implementation for VerticaSource.
97298func (vs VerticaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
97299	return nil, false
97300}
97301
97302// AsHTTPSource is the BasicCopySource implementation for VerticaSource.
97303func (vs VerticaSource) AsHTTPSource() (*HTTPSource, bool) {
97304	return nil, false
97305}
97306
97307// AsAzureDataLakeStoreSource is the BasicCopySource implementation for VerticaSource.
97308func (vs VerticaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
97309	return nil, false
97310}
97311
97312// AsMongoDbSource is the BasicCopySource implementation for VerticaSource.
97313func (vs VerticaSource) AsMongoDbSource() (*MongoDbSource, bool) {
97314	return nil, false
97315}
97316
97317// AsCassandraSource is the BasicCopySource implementation for VerticaSource.
97318func (vs VerticaSource) AsCassandraSource() (*CassandraSource, bool) {
97319	return nil, false
97320}
97321
97322// AsWebSource is the BasicCopySource implementation for VerticaSource.
97323func (vs VerticaSource) AsWebSource() (*WebSource, bool) {
97324	return nil, false
97325}
97326
97327// AsOracleSource is the BasicCopySource implementation for VerticaSource.
97328func (vs VerticaSource) AsOracleSource() (*OracleSource, bool) {
97329	return nil, false
97330}
97331
97332// AsAzureMySQLSource is the BasicCopySource implementation for VerticaSource.
97333func (vs VerticaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
97334	return nil, false
97335}
97336
97337// AsHdfsSource is the BasicCopySource implementation for VerticaSource.
97338func (vs VerticaSource) AsHdfsSource() (*HdfsSource, bool) {
97339	return nil, false
97340}
97341
97342// AsFileSystemSource is the BasicCopySource implementation for VerticaSource.
97343func (vs VerticaSource) AsFileSystemSource() (*FileSystemSource, bool) {
97344	return nil, false
97345}
97346
97347// AsSQLDWSource is the BasicCopySource implementation for VerticaSource.
97348func (vs VerticaSource) AsSQLDWSource() (*SQLDWSource, bool) {
97349	return nil, false
97350}
97351
97352// AsSQLSource is the BasicCopySource implementation for VerticaSource.
97353func (vs VerticaSource) AsSQLSource() (*SQLSource, bool) {
97354	return nil, false
97355}
97356
97357// AsSapEccSource is the BasicCopySource implementation for VerticaSource.
97358func (vs VerticaSource) AsSapEccSource() (*SapEccSource, bool) {
97359	return nil, false
97360}
97361
97362// AsSapCloudForCustomerSource is the BasicCopySource implementation for VerticaSource.
97363func (vs VerticaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
97364	return nil, false
97365}
97366
97367// AsSalesforceSource is the BasicCopySource implementation for VerticaSource.
97368func (vs VerticaSource) AsSalesforceSource() (*SalesforceSource, bool) {
97369	return nil, false
97370}
97371
97372// AsRelationalSource is the BasicCopySource implementation for VerticaSource.
97373func (vs VerticaSource) AsRelationalSource() (*RelationalSource, bool) {
97374	return nil, false
97375}
97376
97377// AsDynamicsSource is the BasicCopySource implementation for VerticaSource.
97378func (vs VerticaSource) AsDynamicsSource() (*DynamicsSource, bool) {
97379	return nil, false
97380}
97381
97382// AsDocumentDbCollectionSource is the BasicCopySource implementation for VerticaSource.
97383func (vs VerticaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
97384	return nil, false
97385}
97386
97387// AsBlobSource is the BasicCopySource implementation for VerticaSource.
97388func (vs VerticaSource) AsBlobSource() (*BlobSource, bool) {
97389	return nil, false
97390}
97391
97392// AsAzureTableSource is the BasicCopySource implementation for VerticaSource.
97393func (vs VerticaSource) AsAzureTableSource() (*AzureTableSource, bool) {
97394	return nil, false
97395}
97396
97397// AsCopySource is the BasicCopySource implementation for VerticaSource.
97398func (vs VerticaSource) AsCopySource() (*CopySource, bool) {
97399	return nil, false
97400}
97401
97402// AsBasicCopySource is the BasicCopySource implementation for VerticaSource.
97403func (vs VerticaSource) AsBasicCopySource() (BasicCopySource, bool) {
97404	return &vs, true
97405}
97406
97407// UnmarshalJSON is the custom unmarshaler for VerticaSource struct.
97408func (vs *VerticaSource) UnmarshalJSON(body []byte) error {
97409	var m map[string]*json.RawMessage
97410	err := json.Unmarshal(body, &m)
97411	if err != nil {
97412		return err
97413	}
97414	for k, v := range m {
97415		switch k {
97416		case "query":
97417			if v != nil {
97418				var query interface{}
97419				err = json.Unmarshal(*v, &query)
97420				if err != nil {
97421					return err
97422				}
97423				vs.Query = query
97424			}
97425		default:
97426			if v != nil {
97427				var additionalProperties interface{}
97428				err = json.Unmarshal(*v, &additionalProperties)
97429				if err != nil {
97430					return err
97431				}
97432				if vs.AdditionalProperties == nil {
97433					vs.AdditionalProperties = make(map[string]interface{})
97434				}
97435				vs.AdditionalProperties[k] = additionalProperties
97436			}
97437		case "sourceRetryCount":
97438			if v != nil {
97439				var sourceRetryCount interface{}
97440				err = json.Unmarshal(*v, &sourceRetryCount)
97441				if err != nil {
97442					return err
97443				}
97444				vs.SourceRetryCount = sourceRetryCount
97445			}
97446		case "sourceRetryWait":
97447			if v != nil {
97448				var sourceRetryWait interface{}
97449				err = json.Unmarshal(*v, &sourceRetryWait)
97450				if err != nil {
97451					return err
97452				}
97453				vs.SourceRetryWait = sourceRetryWait
97454			}
97455		case "type":
97456			if v != nil {
97457				var typeVar TypeBasicCopySource
97458				err = json.Unmarshal(*v, &typeVar)
97459				if err != nil {
97460					return err
97461				}
97462				vs.Type = typeVar
97463			}
97464		}
97465	}
97466
97467	return nil
97468}
97469
97470// VerticaTableDataset vertica dataset.
97471type VerticaTableDataset struct {
97472	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
97473	AdditionalProperties map[string]interface{} `json:""`
97474	// Description - Dataset description.
97475	Description *string `json:"description,omitempty"`
97476	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
97477	Structure interface{} `json:"structure,omitempty"`
97478	// LinkedServiceName - Linked service reference.
97479	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
97480	// Parameters - Parameters for dataset.
97481	Parameters map[string]*ParameterSpecification `json:"parameters"`
97482	// Annotations - List of tags that can be used for describing the Dataset.
97483	Annotations *[]interface{} `json:"annotations,omitempty"`
97484	// 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'
97485	Type TypeBasicDataset `json:"type,omitempty"`
97486}
97487
97488// MarshalJSON is the custom marshaler for VerticaTableDataset.
97489func (vtd VerticaTableDataset) MarshalJSON() ([]byte, error) {
97490	vtd.Type = TypeVerticaTable
97491	objectMap := make(map[string]interface{})
97492	if vtd.Description != nil {
97493		objectMap["description"] = vtd.Description
97494	}
97495	if vtd.Structure != nil {
97496		objectMap["structure"] = vtd.Structure
97497	}
97498	if vtd.LinkedServiceName != nil {
97499		objectMap["linkedServiceName"] = vtd.LinkedServiceName
97500	}
97501	if vtd.Parameters != nil {
97502		objectMap["parameters"] = vtd.Parameters
97503	}
97504	if vtd.Annotations != nil {
97505		objectMap["annotations"] = vtd.Annotations
97506	}
97507	if vtd.Type != "" {
97508		objectMap["type"] = vtd.Type
97509	}
97510	for k, v := range vtd.AdditionalProperties {
97511		objectMap[k] = v
97512	}
97513	return json.Marshal(objectMap)
97514}
97515
97516// AsResponsysObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97517func (vtd VerticaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
97518	return nil, false
97519}
97520
97521// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97522func (vtd VerticaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
97523	return nil, false
97524}
97525
97526// AsVerticaTableDataset is the BasicDataset implementation for VerticaTableDataset.
97527func (vtd VerticaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
97528	return &vtd, true
97529}
97530
97531// AsNetezzaTableDataset is the BasicDataset implementation for VerticaTableDataset.
97532func (vtd VerticaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
97533	return nil, false
97534}
97535
97536// AsZohoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97537func (vtd VerticaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
97538	return nil, false
97539}
97540
97541// AsXeroObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97542func (vtd VerticaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
97543	return nil, false
97544}
97545
97546// AsSquareObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97547func (vtd VerticaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
97548	return nil, false
97549}
97550
97551// AsSparkObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97552func (vtd VerticaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
97553	return nil, false
97554}
97555
97556// AsShopifyObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97557func (vtd VerticaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
97558	return nil, false
97559}
97560
97561// AsServiceNowObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97562func (vtd VerticaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
97563	return nil, false
97564}
97565
97566// AsQuickBooksObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97567func (vtd VerticaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
97568	return nil, false
97569}
97570
97571// AsPrestoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97572func (vtd VerticaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
97573	return nil, false
97574}
97575
97576// AsPhoenixObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97577func (vtd VerticaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
97578	return nil, false
97579}
97580
97581// AsPaypalObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97582func (vtd VerticaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
97583	return nil, false
97584}
97585
97586// AsMarketoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97587func (vtd VerticaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
97588	return nil, false
97589}
97590
97591// AsMariaDBTableDataset is the BasicDataset implementation for VerticaTableDataset.
97592func (vtd VerticaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
97593	return nil, false
97594}
97595
97596// AsMagentoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97597func (vtd VerticaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
97598	return nil, false
97599}
97600
97601// AsJiraObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97602func (vtd VerticaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
97603	return nil, false
97604}
97605
97606// AsImpalaObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97607func (vtd VerticaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
97608	return nil, false
97609}
97610
97611// AsHubspotObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97612func (vtd VerticaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
97613	return nil, false
97614}
97615
97616// AsHiveObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97617func (vtd VerticaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
97618	return nil, false
97619}
97620
97621// AsHBaseObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97622func (vtd VerticaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
97623	return nil, false
97624}
97625
97626// AsGreenplumTableDataset is the BasicDataset implementation for VerticaTableDataset.
97627func (vtd VerticaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
97628	return nil, false
97629}
97630
97631// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97632func (vtd VerticaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
97633	return nil, false
97634}
97635
97636// AsEloquaObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97637func (vtd VerticaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
97638	return nil, false
97639}
97640
97641// AsDrillTableDataset is the BasicDataset implementation for VerticaTableDataset.
97642func (vtd VerticaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
97643	return nil, false
97644}
97645
97646// AsCouchbaseTableDataset is the BasicDataset implementation for VerticaTableDataset.
97647func (vtd VerticaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
97648	return nil, false
97649}
97650
97651// AsConcurObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97652func (vtd VerticaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
97653	return nil, false
97654}
97655
97656// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
97657func (vtd VerticaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
97658	return nil, false
97659}
97660
97661// AsAmazonMWSObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97662func (vtd VerticaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
97663	return nil, false
97664}
97665
97666// AsHTTPDataset is the BasicDataset implementation for VerticaTableDataset.
97667func (vtd VerticaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
97668	return nil, false
97669}
97670
97671// AsAzureSearchIndexDataset is the BasicDataset implementation for VerticaTableDataset.
97672func (vtd VerticaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
97673	return nil, false
97674}
97675
97676// AsWebTableDataset is the BasicDataset implementation for VerticaTableDataset.
97677func (vtd VerticaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
97678	return nil, false
97679}
97680
97681// AsSQLServerTableDataset is the BasicDataset implementation for VerticaTableDataset.
97682func (vtd VerticaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
97683	return nil, false
97684}
97685
97686// AsSapEccResourceDataset is the BasicDataset implementation for VerticaTableDataset.
97687func (vtd VerticaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
97688	return nil, false
97689}
97690
97691// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for VerticaTableDataset.
97692func (vtd VerticaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
97693	return nil, false
97694}
97695
97696// AsSalesforceObjectDataset is the BasicDataset implementation for VerticaTableDataset.
97697func (vtd VerticaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
97698	return nil, false
97699}
97700
97701// AsRelationalTableDataset is the BasicDataset implementation for VerticaTableDataset.
97702func (vtd VerticaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
97703	return nil, false
97704}
97705
97706// AsAzureMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
97707func (vtd VerticaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
97708	return nil, false
97709}
97710
97711// AsOracleTableDataset is the BasicDataset implementation for VerticaTableDataset.
97712func (vtd VerticaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
97713	return nil, false
97714}
97715
97716// AsODataResourceDataset is the BasicDataset implementation for VerticaTableDataset.
97717func (vtd VerticaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
97718	return nil, false
97719}
97720
97721// AsMongoDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset.
97722func (vtd VerticaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
97723	return nil, false
97724}
97725
97726// AsFileShareDataset is the BasicDataset implementation for VerticaTableDataset.
97727func (vtd VerticaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
97728	return nil, false
97729}
97730
97731// AsAzureDataLakeStoreDataset is the BasicDataset implementation for VerticaTableDataset.
97732func (vtd VerticaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
97733	return nil, false
97734}
97735
97736// AsDynamicsEntityDataset is the BasicDataset implementation for VerticaTableDataset.
97737func (vtd VerticaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
97738	return nil, false
97739}
97740
97741// AsDocumentDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset.
97742func (vtd VerticaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
97743	return nil, false
97744}
97745
97746// AsCustomDataset is the BasicDataset implementation for VerticaTableDataset.
97747func (vtd VerticaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
97748	return nil, false
97749}
97750
97751// AsCassandraTableDataset is the BasicDataset implementation for VerticaTableDataset.
97752func (vtd VerticaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
97753	return nil, false
97754}
97755
97756// AsAzureSQLDWTableDataset is the BasicDataset implementation for VerticaTableDataset.
97757func (vtd VerticaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
97758	return nil, false
97759}
97760
97761// AsAzureSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
97762func (vtd VerticaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
97763	return nil, false
97764}
97765
97766// AsAzureTableDataset is the BasicDataset implementation for VerticaTableDataset.
97767func (vtd VerticaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
97768	return nil, false
97769}
97770
97771// AsAzureBlobDataset is the BasicDataset implementation for VerticaTableDataset.
97772func (vtd VerticaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
97773	return nil, false
97774}
97775
97776// AsAmazonS3Dataset is the BasicDataset implementation for VerticaTableDataset.
97777func (vtd VerticaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
97778	return nil, false
97779}
97780
97781// AsDataset is the BasicDataset implementation for VerticaTableDataset.
97782func (vtd VerticaTableDataset) AsDataset() (*Dataset, bool) {
97783	return nil, false
97784}
97785
97786// AsBasicDataset is the BasicDataset implementation for VerticaTableDataset.
97787func (vtd VerticaTableDataset) AsBasicDataset() (BasicDataset, bool) {
97788	return &vtd, true
97789}
97790
97791// UnmarshalJSON is the custom unmarshaler for VerticaTableDataset struct.
97792func (vtd *VerticaTableDataset) UnmarshalJSON(body []byte) error {
97793	var m map[string]*json.RawMessage
97794	err := json.Unmarshal(body, &m)
97795	if err != nil {
97796		return err
97797	}
97798	for k, v := range m {
97799		switch k {
97800		default:
97801			if v != nil {
97802				var additionalProperties interface{}
97803				err = json.Unmarshal(*v, &additionalProperties)
97804				if err != nil {
97805					return err
97806				}
97807				if vtd.AdditionalProperties == nil {
97808					vtd.AdditionalProperties = make(map[string]interface{})
97809				}
97810				vtd.AdditionalProperties[k] = additionalProperties
97811			}
97812		case "description":
97813			if v != nil {
97814				var description string
97815				err = json.Unmarshal(*v, &description)
97816				if err != nil {
97817					return err
97818				}
97819				vtd.Description = &description
97820			}
97821		case "structure":
97822			if v != nil {
97823				var structure interface{}
97824				err = json.Unmarshal(*v, &structure)
97825				if err != nil {
97826					return err
97827				}
97828				vtd.Structure = structure
97829			}
97830		case "linkedServiceName":
97831			if v != nil {
97832				var linkedServiceName LinkedServiceReference
97833				err = json.Unmarshal(*v, &linkedServiceName)
97834				if err != nil {
97835					return err
97836				}
97837				vtd.LinkedServiceName = &linkedServiceName
97838			}
97839		case "parameters":
97840			if v != nil {
97841				var parameters map[string]*ParameterSpecification
97842				err = json.Unmarshal(*v, &parameters)
97843				if err != nil {
97844					return err
97845				}
97846				vtd.Parameters = parameters
97847			}
97848		case "annotations":
97849			if v != nil {
97850				var annotations []interface{}
97851				err = json.Unmarshal(*v, &annotations)
97852				if err != nil {
97853					return err
97854				}
97855				vtd.Annotations = &annotations
97856			}
97857		case "type":
97858			if v != nil {
97859				var typeVar TypeBasicDataset
97860				err = json.Unmarshal(*v, &typeVar)
97861				if err != nil {
97862					return err
97863				}
97864				vtd.Type = typeVar
97865			}
97866		}
97867	}
97868
97869	return nil
97870}
97871
97872// WaitActivity this activity suspends pipeline execution for the specified interval.
97873type WaitActivity struct {
97874	// WaitActivityTypeProperties - Wait activity properties.
97875	*WaitActivityTypeProperties `json:"typeProperties,omitempty"`
97876	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
97877	AdditionalProperties map[string]interface{} `json:""`
97878	// Name - Activity name.
97879	Name *string `json:"name,omitempty"`
97880	// Description - Activity description.
97881	Description *string `json:"description,omitempty"`
97882	// DependsOn - Activity depends on condition.
97883	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
97884	// 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'
97885	Type TypeBasicActivity `json:"type,omitempty"`
97886}
97887
97888// MarshalJSON is the custom marshaler for WaitActivity.
97889func (wa WaitActivity) MarshalJSON() ([]byte, error) {
97890	wa.Type = TypeWait
97891	objectMap := make(map[string]interface{})
97892	if wa.WaitActivityTypeProperties != nil {
97893		objectMap["typeProperties"] = wa.WaitActivityTypeProperties
97894	}
97895	if wa.Name != nil {
97896		objectMap["name"] = wa.Name
97897	}
97898	if wa.Description != nil {
97899		objectMap["description"] = wa.Description
97900	}
97901	if wa.DependsOn != nil {
97902		objectMap["dependsOn"] = wa.DependsOn
97903	}
97904	if wa.Type != "" {
97905		objectMap["type"] = wa.Type
97906	}
97907	for k, v := range wa.AdditionalProperties {
97908		objectMap[k] = v
97909	}
97910	return json.Marshal(objectMap)
97911}
97912
97913// AsDatabricksNotebookActivity is the BasicActivity implementation for WaitActivity.
97914func (wa WaitActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
97915	return nil, false
97916}
97917
97918// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WaitActivity.
97919func (wa WaitActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
97920	return nil, false
97921}
97922
97923// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WaitActivity.
97924func (wa WaitActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
97925	return nil, false
97926}
97927
97928// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WaitActivity.
97929func (wa WaitActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
97930	return nil, false
97931}
97932
97933// AsGetMetadataActivity is the BasicActivity implementation for WaitActivity.
97934func (wa WaitActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
97935	return nil, false
97936}
97937
97938// AsWebActivity is the BasicActivity implementation for WaitActivity.
97939func (wa WaitActivity) AsWebActivity() (*WebActivity, bool) {
97940	return nil, false
97941}
97942
97943// AsLookupActivity is the BasicActivity implementation for WaitActivity.
97944func (wa WaitActivity) AsLookupActivity() (*LookupActivity, bool) {
97945	return nil, false
97946}
97947
97948// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WaitActivity.
97949func (wa WaitActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
97950	return nil, false
97951}
97952
97953// AsCustomActivity is the BasicActivity implementation for WaitActivity.
97954func (wa WaitActivity) AsCustomActivity() (*CustomActivity, bool) {
97955	return nil, false
97956}
97957
97958// AsExecuteSSISPackageActivity is the BasicActivity implementation for WaitActivity.
97959func (wa WaitActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
97960	return nil, false
97961}
97962
97963// AsHDInsightSparkActivity is the BasicActivity implementation for WaitActivity.
97964func (wa WaitActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
97965	return nil, false
97966}
97967
97968// AsHDInsightStreamingActivity is the BasicActivity implementation for WaitActivity.
97969func (wa WaitActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
97970	return nil, false
97971}
97972
97973// AsHDInsightMapReduceActivity is the BasicActivity implementation for WaitActivity.
97974func (wa WaitActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
97975	return nil, false
97976}
97977
97978// AsHDInsightPigActivity is the BasicActivity implementation for WaitActivity.
97979func (wa WaitActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
97980	return nil, false
97981}
97982
97983// AsHDInsightHiveActivity is the BasicActivity implementation for WaitActivity.
97984func (wa WaitActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
97985	return nil, false
97986}
97987
97988// AsCopyActivity is the BasicActivity implementation for WaitActivity.
97989func (wa WaitActivity) AsCopyActivity() (*CopyActivity, bool) {
97990	return nil, false
97991}
97992
97993// AsExecutionActivity is the BasicActivity implementation for WaitActivity.
97994func (wa WaitActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
97995	return nil, false
97996}
97997
97998// AsBasicExecutionActivity is the BasicActivity implementation for WaitActivity.
97999func (wa WaitActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
98000	return nil, false
98001}
98002
98003// AsFilterActivity is the BasicActivity implementation for WaitActivity.
98004func (wa WaitActivity) AsFilterActivity() (*FilterActivity, bool) {
98005	return nil, false
98006}
98007
98008// AsUntilActivity is the BasicActivity implementation for WaitActivity.
98009func (wa WaitActivity) AsUntilActivity() (*UntilActivity, bool) {
98010	return nil, false
98011}
98012
98013// AsWaitActivity is the BasicActivity implementation for WaitActivity.
98014func (wa WaitActivity) AsWaitActivity() (*WaitActivity, bool) {
98015	return &wa, true
98016}
98017
98018// AsForEachActivity is the BasicActivity implementation for WaitActivity.
98019func (wa WaitActivity) AsForEachActivity() (*ForEachActivity, bool) {
98020	return nil, false
98021}
98022
98023// AsIfConditionActivity is the BasicActivity implementation for WaitActivity.
98024func (wa WaitActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
98025	return nil, false
98026}
98027
98028// AsExecutePipelineActivity is the BasicActivity implementation for WaitActivity.
98029func (wa WaitActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
98030	return nil, false
98031}
98032
98033// AsControlActivity is the BasicActivity implementation for WaitActivity.
98034func (wa WaitActivity) AsControlActivity() (*ControlActivity, bool) {
98035	return nil, false
98036}
98037
98038// AsBasicControlActivity is the BasicActivity implementation for WaitActivity.
98039func (wa WaitActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
98040	return &wa, true
98041}
98042
98043// AsActivity is the BasicActivity implementation for WaitActivity.
98044func (wa WaitActivity) AsActivity() (*Activity, bool) {
98045	return nil, false
98046}
98047
98048// AsBasicActivity is the BasicActivity implementation for WaitActivity.
98049func (wa WaitActivity) AsBasicActivity() (BasicActivity, bool) {
98050	return &wa, true
98051}
98052
98053// UnmarshalJSON is the custom unmarshaler for WaitActivity struct.
98054func (wa *WaitActivity) UnmarshalJSON(body []byte) error {
98055	var m map[string]*json.RawMessage
98056	err := json.Unmarshal(body, &m)
98057	if err != nil {
98058		return err
98059	}
98060	for k, v := range m {
98061		switch k {
98062		case "typeProperties":
98063			if v != nil {
98064				var waitActivityTypeProperties WaitActivityTypeProperties
98065				err = json.Unmarshal(*v, &waitActivityTypeProperties)
98066				if err != nil {
98067					return err
98068				}
98069				wa.WaitActivityTypeProperties = &waitActivityTypeProperties
98070			}
98071		default:
98072			if v != nil {
98073				var additionalProperties interface{}
98074				err = json.Unmarshal(*v, &additionalProperties)
98075				if err != nil {
98076					return err
98077				}
98078				if wa.AdditionalProperties == nil {
98079					wa.AdditionalProperties = make(map[string]interface{})
98080				}
98081				wa.AdditionalProperties[k] = additionalProperties
98082			}
98083		case "name":
98084			if v != nil {
98085				var name string
98086				err = json.Unmarshal(*v, &name)
98087				if err != nil {
98088					return err
98089				}
98090				wa.Name = &name
98091			}
98092		case "description":
98093			if v != nil {
98094				var description string
98095				err = json.Unmarshal(*v, &description)
98096				if err != nil {
98097					return err
98098				}
98099				wa.Description = &description
98100			}
98101		case "dependsOn":
98102			if v != nil {
98103				var dependsOn []ActivityDependency
98104				err = json.Unmarshal(*v, &dependsOn)
98105				if err != nil {
98106					return err
98107				}
98108				wa.DependsOn = &dependsOn
98109			}
98110		case "type":
98111			if v != nil {
98112				var typeVar TypeBasicActivity
98113				err = json.Unmarshal(*v, &typeVar)
98114				if err != nil {
98115					return err
98116				}
98117				wa.Type = typeVar
98118			}
98119		}
98120	}
98121
98122	return nil
98123}
98124
98125// WaitActivityTypeProperties wait activity properties.
98126type WaitActivityTypeProperties struct {
98127	// WaitTimeInSeconds - Duration in seconds.
98128	WaitTimeInSeconds *int32 `json:"waitTimeInSeconds,omitempty"`
98129}
98130
98131// WebActivity web activity.
98132type WebActivity struct {
98133	// WebActivityTypeProperties - Web activity properties.
98134	*WebActivityTypeProperties `json:"typeProperties,omitempty"`
98135	// LinkedServiceName - Linked service reference.
98136	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
98137	// Policy - Activity policy.
98138	Policy *ActivityPolicy `json:"policy,omitempty"`
98139	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98140	AdditionalProperties map[string]interface{} `json:""`
98141	// Name - Activity name.
98142	Name *string `json:"name,omitempty"`
98143	// Description - Activity description.
98144	Description *string `json:"description,omitempty"`
98145	// DependsOn - Activity depends on condition.
98146	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
98147	// 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'
98148	Type TypeBasicActivity `json:"type,omitempty"`
98149}
98150
98151// MarshalJSON is the custom marshaler for WebActivity.
98152func (wa WebActivity) MarshalJSON() ([]byte, error) {
98153	wa.Type = TypeWebActivity
98154	objectMap := make(map[string]interface{})
98155	if wa.WebActivityTypeProperties != nil {
98156		objectMap["typeProperties"] = wa.WebActivityTypeProperties
98157	}
98158	if wa.LinkedServiceName != nil {
98159		objectMap["linkedServiceName"] = wa.LinkedServiceName
98160	}
98161	if wa.Policy != nil {
98162		objectMap["policy"] = wa.Policy
98163	}
98164	if wa.Name != nil {
98165		objectMap["name"] = wa.Name
98166	}
98167	if wa.Description != nil {
98168		objectMap["description"] = wa.Description
98169	}
98170	if wa.DependsOn != nil {
98171		objectMap["dependsOn"] = wa.DependsOn
98172	}
98173	if wa.Type != "" {
98174		objectMap["type"] = wa.Type
98175	}
98176	for k, v := range wa.AdditionalProperties {
98177		objectMap[k] = v
98178	}
98179	return json.Marshal(objectMap)
98180}
98181
98182// AsDatabricksNotebookActivity is the BasicActivity implementation for WebActivity.
98183func (wa WebActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
98184	return nil, false
98185}
98186
98187// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WebActivity.
98188func (wa WebActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
98189	return nil, false
98190}
98191
98192// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebActivity.
98193func (wa WebActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
98194	return nil, false
98195}
98196
98197// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WebActivity.
98198func (wa WebActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
98199	return nil, false
98200}
98201
98202// AsGetMetadataActivity is the BasicActivity implementation for WebActivity.
98203func (wa WebActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
98204	return nil, false
98205}
98206
98207// AsWebActivity is the BasicActivity implementation for WebActivity.
98208func (wa WebActivity) AsWebActivity() (*WebActivity, bool) {
98209	return &wa, true
98210}
98211
98212// AsLookupActivity is the BasicActivity implementation for WebActivity.
98213func (wa WebActivity) AsLookupActivity() (*LookupActivity, bool) {
98214	return nil, false
98215}
98216
98217// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WebActivity.
98218func (wa WebActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
98219	return nil, false
98220}
98221
98222// AsCustomActivity is the BasicActivity implementation for WebActivity.
98223func (wa WebActivity) AsCustomActivity() (*CustomActivity, bool) {
98224	return nil, false
98225}
98226
98227// AsExecuteSSISPackageActivity is the BasicActivity implementation for WebActivity.
98228func (wa WebActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
98229	return nil, false
98230}
98231
98232// AsHDInsightSparkActivity is the BasicActivity implementation for WebActivity.
98233func (wa WebActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
98234	return nil, false
98235}
98236
98237// AsHDInsightStreamingActivity is the BasicActivity implementation for WebActivity.
98238func (wa WebActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
98239	return nil, false
98240}
98241
98242// AsHDInsightMapReduceActivity is the BasicActivity implementation for WebActivity.
98243func (wa WebActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
98244	return nil, false
98245}
98246
98247// AsHDInsightPigActivity is the BasicActivity implementation for WebActivity.
98248func (wa WebActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
98249	return nil, false
98250}
98251
98252// AsHDInsightHiveActivity is the BasicActivity implementation for WebActivity.
98253func (wa WebActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
98254	return nil, false
98255}
98256
98257// AsCopyActivity is the BasicActivity implementation for WebActivity.
98258func (wa WebActivity) AsCopyActivity() (*CopyActivity, bool) {
98259	return nil, false
98260}
98261
98262// AsExecutionActivity is the BasicActivity implementation for WebActivity.
98263func (wa WebActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
98264	return nil, false
98265}
98266
98267// AsBasicExecutionActivity is the BasicActivity implementation for WebActivity.
98268func (wa WebActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
98269	return &wa, true
98270}
98271
98272// AsFilterActivity is the BasicActivity implementation for WebActivity.
98273func (wa WebActivity) AsFilterActivity() (*FilterActivity, bool) {
98274	return nil, false
98275}
98276
98277// AsUntilActivity is the BasicActivity implementation for WebActivity.
98278func (wa WebActivity) AsUntilActivity() (*UntilActivity, bool) {
98279	return nil, false
98280}
98281
98282// AsWaitActivity is the BasicActivity implementation for WebActivity.
98283func (wa WebActivity) AsWaitActivity() (*WaitActivity, bool) {
98284	return nil, false
98285}
98286
98287// AsForEachActivity is the BasicActivity implementation for WebActivity.
98288func (wa WebActivity) AsForEachActivity() (*ForEachActivity, bool) {
98289	return nil, false
98290}
98291
98292// AsIfConditionActivity is the BasicActivity implementation for WebActivity.
98293func (wa WebActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
98294	return nil, false
98295}
98296
98297// AsExecutePipelineActivity is the BasicActivity implementation for WebActivity.
98298func (wa WebActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
98299	return nil, false
98300}
98301
98302// AsControlActivity is the BasicActivity implementation for WebActivity.
98303func (wa WebActivity) AsControlActivity() (*ControlActivity, bool) {
98304	return nil, false
98305}
98306
98307// AsBasicControlActivity is the BasicActivity implementation for WebActivity.
98308func (wa WebActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
98309	return nil, false
98310}
98311
98312// AsActivity is the BasicActivity implementation for WebActivity.
98313func (wa WebActivity) AsActivity() (*Activity, bool) {
98314	return nil, false
98315}
98316
98317// AsBasicActivity is the BasicActivity implementation for WebActivity.
98318func (wa WebActivity) AsBasicActivity() (BasicActivity, bool) {
98319	return &wa, true
98320}
98321
98322// UnmarshalJSON is the custom unmarshaler for WebActivity struct.
98323func (wa *WebActivity) UnmarshalJSON(body []byte) error {
98324	var m map[string]*json.RawMessage
98325	err := json.Unmarshal(body, &m)
98326	if err != nil {
98327		return err
98328	}
98329	for k, v := range m {
98330		switch k {
98331		case "typeProperties":
98332			if v != nil {
98333				var webActivityTypeProperties WebActivityTypeProperties
98334				err = json.Unmarshal(*v, &webActivityTypeProperties)
98335				if err != nil {
98336					return err
98337				}
98338				wa.WebActivityTypeProperties = &webActivityTypeProperties
98339			}
98340		case "linkedServiceName":
98341			if v != nil {
98342				var linkedServiceName LinkedServiceReference
98343				err = json.Unmarshal(*v, &linkedServiceName)
98344				if err != nil {
98345					return err
98346				}
98347				wa.LinkedServiceName = &linkedServiceName
98348			}
98349		case "policy":
98350			if v != nil {
98351				var policy ActivityPolicy
98352				err = json.Unmarshal(*v, &policy)
98353				if err != nil {
98354					return err
98355				}
98356				wa.Policy = &policy
98357			}
98358		default:
98359			if v != nil {
98360				var additionalProperties interface{}
98361				err = json.Unmarshal(*v, &additionalProperties)
98362				if err != nil {
98363					return err
98364				}
98365				if wa.AdditionalProperties == nil {
98366					wa.AdditionalProperties = make(map[string]interface{})
98367				}
98368				wa.AdditionalProperties[k] = additionalProperties
98369			}
98370		case "name":
98371			if v != nil {
98372				var name string
98373				err = json.Unmarshal(*v, &name)
98374				if err != nil {
98375					return err
98376				}
98377				wa.Name = &name
98378			}
98379		case "description":
98380			if v != nil {
98381				var description string
98382				err = json.Unmarshal(*v, &description)
98383				if err != nil {
98384					return err
98385				}
98386				wa.Description = &description
98387			}
98388		case "dependsOn":
98389			if v != nil {
98390				var dependsOn []ActivityDependency
98391				err = json.Unmarshal(*v, &dependsOn)
98392				if err != nil {
98393					return err
98394				}
98395				wa.DependsOn = &dependsOn
98396			}
98397		case "type":
98398			if v != nil {
98399				var typeVar TypeBasicActivity
98400				err = json.Unmarshal(*v, &typeVar)
98401				if err != nil {
98402					return err
98403				}
98404				wa.Type = typeVar
98405			}
98406		}
98407	}
98408
98409	return nil
98410}
98411
98412// WebActivityAuthentication web activity authentication properties.
98413type WebActivityAuthentication struct {
98414	// Type - Web activity authentication (Basic/ClientCertificate/MSI)
98415	Type *string `json:"type,omitempty"`
98416	// Pfx - Base64-encoded contents of a PFX file.
98417	Pfx *SecureString `json:"pfx,omitempty"`
98418	// Username - Web activity authentication user name for basic authentication.
98419	Username *string `json:"username,omitempty"`
98420	// Password - Password for the PFX file or basic authentication.
98421	Password *SecureString `json:"password,omitempty"`
98422	// Resource - Resource for which Azure Auth token will be requested when using MSI Authentication.
98423	Resource *string `json:"resource,omitempty"`
98424}
98425
98426// WebActivityTypeProperties web activity type properties.
98427type WebActivityTypeProperties struct {
98428	// Method - Rest API method for target endpoint. Possible values include: 'GET', 'POST', 'PUT', 'DELETE'
98429	Method WebActivityMethod `json:"method,omitempty"`
98430	// URL - Web activity target endpoint and path. Type: string (or Expression with resultType string).
98431	URL interface{} `json:"url,omitempty"`
98432	// 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).
98433	Headers interface{} `json:"headers,omitempty"`
98434	// 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).
98435	Body interface{} `json:"body,omitempty"`
98436	// Authentication - Authentication method used for calling the endpoint.
98437	Authentication *WebActivityAuthentication `json:"authentication,omitempty"`
98438	// Datasets - List of datasets passed to web endpoint.
98439	Datasets *[]DatasetReference `json:"datasets,omitempty"`
98440	// LinkedServices - List of linked services passed to web endpoint.
98441	LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"`
98442}
98443
98444// WebAnonymousAuthentication a WebLinkedService that uses anonymous authentication to communicate with an
98445// HTTP endpoint.
98446type WebAnonymousAuthentication struct {
98447	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
98448	URL interface{} `json:"url,omitempty"`
98449	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
98450	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
98451}
98452
98453// MarshalJSON is the custom marshaler for WebAnonymousAuthentication.
98454func (waa WebAnonymousAuthentication) MarshalJSON() ([]byte, error) {
98455	waa.AuthenticationType = AuthenticationTypeAnonymous
98456	objectMap := make(map[string]interface{})
98457	if waa.URL != nil {
98458		objectMap["url"] = waa.URL
98459	}
98460	if waa.AuthenticationType != "" {
98461		objectMap["authenticationType"] = waa.AuthenticationType
98462	}
98463	return json.Marshal(objectMap)
98464}
98465
98466// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98467func (waa WebAnonymousAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
98468	return nil, false
98469}
98470
98471// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98472func (waa WebAnonymousAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
98473	return nil, false
98474}
98475
98476// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98477func (waa WebAnonymousAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
98478	return &waa, true
98479}
98480
98481// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98482func (waa WebAnonymousAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
98483	return nil, false
98484}
98485
98486// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
98487func (waa WebAnonymousAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
98488	return &waa, true
98489}
98490
98491// WebBasicAuthentication a WebLinkedService that uses basic authentication to communicate with an HTTP
98492// endpoint.
98493type WebBasicAuthentication struct {
98494	// Username - User name for Basic authentication. Type: string (or Expression with resultType string).
98495	Username interface{} `json:"username,omitempty"`
98496	// Password - The password for Basic authentication.
98497	Password BasicSecretBase `json:"password,omitempty"`
98498	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
98499	URL interface{} `json:"url,omitempty"`
98500	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
98501	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
98502}
98503
98504// MarshalJSON is the custom marshaler for WebBasicAuthentication.
98505func (wba WebBasicAuthentication) MarshalJSON() ([]byte, error) {
98506	wba.AuthenticationType = AuthenticationTypeBasic
98507	objectMap := make(map[string]interface{})
98508	if wba.Username != nil {
98509		objectMap["username"] = wba.Username
98510	}
98511	objectMap["password"] = wba.Password
98512	if wba.URL != nil {
98513		objectMap["url"] = wba.URL
98514	}
98515	if wba.AuthenticationType != "" {
98516		objectMap["authenticationType"] = wba.AuthenticationType
98517	}
98518	return json.Marshal(objectMap)
98519}
98520
98521// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98522func (wba WebBasicAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
98523	return nil, false
98524}
98525
98526// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98527func (wba WebBasicAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
98528	return &wba, true
98529}
98530
98531// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98532func (wba WebBasicAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
98533	return nil, false
98534}
98535
98536// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98537func (wba WebBasicAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
98538	return nil, false
98539}
98540
98541// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
98542func (wba WebBasicAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
98543	return &wba, true
98544}
98545
98546// UnmarshalJSON is the custom unmarshaler for WebBasicAuthentication struct.
98547func (wba *WebBasicAuthentication) UnmarshalJSON(body []byte) error {
98548	var m map[string]*json.RawMessage
98549	err := json.Unmarshal(body, &m)
98550	if err != nil {
98551		return err
98552	}
98553	for k, v := range m {
98554		switch k {
98555		case "username":
98556			if v != nil {
98557				var username interface{}
98558				err = json.Unmarshal(*v, &username)
98559				if err != nil {
98560					return err
98561				}
98562				wba.Username = username
98563			}
98564		case "password":
98565			if v != nil {
98566				password, err := unmarshalBasicSecretBase(*v)
98567				if err != nil {
98568					return err
98569				}
98570				wba.Password = password
98571			}
98572		case "url":
98573			if v != nil {
98574				var URL interface{}
98575				err = json.Unmarshal(*v, &URL)
98576				if err != nil {
98577					return err
98578				}
98579				wba.URL = URL
98580			}
98581		case "authenticationType":
98582			if v != nil {
98583				var authenticationType AuthenticationType
98584				err = json.Unmarshal(*v, &authenticationType)
98585				if err != nil {
98586					return err
98587				}
98588				wba.AuthenticationType = authenticationType
98589			}
98590		}
98591	}
98592
98593	return nil
98594}
98595
98596// WebClientCertificateAuthentication a WebLinkedService that uses client certificate based authentication
98597// to communicate with an HTTP endpoint. This scheme follows mutual authentication; the server must also
98598// provide valid credentials to the client.
98599type WebClientCertificateAuthentication struct {
98600	// Pfx - Base64-encoded contents of a PFX file.
98601	Pfx BasicSecretBase `json:"pfx,omitempty"`
98602	// Password - Password for the PFX file.
98603	Password BasicSecretBase `json:"password,omitempty"`
98604	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
98605	URL interface{} `json:"url,omitempty"`
98606	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
98607	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
98608}
98609
98610// MarshalJSON is the custom marshaler for WebClientCertificateAuthentication.
98611func (wcca WebClientCertificateAuthentication) MarshalJSON() ([]byte, error) {
98612	wcca.AuthenticationType = AuthenticationTypeClientCertificate
98613	objectMap := make(map[string]interface{})
98614	objectMap["pfx"] = wcca.Pfx
98615	objectMap["password"] = wcca.Password
98616	if wcca.URL != nil {
98617		objectMap["url"] = wcca.URL
98618	}
98619	if wcca.AuthenticationType != "" {
98620		objectMap["authenticationType"] = wcca.AuthenticationType
98621	}
98622	return json.Marshal(objectMap)
98623}
98624
98625// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98626func (wcca WebClientCertificateAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
98627	return &wcca, true
98628}
98629
98630// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98631func (wcca WebClientCertificateAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
98632	return nil, false
98633}
98634
98635// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98636func (wcca WebClientCertificateAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
98637	return nil, false
98638}
98639
98640// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98641func (wcca WebClientCertificateAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
98642	return nil, false
98643}
98644
98645// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
98646func (wcca WebClientCertificateAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
98647	return &wcca, true
98648}
98649
98650// UnmarshalJSON is the custom unmarshaler for WebClientCertificateAuthentication struct.
98651func (wcca *WebClientCertificateAuthentication) UnmarshalJSON(body []byte) error {
98652	var m map[string]*json.RawMessage
98653	err := json.Unmarshal(body, &m)
98654	if err != nil {
98655		return err
98656	}
98657	for k, v := range m {
98658		switch k {
98659		case "pfx":
98660			if v != nil {
98661				pfx, err := unmarshalBasicSecretBase(*v)
98662				if err != nil {
98663					return err
98664				}
98665				wcca.Pfx = pfx
98666			}
98667		case "password":
98668			if v != nil {
98669				password, err := unmarshalBasicSecretBase(*v)
98670				if err != nil {
98671					return err
98672				}
98673				wcca.Password = password
98674			}
98675		case "url":
98676			if v != nil {
98677				var URL interface{}
98678				err = json.Unmarshal(*v, &URL)
98679				if err != nil {
98680					return err
98681				}
98682				wcca.URL = URL
98683			}
98684		case "authenticationType":
98685			if v != nil {
98686				var authenticationType AuthenticationType
98687				err = json.Unmarshal(*v, &authenticationType)
98688				if err != nil {
98689					return err
98690				}
98691				wcca.AuthenticationType = authenticationType
98692			}
98693		}
98694	}
98695
98696	return nil
98697}
98698
98699// WebLinkedService web linked service.
98700type WebLinkedService struct {
98701	// TypeProperties - Web linked service properties.
98702	TypeProperties BasicWebLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
98703	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98704	AdditionalProperties map[string]interface{} `json:""`
98705	// ConnectVia - The integration runtime reference.
98706	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
98707	// Description - Linked service description.
98708	Description *string `json:"description,omitempty"`
98709	// Parameters - Parameters for linked service.
98710	Parameters map[string]*ParameterSpecification `json:"parameters"`
98711	// Annotations - List of tags that can be used for describing the Dataset.
98712	Annotations *[]interface{} `json:"annotations,omitempty"`
98713	// 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'
98714	Type TypeBasicLinkedService `json:"type,omitempty"`
98715}
98716
98717// MarshalJSON is the custom marshaler for WebLinkedService.
98718func (wls WebLinkedService) MarshalJSON() ([]byte, error) {
98719	wls.Type = TypeWeb
98720	objectMap := make(map[string]interface{})
98721	objectMap["typeProperties"] = wls.TypeProperties
98722	if wls.ConnectVia != nil {
98723		objectMap["connectVia"] = wls.ConnectVia
98724	}
98725	if wls.Description != nil {
98726		objectMap["description"] = wls.Description
98727	}
98728	if wls.Parameters != nil {
98729		objectMap["parameters"] = wls.Parameters
98730	}
98731	if wls.Annotations != nil {
98732		objectMap["annotations"] = wls.Annotations
98733	}
98734	if wls.Type != "" {
98735		objectMap["type"] = wls.Type
98736	}
98737	for k, v := range wls.AdditionalProperties {
98738		objectMap[k] = v
98739	}
98740	return json.Marshal(objectMap)
98741}
98742
98743// AsResponsysLinkedService is the BasicLinkedService implementation for WebLinkedService.
98744func (wls WebLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
98745	return nil, false
98746}
98747
98748// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for WebLinkedService.
98749func (wls WebLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
98750	return nil, false
98751}
98752
98753// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for WebLinkedService.
98754func (wls WebLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
98755	return nil, false
98756}
98757
98758// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for WebLinkedService.
98759func (wls WebLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
98760	return nil, false
98761}
98762
98763// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for WebLinkedService.
98764func (wls WebLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
98765	return nil, false
98766}
98767
98768// AsNetezzaLinkedService is the BasicLinkedService implementation for WebLinkedService.
98769func (wls WebLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
98770	return nil, false
98771}
98772
98773// AsVerticaLinkedService is the BasicLinkedService implementation for WebLinkedService.
98774func (wls WebLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
98775	return nil, false
98776}
98777
98778// AsZohoLinkedService is the BasicLinkedService implementation for WebLinkedService.
98779func (wls WebLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
98780	return nil, false
98781}
98782
98783// AsXeroLinkedService is the BasicLinkedService implementation for WebLinkedService.
98784func (wls WebLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
98785	return nil, false
98786}
98787
98788// AsSquareLinkedService is the BasicLinkedService implementation for WebLinkedService.
98789func (wls WebLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
98790	return nil, false
98791}
98792
98793// AsSparkLinkedService is the BasicLinkedService implementation for WebLinkedService.
98794func (wls WebLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
98795	return nil, false
98796}
98797
98798// AsShopifyLinkedService is the BasicLinkedService implementation for WebLinkedService.
98799func (wls WebLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
98800	return nil, false
98801}
98802
98803// AsServiceNowLinkedService is the BasicLinkedService implementation for WebLinkedService.
98804func (wls WebLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
98805	return nil, false
98806}
98807
98808// AsQuickBooksLinkedService is the BasicLinkedService implementation for WebLinkedService.
98809func (wls WebLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
98810	return nil, false
98811}
98812
98813// AsPrestoLinkedService is the BasicLinkedService implementation for WebLinkedService.
98814func (wls WebLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
98815	return nil, false
98816}
98817
98818// AsPhoenixLinkedService is the BasicLinkedService implementation for WebLinkedService.
98819func (wls WebLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
98820	return nil, false
98821}
98822
98823// AsPaypalLinkedService is the BasicLinkedService implementation for WebLinkedService.
98824func (wls WebLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
98825	return nil, false
98826}
98827
98828// AsMarketoLinkedService is the BasicLinkedService implementation for WebLinkedService.
98829func (wls WebLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
98830	return nil, false
98831}
98832
98833// AsMariaDBLinkedService is the BasicLinkedService implementation for WebLinkedService.
98834func (wls WebLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
98835	return nil, false
98836}
98837
98838// AsMagentoLinkedService is the BasicLinkedService implementation for WebLinkedService.
98839func (wls WebLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
98840	return nil, false
98841}
98842
98843// AsJiraLinkedService is the BasicLinkedService implementation for WebLinkedService.
98844func (wls WebLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
98845	return nil, false
98846}
98847
98848// AsImpalaLinkedService is the BasicLinkedService implementation for WebLinkedService.
98849func (wls WebLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
98850	return nil, false
98851}
98852
98853// AsHubspotLinkedService is the BasicLinkedService implementation for WebLinkedService.
98854func (wls WebLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
98855	return nil, false
98856}
98857
98858// AsHiveLinkedService is the BasicLinkedService implementation for WebLinkedService.
98859func (wls WebLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
98860	return nil, false
98861}
98862
98863// AsHBaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
98864func (wls WebLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
98865	return nil, false
98866}
98867
98868// AsGreenplumLinkedService is the BasicLinkedService implementation for WebLinkedService.
98869func (wls WebLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
98870	return nil, false
98871}
98872
98873// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for WebLinkedService.
98874func (wls WebLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
98875	return nil, false
98876}
98877
98878// AsEloquaLinkedService is the BasicLinkedService implementation for WebLinkedService.
98879func (wls WebLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
98880	return nil, false
98881}
98882
98883// AsDrillLinkedService is the BasicLinkedService implementation for WebLinkedService.
98884func (wls WebLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
98885	return nil, false
98886}
98887
98888// AsCouchbaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
98889func (wls WebLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
98890	return nil, false
98891}
98892
98893// AsConcurLinkedService is the BasicLinkedService implementation for WebLinkedService.
98894func (wls WebLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
98895	return nil, false
98896}
98897
98898// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
98899func (wls WebLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
98900	return nil, false
98901}
98902
98903// AsAmazonMWSLinkedService is the BasicLinkedService implementation for WebLinkedService.
98904func (wls WebLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
98905	return nil, false
98906}
98907
98908// AsSapHanaLinkedService is the BasicLinkedService implementation for WebLinkedService.
98909func (wls WebLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
98910	return nil, false
98911}
98912
98913// AsSapBWLinkedService is the BasicLinkedService implementation for WebLinkedService.
98914func (wls WebLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
98915	return nil, false
98916}
98917
98918// AsSftpServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
98919func (wls WebLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
98920	return nil, false
98921}
98922
98923// AsFtpServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
98924func (wls WebLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
98925	return nil, false
98926}
98927
98928// AsHTTPLinkedService is the BasicLinkedService implementation for WebLinkedService.
98929func (wls WebLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
98930	return nil, false
98931}
98932
98933// AsAzureSearchLinkedService is the BasicLinkedService implementation for WebLinkedService.
98934func (wls WebLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
98935	return nil, false
98936}
98937
98938// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for WebLinkedService.
98939func (wls WebLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
98940	return nil, false
98941}
98942
98943// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for WebLinkedService.
98944func (wls WebLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
98945	return nil, false
98946}
98947
98948// AsAmazonS3LinkedService is the BasicLinkedService implementation for WebLinkedService.
98949func (wls WebLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
98950	return nil, false
98951}
98952
98953// AsSapEccLinkedService is the BasicLinkedService implementation for WebLinkedService.
98954func (wls WebLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
98955	return nil, false
98956}
98957
98958// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for WebLinkedService.
98959func (wls WebLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
98960	return nil, false
98961}
98962
98963// AsSalesforceLinkedService is the BasicLinkedService implementation for WebLinkedService.
98964func (wls WebLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
98965	return nil, false
98966}
98967
98968// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for WebLinkedService.
98969func (wls WebLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
98970	return nil, false
98971}
98972
98973// AsMongoDbLinkedService is the BasicLinkedService implementation for WebLinkedService.
98974func (wls WebLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
98975	return nil, false
98976}
98977
98978// AsCassandraLinkedService is the BasicLinkedService implementation for WebLinkedService.
98979func (wls WebLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
98980	return nil, false
98981}
98982
98983// AsWebLinkedService is the BasicLinkedService implementation for WebLinkedService.
98984func (wls WebLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
98985	return &wls, true
98986}
98987
98988// AsODataLinkedService is the BasicLinkedService implementation for WebLinkedService.
98989func (wls WebLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
98990	return nil, false
98991}
98992
98993// AsHdfsLinkedService is the BasicLinkedService implementation for WebLinkedService.
98994func (wls WebLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
98995	return nil, false
98996}
98997
98998// AsOdbcLinkedService is the BasicLinkedService implementation for WebLinkedService.
98999func (wls WebLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
99000	return nil, false
99001}
99002
99003// AsAzureMLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99004func (wls WebLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
99005	return nil, false
99006}
99007
99008// AsTeradataLinkedService is the BasicLinkedService implementation for WebLinkedService.
99009func (wls WebLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
99010	return nil, false
99011}
99012
99013// AsDb2LinkedService is the BasicLinkedService implementation for WebLinkedService.
99014func (wls WebLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
99015	return nil, false
99016}
99017
99018// AsSybaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
99019func (wls WebLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
99020	return nil, false
99021}
99022
99023// AsPostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99024func (wls WebLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
99025	return nil, false
99026}
99027
99028// AsMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99029func (wls WebLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
99030	return nil, false
99031}
99032
99033// AsAzureMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
99034func (wls WebLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
99035	return nil, false
99036}
99037
99038// AsOracleLinkedService is the BasicLinkedService implementation for WebLinkedService.
99039func (wls WebLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
99040	return nil, false
99041}
99042
99043// AsFileServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
99044func (wls WebLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
99045	return nil, false
99046}
99047
99048// AsHDInsightLinkedService is the BasicLinkedService implementation for WebLinkedService.
99049func (wls WebLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
99050	return nil, false
99051}
99052
99053// AsDynamicsLinkedService is the BasicLinkedService implementation for WebLinkedService.
99054func (wls WebLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
99055	return nil, false
99056}
99057
99058// AsCosmosDbLinkedService is the BasicLinkedService implementation for WebLinkedService.
99059func (wls WebLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
99060	return nil, false
99061}
99062
99063// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for WebLinkedService.
99064func (wls WebLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
99065	return nil, false
99066}
99067
99068// AsAzureBatchLinkedService is the BasicLinkedService implementation for WebLinkedService.
99069func (wls WebLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
99070	return nil, false
99071}
99072
99073// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
99074func (wls WebLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
99075	return nil, false
99076}
99077
99078// AsSQLServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
99079func (wls WebLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
99080	return nil, false
99081}
99082
99083// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for WebLinkedService.
99084func (wls WebLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
99085	return nil, false
99086}
99087
99088// AsAzureStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
99089func (wls WebLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
99090	return nil, false
99091}
99092
99093// AsLinkedService is the BasicLinkedService implementation for WebLinkedService.
99094func (wls WebLinkedService) AsLinkedService() (*LinkedService, bool) {
99095	return nil, false
99096}
99097
99098// AsBasicLinkedService is the BasicLinkedService implementation for WebLinkedService.
99099func (wls WebLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
99100	return &wls, true
99101}
99102
99103// UnmarshalJSON is the custom unmarshaler for WebLinkedService struct.
99104func (wls *WebLinkedService) UnmarshalJSON(body []byte) error {
99105	var m map[string]*json.RawMessage
99106	err := json.Unmarshal(body, &m)
99107	if err != nil {
99108		return err
99109	}
99110	for k, v := range m {
99111		switch k {
99112		case "typeProperties":
99113			if v != nil {
99114				typeProperties, err := unmarshalBasicWebLinkedServiceTypeProperties(*v)
99115				if err != nil {
99116					return err
99117				}
99118				wls.TypeProperties = typeProperties
99119			}
99120		default:
99121			if v != nil {
99122				var additionalProperties interface{}
99123				err = json.Unmarshal(*v, &additionalProperties)
99124				if err != nil {
99125					return err
99126				}
99127				if wls.AdditionalProperties == nil {
99128					wls.AdditionalProperties = make(map[string]interface{})
99129				}
99130				wls.AdditionalProperties[k] = additionalProperties
99131			}
99132		case "connectVia":
99133			if v != nil {
99134				var connectVia IntegrationRuntimeReference
99135				err = json.Unmarshal(*v, &connectVia)
99136				if err != nil {
99137					return err
99138				}
99139				wls.ConnectVia = &connectVia
99140			}
99141		case "description":
99142			if v != nil {
99143				var description string
99144				err = json.Unmarshal(*v, &description)
99145				if err != nil {
99146					return err
99147				}
99148				wls.Description = &description
99149			}
99150		case "parameters":
99151			if v != nil {
99152				var parameters map[string]*ParameterSpecification
99153				err = json.Unmarshal(*v, &parameters)
99154				if err != nil {
99155					return err
99156				}
99157				wls.Parameters = parameters
99158			}
99159		case "annotations":
99160			if v != nil {
99161				var annotations []interface{}
99162				err = json.Unmarshal(*v, &annotations)
99163				if err != nil {
99164					return err
99165				}
99166				wls.Annotations = &annotations
99167			}
99168		case "type":
99169			if v != nil {
99170				var typeVar TypeBasicLinkedService
99171				err = json.Unmarshal(*v, &typeVar)
99172				if err != nil {
99173					return err
99174				}
99175				wls.Type = typeVar
99176			}
99177		}
99178	}
99179
99180	return nil
99181}
99182
99183// BasicWebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is
99184// polymorphic based on authenticationType, so not flattened in SDK models.
99185type BasicWebLinkedServiceTypeProperties interface {
99186	AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool)
99187	AsWebBasicAuthentication() (*WebBasicAuthentication, bool)
99188	AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool)
99189	AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool)
99190}
99191
99192// WebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is
99193// polymorphic based on authenticationType, so not flattened in SDK models.
99194type WebLinkedServiceTypeProperties struct {
99195	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
99196	URL interface{} `json:"url,omitempty"`
99197	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
99198	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
99199}
99200
99201func unmarshalBasicWebLinkedServiceTypeProperties(body []byte) (BasicWebLinkedServiceTypeProperties, error) {
99202	var m map[string]interface{}
99203	err := json.Unmarshal(body, &m)
99204	if err != nil {
99205		return nil, err
99206	}
99207
99208	switch m["authenticationType"] {
99209	case string(AuthenticationTypeClientCertificate):
99210		var wcca WebClientCertificateAuthentication
99211		err := json.Unmarshal(body, &wcca)
99212		return wcca, err
99213	case string(AuthenticationTypeBasic):
99214		var wba WebBasicAuthentication
99215		err := json.Unmarshal(body, &wba)
99216		return wba, err
99217	case string(AuthenticationTypeAnonymous):
99218		var waa WebAnonymousAuthentication
99219		err := json.Unmarshal(body, &waa)
99220		return waa, err
99221	default:
99222		var wlstp WebLinkedServiceTypeProperties
99223		err := json.Unmarshal(body, &wlstp)
99224		return wlstp, err
99225	}
99226}
99227func unmarshalBasicWebLinkedServiceTypePropertiesArray(body []byte) ([]BasicWebLinkedServiceTypeProperties, error) {
99228	var rawMessages []*json.RawMessage
99229	err := json.Unmarshal(body, &rawMessages)
99230	if err != nil {
99231		return nil, err
99232	}
99233
99234	wlstpArray := make([]BasicWebLinkedServiceTypeProperties, len(rawMessages))
99235
99236	for index, rawMessage := range rawMessages {
99237		wlstp, err := unmarshalBasicWebLinkedServiceTypeProperties(*rawMessage)
99238		if err != nil {
99239			return nil, err
99240		}
99241		wlstpArray[index] = wlstp
99242	}
99243	return wlstpArray, nil
99244}
99245
99246// MarshalJSON is the custom marshaler for WebLinkedServiceTypeProperties.
99247func (wlstp WebLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) {
99248	wlstp.AuthenticationType = AuthenticationTypeWebLinkedServiceTypeProperties
99249	objectMap := make(map[string]interface{})
99250	if wlstp.URL != nil {
99251		objectMap["url"] = wlstp.URL
99252	}
99253	if wlstp.AuthenticationType != "" {
99254		objectMap["authenticationType"] = wlstp.AuthenticationType
99255	}
99256	return json.Marshal(objectMap)
99257}
99258
99259// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99260func (wlstp WebLinkedServiceTypeProperties) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
99261	return nil, false
99262}
99263
99264// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99265func (wlstp WebLinkedServiceTypeProperties) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
99266	return nil, false
99267}
99268
99269// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99270func (wlstp WebLinkedServiceTypeProperties) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
99271	return nil, false
99272}
99273
99274// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99275func (wlstp WebLinkedServiceTypeProperties) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
99276	return &wlstp, true
99277}
99278
99279// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
99280func (wlstp WebLinkedServiceTypeProperties) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
99281	return &wlstp, true
99282}
99283
99284// WebSource a copy activity source for web page table.
99285type WebSource struct {
99286	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
99287	AdditionalProperties map[string]interface{} `json:""`
99288	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
99289	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
99290	// 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])).
99291	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
99292	// 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'
99293	Type TypeBasicCopySource `json:"type,omitempty"`
99294}
99295
99296// MarshalJSON is the custom marshaler for WebSource.
99297func (ws WebSource) MarshalJSON() ([]byte, error) {
99298	ws.Type = TypeWebSource
99299	objectMap := make(map[string]interface{})
99300	if ws.SourceRetryCount != nil {
99301		objectMap["sourceRetryCount"] = ws.SourceRetryCount
99302	}
99303	if ws.SourceRetryWait != nil {
99304		objectMap["sourceRetryWait"] = ws.SourceRetryWait
99305	}
99306	if ws.Type != "" {
99307		objectMap["type"] = ws.Type
99308	}
99309	for k, v := range ws.AdditionalProperties {
99310		objectMap[k] = v
99311	}
99312	return json.Marshal(objectMap)
99313}
99314
99315// AsAmazonRedshiftSource is the BasicCopySource implementation for WebSource.
99316func (ws WebSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
99317	return nil, false
99318}
99319
99320// AsResponsysSource is the BasicCopySource implementation for WebSource.
99321func (ws WebSource) AsResponsysSource() (*ResponsysSource, bool) {
99322	return nil, false
99323}
99324
99325// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for WebSource.
99326func (ws WebSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
99327	return nil, false
99328}
99329
99330// AsVerticaSource is the BasicCopySource implementation for WebSource.
99331func (ws WebSource) AsVerticaSource() (*VerticaSource, bool) {
99332	return nil, false
99333}
99334
99335// AsNetezzaSource is the BasicCopySource implementation for WebSource.
99336func (ws WebSource) AsNetezzaSource() (*NetezzaSource, bool) {
99337	return nil, false
99338}
99339
99340// AsZohoSource is the BasicCopySource implementation for WebSource.
99341func (ws WebSource) AsZohoSource() (*ZohoSource, bool) {
99342	return nil, false
99343}
99344
99345// AsXeroSource is the BasicCopySource implementation for WebSource.
99346func (ws WebSource) AsXeroSource() (*XeroSource, bool) {
99347	return nil, false
99348}
99349
99350// AsSquareSource is the BasicCopySource implementation for WebSource.
99351func (ws WebSource) AsSquareSource() (*SquareSource, bool) {
99352	return nil, false
99353}
99354
99355// AsSparkSource is the BasicCopySource implementation for WebSource.
99356func (ws WebSource) AsSparkSource() (*SparkSource, bool) {
99357	return nil, false
99358}
99359
99360// AsShopifySource is the BasicCopySource implementation for WebSource.
99361func (ws WebSource) AsShopifySource() (*ShopifySource, bool) {
99362	return nil, false
99363}
99364
99365// AsServiceNowSource is the BasicCopySource implementation for WebSource.
99366func (ws WebSource) AsServiceNowSource() (*ServiceNowSource, bool) {
99367	return nil, false
99368}
99369
99370// AsQuickBooksSource is the BasicCopySource implementation for WebSource.
99371func (ws WebSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
99372	return nil, false
99373}
99374
99375// AsPrestoSource is the BasicCopySource implementation for WebSource.
99376func (ws WebSource) AsPrestoSource() (*PrestoSource, bool) {
99377	return nil, false
99378}
99379
99380// AsPhoenixSource is the BasicCopySource implementation for WebSource.
99381func (ws WebSource) AsPhoenixSource() (*PhoenixSource, bool) {
99382	return nil, false
99383}
99384
99385// AsPaypalSource is the BasicCopySource implementation for WebSource.
99386func (ws WebSource) AsPaypalSource() (*PaypalSource, bool) {
99387	return nil, false
99388}
99389
99390// AsMarketoSource is the BasicCopySource implementation for WebSource.
99391func (ws WebSource) AsMarketoSource() (*MarketoSource, bool) {
99392	return nil, false
99393}
99394
99395// AsMariaDBSource is the BasicCopySource implementation for WebSource.
99396func (ws WebSource) AsMariaDBSource() (*MariaDBSource, bool) {
99397	return nil, false
99398}
99399
99400// AsMagentoSource is the BasicCopySource implementation for WebSource.
99401func (ws WebSource) AsMagentoSource() (*MagentoSource, bool) {
99402	return nil, false
99403}
99404
99405// AsJiraSource is the BasicCopySource implementation for WebSource.
99406func (ws WebSource) AsJiraSource() (*JiraSource, bool) {
99407	return nil, false
99408}
99409
99410// AsImpalaSource is the BasicCopySource implementation for WebSource.
99411func (ws WebSource) AsImpalaSource() (*ImpalaSource, bool) {
99412	return nil, false
99413}
99414
99415// AsHubspotSource is the BasicCopySource implementation for WebSource.
99416func (ws WebSource) AsHubspotSource() (*HubspotSource, bool) {
99417	return nil, false
99418}
99419
99420// AsHiveSource is the BasicCopySource implementation for WebSource.
99421func (ws WebSource) AsHiveSource() (*HiveSource, bool) {
99422	return nil, false
99423}
99424
99425// AsHBaseSource is the BasicCopySource implementation for WebSource.
99426func (ws WebSource) AsHBaseSource() (*HBaseSource, bool) {
99427	return nil, false
99428}
99429
99430// AsGreenplumSource is the BasicCopySource implementation for WebSource.
99431func (ws WebSource) AsGreenplumSource() (*GreenplumSource, bool) {
99432	return nil, false
99433}
99434
99435// AsGoogleBigQuerySource is the BasicCopySource implementation for WebSource.
99436func (ws WebSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
99437	return nil, false
99438}
99439
99440// AsEloquaSource is the BasicCopySource implementation for WebSource.
99441func (ws WebSource) AsEloquaSource() (*EloquaSource, bool) {
99442	return nil, false
99443}
99444
99445// AsDrillSource is the BasicCopySource implementation for WebSource.
99446func (ws WebSource) AsDrillSource() (*DrillSource, bool) {
99447	return nil, false
99448}
99449
99450// AsCouchbaseSource is the BasicCopySource implementation for WebSource.
99451func (ws WebSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
99452	return nil, false
99453}
99454
99455// AsConcurSource is the BasicCopySource implementation for WebSource.
99456func (ws WebSource) AsConcurSource() (*ConcurSource, bool) {
99457	return nil, false
99458}
99459
99460// AsAzurePostgreSQLSource is the BasicCopySource implementation for WebSource.
99461func (ws WebSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
99462	return nil, false
99463}
99464
99465// AsAmazonMWSSource is the BasicCopySource implementation for WebSource.
99466func (ws WebSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
99467	return nil, false
99468}
99469
99470// AsHTTPSource is the BasicCopySource implementation for WebSource.
99471func (ws WebSource) AsHTTPSource() (*HTTPSource, bool) {
99472	return nil, false
99473}
99474
99475// AsAzureDataLakeStoreSource is the BasicCopySource implementation for WebSource.
99476func (ws WebSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
99477	return nil, false
99478}
99479
99480// AsMongoDbSource is the BasicCopySource implementation for WebSource.
99481func (ws WebSource) AsMongoDbSource() (*MongoDbSource, bool) {
99482	return nil, false
99483}
99484
99485// AsCassandraSource is the BasicCopySource implementation for WebSource.
99486func (ws WebSource) AsCassandraSource() (*CassandraSource, bool) {
99487	return nil, false
99488}
99489
99490// AsWebSource is the BasicCopySource implementation for WebSource.
99491func (ws WebSource) AsWebSource() (*WebSource, bool) {
99492	return &ws, true
99493}
99494
99495// AsOracleSource is the BasicCopySource implementation for WebSource.
99496func (ws WebSource) AsOracleSource() (*OracleSource, bool) {
99497	return nil, false
99498}
99499
99500// AsAzureMySQLSource is the BasicCopySource implementation for WebSource.
99501func (ws WebSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
99502	return nil, false
99503}
99504
99505// AsHdfsSource is the BasicCopySource implementation for WebSource.
99506func (ws WebSource) AsHdfsSource() (*HdfsSource, bool) {
99507	return nil, false
99508}
99509
99510// AsFileSystemSource is the BasicCopySource implementation for WebSource.
99511func (ws WebSource) AsFileSystemSource() (*FileSystemSource, bool) {
99512	return nil, false
99513}
99514
99515// AsSQLDWSource is the BasicCopySource implementation for WebSource.
99516func (ws WebSource) AsSQLDWSource() (*SQLDWSource, bool) {
99517	return nil, false
99518}
99519
99520// AsSQLSource is the BasicCopySource implementation for WebSource.
99521func (ws WebSource) AsSQLSource() (*SQLSource, bool) {
99522	return nil, false
99523}
99524
99525// AsSapEccSource is the BasicCopySource implementation for WebSource.
99526func (ws WebSource) AsSapEccSource() (*SapEccSource, bool) {
99527	return nil, false
99528}
99529
99530// AsSapCloudForCustomerSource is the BasicCopySource implementation for WebSource.
99531func (ws WebSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
99532	return nil, false
99533}
99534
99535// AsSalesforceSource is the BasicCopySource implementation for WebSource.
99536func (ws WebSource) AsSalesforceSource() (*SalesforceSource, bool) {
99537	return nil, false
99538}
99539
99540// AsRelationalSource is the BasicCopySource implementation for WebSource.
99541func (ws WebSource) AsRelationalSource() (*RelationalSource, bool) {
99542	return nil, false
99543}
99544
99545// AsDynamicsSource is the BasicCopySource implementation for WebSource.
99546func (ws WebSource) AsDynamicsSource() (*DynamicsSource, bool) {
99547	return nil, false
99548}
99549
99550// AsDocumentDbCollectionSource is the BasicCopySource implementation for WebSource.
99551func (ws WebSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
99552	return nil, false
99553}
99554
99555// AsBlobSource is the BasicCopySource implementation for WebSource.
99556func (ws WebSource) AsBlobSource() (*BlobSource, bool) {
99557	return nil, false
99558}
99559
99560// AsAzureTableSource is the BasicCopySource implementation for WebSource.
99561func (ws WebSource) AsAzureTableSource() (*AzureTableSource, bool) {
99562	return nil, false
99563}
99564
99565// AsCopySource is the BasicCopySource implementation for WebSource.
99566func (ws WebSource) AsCopySource() (*CopySource, bool) {
99567	return nil, false
99568}
99569
99570// AsBasicCopySource is the BasicCopySource implementation for WebSource.
99571func (ws WebSource) AsBasicCopySource() (BasicCopySource, bool) {
99572	return &ws, true
99573}
99574
99575// UnmarshalJSON is the custom unmarshaler for WebSource struct.
99576func (ws *WebSource) UnmarshalJSON(body []byte) error {
99577	var m map[string]*json.RawMessage
99578	err := json.Unmarshal(body, &m)
99579	if err != nil {
99580		return err
99581	}
99582	for k, v := range m {
99583		switch k {
99584		default:
99585			if v != nil {
99586				var additionalProperties interface{}
99587				err = json.Unmarshal(*v, &additionalProperties)
99588				if err != nil {
99589					return err
99590				}
99591				if ws.AdditionalProperties == nil {
99592					ws.AdditionalProperties = make(map[string]interface{})
99593				}
99594				ws.AdditionalProperties[k] = additionalProperties
99595			}
99596		case "sourceRetryCount":
99597			if v != nil {
99598				var sourceRetryCount interface{}
99599				err = json.Unmarshal(*v, &sourceRetryCount)
99600				if err != nil {
99601					return err
99602				}
99603				ws.SourceRetryCount = sourceRetryCount
99604			}
99605		case "sourceRetryWait":
99606			if v != nil {
99607				var sourceRetryWait interface{}
99608				err = json.Unmarshal(*v, &sourceRetryWait)
99609				if err != nil {
99610					return err
99611				}
99612				ws.SourceRetryWait = sourceRetryWait
99613			}
99614		case "type":
99615			if v != nil {
99616				var typeVar TypeBasicCopySource
99617				err = json.Unmarshal(*v, &typeVar)
99618				if err != nil {
99619					return err
99620				}
99621				ws.Type = typeVar
99622			}
99623		}
99624	}
99625
99626	return nil
99627}
99628
99629// WebTableDataset the dataset points to a HTML table in the web page.
99630type WebTableDataset struct {
99631	// WebTableDatasetTypeProperties - Web table dataset properties.
99632	*WebTableDatasetTypeProperties `json:"typeProperties,omitempty"`
99633	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
99634	AdditionalProperties map[string]interface{} `json:""`
99635	// Description - Dataset description.
99636	Description *string `json:"description,omitempty"`
99637	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
99638	Structure interface{} `json:"structure,omitempty"`
99639	// LinkedServiceName - Linked service reference.
99640	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
99641	// Parameters - Parameters for dataset.
99642	Parameters map[string]*ParameterSpecification `json:"parameters"`
99643	// Annotations - List of tags that can be used for describing the Dataset.
99644	Annotations *[]interface{} `json:"annotations,omitempty"`
99645	// 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'
99646	Type TypeBasicDataset `json:"type,omitempty"`
99647}
99648
99649// MarshalJSON is the custom marshaler for WebTableDataset.
99650func (wtd WebTableDataset) MarshalJSON() ([]byte, error) {
99651	wtd.Type = TypeWebTable
99652	objectMap := make(map[string]interface{})
99653	if wtd.WebTableDatasetTypeProperties != nil {
99654		objectMap["typeProperties"] = wtd.WebTableDatasetTypeProperties
99655	}
99656	if wtd.Description != nil {
99657		objectMap["description"] = wtd.Description
99658	}
99659	if wtd.Structure != nil {
99660		objectMap["structure"] = wtd.Structure
99661	}
99662	if wtd.LinkedServiceName != nil {
99663		objectMap["linkedServiceName"] = wtd.LinkedServiceName
99664	}
99665	if wtd.Parameters != nil {
99666		objectMap["parameters"] = wtd.Parameters
99667	}
99668	if wtd.Annotations != nil {
99669		objectMap["annotations"] = wtd.Annotations
99670	}
99671	if wtd.Type != "" {
99672		objectMap["type"] = wtd.Type
99673	}
99674	for k, v := range wtd.AdditionalProperties {
99675		objectMap[k] = v
99676	}
99677	return json.Marshal(objectMap)
99678}
99679
99680// AsResponsysObjectDataset is the BasicDataset implementation for WebTableDataset.
99681func (wtd WebTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
99682	return nil, false
99683}
99684
99685// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for WebTableDataset.
99686func (wtd WebTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
99687	return nil, false
99688}
99689
99690// AsVerticaTableDataset is the BasicDataset implementation for WebTableDataset.
99691func (wtd WebTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
99692	return nil, false
99693}
99694
99695// AsNetezzaTableDataset is the BasicDataset implementation for WebTableDataset.
99696func (wtd WebTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
99697	return nil, false
99698}
99699
99700// AsZohoObjectDataset is the BasicDataset implementation for WebTableDataset.
99701func (wtd WebTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
99702	return nil, false
99703}
99704
99705// AsXeroObjectDataset is the BasicDataset implementation for WebTableDataset.
99706func (wtd WebTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
99707	return nil, false
99708}
99709
99710// AsSquareObjectDataset is the BasicDataset implementation for WebTableDataset.
99711func (wtd WebTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
99712	return nil, false
99713}
99714
99715// AsSparkObjectDataset is the BasicDataset implementation for WebTableDataset.
99716func (wtd WebTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
99717	return nil, false
99718}
99719
99720// AsShopifyObjectDataset is the BasicDataset implementation for WebTableDataset.
99721func (wtd WebTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
99722	return nil, false
99723}
99724
99725// AsServiceNowObjectDataset is the BasicDataset implementation for WebTableDataset.
99726func (wtd WebTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
99727	return nil, false
99728}
99729
99730// AsQuickBooksObjectDataset is the BasicDataset implementation for WebTableDataset.
99731func (wtd WebTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
99732	return nil, false
99733}
99734
99735// AsPrestoObjectDataset is the BasicDataset implementation for WebTableDataset.
99736func (wtd WebTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
99737	return nil, false
99738}
99739
99740// AsPhoenixObjectDataset is the BasicDataset implementation for WebTableDataset.
99741func (wtd WebTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
99742	return nil, false
99743}
99744
99745// AsPaypalObjectDataset is the BasicDataset implementation for WebTableDataset.
99746func (wtd WebTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
99747	return nil, false
99748}
99749
99750// AsMarketoObjectDataset is the BasicDataset implementation for WebTableDataset.
99751func (wtd WebTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
99752	return nil, false
99753}
99754
99755// AsMariaDBTableDataset is the BasicDataset implementation for WebTableDataset.
99756func (wtd WebTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
99757	return nil, false
99758}
99759
99760// AsMagentoObjectDataset is the BasicDataset implementation for WebTableDataset.
99761func (wtd WebTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
99762	return nil, false
99763}
99764
99765// AsJiraObjectDataset is the BasicDataset implementation for WebTableDataset.
99766func (wtd WebTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
99767	return nil, false
99768}
99769
99770// AsImpalaObjectDataset is the BasicDataset implementation for WebTableDataset.
99771func (wtd WebTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
99772	return nil, false
99773}
99774
99775// AsHubspotObjectDataset is the BasicDataset implementation for WebTableDataset.
99776func (wtd WebTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
99777	return nil, false
99778}
99779
99780// AsHiveObjectDataset is the BasicDataset implementation for WebTableDataset.
99781func (wtd WebTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
99782	return nil, false
99783}
99784
99785// AsHBaseObjectDataset is the BasicDataset implementation for WebTableDataset.
99786func (wtd WebTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
99787	return nil, false
99788}
99789
99790// AsGreenplumTableDataset is the BasicDataset implementation for WebTableDataset.
99791func (wtd WebTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
99792	return nil, false
99793}
99794
99795// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for WebTableDataset.
99796func (wtd WebTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
99797	return nil, false
99798}
99799
99800// AsEloquaObjectDataset is the BasicDataset implementation for WebTableDataset.
99801func (wtd WebTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
99802	return nil, false
99803}
99804
99805// AsDrillTableDataset is the BasicDataset implementation for WebTableDataset.
99806func (wtd WebTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
99807	return nil, false
99808}
99809
99810// AsCouchbaseTableDataset is the BasicDataset implementation for WebTableDataset.
99811func (wtd WebTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
99812	return nil, false
99813}
99814
99815// AsConcurObjectDataset is the BasicDataset implementation for WebTableDataset.
99816func (wtd WebTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
99817	return nil, false
99818}
99819
99820// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for WebTableDataset.
99821func (wtd WebTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
99822	return nil, false
99823}
99824
99825// AsAmazonMWSObjectDataset is the BasicDataset implementation for WebTableDataset.
99826func (wtd WebTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
99827	return nil, false
99828}
99829
99830// AsHTTPDataset is the BasicDataset implementation for WebTableDataset.
99831func (wtd WebTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
99832	return nil, false
99833}
99834
99835// AsAzureSearchIndexDataset is the BasicDataset implementation for WebTableDataset.
99836func (wtd WebTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
99837	return nil, false
99838}
99839
99840// AsWebTableDataset is the BasicDataset implementation for WebTableDataset.
99841func (wtd WebTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
99842	return &wtd, true
99843}
99844
99845// AsSQLServerTableDataset is the BasicDataset implementation for WebTableDataset.
99846func (wtd WebTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
99847	return nil, false
99848}
99849
99850// AsSapEccResourceDataset is the BasicDataset implementation for WebTableDataset.
99851func (wtd WebTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
99852	return nil, false
99853}
99854
99855// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for WebTableDataset.
99856func (wtd WebTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
99857	return nil, false
99858}
99859
99860// AsSalesforceObjectDataset is the BasicDataset implementation for WebTableDataset.
99861func (wtd WebTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
99862	return nil, false
99863}
99864
99865// AsRelationalTableDataset is the BasicDataset implementation for WebTableDataset.
99866func (wtd WebTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
99867	return nil, false
99868}
99869
99870// AsAzureMySQLTableDataset is the BasicDataset implementation for WebTableDataset.
99871func (wtd WebTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
99872	return nil, false
99873}
99874
99875// AsOracleTableDataset is the BasicDataset implementation for WebTableDataset.
99876func (wtd WebTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
99877	return nil, false
99878}
99879
99880// AsODataResourceDataset is the BasicDataset implementation for WebTableDataset.
99881func (wtd WebTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
99882	return nil, false
99883}
99884
99885// AsMongoDbCollectionDataset is the BasicDataset implementation for WebTableDataset.
99886func (wtd WebTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
99887	return nil, false
99888}
99889
99890// AsFileShareDataset is the BasicDataset implementation for WebTableDataset.
99891func (wtd WebTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
99892	return nil, false
99893}
99894
99895// AsAzureDataLakeStoreDataset is the BasicDataset implementation for WebTableDataset.
99896func (wtd WebTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
99897	return nil, false
99898}
99899
99900// AsDynamicsEntityDataset is the BasicDataset implementation for WebTableDataset.
99901func (wtd WebTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
99902	return nil, false
99903}
99904
99905// AsDocumentDbCollectionDataset is the BasicDataset implementation for WebTableDataset.
99906func (wtd WebTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
99907	return nil, false
99908}
99909
99910// AsCustomDataset is the BasicDataset implementation for WebTableDataset.
99911func (wtd WebTableDataset) AsCustomDataset() (*CustomDataset, bool) {
99912	return nil, false
99913}
99914
99915// AsCassandraTableDataset is the BasicDataset implementation for WebTableDataset.
99916func (wtd WebTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
99917	return nil, false
99918}
99919
99920// AsAzureSQLDWTableDataset is the BasicDataset implementation for WebTableDataset.
99921func (wtd WebTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
99922	return nil, false
99923}
99924
99925// AsAzureSQLTableDataset is the BasicDataset implementation for WebTableDataset.
99926func (wtd WebTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
99927	return nil, false
99928}
99929
99930// AsAzureTableDataset is the BasicDataset implementation for WebTableDataset.
99931func (wtd WebTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
99932	return nil, false
99933}
99934
99935// AsAzureBlobDataset is the BasicDataset implementation for WebTableDataset.
99936func (wtd WebTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
99937	return nil, false
99938}
99939
99940// AsAmazonS3Dataset is the BasicDataset implementation for WebTableDataset.
99941func (wtd WebTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
99942	return nil, false
99943}
99944
99945// AsDataset is the BasicDataset implementation for WebTableDataset.
99946func (wtd WebTableDataset) AsDataset() (*Dataset, bool) {
99947	return nil, false
99948}
99949
99950// AsBasicDataset is the BasicDataset implementation for WebTableDataset.
99951func (wtd WebTableDataset) AsBasicDataset() (BasicDataset, bool) {
99952	return &wtd, true
99953}
99954
99955// UnmarshalJSON is the custom unmarshaler for WebTableDataset struct.
99956func (wtd *WebTableDataset) UnmarshalJSON(body []byte) error {
99957	var m map[string]*json.RawMessage
99958	err := json.Unmarshal(body, &m)
99959	if err != nil {
99960		return err
99961	}
99962	for k, v := range m {
99963		switch k {
99964		case "typeProperties":
99965			if v != nil {
99966				var webTableDatasetTypeProperties WebTableDatasetTypeProperties
99967				err = json.Unmarshal(*v, &webTableDatasetTypeProperties)
99968				if err != nil {
99969					return err
99970				}
99971				wtd.WebTableDatasetTypeProperties = &webTableDatasetTypeProperties
99972			}
99973		default:
99974			if v != nil {
99975				var additionalProperties interface{}
99976				err = json.Unmarshal(*v, &additionalProperties)
99977				if err != nil {
99978					return err
99979				}
99980				if wtd.AdditionalProperties == nil {
99981					wtd.AdditionalProperties = make(map[string]interface{})
99982				}
99983				wtd.AdditionalProperties[k] = additionalProperties
99984			}
99985		case "description":
99986			if v != nil {
99987				var description string
99988				err = json.Unmarshal(*v, &description)
99989				if err != nil {
99990					return err
99991				}
99992				wtd.Description = &description
99993			}
99994		case "structure":
99995			if v != nil {
99996				var structure interface{}
99997				err = json.Unmarshal(*v, &structure)
99998				if err != nil {
99999					return err
100000				}
100001				wtd.Structure = structure
100002			}
100003		case "linkedServiceName":
100004			if v != nil {
100005				var linkedServiceName LinkedServiceReference
100006				err = json.Unmarshal(*v, &linkedServiceName)
100007				if err != nil {
100008					return err
100009				}
100010				wtd.LinkedServiceName = &linkedServiceName
100011			}
100012		case "parameters":
100013			if v != nil {
100014				var parameters map[string]*ParameterSpecification
100015				err = json.Unmarshal(*v, &parameters)
100016				if err != nil {
100017					return err
100018				}
100019				wtd.Parameters = parameters
100020			}
100021		case "annotations":
100022			if v != nil {
100023				var annotations []interface{}
100024				err = json.Unmarshal(*v, &annotations)
100025				if err != nil {
100026					return err
100027				}
100028				wtd.Annotations = &annotations
100029			}
100030		case "type":
100031			if v != nil {
100032				var typeVar TypeBasicDataset
100033				err = json.Unmarshal(*v, &typeVar)
100034				if err != nil {
100035					return err
100036				}
100037				wtd.Type = typeVar
100038			}
100039		}
100040	}
100041
100042	return nil
100043}
100044
100045// WebTableDatasetTypeProperties web table dataset properties.
100046type WebTableDatasetTypeProperties struct {
100047	// Index - The zero-based index of the table in the web page. Type: integer (or Expression with resultType integer), minimum: 0.
100048	Index interface{} `json:"index,omitempty"`
100049	// Path - The relative URL to the web page from the linked service URL. Type: string (or Expression with resultType string).
100050	Path interface{} `json:"path,omitempty"`
100051}
100052
100053// XeroLinkedService xero Service linked service.
100054type XeroLinkedService struct {
100055	// XeroLinkedServiceTypeProperties - Xero Service linked service properties.
100056	*XeroLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
100057	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
100058	AdditionalProperties map[string]interface{} `json:""`
100059	// ConnectVia - The integration runtime reference.
100060	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
100061	// Description - Linked service description.
100062	Description *string `json:"description,omitempty"`
100063	// Parameters - Parameters for linked service.
100064	Parameters map[string]*ParameterSpecification `json:"parameters"`
100065	// Annotations - List of tags that can be used for describing the Dataset.
100066	Annotations *[]interface{} `json:"annotations,omitempty"`
100067	// 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'
100068	Type TypeBasicLinkedService `json:"type,omitempty"`
100069}
100070
100071// MarshalJSON is the custom marshaler for XeroLinkedService.
100072func (xls XeroLinkedService) MarshalJSON() ([]byte, error) {
100073	xls.Type = TypeXero
100074	objectMap := make(map[string]interface{})
100075	if xls.XeroLinkedServiceTypeProperties != nil {
100076		objectMap["typeProperties"] = xls.XeroLinkedServiceTypeProperties
100077	}
100078	if xls.ConnectVia != nil {
100079		objectMap["connectVia"] = xls.ConnectVia
100080	}
100081	if xls.Description != nil {
100082		objectMap["description"] = xls.Description
100083	}
100084	if xls.Parameters != nil {
100085		objectMap["parameters"] = xls.Parameters
100086	}
100087	if xls.Annotations != nil {
100088		objectMap["annotations"] = xls.Annotations
100089	}
100090	if xls.Type != "" {
100091		objectMap["type"] = xls.Type
100092	}
100093	for k, v := range xls.AdditionalProperties {
100094		objectMap[k] = v
100095	}
100096	return json.Marshal(objectMap)
100097}
100098
100099// AsResponsysLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100100func (xls XeroLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
100101	return nil, false
100102}
100103
100104// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100105func (xls XeroLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
100106	return nil, false
100107}
100108
100109// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100110func (xls XeroLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
100111	return nil, false
100112}
100113
100114// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100115func (xls XeroLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
100116	return nil, false
100117}
100118
100119// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100120func (xls XeroLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
100121	return nil, false
100122}
100123
100124// AsNetezzaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100125func (xls XeroLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
100126	return nil, false
100127}
100128
100129// AsVerticaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100130func (xls XeroLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
100131	return nil, false
100132}
100133
100134// AsZohoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100135func (xls XeroLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
100136	return nil, false
100137}
100138
100139// AsXeroLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100140func (xls XeroLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
100141	return &xls, true
100142}
100143
100144// AsSquareLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100145func (xls XeroLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
100146	return nil, false
100147}
100148
100149// AsSparkLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100150func (xls XeroLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
100151	return nil, false
100152}
100153
100154// AsShopifyLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100155func (xls XeroLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
100156	return nil, false
100157}
100158
100159// AsServiceNowLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100160func (xls XeroLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
100161	return nil, false
100162}
100163
100164// AsQuickBooksLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100165func (xls XeroLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
100166	return nil, false
100167}
100168
100169// AsPrestoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100170func (xls XeroLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
100171	return nil, false
100172}
100173
100174// AsPhoenixLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100175func (xls XeroLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
100176	return nil, false
100177}
100178
100179// AsPaypalLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100180func (xls XeroLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
100181	return nil, false
100182}
100183
100184// AsMarketoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100185func (xls XeroLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
100186	return nil, false
100187}
100188
100189// AsMariaDBLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100190func (xls XeroLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
100191	return nil, false
100192}
100193
100194// AsMagentoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100195func (xls XeroLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
100196	return nil, false
100197}
100198
100199// AsJiraLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100200func (xls XeroLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
100201	return nil, false
100202}
100203
100204// AsImpalaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100205func (xls XeroLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
100206	return nil, false
100207}
100208
100209// AsHubspotLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100210func (xls XeroLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
100211	return nil, false
100212}
100213
100214// AsHiveLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100215func (xls XeroLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
100216	return nil, false
100217}
100218
100219// AsHBaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100220func (xls XeroLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
100221	return nil, false
100222}
100223
100224// AsGreenplumLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100225func (xls XeroLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
100226	return nil, false
100227}
100228
100229// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100230func (xls XeroLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
100231	return nil, false
100232}
100233
100234// AsEloquaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100235func (xls XeroLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
100236	return nil, false
100237}
100238
100239// AsDrillLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100240func (xls XeroLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
100241	return nil, false
100242}
100243
100244// AsCouchbaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100245func (xls XeroLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
100246	return nil, false
100247}
100248
100249// AsConcurLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100250func (xls XeroLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
100251	return nil, false
100252}
100253
100254// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100255func (xls XeroLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
100256	return nil, false
100257}
100258
100259// AsAmazonMWSLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100260func (xls XeroLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
100261	return nil, false
100262}
100263
100264// AsSapHanaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100265func (xls XeroLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
100266	return nil, false
100267}
100268
100269// AsSapBWLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100270func (xls XeroLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
100271	return nil, false
100272}
100273
100274// AsSftpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100275func (xls XeroLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
100276	return nil, false
100277}
100278
100279// AsFtpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100280func (xls XeroLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
100281	return nil, false
100282}
100283
100284// AsHTTPLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100285func (xls XeroLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
100286	return nil, false
100287}
100288
100289// AsAzureSearchLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100290func (xls XeroLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
100291	return nil, false
100292}
100293
100294// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100295func (xls XeroLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
100296	return nil, false
100297}
100298
100299// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100300func (xls XeroLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
100301	return nil, false
100302}
100303
100304// AsAmazonS3LinkedService is the BasicLinkedService implementation for XeroLinkedService.
100305func (xls XeroLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
100306	return nil, false
100307}
100308
100309// AsSapEccLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100310func (xls XeroLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
100311	return nil, false
100312}
100313
100314// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100315func (xls XeroLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
100316	return nil, false
100317}
100318
100319// AsSalesforceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100320func (xls XeroLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
100321	return nil, false
100322}
100323
100324// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100325func (xls XeroLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
100326	return nil, false
100327}
100328
100329// AsMongoDbLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100330func (xls XeroLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
100331	return nil, false
100332}
100333
100334// AsCassandraLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100335func (xls XeroLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
100336	return nil, false
100337}
100338
100339// AsWebLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100340func (xls XeroLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
100341	return nil, false
100342}
100343
100344// AsODataLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100345func (xls XeroLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
100346	return nil, false
100347}
100348
100349// AsHdfsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100350func (xls XeroLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
100351	return nil, false
100352}
100353
100354// AsOdbcLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100355func (xls XeroLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
100356	return nil, false
100357}
100358
100359// AsAzureMLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100360func (xls XeroLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
100361	return nil, false
100362}
100363
100364// AsTeradataLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100365func (xls XeroLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
100366	return nil, false
100367}
100368
100369// AsDb2LinkedService is the BasicLinkedService implementation for XeroLinkedService.
100370func (xls XeroLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
100371	return nil, false
100372}
100373
100374// AsSybaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100375func (xls XeroLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
100376	return nil, false
100377}
100378
100379// AsPostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100380func (xls XeroLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
100381	return nil, false
100382}
100383
100384// AsMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100385func (xls XeroLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
100386	return nil, false
100387}
100388
100389// AsAzureMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100390func (xls XeroLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
100391	return nil, false
100392}
100393
100394// AsOracleLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100395func (xls XeroLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
100396	return nil, false
100397}
100398
100399// AsFileServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100400func (xls XeroLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
100401	return nil, false
100402}
100403
100404// AsHDInsightLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100405func (xls XeroLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
100406	return nil, false
100407}
100408
100409// AsDynamicsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100410func (xls XeroLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
100411	return nil, false
100412}
100413
100414// AsCosmosDbLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100415func (xls XeroLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
100416	return nil, false
100417}
100418
100419// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100420func (xls XeroLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
100421	return nil, false
100422}
100423
100424// AsAzureBatchLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100425func (xls XeroLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
100426	return nil, false
100427}
100428
100429// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100430func (xls XeroLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
100431	return nil, false
100432}
100433
100434// AsSQLServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100435func (xls XeroLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
100436	return nil, false
100437}
100438
100439// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100440func (xls XeroLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
100441	return nil, false
100442}
100443
100444// AsAzureStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100445func (xls XeroLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
100446	return nil, false
100447}
100448
100449// AsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100450func (xls XeroLinkedService) AsLinkedService() (*LinkedService, bool) {
100451	return nil, false
100452}
100453
100454// AsBasicLinkedService is the BasicLinkedService implementation for XeroLinkedService.
100455func (xls XeroLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
100456	return &xls, true
100457}
100458
100459// UnmarshalJSON is the custom unmarshaler for XeroLinkedService struct.
100460func (xls *XeroLinkedService) UnmarshalJSON(body []byte) error {
100461	var m map[string]*json.RawMessage
100462	err := json.Unmarshal(body, &m)
100463	if err != nil {
100464		return err
100465	}
100466	for k, v := range m {
100467		switch k {
100468		case "typeProperties":
100469			if v != nil {
100470				var xeroLinkedServiceTypeProperties XeroLinkedServiceTypeProperties
100471				err = json.Unmarshal(*v, &xeroLinkedServiceTypeProperties)
100472				if err != nil {
100473					return err
100474				}
100475				xls.XeroLinkedServiceTypeProperties = &xeroLinkedServiceTypeProperties
100476			}
100477		default:
100478			if v != nil {
100479				var additionalProperties interface{}
100480				err = json.Unmarshal(*v, &additionalProperties)
100481				if err != nil {
100482					return err
100483				}
100484				if xls.AdditionalProperties == nil {
100485					xls.AdditionalProperties = make(map[string]interface{})
100486				}
100487				xls.AdditionalProperties[k] = additionalProperties
100488			}
100489		case "connectVia":
100490			if v != nil {
100491				var connectVia IntegrationRuntimeReference
100492				err = json.Unmarshal(*v, &connectVia)
100493				if err != nil {
100494					return err
100495				}
100496				xls.ConnectVia = &connectVia
100497			}
100498		case "description":
100499			if v != nil {
100500				var description string
100501				err = json.Unmarshal(*v, &description)
100502				if err != nil {
100503					return err
100504				}
100505				xls.Description = &description
100506			}
100507		case "parameters":
100508			if v != nil {
100509				var parameters map[string]*ParameterSpecification
100510				err = json.Unmarshal(*v, &parameters)
100511				if err != nil {
100512					return err
100513				}
100514				xls.Parameters = parameters
100515			}
100516		case "annotations":
100517			if v != nil {
100518				var annotations []interface{}
100519				err = json.Unmarshal(*v, &annotations)
100520				if err != nil {
100521					return err
100522				}
100523				xls.Annotations = &annotations
100524			}
100525		case "type":
100526			if v != nil {
100527				var typeVar TypeBasicLinkedService
100528				err = json.Unmarshal(*v, &typeVar)
100529				if err != nil {
100530					return err
100531				}
100532				xls.Type = typeVar
100533			}
100534		}
100535	}
100536
100537	return nil
100538}
100539
100540// XeroLinkedServiceTypeProperties xero Service linked service properties.
100541type XeroLinkedServiceTypeProperties struct {
100542	// Host - The endpoint of the Xero server. (i.e. api.xero.com)
100543	Host interface{} `json:"host,omitempty"`
100544	// ConsumerKey - The consumer key associated with the Xero application.
100545	ConsumerKey BasicSecretBase `json:"consumerKey,omitempty"`
100546	// 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(
100547	// ).
100548	PrivateKey BasicSecretBase `json:"privateKey,omitempty"`
100549	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
100550	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
100551	// 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.
100552	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
100553	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
100554	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
100555	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
100556	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
100557}
100558
100559// UnmarshalJSON is the custom unmarshaler for XeroLinkedServiceTypeProperties struct.
100560func (xlstp *XeroLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
100561	var m map[string]*json.RawMessage
100562	err := json.Unmarshal(body, &m)
100563	if err != nil {
100564		return err
100565	}
100566	for k, v := range m {
100567		switch k {
100568		case "host":
100569			if v != nil {
100570				var host interface{}
100571				err = json.Unmarshal(*v, &host)
100572				if err != nil {
100573					return err
100574				}
100575				xlstp.Host = host
100576			}
100577		case "consumerKey":
100578			if v != nil {
100579				consumerKey, err := unmarshalBasicSecretBase(*v)
100580				if err != nil {
100581					return err
100582				}
100583				xlstp.ConsumerKey = consumerKey
100584			}
100585		case "privateKey":
100586			if v != nil {
100587				privateKey, err := unmarshalBasicSecretBase(*v)
100588				if err != nil {
100589					return err
100590				}
100591				xlstp.PrivateKey = privateKey
100592			}
100593		case "useEncryptedEndpoints":
100594			if v != nil {
100595				var useEncryptedEndpoints interface{}
100596				err = json.Unmarshal(*v, &useEncryptedEndpoints)
100597				if err != nil {
100598					return err
100599				}
100600				xlstp.UseEncryptedEndpoints = useEncryptedEndpoints
100601			}
100602		case "useHostVerification":
100603			if v != nil {
100604				var useHostVerification interface{}
100605				err = json.Unmarshal(*v, &useHostVerification)
100606				if err != nil {
100607					return err
100608				}
100609				xlstp.UseHostVerification = useHostVerification
100610			}
100611		case "usePeerVerification":
100612			if v != nil {
100613				var usePeerVerification interface{}
100614				err = json.Unmarshal(*v, &usePeerVerification)
100615				if err != nil {
100616					return err
100617				}
100618				xlstp.UsePeerVerification = usePeerVerification
100619			}
100620		case "encryptedCredential":
100621			if v != nil {
100622				var encryptedCredential interface{}
100623				err = json.Unmarshal(*v, &encryptedCredential)
100624				if err != nil {
100625					return err
100626				}
100627				xlstp.EncryptedCredential = encryptedCredential
100628			}
100629		}
100630	}
100631
100632	return nil
100633}
100634
100635// XeroObjectDataset xero Service dataset.
100636type XeroObjectDataset struct {
100637	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
100638	AdditionalProperties map[string]interface{} `json:""`
100639	// Description - Dataset description.
100640	Description *string `json:"description,omitempty"`
100641	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
100642	Structure interface{} `json:"structure,omitempty"`
100643	// LinkedServiceName - Linked service reference.
100644	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
100645	// Parameters - Parameters for dataset.
100646	Parameters map[string]*ParameterSpecification `json:"parameters"`
100647	// Annotations - List of tags that can be used for describing the Dataset.
100648	Annotations *[]interface{} `json:"annotations,omitempty"`
100649	// 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'
100650	Type TypeBasicDataset `json:"type,omitempty"`
100651}
100652
100653// MarshalJSON is the custom marshaler for XeroObjectDataset.
100654func (xod XeroObjectDataset) MarshalJSON() ([]byte, error) {
100655	xod.Type = TypeXeroObject
100656	objectMap := make(map[string]interface{})
100657	if xod.Description != nil {
100658		objectMap["description"] = xod.Description
100659	}
100660	if xod.Structure != nil {
100661		objectMap["structure"] = xod.Structure
100662	}
100663	if xod.LinkedServiceName != nil {
100664		objectMap["linkedServiceName"] = xod.LinkedServiceName
100665	}
100666	if xod.Parameters != nil {
100667		objectMap["parameters"] = xod.Parameters
100668	}
100669	if xod.Annotations != nil {
100670		objectMap["annotations"] = xod.Annotations
100671	}
100672	if xod.Type != "" {
100673		objectMap["type"] = xod.Type
100674	}
100675	for k, v := range xod.AdditionalProperties {
100676		objectMap[k] = v
100677	}
100678	return json.Marshal(objectMap)
100679}
100680
100681// AsResponsysObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100682func (xod XeroObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
100683	return nil, false
100684}
100685
100686// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100687func (xod XeroObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
100688	return nil, false
100689}
100690
100691// AsVerticaTableDataset is the BasicDataset implementation for XeroObjectDataset.
100692func (xod XeroObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
100693	return nil, false
100694}
100695
100696// AsNetezzaTableDataset is the BasicDataset implementation for XeroObjectDataset.
100697func (xod XeroObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
100698	return nil, false
100699}
100700
100701// AsZohoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100702func (xod XeroObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
100703	return nil, false
100704}
100705
100706// AsXeroObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100707func (xod XeroObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
100708	return &xod, true
100709}
100710
100711// AsSquareObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100712func (xod XeroObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
100713	return nil, false
100714}
100715
100716// AsSparkObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100717func (xod XeroObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
100718	return nil, false
100719}
100720
100721// AsShopifyObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100722func (xod XeroObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
100723	return nil, false
100724}
100725
100726// AsServiceNowObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100727func (xod XeroObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
100728	return nil, false
100729}
100730
100731// AsQuickBooksObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100732func (xod XeroObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
100733	return nil, false
100734}
100735
100736// AsPrestoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100737func (xod XeroObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
100738	return nil, false
100739}
100740
100741// AsPhoenixObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100742func (xod XeroObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
100743	return nil, false
100744}
100745
100746// AsPaypalObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100747func (xod XeroObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
100748	return nil, false
100749}
100750
100751// AsMarketoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100752func (xod XeroObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
100753	return nil, false
100754}
100755
100756// AsMariaDBTableDataset is the BasicDataset implementation for XeroObjectDataset.
100757func (xod XeroObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
100758	return nil, false
100759}
100760
100761// AsMagentoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100762func (xod XeroObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
100763	return nil, false
100764}
100765
100766// AsJiraObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100767func (xod XeroObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
100768	return nil, false
100769}
100770
100771// AsImpalaObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100772func (xod XeroObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
100773	return nil, false
100774}
100775
100776// AsHubspotObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100777func (xod XeroObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
100778	return nil, false
100779}
100780
100781// AsHiveObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100782func (xod XeroObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
100783	return nil, false
100784}
100785
100786// AsHBaseObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100787func (xod XeroObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
100788	return nil, false
100789}
100790
100791// AsGreenplumTableDataset is the BasicDataset implementation for XeroObjectDataset.
100792func (xod XeroObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
100793	return nil, false
100794}
100795
100796// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100797func (xod XeroObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
100798	return nil, false
100799}
100800
100801// AsEloquaObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100802func (xod XeroObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
100803	return nil, false
100804}
100805
100806// AsDrillTableDataset is the BasicDataset implementation for XeroObjectDataset.
100807func (xod XeroObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
100808	return nil, false
100809}
100810
100811// AsCouchbaseTableDataset is the BasicDataset implementation for XeroObjectDataset.
100812func (xod XeroObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
100813	return nil, false
100814}
100815
100816// AsConcurObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100817func (xod XeroObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
100818	return nil, false
100819}
100820
100821// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
100822func (xod XeroObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
100823	return nil, false
100824}
100825
100826// AsAmazonMWSObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100827func (xod XeroObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
100828	return nil, false
100829}
100830
100831// AsHTTPDataset is the BasicDataset implementation for XeroObjectDataset.
100832func (xod XeroObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
100833	return nil, false
100834}
100835
100836// AsAzureSearchIndexDataset is the BasicDataset implementation for XeroObjectDataset.
100837func (xod XeroObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
100838	return nil, false
100839}
100840
100841// AsWebTableDataset is the BasicDataset implementation for XeroObjectDataset.
100842func (xod XeroObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
100843	return nil, false
100844}
100845
100846// AsSQLServerTableDataset is the BasicDataset implementation for XeroObjectDataset.
100847func (xod XeroObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
100848	return nil, false
100849}
100850
100851// AsSapEccResourceDataset is the BasicDataset implementation for XeroObjectDataset.
100852func (xod XeroObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
100853	return nil, false
100854}
100855
100856// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for XeroObjectDataset.
100857func (xod XeroObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
100858	return nil, false
100859}
100860
100861// AsSalesforceObjectDataset is the BasicDataset implementation for XeroObjectDataset.
100862func (xod XeroObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
100863	return nil, false
100864}
100865
100866// AsRelationalTableDataset is the BasicDataset implementation for XeroObjectDataset.
100867func (xod XeroObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
100868	return nil, false
100869}
100870
100871// AsAzureMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
100872func (xod XeroObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
100873	return nil, false
100874}
100875
100876// AsOracleTableDataset is the BasicDataset implementation for XeroObjectDataset.
100877func (xod XeroObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
100878	return nil, false
100879}
100880
100881// AsODataResourceDataset is the BasicDataset implementation for XeroObjectDataset.
100882func (xod XeroObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
100883	return nil, false
100884}
100885
100886// AsMongoDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset.
100887func (xod XeroObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
100888	return nil, false
100889}
100890
100891// AsFileShareDataset is the BasicDataset implementation for XeroObjectDataset.
100892func (xod XeroObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
100893	return nil, false
100894}
100895
100896// AsAzureDataLakeStoreDataset is the BasicDataset implementation for XeroObjectDataset.
100897func (xod XeroObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
100898	return nil, false
100899}
100900
100901// AsDynamicsEntityDataset is the BasicDataset implementation for XeroObjectDataset.
100902func (xod XeroObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
100903	return nil, false
100904}
100905
100906// AsDocumentDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset.
100907func (xod XeroObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
100908	return nil, false
100909}
100910
100911// AsCustomDataset is the BasicDataset implementation for XeroObjectDataset.
100912func (xod XeroObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
100913	return nil, false
100914}
100915
100916// AsCassandraTableDataset is the BasicDataset implementation for XeroObjectDataset.
100917func (xod XeroObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
100918	return nil, false
100919}
100920
100921// AsAzureSQLDWTableDataset is the BasicDataset implementation for XeroObjectDataset.
100922func (xod XeroObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
100923	return nil, false
100924}
100925
100926// AsAzureSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
100927func (xod XeroObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
100928	return nil, false
100929}
100930
100931// AsAzureTableDataset is the BasicDataset implementation for XeroObjectDataset.
100932func (xod XeroObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
100933	return nil, false
100934}
100935
100936// AsAzureBlobDataset is the BasicDataset implementation for XeroObjectDataset.
100937func (xod XeroObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
100938	return nil, false
100939}
100940
100941// AsAmazonS3Dataset is the BasicDataset implementation for XeroObjectDataset.
100942func (xod XeroObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
100943	return nil, false
100944}
100945
100946// AsDataset is the BasicDataset implementation for XeroObjectDataset.
100947func (xod XeroObjectDataset) AsDataset() (*Dataset, bool) {
100948	return nil, false
100949}
100950
100951// AsBasicDataset is the BasicDataset implementation for XeroObjectDataset.
100952func (xod XeroObjectDataset) AsBasicDataset() (BasicDataset, bool) {
100953	return &xod, true
100954}
100955
100956// UnmarshalJSON is the custom unmarshaler for XeroObjectDataset struct.
100957func (xod *XeroObjectDataset) UnmarshalJSON(body []byte) error {
100958	var m map[string]*json.RawMessage
100959	err := json.Unmarshal(body, &m)
100960	if err != nil {
100961		return err
100962	}
100963	for k, v := range m {
100964		switch k {
100965		default:
100966			if v != nil {
100967				var additionalProperties interface{}
100968				err = json.Unmarshal(*v, &additionalProperties)
100969				if err != nil {
100970					return err
100971				}
100972				if xod.AdditionalProperties == nil {
100973					xod.AdditionalProperties = make(map[string]interface{})
100974				}
100975				xod.AdditionalProperties[k] = additionalProperties
100976			}
100977		case "description":
100978			if v != nil {
100979				var description string
100980				err = json.Unmarshal(*v, &description)
100981				if err != nil {
100982					return err
100983				}
100984				xod.Description = &description
100985			}
100986		case "structure":
100987			if v != nil {
100988				var structure interface{}
100989				err = json.Unmarshal(*v, &structure)
100990				if err != nil {
100991					return err
100992				}
100993				xod.Structure = structure
100994			}
100995		case "linkedServiceName":
100996			if v != nil {
100997				var linkedServiceName LinkedServiceReference
100998				err = json.Unmarshal(*v, &linkedServiceName)
100999				if err != nil {
101000					return err
101001				}
101002				xod.LinkedServiceName = &linkedServiceName
101003			}
101004		case "parameters":
101005			if v != nil {
101006				var parameters map[string]*ParameterSpecification
101007				err = json.Unmarshal(*v, &parameters)
101008				if err != nil {
101009					return err
101010				}
101011				xod.Parameters = parameters
101012			}
101013		case "annotations":
101014			if v != nil {
101015				var annotations []interface{}
101016				err = json.Unmarshal(*v, &annotations)
101017				if err != nil {
101018					return err
101019				}
101020				xod.Annotations = &annotations
101021			}
101022		case "type":
101023			if v != nil {
101024				var typeVar TypeBasicDataset
101025				err = json.Unmarshal(*v, &typeVar)
101026				if err != nil {
101027					return err
101028				}
101029				xod.Type = typeVar
101030			}
101031		}
101032	}
101033
101034	return nil
101035}
101036
101037// XeroSource a copy activity Xero Service source.
101038type XeroSource struct {
101039	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
101040	Query interface{} `json:"query,omitempty"`
101041	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101042	AdditionalProperties map[string]interface{} `json:""`
101043	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
101044	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
101045	// 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])).
101046	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
101047	// 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'
101048	Type TypeBasicCopySource `json:"type,omitempty"`
101049}
101050
101051// MarshalJSON is the custom marshaler for XeroSource.
101052func (xs XeroSource) MarshalJSON() ([]byte, error) {
101053	xs.Type = TypeXeroSource
101054	objectMap := make(map[string]interface{})
101055	if xs.Query != nil {
101056		objectMap["query"] = xs.Query
101057	}
101058	if xs.SourceRetryCount != nil {
101059		objectMap["sourceRetryCount"] = xs.SourceRetryCount
101060	}
101061	if xs.SourceRetryWait != nil {
101062		objectMap["sourceRetryWait"] = xs.SourceRetryWait
101063	}
101064	if xs.Type != "" {
101065		objectMap["type"] = xs.Type
101066	}
101067	for k, v := range xs.AdditionalProperties {
101068		objectMap[k] = v
101069	}
101070	return json.Marshal(objectMap)
101071}
101072
101073// AsAmazonRedshiftSource is the BasicCopySource implementation for XeroSource.
101074func (xs XeroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
101075	return nil, false
101076}
101077
101078// AsResponsysSource is the BasicCopySource implementation for XeroSource.
101079func (xs XeroSource) AsResponsysSource() (*ResponsysSource, bool) {
101080	return nil, false
101081}
101082
101083// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for XeroSource.
101084func (xs XeroSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
101085	return nil, false
101086}
101087
101088// AsVerticaSource is the BasicCopySource implementation for XeroSource.
101089func (xs XeroSource) AsVerticaSource() (*VerticaSource, bool) {
101090	return nil, false
101091}
101092
101093// AsNetezzaSource is the BasicCopySource implementation for XeroSource.
101094func (xs XeroSource) AsNetezzaSource() (*NetezzaSource, bool) {
101095	return nil, false
101096}
101097
101098// AsZohoSource is the BasicCopySource implementation for XeroSource.
101099func (xs XeroSource) AsZohoSource() (*ZohoSource, bool) {
101100	return nil, false
101101}
101102
101103// AsXeroSource is the BasicCopySource implementation for XeroSource.
101104func (xs XeroSource) AsXeroSource() (*XeroSource, bool) {
101105	return &xs, true
101106}
101107
101108// AsSquareSource is the BasicCopySource implementation for XeroSource.
101109func (xs XeroSource) AsSquareSource() (*SquareSource, bool) {
101110	return nil, false
101111}
101112
101113// AsSparkSource is the BasicCopySource implementation for XeroSource.
101114func (xs XeroSource) AsSparkSource() (*SparkSource, bool) {
101115	return nil, false
101116}
101117
101118// AsShopifySource is the BasicCopySource implementation for XeroSource.
101119func (xs XeroSource) AsShopifySource() (*ShopifySource, bool) {
101120	return nil, false
101121}
101122
101123// AsServiceNowSource is the BasicCopySource implementation for XeroSource.
101124func (xs XeroSource) AsServiceNowSource() (*ServiceNowSource, bool) {
101125	return nil, false
101126}
101127
101128// AsQuickBooksSource is the BasicCopySource implementation for XeroSource.
101129func (xs XeroSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
101130	return nil, false
101131}
101132
101133// AsPrestoSource is the BasicCopySource implementation for XeroSource.
101134func (xs XeroSource) AsPrestoSource() (*PrestoSource, bool) {
101135	return nil, false
101136}
101137
101138// AsPhoenixSource is the BasicCopySource implementation for XeroSource.
101139func (xs XeroSource) AsPhoenixSource() (*PhoenixSource, bool) {
101140	return nil, false
101141}
101142
101143// AsPaypalSource is the BasicCopySource implementation for XeroSource.
101144func (xs XeroSource) AsPaypalSource() (*PaypalSource, bool) {
101145	return nil, false
101146}
101147
101148// AsMarketoSource is the BasicCopySource implementation for XeroSource.
101149func (xs XeroSource) AsMarketoSource() (*MarketoSource, bool) {
101150	return nil, false
101151}
101152
101153// AsMariaDBSource is the BasicCopySource implementation for XeroSource.
101154func (xs XeroSource) AsMariaDBSource() (*MariaDBSource, bool) {
101155	return nil, false
101156}
101157
101158// AsMagentoSource is the BasicCopySource implementation for XeroSource.
101159func (xs XeroSource) AsMagentoSource() (*MagentoSource, bool) {
101160	return nil, false
101161}
101162
101163// AsJiraSource is the BasicCopySource implementation for XeroSource.
101164func (xs XeroSource) AsJiraSource() (*JiraSource, bool) {
101165	return nil, false
101166}
101167
101168// AsImpalaSource is the BasicCopySource implementation for XeroSource.
101169func (xs XeroSource) AsImpalaSource() (*ImpalaSource, bool) {
101170	return nil, false
101171}
101172
101173// AsHubspotSource is the BasicCopySource implementation for XeroSource.
101174func (xs XeroSource) AsHubspotSource() (*HubspotSource, bool) {
101175	return nil, false
101176}
101177
101178// AsHiveSource is the BasicCopySource implementation for XeroSource.
101179func (xs XeroSource) AsHiveSource() (*HiveSource, bool) {
101180	return nil, false
101181}
101182
101183// AsHBaseSource is the BasicCopySource implementation for XeroSource.
101184func (xs XeroSource) AsHBaseSource() (*HBaseSource, bool) {
101185	return nil, false
101186}
101187
101188// AsGreenplumSource is the BasicCopySource implementation for XeroSource.
101189func (xs XeroSource) AsGreenplumSource() (*GreenplumSource, bool) {
101190	return nil, false
101191}
101192
101193// AsGoogleBigQuerySource is the BasicCopySource implementation for XeroSource.
101194func (xs XeroSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
101195	return nil, false
101196}
101197
101198// AsEloquaSource is the BasicCopySource implementation for XeroSource.
101199func (xs XeroSource) AsEloquaSource() (*EloquaSource, bool) {
101200	return nil, false
101201}
101202
101203// AsDrillSource is the BasicCopySource implementation for XeroSource.
101204func (xs XeroSource) AsDrillSource() (*DrillSource, bool) {
101205	return nil, false
101206}
101207
101208// AsCouchbaseSource is the BasicCopySource implementation for XeroSource.
101209func (xs XeroSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
101210	return nil, false
101211}
101212
101213// AsConcurSource is the BasicCopySource implementation for XeroSource.
101214func (xs XeroSource) AsConcurSource() (*ConcurSource, bool) {
101215	return nil, false
101216}
101217
101218// AsAzurePostgreSQLSource is the BasicCopySource implementation for XeroSource.
101219func (xs XeroSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
101220	return nil, false
101221}
101222
101223// AsAmazonMWSSource is the BasicCopySource implementation for XeroSource.
101224func (xs XeroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
101225	return nil, false
101226}
101227
101228// AsHTTPSource is the BasicCopySource implementation for XeroSource.
101229func (xs XeroSource) AsHTTPSource() (*HTTPSource, bool) {
101230	return nil, false
101231}
101232
101233// AsAzureDataLakeStoreSource is the BasicCopySource implementation for XeroSource.
101234func (xs XeroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
101235	return nil, false
101236}
101237
101238// AsMongoDbSource is the BasicCopySource implementation for XeroSource.
101239func (xs XeroSource) AsMongoDbSource() (*MongoDbSource, bool) {
101240	return nil, false
101241}
101242
101243// AsCassandraSource is the BasicCopySource implementation for XeroSource.
101244func (xs XeroSource) AsCassandraSource() (*CassandraSource, bool) {
101245	return nil, false
101246}
101247
101248// AsWebSource is the BasicCopySource implementation for XeroSource.
101249func (xs XeroSource) AsWebSource() (*WebSource, bool) {
101250	return nil, false
101251}
101252
101253// AsOracleSource is the BasicCopySource implementation for XeroSource.
101254func (xs XeroSource) AsOracleSource() (*OracleSource, bool) {
101255	return nil, false
101256}
101257
101258// AsAzureMySQLSource is the BasicCopySource implementation for XeroSource.
101259func (xs XeroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
101260	return nil, false
101261}
101262
101263// AsHdfsSource is the BasicCopySource implementation for XeroSource.
101264func (xs XeroSource) AsHdfsSource() (*HdfsSource, bool) {
101265	return nil, false
101266}
101267
101268// AsFileSystemSource is the BasicCopySource implementation for XeroSource.
101269func (xs XeroSource) AsFileSystemSource() (*FileSystemSource, bool) {
101270	return nil, false
101271}
101272
101273// AsSQLDWSource is the BasicCopySource implementation for XeroSource.
101274func (xs XeroSource) AsSQLDWSource() (*SQLDWSource, bool) {
101275	return nil, false
101276}
101277
101278// AsSQLSource is the BasicCopySource implementation for XeroSource.
101279func (xs XeroSource) AsSQLSource() (*SQLSource, bool) {
101280	return nil, false
101281}
101282
101283// AsSapEccSource is the BasicCopySource implementation for XeroSource.
101284func (xs XeroSource) AsSapEccSource() (*SapEccSource, bool) {
101285	return nil, false
101286}
101287
101288// AsSapCloudForCustomerSource is the BasicCopySource implementation for XeroSource.
101289func (xs XeroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
101290	return nil, false
101291}
101292
101293// AsSalesforceSource is the BasicCopySource implementation for XeroSource.
101294func (xs XeroSource) AsSalesforceSource() (*SalesforceSource, bool) {
101295	return nil, false
101296}
101297
101298// AsRelationalSource is the BasicCopySource implementation for XeroSource.
101299func (xs XeroSource) AsRelationalSource() (*RelationalSource, bool) {
101300	return nil, false
101301}
101302
101303// AsDynamicsSource is the BasicCopySource implementation for XeroSource.
101304func (xs XeroSource) AsDynamicsSource() (*DynamicsSource, bool) {
101305	return nil, false
101306}
101307
101308// AsDocumentDbCollectionSource is the BasicCopySource implementation for XeroSource.
101309func (xs XeroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
101310	return nil, false
101311}
101312
101313// AsBlobSource is the BasicCopySource implementation for XeroSource.
101314func (xs XeroSource) AsBlobSource() (*BlobSource, bool) {
101315	return nil, false
101316}
101317
101318// AsAzureTableSource is the BasicCopySource implementation for XeroSource.
101319func (xs XeroSource) AsAzureTableSource() (*AzureTableSource, bool) {
101320	return nil, false
101321}
101322
101323// AsCopySource is the BasicCopySource implementation for XeroSource.
101324func (xs XeroSource) AsCopySource() (*CopySource, bool) {
101325	return nil, false
101326}
101327
101328// AsBasicCopySource is the BasicCopySource implementation for XeroSource.
101329func (xs XeroSource) AsBasicCopySource() (BasicCopySource, bool) {
101330	return &xs, true
101331}
101332
101333// UnmarshalJSON is the custom unmarshaler for XeroSource struct.
101334func (xs *XeroSource) UnmarshalJSON(body []byte) error {
101335	var m map[string]*json.RawMessage
101336	err := json.Unmarshal(body, &m)
101337	if err != nil {
101338		return err
101339	}
101340	for k, v := range m {
101341		switch k {
101342		case "query":
101343			if v != nil {
101344				var query interface{}
101345				err = json.Unmarshal(*v, &query)
101346				if err != nil {
101347					return err
101348				}
101349				xs.Query = query
101350			}
101351		default:
101352			if v != nil {
101353				var additionalProperties interface{}
101354				err = json.Unmarshal(*v, &additionalProperties)
101355				if err != nil {
101356					return err
101357				}
101358				if xs.AdditionalProperties == nil {
101359					xs.AdditionalProperties = make(map[string]interface{})
101360				}
101361				xs.AdditionalProperties[k] = additionalProperties
101362			}
101363		case "sourceRetryCount":
101364			if v != nil {
101365				var sourceRetryCount interface{}
101366				err = json.Unmarshal(*v, &sourceRetryCount)
101367				if err != nil {
101368					return err
101369				}
101370				xs.SourceRetryCount = sourceRetryCount
101371			}
101372		case "sourceRetryWait":
101373			if v != nil {
101374				var sourceRetryWait interface{}
101375				err = json.Unmarshal(*v, &sourceRetryWait)
101376				if err != nil {
101377					return err
101378				}
101379				xs.SourceRetryWait = sourceRetryWait
101380			}
101381		case "type":
101382			if v != nil {
101383				var typeVar TypeBasicCopySource
101384				err = json.Unmarshal(*v, &typeVar)
101385				if err != nil {
101386					return err
101387				}
101388				xs.Type = typeVar
101389			}
101390		}
101391	}
101392
101393	return nil
101394}
101395
101396// ZohoLinkedService zoho server linked service.
101397type ZohoLinkedService struct {
101398	// ZohoLinkedServiceTypeProperties - Zoho server linked service properties.
101399	*ZohoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
101400	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101401	AdditionalProperties map[string]interface{} `json:""`
101402	// ConnectVia - The integration runtime reference.
101403	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
101404	// Description - Linked service description.
101405	Description *string `json:"description,omitempty"`
101406	// Parameters - Parameters for linked service.
101407	Parameters map[string]*ParameterSpecification `json:"parameters"`
101408	// Annotations - List of tags that can be used for describing the Dataset.
101409	Annotations *[]interface{} `json:"annotations,omitempty"`
101410	// 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'
101411	Type TypeBasicLinkedService `json:"type,omitempty"`
101412}
101413
101414// MarshalJSON is the custom marshaler for ZohoLinkedService.
101415func (zls ZohoLinkedService) MarshalJSON() ([]byte, error) {
101416	zls.Type = TypeZoho
101417	objectMap := make(map[string]interface{})
101418	if zls.ZohoLinkedServiceTypeProperties != nil {
101419		objectMap["typeProperties"] = zls.ZohoLinkedServiceTypeProperties
101420	}
101421	if zls.ConnectVia != nil {
101422		objectMap["connectVia"] = zls.ConnectVia
101423	}
101424	if zls.Description != nil {
101425		objectMap["description"] = zls.Description
101426	}
101427	if zls.Parameters != nil {
101428		objectMap["parameters"] = zls.Parameters
101429	}
101430	if zls.Annotations != nil {
101431		objectMap["annotations"] = zls.Annotations
101432	}
101433	if zls.Type != "" {
101434		objectMap["type"] = zls.Type
101435	}
101436	for k, v := range zls.AdditionalProperties {
101437		objectMap[k] = v
101438	}
101439	return json.Marshal(objectMap)
101440}
101441
101442// AsResponsysLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101443func (zls ZohoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
101444	return nil, false
101445}
101446
101447// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101448func (zls ZohoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
101449	return nil, false
101450}
101451
101452// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101453func (zls ZohoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
101454	return nil, false
101455}
101456
101457// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101458func (zls ZohoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
101459	return nil, false
101460}
101461
101462// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101463func (zls ZohoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
101464	return nil, false
101465}
101466
101467// AsNetezzaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101468func (zls ZohoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
101469	return nil, false
101470}
101471
101472// AsVerticaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101473func (zls ZohoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
101474	return nil, false
101475}
101476
101477// AsZohoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101478func (zls ZohoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
101479	return &zls, true
101480}
101481
101482// AsXeroLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101483func (zls ZohoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
101484	return nil, false
101485}
101486
101487// AsSquareLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101488func (zls ZohoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
101489	return nil, false
101490}
101491
101492// AsSparkLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101493func (zls ZohoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
101494	return nil, false
101495}
101496
101497// AsShopifyLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101498func (zls ZohoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
101499	return nil, false
101500}
101501
101502// AsServiceNowLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101503func (zls ZohoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
101504	return nil, false
101505}
101506
101507// AsQuickBooksLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101508func (zls ZohoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
101509	return nil, false
101510}
101511
101512// AsPrestoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101513func (zls ZohoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
101514	return nil, false
101515}
101516
101517// AsPhoenixLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101518func (zls ZohoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
101519	return nil, false
101520}
101521
101522// AsPaypalLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101523func (zls ZohoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
101524	return nil, false
101525}
101526
101527// AsMarketoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101528func (zls ZohoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
101529	return nil, false
101530}
101531
101532// AsMariaDBLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101533func (zls ZohoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
101534	return nil, false
101535}
101536
101537// AsMagentoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101538func (zls ZohoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
101539	return nil, false
101540}
101541
101542// AsJiraLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101543func (zls ZohoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
101544	return nil, false
101545}
101546
101547// AsImpalaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101548func (zls ZohoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
101549	return nil, false
101550}
101551
101552// AsHubspotLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101553func (zls ZohoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
101554	return nil, false
101555}
101556
101557// AsHiveLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101558func (zls ZohoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
101559	return nil, false
101560}
101561
101562// AsHBaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101563func (zls ZohoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
101564	return nil, false
101565}
101566
101567// AsGreenplumLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101568func (zls ZohoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
101569	return nil, false
101570}
101571
101572// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101573func (zls ZohoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
101574	return nil, false
101575}
101576
101577// AsEloquaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101578func (zls ZohoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
101579	return nil, false
101580}
101581
101582// AsDrillLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101583func (zls ZohoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
101584	return nil, false
101585}
101586
101587// AsCouchbaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101588func (zls ZohoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
101589	return nil, false
101590}
101591
101592// AsConcurLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101593func (zls ZohoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
101594	return nil, false
101595}
101596
101597// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101598func (zls ZohoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
101599	return nil, false
101600}
101601
101602// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101603func (zls ZohoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
101604	return nil, false
101605}
101606
101607// AsSapHanaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101608func (zls ZohoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
101609	return nil, false
101610}
101611
101612// AsSapBWLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101613func (zls ZohoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
101614	return nil, false
101615}
101616
101617// AsSftpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101618func (zls ZohoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
101619	return nil, false
101620}
101621
101622// AsFtpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101623func (zls ZohoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
101624	return nil, false
101625}
101626
101627// AsHTTPLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101628func (zls ZohoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
101629	return nil, false
101630}
101631
101632// AsAzureSearchLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101633func (zls ZohoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
101634	return nil, false
101635}
101636
101637// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101638func (zls ZohoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
101639	return nil, false
101640}
101641
101642// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101643func (zls ZohoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
101644	return nil, false
101645}
101646
101647// AsAmazonS3LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101648func (zls ZohoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
101649	return nil, false
101650}
101651
101652// AsSapEccLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101653func (zls ZohoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
101654	return nil, false
101655}
101656
101657// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101658func (zls ZohoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
101659	return nil, false
101660}
101661
101662// AsSalesforceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101663func (zls ZohoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
101664	return nil, false
101665}
101666
101667// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101668func (zls ZohoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
101669	return nil, false
101670}
101671
101672// AsMongoDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101673func (zls ZohoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
101674	return nil, false
101675}
101676
101677// AsCassandraLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101678func (zls ZohoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
101679	return nil, false
101680}
101681
101682// AsWebLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101683func (zls ZohoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
101684	return nil, false
101685}
101686
101687// AsODataLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101688func (zls ZohoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
101689	return nil, false
101690}
101691
101692// AsHdfsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101693func (zls ZohoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
101694	return nil, false
101695}
101696
101697// AsOdbcLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101698func (zls ZohoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
101699	return nil, false
101700}
101701
101702// AsAzureMLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101703func (zls ZohoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
101704	return nil, false
101705}
101706
101707// AsTeradataLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101708func (zls ZohoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
101709	return nil, false
101710}
101711
101712// AsDb2LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101713func (zls ZohoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
101714	return nil, false
101715}
101716
101717// AsSybaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101718func (zls ZohoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
101719	return nil, false
101720}
101721
101722// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101723func (zls ZohoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
101724	return nil, false
101725}
101726
101727// AsMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101728func (zls ZohoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
101729	return nil, false
101730}
101731
101732// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101733func (zls ZohoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
101734	return nil, false
101735}
101736
101737// AsOracleLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101738func (zls ZohoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
101739	return nil, false
101740}
101741
101742// AsFileServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101743func (zls ZohoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
101744	return nil, false
101745}
101746
101747// AsHDInsightLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101748func (zls ZohoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
101749	return nil, false
101750}
101751
101752// AsDynamicsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101753func (zls ZohoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
101754	return nil, false
101755}
101756
101757// AsCosmosDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101758func (zls ZohoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
101759	return nil, false
101760}
101761
101762// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101763func (zls ZohoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
101764	return nil, false
101765}
101766
101767// AsAzureBatchLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101768func (zls ZohoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
101769	return nil, false
101770}
101771
101772// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101773func (zls ZohoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
101774	return nil, false
101775}
101776
101777// AsSQLServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101778func (zls ZohoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
101779	return nil, false
101780}
101781
101782// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101783func (zls ZohoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
101784	return nil, false
101785}
101786
101787// AsAzureStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101788func (zls ZohoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
101789	return nil, false
101790}
101791
101792// AsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101793func (zls ZohoLinkedService) AsLinkedService() (*LinkedService, bool) {
101794	return nil, false
101795}
101796
101797// AsBasicLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
101798func (zls ZohoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
101799	return &zls, true
101800}
101801
101802// UnmarshalJSON is the custom unmarshaler for ZohoLinkedService struct.
101803func (zls *ZohoLinkedService) UnmarshalJSON(body []byte) error {
101804	var m map[string]*json.RawMessage
101805	err := json.Unmarshal(body, &m)
101806	if err != nil {
101807		return err
101808	}
101809	for k, v := range m {
101810		switch k {
101811		case "typeProperties":
101812			if v != nil {
101813				var zohoLinkedServiceTypeProperties ZohoLinkedServiceTypeProperties
101814				err = json.Unmarshal(*v, &zohoLinkedServiceTypeProperties)
101815				if err != nil {
101816					return err
101817				}
101818				zls.ZohoLinkedServiceTypeProperties = &zohoLinkedServiceTypeProperties
101819			}
101820		default:
101821			if v != nil {
101822				var additionalProperties interface{}
101823				err = json.Unmarshal(*v, &additionalProperties)
101824				if err != nil {
101825					return err
101826				}
101827				if zls.AdditionalProperties == nil {
101828					zls.AdditionalProperties = make(map[string]interface{})
101829				}
101830				zls.AdditionalProperties[k] = additionalProperties
101831			}
101832		case "connectVia":
101833			if v != nil {
101834				var connectVia IntegrationRuntimeReference
101835				err = json.Unmarshal(*v, &connectVia)
101836				if err != nil {
101837					return err
101838				}
101839				zls.ConnectVia = &connectVia
101840			}
101841		case "description":
101842			if v != nil {
101843				var description string
101844				err = json.Unmarshal(*v, &description)
101845				if err != nil {
101846					return err
101847				}
101848				zls.Description = &description
101849			}
101850		case "parameters":
101851			if v != nil {
101852				var parameters map[string]*ParameterSpecification
101853				err = json.Unmarshal(*v, &parameters)
101854				if err != nil {
101855					return err
101856				}
101857				zls.Parameters = parameters
101858			}
101859		case "annotations":
101860			if v != nil {
101861				var annotations []interface{}
101862				err = json.Unmarshal(*v, &annotations)
101863				if err != nil {
101864					return err
101865				}
101866				zls.Annotations = &annotations
101867			}
101868		case "type":
101869			if v != nil {
101870				var typeVar TypeBasicLinkedService
101871				err = json.Unmarshal(*v, &typeVar)
101872				if err != nil {
101873					return err
101874				}
101875				zls.Type = typeVar
101876			}
101877		}
101878	}
101879
101880	return nil
101881}
101882
101883// ZohoLinkedServiceTypeProperties zoho server linked service properties.
101884type ZohoLinkedServiceTypeProperties struct {
101885	// Endpoint - The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private)
101886	Endpoint interface{} `json:"endpoint,omitempty"`
101887	// AccessToken - The access token for Zoho authentication.
101888	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
101889	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
101890	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
101891	// 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.
101892	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
101893	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
101894	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
101895	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
101896	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
101897}
101898
101899// UnmarshalJSON is the custom unmarshaler for ZohoLinkedServiceTypeProperties struct.
101900func (zlstp *ZohoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
101901	var m map[string]*json.RawMessage
101902	err := json.Unmarshal(body, &m)
101903	if err != nil {
101904		return err
101905	}
101906	for k, v := range m {
101907		switch k {
101908		case "endpoint":
101909			if v != nil {
101910				var endpoint interface{}
101911				err = json.Unmarshal(*v, &endpoint)
101912				if err != nil {
101913					return err
101914				}
101915				zlstp.Endpoint = endpoint
101916			}
101917		case "accessToken":
101918			if v != nil {
101919				accessToken, err := unmarshalBasicSecretBase(*v)
101920				if err != nil {
101921					return err
101922				}
101923				zlstp.AccessToken = accessToken
101924			}
101925		case "useEncryptedEndpoints":
101926			if v != nil {
101927				var useEncryptedEndpoints interface{}
101928				err = json.Unmarshal(*v, &useEncryptedEndpoints)
101929				if err != nil {
101930					return err
101931				}
101932				zlstp.UseEncryptedEndpoints = useEncryptedEndpoints
101933			}
101934		case "useHostVerification":
101935			if v != nil {
101936				var useHostVerification interface{}
101937				err = json.Unmarshal(*v, &useHostVerification)
101938				if err != nil {
101939					return err
101940				}
101941				zlstp.UseHostVerification = useHostVerification
101942			}
101943		case "usePeerVerification":
101944			if v != nil {
101945				var usePeerVerification interface{}
101946				err = json.Unmarshal(*v, &usePeerVerification)
101947				if err != nil {
101948					return err
101949				}
101950				zlstp.UsePeerVerification = usePeerVerification
101951			}
101952		case "encryptedCredential":
101953			if v != nil {
101954				var encryptedCredential interface{}
101955				err = json.Unmarshal(*v, &encryptedCredential)
101956				if err != nil {
101957					return err
101958				}
101959				zlstp.EncryptedCredential = encryptedCredential
101960			}
101961		}
101962	}
101963
101964	return nil
101965}
101966
101967// ZohoObjectDataset zoho server dataset.
101968type ZohoObjectDataset struct {
101969	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101970	AdditionalProperties map[string]interface{} `json:""`
101971	// Description - Dataset description.
101972	Description *string `json:"description,omitempty"`
101973	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
101974	Structure interface{} `json:"structure,omitempty"`
101975	// LinkedServiceName - Linked service reference.
101976	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
101977	// Parameters - Parameters for dataset.
101978	Parameters map[string]*ParameterSpecification `json:"parameters"`
101979	// Annotations - List of tags that can be used for describing the Dataset.
101980	Annotations *[]interface{} `json:"annotations,omitempty"`
101981	// 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'
101982	Type TypeBasicDataset `json:"type,omitempty"`
101983}
101984
101985// MarshalJSON is the custom marshaler for ZohoObjectDataset.
101986func (zod ZohoObjectDataset) MarshalJSON() ([]byte, error) {
101987	zod.Type = TypeZohoObject
101988	objectMap := make(map[string]interface{})
101989	if zod.Description != nil {
101990		objectMap["description"] = zod.Description
101991	}
101992	if zod.Structure != nil {
101993		objectMap["structure"] = zod.Structure
101994	}
101995	if zod.LinkedServiceName != nil {
101996		objectMap["linkedServiceName"] = zod.LinkedServiceName
101997	}
101998	if zod.Parameters != nil {
101999		objectMap["parameters"] = zod.Parameters
102000	}
102001	if zod.Annotations != nil {
102002		objectMap["annotations"] = zod.Annotations
102003	}
102004	if zod.Type != "" {
102005		objectMap["type"] = zod.Type
102006	}
102007	for k, v := range zod.AdditionalProperties {
102008		objectMap[k] = v
102009	}
102010	return json.Marshal(objectMap)
102011}
102012
102013// AsResponsysObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102014func (zod ZohoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
102015	return nil, false
102016}
102017
102018// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102019func (zod ZohoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
102020	return nil, false
102021}
102022
102023// AsVerticaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102024func (zod ZohoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
102025	return nil, false
102026}
102027
102028// AsNetezzaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102029func (zod ZohoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
102030	return nil, false
102031}
102032
102033// AsZohoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102034func (zod ZohoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
102035	return &zod, true
102036}
102037
102038// AsXeroObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102039func (zod ZohoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
102040	return nil, false
102041}
102042
102043// AsSquareObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102044func (zod ZohoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
102045	return nil, false
102046}
102047
102048// AsSparkObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102049func (zod ZohoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
102050	return nil, false
102051}
102052
102053// AsShopifyObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102054func (zod ZohoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
102055	return nil, false
102056}
102057
102058// AsServiceNowObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102059func (zod ZohoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
102060	return nil, false
102061}
102062
102063// AsQuickBooksObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102064func (zod ZohoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
102065	return nil, false
102066}
102067
102068// AsPrestoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102069func (zod ZohoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
102070	return nil, false
102071}
102072
102073// AsPhoenixObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102074func (zod ZohoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
102075	return nil, false
102076}
102077
102078// AsPaypalObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102079func (zod ZohoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
102080	return nil, false
102081}
102082
102083// AsMarketoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102084func (zod ZohoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
102085	return nil, false
102086}
102087
102088// AsMariaDBTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102089func (zod ZohoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
102090	return nil, false
102091}
102092
102093// AsMagentoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102094func (zod ZohoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
102095	return nil, false
102096}
102097
102098// AsJiraObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102099func (zod ZohoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
102100	return nil, false
102101}
102102
102103// AsImpalaObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102104func (zod ZohoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
102105	return nil, false
102106}
102107
102108// AsHubspotObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102109func (zod ZohoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
102110	return nil, false
102111}
102112
102113// AsHiveObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102114func (zod ZohoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
102115	return nil, false
102116}
102117
102118// AsHBaseObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102119func (zod ZohoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
102120	return nil, false
102121}
102122
102123// AsGreenplumTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102124func (zod ZohoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
102125	return nil, false
102126}
102127
102128// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102129func (zod ZohoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
102130	return nil, false
102131}
102132
102133// AsEloquaObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102134func (zod ZohoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
102135	return nil, false
102136}
102137
102138// AsDrillTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102139func (zod ZohoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
102140	return nil, false
102141}
102142
102143// AsCouchbaseTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102144func (zod ZohoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
102145	return nil, false
102146}
102147
102148// AsConcurObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102149func (zod ZohoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
102150	return nil, false
102151}
102152
102153// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102154func (zod ZohoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
102155	return nil, false
102156}
102157
102158// AsAmazonMWSObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102159func (zod ZohoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
102160	return nil, false
102161}
102162
102163// AsHTTPDataset is the BasicDataset implementation for ZohoObjectDataset.
102164func (zod ZohoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
102165	return nil, false
102166}
102167
102168// AsAzureSearchIndexDataset is the BasicDataset implementation for ZohoObjectDataset.
102169func (zod ZohoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
102170	return nil, false
102171}
102172
102173// AsWebTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102174func (zod ZohoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
102175	return nil, false
102176}
102177
102178// AsSQLServerTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102179func (zod ZohoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
102180	return nil, false
102181}
102182
102183// AsSapEccResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
102184func (zod ZohoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
102185	return nil, false
102186}
102187
102188// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
102189func (zod ZohoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
102190	return nil, false
102191}
102192
102193// AsSalesforceObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
102194func (zod ZohoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
102195	return nil, false
102196}
102197
102198// AsRelationalTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102199func (zod ZohoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
102200	return nil, false
102201}
102202
102203// AsAzureMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102204func (zod ZohoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
102205	return nil, false
102206}
102207
102208// AsOracleTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102209func (zod ZohoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
102210	return nil, false
102211}
102212
102213// AsODataResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
102214func (zod ZohoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
102215	return nil, false
102216}
102217
102218// AsMongoDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
102219func (zod ZohoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
102220	return nil, false
102221}
102222
102223// AsFileShareDataset is the BasicDataset implementation for ZohoObjectDataset.
102224func (zod ZohoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
102225	return nil, false
102226}
102227
102228// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ZohoObjectDataset.
102229func (zod ZohoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
102230	return nil, false
102231}
102232
102233// AsDynamicsEntityDataset is the BasicDataset implementation for ZohoObjectDataset.
102234func (zod ZohoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
102235	return nil, false
102236}
102237
102238// AsDocumentDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
102239func (zod ZohoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
102240	return nil, false
102241}
102242
102243// AsCustomDataset is the BasicDataset implementation for ZohoObjectDataset.
102244func (zod ZohoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
102245	return nil, false
102246}
102247
102248// AsCassandraTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102249func (zod ZohoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
102250	return nil, false
102251}
102252
102253// AsAzureSQLDWTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102254func (zod ZohoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
102255	return nil, false
102256}
102257
102258// AsAzureSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102259func (zod ZohoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
102260	return nil, false
102261}
102262
102263// AsAzureTableDataset is the BasicDataset implementation for ZohoObjectDataset.
102264func (zod ZohoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
102265	return nil, false
102266}
102267
102268// AsAzureBlobDataset is the BasicDataset implementation for ZohoObjectDataset.
102269func (zod ZohoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
102270	return nil, false
102271}
102272
102273// AsAmazonS3Dataset is the BasicDataset implementation for ZohoObjectDataset.
102274func (zod ZohoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
102275	return nil, false
102276}
102277
102278// AsDataset is the BasicDataset implementation for ZohoObjectDataset.
102279func (zod ZohoObjectDataset) AsDataset() (*Dataset, bool) {
102280	return nil, false
102281}
102282
102283// AsBasicDataset is the BasicDataset implementation for ZohoObjectDataset.
102284func (zod ZohoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
102285	return &zod, true
102286}
102287
102288// UnmarshalJSON is the custom unmarshaler for ZohoObjectDataset struct.
102289func (zod *ZohoObjectDataset) UnmarshalJSON(body []byte) error {
102290	var m map[string]*json.RawMessage
102291	err := json.Unmarshal(body, &m)
102292	if err != nil {
102293		return err
102294	}
102295	for k, v := range m {
102296		switch k {
102297		default:
102298			if v != nil {
102299				var additionalProperties interface{}
102300				err = json.Unmarshal(*v, &additionalProperties)
102301				if err != nil {
102302					return err
102303				}
102304				if zod.AdditionalProperties == nil {
102305					zod.AdditionalProperties = make(map[string]interface{})
102306				}
102307				zod.AdditionalProperties[k] = additionalProperties
102308			}
102309		case "description":
102310			if v != nil {
102311				var description string
102312				err = json.Unmarshal(*v, &description)
102313				if err != nil {
102314					return err
102315				}
102316				zod.Description = &description
102317			}
102318		case "structure":
102319			if v != nil {
102320				var structure interface{}
102321				err = json.Unmarshal(*v, &structure)
102322				if err != nil {
102323					return err
102324				}
102325				zod.Structure = structure
102326			}
102327		case "linkedServiceName":
102328			if v != nil {
102329				var linkedServiceName LinkedServiceReference
102330				err = json.Unmarshal(*v, &linkedServiceName)
102331				if err != nil {
102332					return err
102333				}
102334				zod.LinkedServiceName = &linkedServiceName
102335			}
102336		case "parameters":
102337			if v != nil {
102338				var parameters map[string]*ParameterSpecification
102339				err = json.Unmarshal(*v, &parameters)
102340				if err != nil {
102341					return err
102342				}
102343				zod.Parameters = parameters
102344			}
102345		case "annotations":
102346			if v != nil {
102347				var annotations []interface{}
102348				err = json.Unmarshal(*v, &annotations)
102349				if err != nil {
102350					return err
102351				}
102352				zod.Annotations = &annotations
102353			}
102354		case "type":
102355			if v != nil {
102356				var typeVar TypeBasicDataset
102357				err = json.Unmarshal(*v, &typeVar)
102358				if err != nil {
102359					return err
102360				}
102361				zod.Type = typeVar
102362			}
102363		}
102364	}
102365
102366	return nil
102367}
102368
102369// ZohoSource a copy activity Zoho server source.
102370type ZohoSource struct {
102371	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
102372	Query interface{} `json:"query,omitempty"`
102373	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
102374	AdditionalProperties map[string]interface{} `json:""`
102375	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
102376	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
102377	// 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])).
102378	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
102379	// 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'
102380	Type TypeBasicCopySource `json:"type,omitempty"`
102381}
102382
102383// MarshalJSON is the custom marshaler for ZohoSource.
102384func (zs ZohoSource) MarshalJSON() ([]byte, error) {
102385	zs.Type = TypeZohoSource
102386	objectMap := make(map[string]interface{})
102387	if zs.Query != nil {
102388		objectMap["query"] = zs.Query
102389	}
102390	if zs.SourceRetryCount != nil {
102391		objectMap["sourceRetryCount"] = zs.SourceRetryCount
102392	}
102393	if zs.SourceRetryWait != nil {
102394		objectMap["sourceRetryWait"] = zs.SourceRetryWait
102395	}
102396	if zs.Type != "" {
102397		objectMap["type"] = zs.Type
102398	}
102399	for k, v := range zs.AdditionalProperties {
102400		objectMap[k] = v
102401	}
102402	return json.Marshal(objectMap)
102403}
102404
102405// AsAmazonRedshiftSource is the BasicCopySource implementation for ZohoSource.
102406func (zs ZohoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
102407	return nil, false
102408}
102409
102410// AsResponsysSource is the BasicCopySource implementation for ZohoSource.
102411func (zs ZohoSource) AsResponsysSource() (*ResponsysSource, bool) {
102412	return nil, false
102413}
102414
102415// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ZohoSource.
102416func (zs ZohoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
102417	return nil, false
102418}
102419
102420// AsVerticaSource is the BasicCopySource implementation for ZohoSource.
102421func (zs ZohoSource) AsVerticaSource() (*VerticaSource, bool) {
102422	return nil, false
102423}
102424
102425// AsNetezzaSource is the BasicCopySource implementation for ZohoSource.
102426func (zs ZohoSource) AsNetezzaSource() (*NetezzaSource, bool) {
102427	return nil, false
102428}
102429
102430// AsZohoSource is the BasicCopySource implementation for ZohoSource.
102431func (zs ZohoSource) AsZohoSource() (*ZohoSource, bool) {
102432	return &zs, true
102433}
102434
102435// AsXeroSource is the BasicCopySource implementation for ZohoSource.
102436func (zs ZohoSource) AsXeroSource() (*XeroSource, bool) {
102437	return nil, false
102438}
102439
102440// AsSquareSource is the BasicCopySource implementation for ZohoSource.
102441func (zs ZohoSource) AsSquareSource() (*SquareSource, bool) {
102442	return nil, false
102443}
102444
102445// AsSparkSource is the BasicCopySource implementation for ZohoSource.
102446func (zs ZohoSource) AsSparkSource() (*SparkSource, bool) {
102447	return nil, false
102448}
102449
102450// AsShopifySource is the BasicCopySource implementation for ZohoSource.
102451func (zs ZohoSource) AsShopifySource() (*ShopifySource, bool) {
102452	return nil, false
102453}
102454
102455// AsServiceNowSource is the BasicCopySource implementation for ZohoSource.
102456func (zs ZohoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
102457	return nil, false
102458}
102459
102460// AsQuickBooksSource is the BasicCopySource implementation for ZohoSource.
102461func (zs ZohoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
102462	return nil, false
102463}
102464
102465// AsPrestoSource is the BasicCopySource implementation for ZohoSource.
102466func (zs ZohoSource) AsPrestoSource() (*PrestoSource, bool) {
102467	return nil, false
102468}
102469
102470// AsPhoenixSource is the BasicCopySource implementation for ZohoSource.
102471func (zs ZohoSource) AsPhoenixSource() (*PhoenixSource, bool) {
102472	return nil, false
102473}
102474
102475// AsPaypalSource is the BasicCopySource implementation for ZohoSource.
102476func (zs ZohoSource) AsPaypalSource() (*PaypalSource, bool) {
102477	return nil, false
102478}
102479
102480// AsMarketoSource is the BasicCopySource implementation for ZohoSource.
102481func (zs ZohoSource) AsMarketoSource() (*MarketoSource, bool) {
102482	return nil, false
102483}
102484
102485// AsMariaDBSource is the BasicCopySource implementation for ZohoSource.
102486func (zs ZohoSource) AsMariaDBSource() (*MariaDBSource, bool) {
102487	return nil, false
102488}
102489
102490// AsMagentoSource is the BasicCopySource implementation for ZohoSource.
102491func (zs ZohoSource) AsMagentoSource() (*MagentoSource, bool) {
102492	return nil, false
102493}
102494
102495// AsJiraSource is the BasicCopySource implementation for ZohoSource.
102496func (zs ZohoSource) AsJiraSource() (*JiraSource, bool) {
102497	return nil, false
102498}
102499
102500// AsImpalaSource is the BasicCopySource implementation for ZohoSource.
102501func (zs ZohoSource) AsImpalaSource() (*ImpalaSource, bool) {
102502	return nil, false
102503}
102504
102505// AsHubspotSource is the BasicCopySource implementation for ZohoSource.
102506func (zs ZohoSource) AsHubspotSource() (*HubspotSource, bool) {
102507	return nil, false
102508}
102509
102510// AsHiveSource is the BasicCopySource implementation for ZohoSource.
102511func (zs ZohoSource) AsHiveSource() (*HiveSource, bool) {
102512	return nil, false
102513}
102514
102515// AsHBaseSource is the BasicCopySource implementation for ZohoSource.
102516func (zs ZohoSource) AsHBaseSource() (*HBaseSource, bool) {
102517	return nil, false
102518}
102519
102520// AsGreenplumSource is the BasicCopySource implementation for ZohoSource.
102521func (zs ZohoSource) AsGreenplumSource() (*GreenplumSource, bool) {
102522	return nil, false
102523}
102524
102525// AsGoogleBigQuerySource is the BasicCopySource implementation for ZohoSource.
102526func (zs ZohoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
102527	return nil, false
102528}
102529
102530// AsEloquaSource is the BasicCopySource implementation for ZohoSource.
102531func (zs ZohoSource) AsEloquaSource() (*EloquaSource, bool) {
102532	return nil, false
102533}
102534
102535// AsDrillSource is the BasicCopySource implementation for ZohoSource.
102536func (zs ZohoSource) AsDrillSource() (*DrillSource, bool) {
102537	return nil, false
102538}
102539
102540// AsCouchbaseSource is the BasicCopySource implementation for ZohoSource.
102541func (zs ZohoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
102542	return nil, false
102543}
102544
102545// AsConcurSource is the BasicCopySource implementation for ZohoSource.
102546func (zs ZohoSource) AsConcurSource() (*ConcurSource, bool) {
102547	return nil, false
102548}
102549
102550// AsAzurePostgreSQLSource is the BasicCopySource implementation for ZohoSource.
102551func (zs ZohoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
102552	return nil, false
102553}
102554
102555// AsAmazonMWSSource is the BasicCopySource implementation for ZohoSource.
102556func (zs ZohoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
102557	return nil, false
102558}
102559
102560// AsHTTPSource is the BasicCopySource implementation for ZohoSource.
102561func (zs ZohoSource) AsHTTPSource() (*HTTPSource, bool) {
102562	return nil, false
102563}
102564
102565// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ZohoSource.
102566func (zs ZohoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
102567	return nil, false
102568}
102569
102570// AsMongoDbSource is the BasicCopySource implementation for ZohoSource.
102571func (zs ZohoSource) AsMongoDbSource() (*MongoDbSource, bool) {
102572	return nil, false
102573}
102574
102575// AsCassandraSource is the BasicCopySource implementation for ZohoSource.
102576func (zs ZohoSource) AsCassandraSource() (*CassandraSource, bool) {
102577	return nil, false
102578}
102579
102580// AsWebSource is the BasicCopySource implementation for ZohoSource.
102581func (zs ZohoSource) AsWebSource() (*WebSource, bool) {
102582	return nil, false
102583}
102584
102585// AsOracleSource is the BasicCopySource implementation for ZohoSource.
102586func (zs ZohoSource) AsOracleSource() (*OracleSource, bool) {
102587	return nil, false
102588}
102589
102590// AsAzureMySQLSource is the BasicCopySource implementation for ZohoSource.
102591func (zs ZohoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
102592	return nil, false
102593}
102594
102595// AsHdfsSource is the BasicCopySource implementation for ZohoSource.
102596func (zs ZohoSource) AsHdfsSource() (*HdfsSource, bool) {
102597	return nil, false
102598}
102599
102600// AsFileSystemSource is the BasicCopySource implementation for ZohoSource.
102601func (zs ZohoSource) AsFileSystemSource() (*FileSystemSource, bool) {
102602	return nil, false
102603}
102604
102605// AsSQLDWSource is the BasicCopySource implementation for ZohoSource.
102606func (zs ZohoSource) AsSQLDWSource() (*SQLDWSource, bool) {
102607	return nil, false
102608}
102609
102610// AsSQLSource is the BasicCopySource implementation for ZohoSource.
102611func (zs ZohoSource) AsSQLSource() (*SQLSource, bool) {
102612	return nil, false
102613}
102614
102615// AsSapEccSource is the BasicCopySource implementation for ZohoSource.
102616func (zs ZohoSource) AsSapEccSource() (*SapEccSource, bool) {
102617	return nil, false
102618}
102619
102620// AsSapCloudForCustomerSource is the BasicCopySource implementation for ZohoSource.
102621func (zs ZohoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
102622	return nil, false
102623}
102624
102625// AsSalesforceSource is the BasicCopySource implementation for ZohoSource.
102626func (zs ZohoSource) AsSalesforceSource() (*SalesforceSource, bool) {
102627	return nil, false
102628}
102629
102630// AsRelationalSource is the BasicCopySource implementation for ZohoSource.
102631func (zs ZohoSource) AsRelationalSource() (*RelationalSource, bool) {
102632	return nil, false
102633}
102634
102635// AsDynamicsSource is the BasicCopySource implementation for ZohoSource.
102636func (zs ZohoSource) AsDynamicsSource() (*DynamicsSource, bool) {
102637	return nil, false
102638}
102639
102640// AsDocumentDbCollectionSource is the BasicCopySource implementation for ZohoSource.
102641func (zs ZohoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
102642	return nil, false
102643}
102644
102645// AsBlobSource is the BasicCopySource implementation for ZohoSource.
102646func (zs ZohoSource) AsBlobSource() (*BlobSource, bool) {
102647	return nil, false
102648}
102649
102650// AsAzureTableSource is the BasicCopySource implementation for ZohoSource.
102651func (zs ZohoSource) AsAzureTableSource() (*AzureTableSource, bool) {
102652	return nil, false
102653}
102654
102655// AsCopySource is the BasicCopySource implementation for ZohoSource.
102656func (zs ZohoSource) AsCopySource() (*CopySource, bool) {
102657	return nil, false
102658}
102659
102660// AsBasicCopySource is the BasicCopySource implementation for ZohoSource.
102661func (zs ZohoSource) AsBasicCopySource() (BasicCopySource, bool) {
102662	return &zs, true
102663}
102664
102665// UnmarshalJSON is the custom unmarshaler for ZohoSource struct.
102666func (zs *ZohoSource) UnmarshalJSON(body []byte) error {
102667	var m map[string]*json.RawMessage
102668	err := json.Unmarshal(body, &m)
102669	if err != nil {
102670		return err
102671	}
102672	for k, v := range m {
102673		switch k {
102674		case "query":
102675			if v != nil {
102676				var query interface{}
102677				err = json.Unmarshal(*v, &query)
102678				if err != nil {
102679					return err
102680				}
102681				zs.Query = query
102682			}
102683		default:
102684			if v != nil {
102685				var additionalProperties interface{}
102686				err = json.Unmarshal(*v, &additionalProperties)
102687				if err != nil {
102688					return err
102689				}
102690				if zs.AdditionalProperties == nil {
102691					zs.AdditionalProperties = make(map[string]interface{})
102692				}
102693				zs.AdditionalProperties[k] = additionalProperties
102694			}
102695		case "sourceRetryCount":
102696			if v != nil {
102697				var sourceRetryCount interface{}
102698				err = json.Unmarshal(*v, &sourceRetryCount)
102699				if err != nil {
102700					return err
102701				}
102702				zs.SourceRetryCount = sourceRetryCount
102703			}
102704		case "sourceRetryWait":
102705			if v != nil {
102706				var sourceRetryWait interface{}
102707				err = json.Unmarshal(*v, &sourceRetryWait)
102708				if err != nil {
102709					return err
102710				}
102711				zs.SourceRetryWait = sourceRetryWait
102712			}
102713		case "type":
102714			if v != nil {
102715				var typeVar TypeBasicCopySource
102716				err = json.Unmarshal(*v, &typeVar)
102717				if err != nil {
102718					return err
102719				}
102720				zs.Type = typeVar
102721			}
102722		}
102723	}
102724
102725	return nil
102726}
102727